/* * Copyright 2013 Guidewire Software, Inc. */ // $ANTLR 3.4 Java.g 2012-10-01 17:36:29 package gw.internal.gosu.parser.java; import gw.internal.ext.org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; /** A Java 1.5 grammar for ANTLR v3 derived from the spec * * This is a very close representation of the spec; the changes * are comestic (remove left recursion) and also fixes (the spec * isn't exactly perfect). I have run this on the 1.4.2 source * and some nasty looking enums from 1.5, but have not really * tested for 1.5 compatibility. * * I built this with: java -Xmx100M org.antlr.Tool java.g * and got two errors that are ok (for now): * java.g:691:9: Decision can match input such as * "'0'..'9'{'E', 'e'}{'+', '-'}'0'..'9'{'D', 'F', 'd', 'f'}" * using multiple alternatives: 3, 4 * As a result, alternative(s) 4 were disabled for that input * java.g:734:35: Decision can match input such as "{'$', 'A'..'Z', * '_', 'a'..'z', '\u00C0'..'\u00D6', '\u00D8'..'\u00F6', * '\u00F8'..'\u1FFF', '\u3040'..'\u318F', '\u3300'..'\u337F', * '\u3400'..'\u3D2D', '\u4E00'..'\u9FFF', '\uF900'..'\uFAFF'}" * using multiple alternatives: 1, 2 * As a result, alternative(s) 2 were disabled for that input * * You can turn enum on/off as a keyword :) * * Version 1.0 -- initial release July 5, 2006 (requires 3.0b2 or higher) * * Primary author: Terence Parr, July 2006 * * Version 1.0.1 -- corrections by Koen Vanderkimpen & Marko van Dooren, * October 25, 2006; * fixed normalInterfaceDeclaration: now uses typeParameters instead * of typeParameter (according to JLS, 3rd edition) * fixed castExpression: no longer allows expression next to type * (according to semantics in JLS, in contrast with syntax in JLS) * * Version 1.0.2 -- Terence Parr, Nov 27, 2006 * java spec I built this from had some bizarre for-loop control. * Looked weird and so I looked elsewhere...Yep, it's messed up. * simplified. * * Version 1.0.3 -- Chris Hogue, Feb 26, 2007 * Factored out an annotationName rule and used it in the annotation rule. * Not sure why, but typeName wasn't recognizing references to inner * annotations (e.g. @InterfaceName.InnerAnnotation()) * Factored out the elementValue section of an annotation reference. Created * elementValuePair and elementValuePairs rules, then used them in the * annotation rule. Allows it to recognize annotation references with * multiple, comma separated attributes. * Updated elementValueArrayInitializer so that it allows multiple elements. * (It was only allowing 0 or 1 element). * Updated localVariableDeclaration to allow annotations. Interestingly the JLS * doesn't appear to indicate this is legal, but it does work as of at least * JDK 1.5.0_06. * Moved the Identifier portion of annotationTypeElementRest to annotationMethodRest. * Because annotationConstantRest already references variableDeclarator which * has the Identifier portion in it, the parser would fail on constants in * annotation definitions because it expected two identifiers. * Added optional trailing ';' to the alternatives in annotationTypeElementRest. * Wouldn't handle an inner interface that has a trailing ';'. * Swapped the expression and type rule reference order in castExpression to * make it check for genericized casts first. It was failing to recognize a * statement like "Class<Byte> TYPE = (Class<Byte>)...;" because it was seeing * 'Class<Byte' in the cast expression as a less than expression, then failing * on the '>'. * Changed createdName to use typeArguments instead of nonWildcardTypeArguments. * * Changed the 'this' alternative in primary to allow 'identifierSuffix' rather than * just 'arguments'. The case it couldn't handle was a call to an explicit * generic method invocation (e.g. this.<E>doSomething()). Using identifierSuffix * may be overly aggressive--perhaps should create a more constrained thisSuffix rule? * * Version 1.0.4 -- Hiroaki Nakamura, May 3, 2007 * * Fixed formalParameterDecls, localVariableDeclaration, forInit, * and forVarControl to use variableModifier* not 'final'? (annotation)? * * Version 1.0.5 -- Terence, June 21, 2007 * --a[i].foo didn't work. Fixed unaryExpression * * Version 1.0.6 -- John Ridgway, March 17, 2008 * Made "assert" a switchable keyword like "enum". * Fixed compilationUnit to disallow "annotation importDeclaration ...". * Changed "Identifier ('.' Identifier)*" to "qualifiedName" in more * places. * Changed modifier* and/or variableModifier* to classOrInterfaceModifiers, * modifiers or variableModifiers, as appropriate. * Renamed "bound" to "typeBound" to better match language in the JLS. * Added "memberDeclaration" which rewrites to methodDeclaration or * fieldDeclaration and pulled type into memberDeclaration. So we parse * type and then move on to decide whether we're dealing with a field * or a method. * Modified "constructorDeclaration" to use "constructorBody" instead of * "methodBody". constructorBody starts with explicitConstructorInvocation, * then goes on to blockStatement*. Pulling explicitConstructorInvocation * out of expressions allowed me to simplify "primary". * Changed variableDeclarator to simplify it. * Changed type to use classOrInterfaceType, thus simplifying it; of course * I then had to add classOrInterfaceType, but it is used in several * places. * Fixed annotations, old version allowed "@X(y,z)", which is illegal. * Added optional comma to end of "elementValueArrayInitializer"; as per JLS. * Changed annotationTypeElementRest to use normalClassDeclaration and * normalInterfaceDeclaration rather than classDeclaration and * interfaceDeclaration, thus getting rid of a couple of grammar ambiguities. * Split localVariableDeclaration into localVariableDeclarationStatement * (includes the terminating semi-colon) and localVariableDeclaration. * This allowed me to use localVariableDeclaration in "forInit" clauses, * simplifying them. * Changed switchBlockStatementGroup to use multiple labels. This adds an * ambiguity, but if one uses appropriately greedy parsing it yields the * parse that is closest to the meaning of the switch statement. * Renamed "forVarControl" to "enhancedForControl" -- JLS language. * Added semantic predicates to test for shift operations rather than other * things. Thus, for instance, the string "< <" will never be treated * as a left-shift operator. * In "creator" we rule out "nonWildcardTypeArguments" on arrayCreation, * which are illegal. * Moved "nonWildcardTypeArguments into innerCreator. * Removed 'super' superSuffix from explicitGenericInvocation, since that * is only used in explicitConstructorInvocation at the beginning of a * constructorBody. (This is part of the simplification of expressions * mentioned earlier.) * Simplified primary (got rid of those things that are only used in * explicitConstructorInvocation). * Lexer -- removed "Exponent?" from FloatingPointLiteral choice 4, since it * led to an ambiguity. * * This grammar successfully parses every .java file in the JDK 1.5 source * tree (excluding those whose file names include '-', which are not * valid Java compilation units). * * Known remaining problems: * "Letter" and "JavaIDDigit" are wrong. The actual specification of * "Letter" should be "a character for which the method * Character.isJavaIdentifierStart(int) returns true." A "Java * letter-or-digit is a character for which the method * Character.isJavaIdentifierPart(int) returns true." */ @SuppressWarnings({"all", "warnings", "unchecked"}) public class JavaParser extends Parser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ABSTRACT", "AMP", "AMPAMP", "AMPEQ", "ASSERT", "BANG", "BANGEQ", "BAR", "BARBAR", "BAREQ", "BINLITERAL", "BOOLEAN", "BREAK", "BYTE", "BinPrefix", "CARET", "CARETEQ", "CASE", "CATCH", "CHAR", "CHARLITERAL", "CLASS", "COLON", "COMMA", "COMMENT", "CONST", "CONTINUE", "DEFAULT", "DO", "DOT", "DOUBLE", "DOUBLELITERAL", "DoubleSuffix", "ELLIPSIS", "ELSE", "ENUM", "EQ", "EQEQ", "EXTENDS", "EscapeSequence", "Exponent", "FALSE", "FINAL", "FINALLY", "FLOAT", "FLOATLITERAL", "FOR", "FloatSuffix", "GOTO", "GT", "HexDigit", "HexNumber", "HexPrefix", "IDENTIFIER", "IF", "IMPLEMENTS", "IMPORT", "INSTANCEOF", "INT", "INTERFACE", "INTLITERAL", "IdentifierPart", "IdentifierStart", "IntegerNumber", "LBRACE", "LBRACKET", "LINE_COMMENT", "LONG", "LONGLITERAL", "LPAREN", "LT", "LongSuffix", "MONKEYS_AT", "NATIVE", "NEW", "NULL", "NonIntegerNumber", "PACKAGE", "PERCENT", "PERCENTEQ", "PLUS", "PLUSEQ", "PLUSPLUS", "PRIVATE", "PROTECTED", "PUBLIC", "QUES", "RBRACE", "RBRACKET", "RETURN", "RPAREN", "SEMI", "SHORT", "SLASH", "SLASHEQ", "STAR", "STAREQ", "STATIC", "STRICTFP", "STRINGLITERAL", "SUB", "SUBEQ", "SUBSUB", "SUPER", "SWITCH", "SYNCHRONIZED", "SurrogateIdentifer", "THIS", "THROW", "THROWS", "TILDE", "TRANSIENT", "TRUE", "TRY", "VOID", "VOLATILE", "WHILE", "WS" }; public static final int EOF=-1; public static final int ABSTRACT=4; public static final int AMP=5; public static final int AMPAMP=6; public static final int AMPEQ=7; public static final int ASSERT=8; public static final int BANG=9; public static final int BANGEQ=10; public static final int BAR=11; public static final int BARBAR=12; public static final int BAREQ=13; public static final int BINLITERAL=14; public static final int BOOLEAN=15; public static final int BREAK=16; public static final int BYTE=17; public static final int BinPrefix=18; public static final int CARET=19; public static final int CARETEQ=20; public static final int CASE=21; public static final int CATCH=22; public static final int CHAR=23; public static final int CHARLITERAL=24; public static final int CLASS=25; public static final int COLON=26; public static final int COMMA=27; public static final int COMMENT=28; public static final int CONST=29; public static final int CONTINUE=30; public static final int DEFAULT=31; public static final int DO=32; public static final int DOT=33; public static final int DOUBLE=34; public static final int DOUBLELITERAL=35; public static final int DoubleSuffix=36; public static final int ELLIPSIS=37; public static final int ELSE=38; public static final int ENUM=39; public static final int EQ=40; public static final int EQEQ=41; public static final int EXTENDS=42; public static final int EscapeSequence=43; public static final int Exponent=44; public static final int FALSE=45; public static final int FINAL=46; public static final int FINALLY=47; public static final int FLOAT=48; public static final int FLOATLITERAL=49; public static final int FOR=50; public static final int FloatSuffix=51; public static final int GOTO=52; public static final int GT=53; public static final int HexDigit=54; public static final int HexNumber=55; public static final int HexPrefix=56; public static final int IDENTIFIER=57; public static final int IF=58; public static final int IMPLEMENTS=59; public static final int IMPORT=60; public static final int INSTANCEOF=61; public static final int INT=62; public static final int INTERFACE=63; public static final int INTLITERAL=64; public static final int IdentifierPart=65; public static final int IdentifierStart=66; public static final int IntegerNumber=67; public static final int LBRACE=68; public static final int LBRACKET=69; public static final int LINE_COMMENT=70; public static final int LONG=71; public static final int LONGLITERAL=72; public static final int LPAREN=73; public static final int LT=74; public static final int LongSuffix=75; public static final int MONKEYS_AT=76; public static final int NATIVE=77; public static final int NEW=78; public static final int NULL=79; public static final int NonIntegerNumber=80; public static final int PACKAGE=81; public static final int PERCENT=82; public static final int PERCENTEQ=83; public static final int PLUS=84; public static final int PLUSEQ=85; public static final int PLUSPLUS=86; public static final int PRIVATE=87; public static final int PROTECTED=88; public static final int PUBLIC=89; public static final int QUES=90; public static final int RBRACE=91; public static final int RBRACKET=92; public static final int RETURN=93; public static final int RPAREN=94; public static final int SEMI=95; public static final int SHORT=96; public static final int SLASH=97; public static final int SLASHEQ=98; public static final int STAR=99; public static final int STAREQ=100; public static final int STATIC=101; public static final int STRICTFP=102; public static final int STRINGLITERAL=103; public static final int SUB=104; public static final int SUBEQ=105; public static final int SUBSUB=106; public static final int SUPER=107; public static final int SWITCH=108; public static final int SYNCHRONIZED=109; public static final int SurrogateIdentifer=110; public static final int THIS=111; public static final int THROW=112; public static final int THROWS=113; public static final int TILDE=114; public static final int TRANSIENT=115; public static final int TRUE=116; public static final int TRY=117; public static final int VOID=118; public static final int VOLATILE=119; public static final int WHILE=120; public static final int WS=121; // delegates public Parser[] getDelegates() { return new Parser[] {}; } // delegators public JavaParser(TokenStream input) { this(input, new RecognizerSharedState()); } public JavaParser(TokenStream input, RecognizerSharedState state) { super(input, state); this.state.ruleMemo = new HashMap[378+1]; } public String[] getTokenNames() { return JavaParser.tokenNames; } public String getGrammarFileName() { return "Java.g"; } private TreeBuilder T; public void setTreeBuilder(TreeBuilder T){ this.T = T; } public void displayRecognitionError(String[] tokenNames, RecognitionException e) { } // $ANTLR start "compilationUnit" // Java.g:344:1: compilationUnit : ( (t0= annotations )? t1= packageDeclaration )? (t2= importDeclaration )* (t3= typeDeclaration )* ; public final void compilationUnit() throws RecognitionException { int compilationUnit_StartIndex = input.index(); annotations_return t0 =null; packageDeclaration_return t1 =null; importDeclaration_return t2 =null; typeDeclaration_return t3 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return ; } // Java.g:345:5: ( ( (t0= annotations )? t1= packageDeclaration )? (t2= importDeclaration )* (t3= typeDeclaration )* ) // Java.g:345:9: ( (t0= annotations )? t1= packageDeclaration )? (t2= importDeclaration )* (t3= typeDeclaration )* { // Java.g:345:9: ( (t0= annotations )? t1= packageDeclaration )? int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==MONKEYS_AT) ) { int LA2_1 = input.LA(2); if ( (synpred2_Java()) ) { alt2=1; } } else if ( (LA2_0==PACKAGE) ) { alt2=1; } switch (alt2) { case 1 : // Java.g:345:13: (t0= annotations )? t1= packageDeclaration { // Java.g:345:13: (t0= annotations )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==MONKEYS_AT) ) { alt1=1; } switch (alt1) { case 1 : // Java.g:345:14: t0= annotations { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotations"));} pushFollow(FOLLOW_annotations_in_compilationUnit97); t0=annotations(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) {T.popTop().setTextRange((t0!=null?((Token)t0.start):null), (t0!=null?((Token)t0.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("packageDeclaration"));} pushFollow(FOLLOW_packageDeclaration_in_compilationUnit132); t1=packageDeclaration(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) {T.popTop().setTextRange((t1!=null?((Token)t1.start):null), (t1!=null?((Token)t1.stop):null));} } break; } // Java.g:349:9: (t2= importDeclaration )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==IMPORT) ) { alt3=1; } switch (alt3) { case 1 : // Java.g:349:10: t2= importDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("importDeclaration"));} pushFollow(FOLLOW_importDeclaration_in_compilationUnit160); t2=importDeclaration(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) {T.popTop().setTextRange((t2!=null?((Token)t2.start):null), (t2!=null?((Token)t2.stop):null));} } break; default : break loop3; } } while (true); // Java.g:351:9: (t3= typeDeclaration )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==ABSTRACT||LA4_0==BOOLEAN||LA4_0==BYTE||LA4_0==CHAR||LA4_0==CLASS||LA4_0==DOUBLE||LA4_0==ENUM||LA4_0==FINAL||LA4_0==FLOAT||LA4_0==IDENTIFIER||(LA4_0 >= INT && LA4_0 <= INTERFACE)||LA4_0==LONG||LA4_0==LT||(LA4_0 >= MONKEYS_AT && LA4_0 <= NATIVE)||(LA4_0 >= PRIVATE && LA4_0 <= PUBLIC)||(LA4_0 >= SEMI && LA4_0 <= SHORT)||(LA4_0 >= STATIC && LA4_0 <= STRICTFP)||LA4_0==SYNCHRONIZED||LA4_0==TRANSIENT||(LA4_0 >= VOID && LA4_0 <= VOLATILE)) ) { alt4=1; } switch (alt4) { case 1 : // Java.g:351:10: t3= typeDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeDeclaration"));} pushFollow(FOLLOW_typeDeclaration_in_compilationUnit188); t3=typeDeclaration(); state._fsp--; if (state.failed) return ; if ( state.backtracking==0 ) {T.popTop().setTextRange((t3!=null?((Token)t3.start):null), (t3!=null?((Token)t3.stop):null));} } break; default : break loop4; } } while (true); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 1, compilationUnit_StartIndex); } } return ; } // $ANTLR end "compilationUnit" public static class packageDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "packageDeclaration" // Java.g:355:1: packageDeclaration : 'package' t4= qualifiedName ( ';' ) ; public final packageDeclaration_return packageDeclaration() throws RecognitionException { packageDeclaration_return retval = new packageDeclaration_return(); retval.start = input.LT(1); int packageDeclaration_StartIndex = input.index(); qualifiedName_return t4 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return retval; } // Java.g:356:5: ( 'package' t4= qualifiedName ( ';' ) ) // Java.g:356:9: 'package' t4= qualifiedName ( ';' ) { match(input,PACKAGE,FOLLOW_PACKAGE_in_packageDeclaration221); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'package'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedName"));} pushFollow(FOLLOW_qualifiedName_in_packageDeclaration228); t4=qualifiedName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t4!=null?((Token)t4.start):null), (t4!=null?((Token)t4.stop):null));} // Java.g:357:9: ( ';' ) // Java.g:357:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_packageDeclaration241); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 2, packageDeclaration_StartIndex); } } return retval; } // $ANTLR end "packageDeclaration" public static class importDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "importDeclaration" // Java.g:360:1: importDeclaration : ( 'import' ( 'static' )? IDENTIFIER ( '.' ) ( '*' ) ( ';' ) | 'import' ( 'static' )? IDENTIFIER ( ( '.' ) IDENTIFIER )+ ( ( '.' ) ( '*' ) )? ( ';' ) ); public final importDeclaration_return importDeclaration() throws RecognitionException { importDeclaration_return retval = new importDeclaration_return(); retval.start = input.LT(1); int importDeclaration_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return retval; } // Java.g:361:5: ( 'import' ( 'static' )? IDENTIFIER ( '.' ) ( '*' ) ( ';' ) | 'import' ( 'static' )? IDENTIFIER ( ( '.' ) IDENTIFIER )+ ( ( '.' ) ( '*' ) )? ( ';' ) ) int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==IMPORT) ) { int LA9_1 = input.LA(2); if ( (LA9_1==STATIC) ) { int LA9_2 = input.LA(3); if ( (LA9_2==IDENTIFIER) ) { int LA9_3 = input.LA(4); if ( (LA9_3==DOT) ) { int LA9_4 = input.LA(5); if ( (LA9_4==STAR) ) { alt9=1; } else if ( (LA9_4==IDENTIFIER) ) { alt9=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 4, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 3, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 2, input); throw nvae; } } else if ( (LA9_1==IDENTIFIER) ) { int LA9_3 = input.LA(3); if ( (LA9_3==DOT) ) { int LA9_4 = input.LA(4); if ( (LA9_4==STAR) ) { alt9=1; } else if ( (LA9_4==IDENTIFIER) ) { alt9=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 4, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 3, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 9, 0, input); throw nvae; } switch (alt9) { case 1 : // Java.g:361:9: 'import' ( 'static' )? IDENTIFIER ( '.' ) ( '*' ) ( ';' ) { match(input,IMPORT,FOLLOW_IMPORT_in_importDeclaration264); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'import'",input.LT(-1));} // Java.g:362:9: ( 'static' )? int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==STATIC) ) { alt5=1; } switch (alt5) { case 1 : // Java.g:362:10: 'static' { match(input,STATIC,FOLLOW_STATIC_in_importDeclaration277); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'static'",input.LT(-1));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_importDeclaration299); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:364:90: ( '.' ) // Java.g:364:91: '.' { match(input,DOT,FOLLOW_DOT_in_importDeclaration304); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } // Java.g:364:128: ( '*' ) // Java.g:364:129: '*' { match(input,STAR,FOLLOW_STAR_in_importDeclaration309); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'*'",input.LT(-1));} } // Java.g:365:9: ( ';' ) // Java.g:365:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_importDeclaration322); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 2 : // Java.g:366:9: 'import' ( 'static' )? IDENTIFIER ( ( '.' ) IDENTIFIER )+ ( ( '.' ) ( '*' ) )? ( ';' ) { match(input,IMPORT,FOLLOW_IMPORT_in_importDeclaration341); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'import'",input.LT(-1));} // Java.g:367:9: ( 'static' )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==STATIC) ) { alt6=1; } switch (alt6) { case 1 : // Java.g:367:10: 'static' { match(input,STATIC,FOLLOW_STATIC_in_importDeclaration354); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'static'",input.LT(-1));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_importDeclaration376); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:370:9: ( ( '.' ) IDENTIFIER )+ int cnt7=0; loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==DOT) ) { int LA7_1 = input.LA(2); if ( (LA7_1==IDENTIFIER) ) { alt7=1; } } switch (alt7) { case 1 : // Java.g:370:10: ( '.' ) IDENTIFIER { // Java.g:370:10: ( '.' ) // Java.g:370:11: '.' { match(input,DOT,FOLLOW_DOT_in_importDeclaration390); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_importDeclaration394); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; default : if ( cnt7 >= 1 ) break loop7; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = new EarlyExitException(7, input); throw eee; } cnt7++; } while (true); // Java.g:372:9: ( ( '.' ) ( '*' ) )? int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==DOT) ) { alt8=1; } switch (alt8) { case 1 : // Java.g:372:10: ( '.' ) ( '*' ) { // Java.g:372:10: ( '.' ) // Java.g:372:11: '.' { match(input,DOT,FOLLOW_DOT_in_importDeclaration419); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } // Java.g:372:48: ( '*' ) // Java.g:372:49: '*' { match(input,STAR,FOLLOW_STAR_in_importDeclaration424); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'*'",input.LT(-1));} } } break; } // Java.g:374:9: ( ';' ) // Java.g:374:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_importDeclaration448); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 3, importDeclaration_StartIndex); } } return retval; } // $ANTLR end "importDeclaration" // $ANTLR start "qualifiedImportName" // Java.g:377:1: qualifiedImportName : IDENTIFIER ( ( '.' ) IDENTIFIER )* ; public final void qualifiedImportName() throws RecognitionException { int qualifiedImportName_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return ; } // Java.g:378:5: ( IDENTIFIER ( ( '.' ) IDENTIFIER )* ) // Java.g:378:9: IDENTIFIER ( ( '.' ) IDENTIFIER )* { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedImportName470); if (state.failed) return ; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:379:9: ( ( '.' ) IDENTIFIER )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==DOT) ) { alt10=1; } switch (alt10) { case 1 : // Java.g:379:10: ( '.' ) IDENTIFIER { // Java.g:379:10: ( '.' ) // Java.g:379:11: '.' { match(input,DOT,FOLLOW_DOT_in_qualifiedImportName484); if (state.failed) return ; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedImportName488); if (state.failed) return ; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; default : break loop10; } } while (true); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 4, qualifiedImportName_StartIndex); } } return ; } // $ANTLR end "qualifiedImportName" public static class typeDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "typeDeclaration" // Java.g:383:1: typeDeclaration : (t5= classOrInterfaceDeclaration | ( ';' ) ); public final typeDeclaration_return typeDeclaration() throws RecognitionException { typeDeclaration_return retval = new typeDeclaration_return(); retval.start = input.LT(1); int typeDeclaration_StartIndex = input.index(); classOrInterfaceDeclaration_return t5 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return retval; } // Java.g:384:5: (t5= classOrInterfaceDeclaration | ( ';' ) ) int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==ABSTRACT||LA11_0==BOOLEAN||LA11_0==BYTE||LA11_0==CHAR||LA11_0==CLASS||LA11_0==DOUBLE||LA11_0==ENUM||LA11_0==FINAL||LA11_0==FLOAT||LA11_0==IDENTIFIER||(LA11_0 >= INT && LA11_0 <= INTERFACE)||LA11_0==LONG||LA11_0==LT||(LA11_0 >= MONKEYS_AT && LA11_0 <= NATIVE)||(LA11_0 >= PRIVATE && LA11_0 <= PUBLIC)||LA11_0==SHORT||(LA11_0 >= STATIC && LA11_0 <= STRICTFP)||LA11_0==SYNCHRONIZED||LA11_0==TRANSIENT||(LA11_0 >= VOID && LA11_0 <= VOLATILE)) ) { alt11=1; } else if ( (LA11_0==SEMI) ) { alt11=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 11, 0, input); throw nvae; } switch (alt11) { case 1 : // Java.g:384:9: t5= classOrInterfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceDeclaration"));} pushFollow(FOLLOW_classOrInterfaceDeclaration_in_typeDeclaration525); t5=classOrInterfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t5!=null?((Token)t5.start):null), (t5!=null?((Token)t5.stop):null));} } break; case 2 : // Java.g:385:9: ( ';' ) { // Java.g:385:9: ( ';' ) // Java.g:385:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_typeDeclaration538); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 5, typeDeclaration_StartIndex); } } return retval; } // $ANTLR end "typeDeclaration" public static class classOrInterfaceDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "classOrInterfaceDeclaration" // Java.g:388:1: classOrInterfaceDeclaration : (t6= classDeclaration |t7= interfaceDeclaration ); public final classOrInterfaceDeclaration_return classOrInterfaceDeclaration() throws RecognitionException { classOrInterfaceDeclaration_return retval = new classOrInterfaceDeclaration_return(); retval.start = input.LT(1); int classOrInterfaceDeclaration_StartIndex = input.index(); classDeclaration_return t6 =null; interfaceDeclaration_return t7 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return retval; } // Java.g:389:5: (t6= classDeclaration |t7= interfaceDeclaration ) int alt12=2; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA12_1 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 1, input); throw nvae; } } break; case PUBLIC: { int LA12_2 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 2, input); throw nvae; } } break; case PROTECTED: { int LA12_3 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 3, input); throw nvae; } } break; case PRIVATE: { int LA12_4 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 4, input); throw nvae; } } break; case STATIC: { int LA12_5 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 5, input); throw nvae; } } break; case ABSTRACT: { int LA12_6 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 6, input); throw nvae; } } break; case FINAL: { int LA12_7 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 7, input); throw nvae; } } break; case NATIVE: { int LA12_8 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA12_9 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 9, input); throw nvae; } } break; case TRANSIENT: { int LA12_10 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 10, input); throw nvae; } } break; case VOLATILE: { int LA12_11 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 11, input); throw nvae; } } break; case STRICTFP: { int LA12_12 = input.LA(2); if ( (synpred12_Java()) ) { alt12=1; } else if ( (true) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 12, input); throw nvae; } } break; case CLASS: case ENUM: { alt12=1; } break; case INTERFACE: { alt12=2; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 12, 0, input); throw nvae; } switch (alt12) { case 1 : // Java.g:389:10: t6= classDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classDeclaration"));} pushFollow(FOLLOW_classDeclaration_in_classOrInterfaceDeclaration565); t6=classDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t6!=null?((Token)t6.start):null), (t6!=null?((Token)t6.stop):null));} } break; case 2 : // Java.g:390:9: t7= interfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceDeclaration"));} pushFollow(FOLLOW_interfaceDeclaration_in_classOrInterfaceDeclaration581); t7=interfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t7!=null?((Token)t7.start):null), (t7!=null?((Token)t7.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 6, classOrInterfaceDeclaration_StartIndex); } } return retval; } // $ANTLR end "classOrInterfaceDeclaration" public static class modifiers_return extends ParserRuleReturnScope { }; // $ANTLR start "modifiers" // Java.g:394:1: modifiers : (t8= annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )* ; public final modifiers_return modifiers() throws RecognitionException { modifiers_return retval = new modifiers_return(); retval.start = input.LT(1); int modifiers_StartIndex = input.index(); annotation_return t8 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return retval; } // Java.g:395:5: ( (t8= annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )* ) // Java.g:396:5: (t8= annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )* { // Java.g:396:5: (t8= annotation | 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' )* loop13: do { int alt13=13; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA13_2 = input.LA(2); if ( (LA13_2==IDENTIFIER) ) { alt13=1; } } break; case PUBLIC: { alt13=2; } break; case PROTECTED: { alt13=3; } break; case PRIVATE: { alt13=4; } break; case STATIC: { alt13=5; } break; case ABSTRACT: { alt13=6; } break; case FINAL: { alt13=7; } break; case NATIVE: { alt13=8; } break; case SYNCHRONIZED: { alt13=9; } break; case TRANSIENT: { alt13=10; } break; case VOLATILE: { alt13=11; } break; case STRICTFP: { alt13=12; } break; } switch (alt13) { case 1 : // Java.g:396:10: t8= annotation { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotation"));} pushFollow(FOLLOW_annotation_in_modifiers622); t8=annotation(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t8!=null?((Token)t8.start):null), (t8!=null?((Token)t8.stop):null));} } break; case 2 : // Java.g:397:9: 'public' { match(input,PUBLIC,FOLLOW_PUBLIC_in_modifiers634); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'public'",input.LT(-1));} } break; case 3 : // Java.g:398:9: 'protected' { match(input,PROTECTED,FOLLOW_PROTECTED_in_modifiers645); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'protected'",input.LT(-1));} } break; case 4 : // Java.g:399:9: 'private' { match(input,PRIVATE,FOLLOW_PRIVATE_in_modifiers656); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'private'",input.LT(-1));} } break; case 5 : // Java.g:400:9: 'static' { match(input,STATIC,FOLLOW_STATIC_in_modifiers667); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'static'",input.LT(-1));} } break; case 6 : // Java.g:401:9: 'abstract' { match(input,ABSTRACT,FOLLOW_ABSTRACT_in_modifiers678); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'abstract'",input.LT(-1));} } break; case 7 : // Java.g:402:9: 'final' { match(input,FINAL,FOLLOW_FINAL_in_modifiers689); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'final'",input.LT(-1));} } break; case 8 : // Java.g:403:9: 'native' { match(input,NATIVE,FOLLOW_NATIVE_in_modifiers700); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'native'",input.LT(-1));} } break; case 9 : // Java.g:404:9: 'synchronized' { match(input,SYNCHRONIZED,FOLLOW_SYNCHRONIZED_in_modifiers711); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'synchronized'",input.LT(-1));} } break; case 10 : // Java.g:405:9: 'transient' { match(input,TRANSIENT,FOLLOW_TRANSIENT_in_modifiers722); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'transient'",input.LT(-1));} } break; case 11 : // Java.g:406:9: 'volatile' { match(input,VOLATILE,FOLLOW_VOLATILE_in_modifiers733); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'volatile'",input.LT(-1));} } break; case 12 : // Java.g:407:9: 'strictfp' { match(input,STRICTFP,FOLLOW_STRICTFP_in_modifiers744); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'strictfp'",input.LT(-1));} } break; default : break loop13; } } while (true); if ( state.backtracking==0 ) { Token cur = ((Token)retval.start); if(cur.getTokenIndex() > 0) { Token prev = getTokenStream().get(cur.getTokenIndex()-1); if(prev.getChannel() == Token.HIDDEN_CHANNEL) { if (prev.getText().contains("@deprecated")) { T.pushTop();T.setCurrentParent(T.addNode("annotation")); T.addLeaf("'@'",new CommonToken(MONKEYS_AT, "@")); T.pushTop();T.setCurrentParent(T.addNode("qualifiedName")); T.addLeaf("IDENTIFIER['Deprecated']", new CommonToken(IDENTIFIER, "Deprecated") ); T.popTop(); T.popTop(); } } } } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 7, modifiers_StartIndex); } } return retval; } // $ANTLR end "modifiers" public static class variableModifiers_return extends ParserRuleReturnScope { }; // $ANTLR start "variableModifiers" // Java.g:428:1: variableModifiers : ( 'final' |t9= annotation )* ; public final variableModifiers_return variableModifiers() throws RecognitionException { variableModifiers_return retval = new variableModifiers_return(); retval.start = input.LT(1); int variableModifiers_StartIndex = input.index(); annotation_return t9 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return retval; } // Java.g:429:5: ( ( 'final' |t9= annotation )* ) // Java.g:429:9: ( 'final' |t9= annotation )* { // Java.g:429:9: ( 'final' |t9= annotation )* loop14: do { int alt14=3; int LA14_0 = input.LA(1); if ( (LA14_0==FINAL) ) { alt14=1; } else if ( (LA14_0==MONKEYS_AT) ) { alt14=2; } switch (alt14) { case 1 : // Java.g:429:13: 'final' { match(input,FINAL,FOLLOW_FINAL_in_variableModifiers783); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'final'",input.LT(-1));} } break; case 2 : // Java.g:430:13: t9= annotation { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotation"));} pushFollow(FOLLOW_annotation_in_variableModifiers802); t9=annotation(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t9!=null?((Token)t9.start):null), (t9!=null?((Token)t9.stop):null));} } break; default : break loop14; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 8, variableModifiers_StartIndex); } } return retval; } // $ANTLR end "variableModifiers" public static class classDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "classDeclaration" // Java.g:435:1: classDeclaration : (t10= normalClassDeclaration |t11= enumDeclaration ); public final classDeclaration_return classDeclaration() throws RecognitionException { classDeclaration_return retval = new classDeclaration_return(); retval.start = input.LT(1); int classDeclaration_StartIndex = input.index(); normalClassDeclaration_return t10 =null; enumDeclaration_return t11 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return retval; } // Java.g:436:5: (t10= normalClassDeclaration |t11= enumDeclaration ) int alt15=2; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA15_1 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 1, input); throw nvae; } } break; case PUBLIC: { int LA15_2 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 2, input); throw nvae; } } break; case PROTECTED: { int LA15_3 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 3, input); throw nvae; } } break; case PRIVATE: { int LA15_4 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 4, input); throw nvae; } } break; case STATIC: { int LA15_5 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 5, input); throw nvae; } } break; case ABSTRACT: { int LA15_6 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 6, input); throw nvae; } } break; case FINAL: { int LA15_7 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 7, input); throw nvae; } } break; case NATIVE: { int LA15_8 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA15_9 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 9, input); throw nvae; } } break; case TRANSIENT: { int LA15_10 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 10, input); throw nvae; } } break; case VOLATILE: { int LA15_11 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 11, input); throw nvae; } } break; case STRICTFP: { int LA15_12 = input.LA(2); if ( (synpred27_Java()) ) { alt15=1; } else if ( (true) ) { alt15=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 12, input); throw nvae; } } break; case CLASS: { alt15=1; } break; case ENUM: { alt15=2; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 15, 0, input); throw nvae; } switch (alt15) { case 1 : // Java.g:436:9: t10= normalClassDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalClassDeclaration"));} pushFollow(FOLLOW_normalClassDeclaration_in_classDeclaration844); t10=normalClassDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t10!=null?((Token)t10.start):null), (t10!=null?((Token)t10.stop):null));} } break; case 2 : // Java.g:437:9: t11= enumDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumDeclaration"));} pushFollow(FOLLOW_enumDeclaration_in_classDeclaration860); t11=enumDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t11!=null?((Token)t11.start):null), (t11!=null?((Token)t11.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 9, classDeclaration_StartIndex); } } return retval; } // $ANTLR end "classDeclaration" public static class normalClassDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "normalClassDeclaration" // Java.g:440:1: normalClassDeclaration :t12= modifiers 'class' IDENTIFIER (t13= typeParameters )? ( 'extends' t14= type )? ( 'implements' t15= typeList )? t16= classBody ; public final normalClassDeclaration_return normalClassDeclaration() throws RecognitionException { normalClassDeclaration_return retval = new normalClassDeclaration_return(); retval.start = input.LT(1); int normalClassDeclaration_StartIndex = input.index(); modifiers_return t12 =null; typeParameters_return t13 =null; type_return t14 =null; typeList_return t15 =null; classBody_return t16 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return retval; } // Java.g:441:5: (t12= modifiers 'class' IDENTIFIER (t13= typeParameters )? ( 'extends' t14= type )? ( 'implements' t15= typeList )? t16= classBody ) // Java.g:441:9: t12= modifiers 'class' IDENTIFIER (t13= typeParameters )? ( 'extends' t14= type )? ( 'implements' t15= typeList )? t16= classBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_normalClassDeclaration886); t12=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t12!=null?((Token)t12.start):null), (t12!=null?((Token)t12.stop):null));} match(input,CLASS,FOLLOW_CLASS_in_normalClassDeclaration891); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'class'",input.LT(-1));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_normalClassDeclaration894); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:442:9: (t13= typeParameters )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==LT) ) { alt16=1; } switch (alt16) { case 1 : // Java.g:442:10: t13= typeParameters { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameters"));} pushFollow(FOLLOW_typeParameters_in_normalClassDeclaration911); t13=typeParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t13!=null?((Token)t13.start):null), (t13!=null?((Token)t13.stop):null));} } break; } // Java.g:444:9: ( 'extends' t14= type )? int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==EXTENDS) ) { alt17=1; } switch (alt17) { case 1 : // Java.g:444:10: 'extends' t14= type { match(input,EXTENDS,FOLLOW_EXTENDS_in_normalClassDeclaration935); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'extends'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_normalClassDeclaration942); t14=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t14!=null?((Token)t14.start):null), (t14!=null?((Token)t14.stop):null));} } break; } // Java.g:446:9: ( 'implements' t15= typeList )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==IMPLEMENTS) ) { alt18=1; } switch (alt18) { case 1 : // Java.g:446:10: 'implements' t15= typeList { match(input,IMPLEMENTS,FOLLOW_IMPLEMENTS_in_normalClassDeclaration966); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'implements'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeList"));} pushFollow(FOLLOW_typeList_in_normalClassDeclaration973); t15=typeList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t15!=null?((Token)t15.start):null), (t15!=null?((Token)t15.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classBody"));} pushFollow(FOLLOW_classBody_in_normalClassDeclaration1012); t16=classBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t16!=null?((Token)t16.start):null), (t16!=null?((Token)t16.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 10, normalClassDeclaration_StartIndex); } } return retval; } // $ANTLR end "normalClassDeclaration" public static class typeParameters_return extends ParserRuleReturnScope { }; // $ANTLR start "typeParameters" // Java.g:452:1: typeParameters : ( '<' ) t17= typeParameter ( ( ',' ) t18= typeParameter )* ( '>' ) ; public final typeParameters_return typeParameters() throws RecognitionException { typeParameters_return retval = new typeParameters_return(); retval.start = input.LT(1); int typeParameters_StartIndex = input.index(); typeParameter_return t17 =null; typeParameter_return t18 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return retval; } // Java.g:453:5: ( ( '<' ) t17= typeParameter ( ( ',' ) t18= typeParameter )* ( '>' ) ) // Java.g:453:9: ( '<' ) t17= typeParameter ( ( ',' ) t18= typeParameter )* ( '>' ) { // Java.g:453:9: ( '<' ) // Java.g:453:10: '<' { match(input,LT,FOLLOW_LT_in_typeParameters1036); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameter"));} pushFollow(FOLLOW_typeParameter_in_typeParameters1056); t17=typeParameter(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t17!=null?((Token)t17.start):null), (t17!=null?((Token)t17.stop):null));} // Java.g:455:13: ( ( ',' ) t18= typeParameter )* loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==COMMA) ) { alt19=1; } switch (alt19) { case 1 : // Java.g:455:14: ( ',' ) t18= typeParameter { // Java.g:455:14: ( ',' ) // Java.g:455:15: ',' { match(input,COMMA,FOLLOW_COMMA_in_typeParameters1074); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameter"));} pushFollow(FOLLOW_typeParameter_in_typeParameters1082); t18=typeParameter(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t18!=null?((Token)t18.start):null), (t18!=null?((Token)t18.stop):null));} } break; default : break loop19; } } while (true); // Java.g:457:9: ( '>' ) // Java.g:457:10: '>' { match(input,GT,FOLLOW_GT_in_typeParameters1110); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 11, typeParameters_StartIndex); } } return retval; } // $ANTLR end "typeParameters" public static class typeParameter_return extends ParserRuleReturnScope { }; // $ANTLR start "typeParameter" // Java.g:460:1: typeParameter : IDENTIFIER ( 'extends' t19= typeBound )? ; public final typeParameter_return typeParameter() throws RecognitionException { typeParameter_return retval = new typeParameter_return(); retval.start = input.LT(1); int typeParameter_StartIndex = input.index(); typeBound_return t19 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return retval; } // Java.g:461:5: ( IDENTIFIER ( 'extends' t19= typeBound )? ) // Java.g:461:9: IDENTIFIER ( 'extends' t19= typeBound )? { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_typeParameter1132); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:462:9: ( 'extends' t19= typeBound )? int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==EXTENDS) ) { alt20=1; } switch (alt20) { case 1 : // Java.g:462:10: 'extends' t19= typeBound { match(input,EXTENDS,FOLLOW_EXTENDS_in_typeParameter1145); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'extends'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeBound"));} pushFollow(FOLLOW_typeBound_in_typeParameter1152); t19=typeBound(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t19!=null?((Token)t19.start):null), (t19!=null?((Token)t19.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 12, typeParameter_StartIndex); } } return retval; } // $ANTLR end "typeParameter" public static class typeBound_return extends ParserRuleReturnScope { }; // $ANTLR start "typeBound" // Java.g:467:1: typeBound :t20= type ( ( '&' ) t21= type )* ; public final typeBound_return typeBound() throws RecognitionException { typeBound_return retval = new typeBound_return(); retval.start = input.LT(1); int typeBound_StartIndex = input.index(); type_return t20 =null; type_return t21 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return retval; } // Java.g:468:5: (t20= type ( ( '&' ) t21= type )* ) // Java.g:468:9: t20= type ( ( '&' ) t21= type )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeBound1190); t20=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t20!=null?((Token)t20.start):null), (t20!=null?((Token)t20.stop):null));} // Java.g:469:9: ( ( '&' ) t21= type )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==AMP) ) { alt21=1; } switch (alt21) { case 1 : // Java.g:469:10: ( '&' ) t21= type { // Java.g:469:10: ( '&' ) // Java.g:469:11: '&' { match(input,AMP,FOLLOW_AMP_in_typeBound1204); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'&'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeBound1212); t21=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t21!=null?((Token)t21.start):null), (t21!=null?((Token)t21.stop):null));} } break; default : break loop21; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 13, typeBound_StartIndex); } } return retval; } // $ANTLR end "typeBound" public static class enumDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "enumDeclaration" // Java.g:474:1: enumDeclaration :t22= modifiers ( 'enum' ) IDENTIFIER ( 'implements' t23= typeList )? t24= enumBody ; public final enumDeclaration_return enumDeclaration() throws RecognitionException { enumDeclaration_return retval = new enumDeclaration_return(); retval.start = input.LT(1); int enumDeclaration_StartIndex = input.index(); modifiers_return t22 =null; typeList_return t23 =null; enumBody_return t24 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return retval; } // Java.g:475:5: (t22= modifiers ( 'enum' ) IDENTIFIER ( 'implements' t23= typeList )? t24= enumBody ) // Java.g:475:9: t22= modifiers ( 'enum' ) IDENTIFIER ( 'implements' t23= typeList )? t24= enumBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_enumDeclaration1250); t22=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t22!=null?((Token)t22.start):null), (t22!=null?((Token)t22.stop):null));} // Java.g:476:9: ( 'enum' ) // Java.g:476:10: 'enum' { match(input,ENUM,FOLLOW_ENUM_in_enumDeclaration1264); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'enum'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumDeclaration1286); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:479:9: ( 'implements' t23= typeList )? int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==IMPLEMENTS) ) { alt22=1; } switch (alt22) { case 1 : // Java.g:479:10: 'implements' t23= typeList { match(input,IMPLEMENTS,FOLLOW_IMPLEMENTS_in_enumDeclaration1299); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'implements'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeList"));} pushFollow(FOLLOW_typeList_in_enumDeclaration1306); t23=typeList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t23!=null?((Token)t23.start):null), (t23!=null?((Token)t23.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumBody"));} pushFollow(FOLLOW_enumBody_in_enumDeclaration1333); t24=enumBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t24!=null?((Token)t24.start):null), (t24!=null?((Token)t24.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 14, enumDeclaration_StartIndex); } } return retval; } // $ANTLR end "enumDeclaration" public static class enumBody_return extends ParserRuleReturnScope { }; // $ANTLR start "enumBody" // Java.g:485:1: enumBody : ( '{' ) (t25= enumConstants )? ( ',' )? (t26= enumBodyDeclarations )? ( '}' ) ; public final enumBody_return enumBody() throws RecognitionException { enumBody_return retval = new enumBody_return(); retval.start = input.LT(1); int enumBody_StartIndex = input.index(); enumConstants_return t25 =null; enumBodyDeclarations_return t26 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return retval; } // Java.g:486:5: ( ( '{' ) (t25= enumConstants )? ( ',' )? (t26= enumBodyDeclarations )? ( '}' ) ) // Java.g:486:9: ( '{' ) (t25= enumConstants )? ( ',' )? (t26= enumBodyDeclarations )? ( '}' ) { // Java.g:486:9: ( '{' ) // Java.g:486:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_enumBody1361); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:487:9: (t25= enumConstants )? int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==IDENTIFIER||LA23_0==MONKEYS_AT) ) { alt23=1; } switch (alt23) { case 1 : // Java.g:487:10: t25= enumConstants { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumConstants"));} pushFollow(FOLLOW_enumConstants_in_enumBody1378); t25=enumConstants(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t25!=null?((Token)t25.start):null), (t25!=null?((Token)t25.stop):null));} } break; } // Java.g:489:9: ( ',' )? int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==COMMA) ) { alt24=1; } switch (alt24) { case 1 : // Java.g:489:10: ',' { match(input,COMMA,FOLLOW_COMMA_in_enumBody1403); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } break; } // Java.g:490:9: (t26= enumBodyDeclarations )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==SEMI) ) { alt25=1; } switch (alt25) { case 1 : // Java.g:490:10: t26= enumBodyDeclarations { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumBodyDeclarations"));} pushFollow(FOLLOW_enumBodyDeclarations_in_enumBody1422); t26=enumBodyDeclarations(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t26!=null?((Token)t26.start):null), (t26!=null?((Token)t26.stop):null));} } break; } // Java.g:492:9: ( '}' ) // Java.g:492:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_enumBody1447); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 15, enumBody_StartIndex); } } return retval; } // $ANTLR end "enumBody" public static class enumConstants_return extends ParserRuleReturnScope { }; // $ANTLR start "enumConstants" // Java.g:495:1: enumConstants :t27= enumConstant ( ( ',' ) t28= enumConstant )* ; public final enumConstants_return enumConstants() throws RecognitionException { enumConstants_return retval = new enumConstants_return(); retval.start = input.LT(1); int enumConstants_StartIndex = input.index(); enumConstant_return t27 =null; enumConstant_return t28 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return retval; } // Java.g:496:5: (t27= enumConstant ( ( ',' ) t28= enumConstant )* ) // Java.g:496:9: t27= enumConstant ( ( ',' ) t28= enumConstant )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumConstant"));} pushFollow(FOLLOW_enumConstant_in_enumConstants1473); t27=enumConstant(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t27!=null?((Token)t27.start):null), (t27!=null?((Token)t27.stop):null));} // Java.g:497:9: ( ( ',' ) t28= enumConstant )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==COMMA) ) { int LA26_1 = input.LA(2); if ( (LA26_1==IDENTIFIER||LA26_1==MONKEYS_AT) ) { alt26=1; } } switch (alt26) { case 1 : // Java.g:497:10: ( ',' ) t28= enumConstant { // Java.g:497:10: ( ',' ) // Java.g:497:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_enumConstants1487); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumConstant"));} pushFollow(FOLLOW_enumConstant_in_enumConstants1495); t28=enumConstant(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t28!=null?((Token)t28.start):null), (t28!=null?((Token)t28.stop):null));} } break; default : break loop26; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 16, enumConstants_StartIndex); } } return retval; } // $ANTLR end "enumConstants" public static class enumConstant_return extends ParserRuleReturnScope { }; // $ANTLR start "enumConstant" // Java.g:505:1: enumConstant : (t29= annotations )? IDENTIFIER (t30= arguments )? (t31= classBody )? ; public final enumConstant_return enumConstant() throws RecognitionException { enumConstant_return retval = new enumConstant_return(); retval.start = input.LT(1); int enumConstant_StartIndex = input.index(); annotations_return t29 =null; arguments_return t30 =null; classBody_return t31 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return retval; } // Java.g:506:5: ( (t29= annotations )? IDENTIFIER (t30= arguments )? (t31= classBody )? ) // Java.g:506:9: (t29= annotations )? IDENTIFIER (t30= arguments )? (t31= classBody )? { // Java.g:506:9: (t29= annotations )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==MONKEYS_AT) ) { alt27=1; } switch (alt27) { case 1 : // Java.g:506:10: t29= annotations { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotations"));} pushFollow(FOLLOW_annotations_in_enumConstant1535); t29=annotations(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t29!=null?((Token)t29.start):null), (t29!=null?((Token)t29.stop):null));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumConstant1558); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:509:9: (t30= arguments )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==LPAREN) ) { alt28=1; } switch (alt28) { case 1 : // Java.g:509:10: t30= arguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_enumConstant1575); t30=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t30!=null?((Token)t30.start):null), (t30!=null?((Token)t30.stop):null));} } break; } // Java.g:511:9: (t31= classBody )? int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==LBRACE) ) { alt29=1; } switch (alt29) { case 1 : // Java.g:511:10: t31= classBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classBody"));} pushFollow(FOLLOW_classBody_in_enumConstant1603); t31=classBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t31!=null?((Token)t31.start):null), (t31!=null?((Token)t31.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 17, enumConstant_StartIndex); } } return retval; } // $ANTLR end "enumConstant" public static class enumBodyDeclarations_return extends ParserRuleReturnScope { }; // $ANTLR start "enumBodyDeclarations" // Java.g:517:1: enumBodyDeclarations : ( ';' ) (t32= classBodyDeclaration )* ; public final enumBodyDeclarations_return enumBodyDeclarations() throws RecognitionException { enumBodyDeclarations_return retval = new enumBodyDeclarations_return(); retval.start = input.LT(1); int enumBodyDeclarations_StartIndex = input.index(); classBodyDeclaration_return t32 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return retval; } // Java.g:518:5: ( ( ';' ) (t32= classBodyDeclaration )* ) // Java.g:518:9: ( ';' ) (t32= classBodyDeclaration )* { // Java.g:518:9: ( ';' ) // Java.g:518:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_enumBodyDeclarations1647); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } // Java.g:519:9: (t32= classBodyDeclaration )* loop30: do { int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0==ABSTRACT||LA30_0==BOOLEAN||LA30_0==BYTE||LA30_0==CHAR||LA30_0==CLASS||LA30_0==DOUBLE||LA30_0==ENUM||LA30_0==FINAL||LA30_0==FLOAT||LA30_0==IDENTIFIER||(LA30_0 >= INT && LA30_0 <= INTERFACE)||LA30_0==LBRACE||LA30_0==LONG||LA30_0==LT||(LA30_0 >= MONKEYS_AT && LA30_0 <= NATIVE)||(LA30_0 >= PRIVATE && LA30_0 <= PUBLIC)||(LA30_0 >= SEMI && LA30_0 <= SHORT)||(LA30_0 >= STATIC && LA30_0 <= STRICTFP)||LA30_0==SYNCHRONIZED||LA30_0==TRANSIENT||(LA30_0 >= VOID && LA30_0 <= VOLATILE)) ) { alt30=1; } switch (alt30) { case 1 : // Java.g:519:10: t32= classBodyDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classBodyDeclaration"));} pushFollow(FOLLOW_classBodyDeclaration_in_enumBodyDeclarations1665); t32=classBodyDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t32!=null?((Token)t32.start):null), (t32!=null?((Token)t32.stop):null));} } break; default : break loop30; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 18, enumBodyDeclarations_StartIndex); } } return retval; } // $ANTLR end "enumBodyDeclarations" public static class interfaceDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "interfaceDeclaration" // Java.g:523:1: interfaceDeclaration : (t33= normalInterfaceDeclaration |t34= annotationTypeDeclaration ); public final interfaceDeclaration_return interfaceDeclaration() throws RecognitionException { interfaceDeclaration_return retval = new interfaceDeclaration_return(); retval.start = input.LT(1); int interfaceDeclaration_StartIndex = input.index(); normalInterfaceDeclaration_return t33 =null; annotationTypeDeclaration_return t34 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return retval; } // Java.g:524:5: (t33= normalInterfaceDeclaration |t34= annotationTypeDeclaration ) int alt31=2; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA31_1 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 1, input); throw nvae; } } break; case PUBLIC: { int LA31_2 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 2, input); throw nvae; } } break; case PROTECTED: { int LA31_3 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 3, input); throw nvae; } } break; case PRIVATE: { int LA31_4 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 4, input); throw nvae; } } break; case STATIC: { int LA31_5 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 5, input); throw nvae; } } break; case ABSTRACT: { int LA31_6 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 6, input); throw nvae; } } break; case FINAL: { int LA31_7 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 7, input); throw nvae; } } break; case NATIVE: { int LA31_8 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA31_9 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 9, input); throw nvae; } } break; case TRANSIENT: { int LA31_10 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 10, input); throw nvae; } } break; case VOLATILE: { int LA31_11 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 11, input); throw nvae; } } break; case STRICTFP: { int LA31_12 = input.LA(2); if ( (synpred43_Java()) ) { alt31=1; } else if ( (true) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 12, input); throw nvae; } } break; case INTERFACE: { alt31=1; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 31, 0, input); throw nvae; } switch (alt31) { case 1 : // Java.g:524:9: t33= normalInterfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalInterfaceDeclaration"));} pushFollow(FOLLOW_normalInterfaceDeclaration_in_interfaceDeclaration1702); t33=normalInterfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t33!=null?((Token)t33.start):null), (t33!=null?((Token)t33.stop):null));} } break; case 2 : // Java.g:525:9: t34= annotationTypeDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotationTypeDeclaration"));} pushFollow(FOLLOW_annotationTypeDeclaration_in_interfaceDeclaration1718); t34=annotationTypeDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t34!=null?((Token)t34.start):null), (t34!=null?((Token)t34.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 19, interfaceDeclaration_StartIndex); } } return retval; } // $ANTLR end "interfaceDeclaration" public static class normalInterfaceDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "normalInterfaceDeclaration" // Java.g:528:1: normalInterfaceDeclaration :t35= modifiers 'interface' IDENTIFIER (t36= typeParameters )? ( 'extends' t37= typeList )? t38= interfaceBody ; public final normalInterfaceDeclaration_return normalInterfaceDeclaration() throws RecognitionException { normalInterfaceDeclaration_return retval = new normalInterfaceDeclaration_return(); retval.start = input.LT(1); int normalInterfaceDeclaration_StartIndex = input.index(); modifiers_return t35 =null; typeParameters_return t36 =null; typeList_return t37 =null; interfaceBody_return t38 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return retval; } // Java.g:529:5: (t35= modifiers 'interface' IDENTIFIER (t36= typeParameters )? ( 'extends' t37= typeList )? t38= interfaceBody ) // Java.g:529:9: t35= modifiers 'interface' IDENTIFIER (t36= typeParameters )? ( 'extends' t37= typeList )? t38= interfaceBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_normalInterfaceDeclaration1748); t35=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t35!=null?((Token)t35.start):null), (t35!=null?((Token)t35.stop):null));} match(input,INTERFACE,FOLLOW_INTERFACE_in_normalInterfaceDeclaration1752); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'interface'",input.LT(-1));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_normalInterfaceDeclaration1755); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:530:9: (t36= typeParameters )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==LT) ) { alt32=1; } switch (alt32) { case 1 : // Java.g:530:10: t36= typeParameters { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameters"));} pushFollow(FOLLOW_typeParameters_in_normalInterfaceDeclaration1772); t36=typeParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t36!=null?((Token)t36.start):null), (t36!=null?((Token)t36.stop):null));} } break; } // Java.g:532:9: ( 'extends' t37= typeList )? int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==EXTENDS) ) { alt33=1; } switch (alt33) { case 1 : // Java.g:532:10: 'extends' t37= typeList { match(input,EXTENDS,FOLLOW_EXTENDS_in_normalInterfaceDeclaration1796); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'extends'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeList"));} pushFollow(FOLLOW_typeList_in_normalInterfaceDeclaration1803); t37=typeList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t37!=null?((Token)t37.start):null), (t37!=null?((Token)t37.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceBody"));} pushFollow(FOLLOW_interfaceBody_in_normalInterfaceDeclaration1830); t38=interfaceBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t38!=null?((Token)t38.start):null), (t38!=null?((Token)t38.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 20, normalInterfaceDeclaration_StartIndex); } } return retval; } // $ANTLR end "normalInterfaceDeclaration" public static class typeList_return extends ParserRuleReturnScope { }; // $ANTLR start "typeList" // Java.g:537:1: typeList :t39= type ( ( ',' ) t40= type )* ; public final typeList_return typeList() throws RecognitionException { typeList_return retval = new typeList_return(); retval.start = input.LT(1); int typeList_StartIndex = input.index(); type_return t39 =null; type_return t40 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return retval; } // Java.g:538:5: (t39= type ( ( ',' ) t40= type )* ) // Java.g:538:9: t39= type ( ( ',' ) t40= type )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeList1856); t39=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t39!=null?((Token)t39.start):null), (t39!=null?((Token)t39.stop):null));} // Java.g:539:9: ( ( ',' ) t40= type )* loop34: do { int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==COMMA) ) { alt34=1; } switch (alt34) { case 1 : // Java.g:539:10: ( ',' ) t40= type { // Java.g:539:10: ( ',' ) // Java.g:539:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_typeList1870); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeList1878); t40=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t40!=null?((Token)t40.start):null), (t40!=null?((Token)t40.stop):null));} } break; default : break loop34; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 21, typeList_StartIndex); } } return retval; } // $ANTLR end "typeList" public static class classBody_return extends ParserRuleReturnScope { }; // $ANTLR start "classBody" // Java.g:543:1: classBody : ( '{' ) (t41= classBodyDeclaration )* ( '}' ) ; public final classBody_return classBody() throws RecognitionException { classBody_return retval = new classBody_return(); retval.start = input.LT(1); int classBody_StartIndex = input.index(); classBodyDeclaration_return t41 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return retval; } // Java.g:544:5: ( ( '{' ) (t41= classBodyDeclaration )* ( '}' ) ) // Java.g:544:9: ( '{' ) (t41= classBodyDeclaration )* ( '}' ) { // Java.g:544:9: ( '{' ) // Java.g:544:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_classBody1912); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:545:9: (t41= classBodyDeclaration )* loop35: do { int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0==ABSTRACT||LA35_0==BOOLEAN||LA35_0==BYTE||LA35_0==CHAR||LA35_0==CLASS||LA35_0==DOUBLE||LA35_0==ENUM||LA35_0==FINAL||LA35_0==FLOAT||LA35_0==IDENTIFIER||(LA35_0 >= INT && LA35_0 <= INTERFACE)||LA35_0==LBRACE||LA35_0==LONG||LA35_0==LT||(LA35_0 >= MONKEYS_AT && LA35_0 <= NATIVE)||(LA35_0 >= PRIVATE && LA35_0 <= PUBLIC)||(LA35_0 >= SEMI && LA35_0 <= SHORT)||(LA35_0 >= STATIC && LA35_0 <= STRICTFP)||LA35_0==SYNCHRONIZED||LA35_0==TRANSIENT||(LA35_0 >= VOID && LA35_0 <= VOLATILE)) ) { alt35=1; } switch (alt35) { case 1 : // Java.g:545:10: t41= classBodyDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classBodyDeclaration"));} pushFollow(FOLLOW_classBodyDeclaration_in_classBody1930); t41=classBodyDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t41!=null?((Token)t41.start):null), (t41!=null?((Token)t41.stop):null));} } break; default : break loop35; } } while (true); // Java.g:547:9: ( '}' ) // Java.g:547:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_classBody1955); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 22, classBody_StartIndex); } } return retval; } // $ANTLR end "classBody" public static class interfaceBody_return extends ParserRuleReturnScope { }; // $ANTLR start "interfaceBody" // Java.g:550:1: interfaceBody : ( '{' ) (t42= interfaceBodyDeclaration )* ( '}' ) ; public final interfaceBody_return interfaceBody() throws RecognitionException { interfaceBody_return retval = new interfaceBody_return(); retval.start = input.LT(1); int interfaceBody_StartIndex = input.index(); interfaceBodyDeclaration_return t42 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return retval; } // Java.g:551:5: ( ( '{' ) (t42= interfaceBodyDeclaration )* ( '}' ) ) // Java.g:551:9: ( '{' ) (t42= interfaceBodyDeclaration )* ( '}' ) { // Java.g:551:9: ( '{' ) // Java.g:551:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_interfaceBody1978); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:552:9: (t42= interfaceBodyDeclaration )* loop36: do { int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0==ABSTRACT||LA36_0==BOOLEAN||LA36_0==BYTE||LA36_0==CHAR||LA36_0==CLASS||LA36_0==DOUBLE||LA36_0==ENUM||LA36_0==FINAL||LA36_0==FLOAT||LA36_0==IDENTIFIER||(LA36_0 >= INT && LA36_0 <= INTERFACE)||LA36_0==LONG||LA36_0==LT||(LA36_0 >= MONKEYS_AT && LA36_0 <= NATIVE)||(LA36_0 >= PRIVATE && LA36_0 <= PUBLIC)||(LA36_0 >= SEMI && LA36_0 <= SHORT)||(LA36_0 >= STATIC && LA36_0 <= STRICTFP)||LA36_0==SYNCHRONIZED||LA36_0==TRANSIENT||(LA36_0 >= VOID && LA36_0 <= VOLATILE)) ) { alt36=1; } switch (alt36) { case 1 : // Java.g:552:10: t42= interfaceBodyDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceBodyDeclaration"));} pushFollow(FOLLOW_interfaceBodyDeclaration_in_interfaceBody1996); t42=interfaceBodyDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t42!=null?((Token)t42.start):null), (t42!=null?((Token)t42.stop):null));} } break; default : break loop36; } } while (true); // Java.g:554:9: ( '}' ) // Java.g:554:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_interfaceBody2021); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 23, interfaceBody_StartIndex); } } return retval; } // $ANTLR end "interfaceBody" public static class classBodyDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "classBodyDeclaration" // Java.g:557:1: classBodyDeclaration : ( ( ';' ) | ( 'static' )? t43= block |t44= memberDecl ); public final classBodyDeclaration_return classBodyDeclaration() throws RecognitionException { classBodyDeclaration_return retval = new classBodyDeclaration_return(); retval.start = input.LT(1); int classBodyDeclaration_StartIndex = input.index(); block_return t43 =null; memberDecl_return t44 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return retval; } // Java.g:558:5: ( ( ';' ) | ( 'static' )? t43= block |t44= memberDecl ) int alt38=3; switch ( input.LA(1) ) { case SEMI: { alt38=1; } break; case STATIC: { int LA38_2 = input.LA(2); if ( (LA38_2==LBRACE) ) { alt38=2; } else if ( (LA38_2==ABSTRACT||LA38_2==BOOLEAN||LA38_2==BYTE||LA38_2==CHAR||LA38_2==CLASS||LA38_2==DOUBLE||LA38_2==ENUM||LA38_2==FINAL||LA38_2==FLOAT||LA38_2==IDENTIFIER||(LA38_2 >= INT && LA38_2 <= INTERFACE)||LA38_2==LONG||LA38_2==LT||(LA38_2 >= MONKEYS_AT && LA38_2 <= NATIVE)||(LA38_2 >= PRIVATE && LA38_2 <= PUBLIC)||LA38_2==SHORT||(LA38_2 >= STATIC && LA38_2 <= STRICTFP)||LA38_2==SYNCHRONIZED||LA38_2==TRANSIENT||(LA38_2 >= VOID && LA38_2 <= VOLATILE)) ) { alt38=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 38, 2, input); throw nvae; } } break; case LBRACE: { alt38=2; } break; case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case IDENTIFIER: case INT: case INTERFACE: case LONG: case LT: case MONKEYS_AT: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOID: case VOLATILE: { alt38=3; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 38, 0, input); throw nvae; } switch (alt38) { case 1 : // Java.g:558:9: ( ';' ) { // Java.g:558:9: ( ';' ) // Java.g:558:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_classBodyDeclaration2044); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 2 : // Java.g:559:9: ( 'static' )? t43= block { // Java.g:559:9: ( 'static' )? int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==STATIC) ) { alt37=1; } switch (alt37) { case 1 : // Java.g:559:10: 'static' { match(input,STATIC,FOLLOW_STATIC_in_classBodyDeclaration2057); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'static'",input.LT(-1));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_classBodyDeclaration2084); t43=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t43!=null?((Token)t43.start):null), (t43!=null?((Token)t43.stop):null));} } break; case 3 : // Java.g:562:9: t44= memberDecl { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("memberDecl"));} pushFollow(FOLLOW_memberDecl_in_classBodyDeclaration2100); t44=memberDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t44!=null?((Token)t44.start):null), (t44!=null?((Token)t44.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 24, classBodyDeclaration_StartIndex); } } return retval; } // $ANTLR end "classBodyDeclaration" public static class memberDecl_return extends ParserRuleReturnScope { }; // $ANTLR start "memberDecl" // Java.g:565:1: memberDecl : (t45= fieldDeclaration |t46= methodDeclaration |t47= classDeclaration |t48= interfaceDeclaration ); public final memberDecl_return memberDecl() throws RecognitionException { memberDecl_return retval = new memberDecl_return(); retval.start = input.LT(1); int memberDecl_StartIndex = input.index(); fieldDeclaration_return t45 =null; methodDeclaration_return t46 =null; classDeclaration_return t47 =null; interfaceDeclaration_return t48 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return retval; } // Java.g:566:5: (t45= fieldDeclaration |t46= methodDeclaration |t47= classDeclaration |t48= interfaceDeclaration ) int alt39=4; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA39_1 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 1, input); throw nvae; } } break; case PUBLIC: { int LA39_2 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 2, input); throw nvae; } } break; case PROTECTED: { int LA39_3 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 3, input); throw nvae; } } break; case PRIVATE: { int LA39_4 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 4, input); throw nvae; } } break; case STATIC: { int LA39_5 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 5, input); throw nvae; } } break; case ABSTRACT: { int LA39_6 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 6, input); throw nvae; } } break; case FINAL: { int LA39_7 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 7, input); throw nvae; } } break; case NATIVE: { int LA39_8 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA39_9 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 9, input); throw nvae; } } break; case TRANSIENT: { int LA39_10 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 10, input); throw nvae; } } break; case VOLATILE: { int LA39_11 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 11, input); throw nvae; } } break; case STRICTFP: { int LA39_12 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else if ( (synpred54_Java()) ) { alt39=3; } else if ( (true) ) { alt39=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 12, input); throw nvae; } } break; case IDENTIFIER: { int LA39_13 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 13, input); throw nvae; } } break; case BOOLEAN: { int LA39_14 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 14, input); throw nvae; } } break; case CHAR: { int LA39_15 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 15, input); throw nvae; } } break; case BYTE: { int LA39_16 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 16, input); throw nvae; } } break; case SHORT: { int LA39_17 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 17, input); throw nvae; } } break; case INT: { int LA39_18 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 18, input); throw nvae; } } break; case LONG: { int LA39_19 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 19, input); throw nvae; } } break; case FLOAT: { int LA39_20 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 20, input); throw nvae; } } break; case DOUBLE: { int LA39_21 = input.LA(2); if ( (synpred52_Java()) ) { alt39=1; } else if ( (synpred53_Java()) ) { alt39=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 21, input); throw nvae; } } break; case LT: case VOID: { alt39=2; } break; case CLASS: case ENUM: { alt39=3; } break; case INTERFACE: { alt39=4; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 39, 0, input); throw nvae; } switch (alt39) { case 1 : // Java.g:566:10: t45= fieldDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("fieldDeclaration"));} pushFollow(FOLLOW_fieldDeclaration_in_memberDecl2127); t45=fieldDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t45!=null?((Token)t45.start):null), (t45!=null?((Token)t45.stop):null));} } break; case 2 : // Java.g:567:10: t46= methodDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("methodDeclaration"));} pushFollow(FOLLOW_methodDeclaration_in_memberDecl2144); t46=methodDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t46!=null?((Token)t46.start):null), (t46!=null?((Token)t46.stop):null));} } break; case 3 : // Java.g:568:10: t47= classDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classDeclaration"));} pushFollow(FOLLOW_classDeclaration_in_memberDecl2161); t47=classDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t47!=null?((Token)t47.start):null), (t47!=null?((Token)t47.stop):null));} } break; case 4 : // Java.g:569:10: t48= interfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceDeclaration"));} pushFollow(FOLLOW_interfaceDeclaration_in_memberDecl2178); t48=interfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t48!=null?((Token)t48.start):null), (t48!=null?((Token)t48.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 25, memberDecl_StartIndex); } } return retval; } // $ANTLR end "memberDecl" public static class methodDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "methodDeclaration" // Java.g:573:1: methodDeclaration : (t49= modifiers (t50= typeParameters )? IDENTIFIER t51= formalParameters ( 'throws' t52= qualifiedNameList )? ( '{' ) (t53= explicitConstructorInvocation )? (t54= blockStatement )* ( '}' ) |t55= modifiers (t56= typeParameters )? (t57= type | 'void' ) IDENTIFIER t58= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t59= qualifiedNameList )? (t60= block | ( ';' ) ) ); public final methodDeclaration_return methodDeclaration() throws RecognitionException { methodDeclaration_return retval = new methodDeclaration_return(); retval.start = input.LT(1); int methodDeclaration_StartIndex = input.index(); modifiers_return t49 =null; typeParameters_return t50 =null; formalParameters_return t51 =null; qualifiedNameList_return t52 =null; explicitConstructorInvocation_return t53 =null; blockStatement_return t54 =null; modifiers_return t55 =null; typeParameters_return t56 =null; type_return t57 =null; formalParameters_return t58 =null; qualifiedNameList_return t59 =null; block_return t60 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return retval; } // Java.g:574:5: (t49= modifiers (t50= typeParameters )? IDENTIFIER t51= formalParameters ( 'throws' t52= qualifiedNameList )? ( '{' ) (t53= explicitConstructorInvocation )? (t54= blockStatement )* ( '}' ) |t55= modifiers (t56= typeParameters )? (t57= type | 'void' ) IDENTIFIER t58= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t59= qualifiedNameList )? (t60= block | ( ';' ) ) ) int alt49=2; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA49_1 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 1, input); throw nvae; } } break; case PUBLIC: { int LA49_2 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 2, input); throw nvae; } } break; case PROTECTED: { int LA49_3 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 3, input); throw nvae; } } break; case PRIVATE: { int LA49_4 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 4, input); throw nvae; } } break; case STATIC: { int LA49_5 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 5, input); throw nvae; } } break; case ABSTRACT: { int LA49_6 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 6, input); throw nvae; } } break; case FINAL: { int LA49_7 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 7, input); throw nvae; } } break; case NATIVE: { int LA49_8 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA49_9 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 9, input); throw nvae; } } break; case TRANSIENT: { int LA49_10 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 10, input); throw nvae; } } break; case VOLATILE: { int LA49_11 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 11, input); throw nvae; } } break; case STRICTFP: { int LA49_12 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 12, input); throw nvae; } } break; case LT: { int LA49_13 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 13, input); throw nvae; } } break; case IDENTIFIER: { int LA49_14 = input.LA(2); if ( (synpred59_Java()) ) { alt49=1; } else if ( (true) ) { alt49=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 14, input); throw nvae; } } break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: case VOID: { alt49=2; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 49, 0, input); throw nvae; } switch (alt49) { case 1 : // Java.g:576:10: t49= modifiers (t50= typeParameters )? IDENTIFIER t51= formalParameters ( 'throws' t52= qualifiedNameList )? ( '{' ) (t53= explicitConstructorInvocation )? (t54= blockStatement )* ( '}' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_methodDeclaration2222); t49=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t49!=null?((Token)t49.start):null), (t49!=null?((Token)t49.stop):null));} // Java.g:577:9: (t50= typeParameters )? int alt40=2; int LA40_0 = input.LA(1); if ( (LA40_0==LT) ) { alt40=1; } switch (alt40) { case 1 : // Java.g:577:10: t50= typeParameters { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameters"));} pushFollow(FOLLOW_typeParameters_in_methodDeclaration2239); t50=typeParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t50!=null?((Token)t50.start):null), (t50!=null?((Token)t50.stop):null));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodDeclaration2262); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("formalParameters"));} pushFollow(FOLLOW_formalParameters_in_methodDeclaration2278); t51=formalParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t51!=null?((Token)t51.start):null), (t51!=null?((Token)t51.stop):null));} // Java.g:581:9: ( 'throws' t52= qualifiedNameList )? int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0==THROWS) ) { alt41=1; } switch (alt41) { case 1 : // Java.g:581:10: 'throws' t52= qualifiedNameList { match(input,THROWS,FOLLOW_THROWS_in_methodDeclaration2291); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'throws'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedNameList"));} pushFollow(FOLLOW_qualifiedNameList_in_methodDeclaration2298); t52=qualifiedNameList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t52!=null?((Token)t52.start):null), (t52!=null?((Token)t52.stop):null));} } break; } // Java.g:583:9: ( '{' ) // Java.g:583:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_methodDeclaration2322); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:584:9: (t53= explicitConstructorInvocation )? int alt42=2; alt42 = dfa42.predict(input); switch (alt42) { case 1 : // Java.g:584:10: t53= explicitConstructorInvocation { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("explicitConstructorInvocation"));} pushFollow(FOLLOW_explicitConstructorInvocation_in_methodDeclaration2340); t53=explicitConstructorInvocation(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t53!=null?((Token)t53.start):null), (t53!=null?((Token)t53.stop):null));} } break; } // Java.g:586:9: (t54= blockStatement )* loop43: do { int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0==ABSTRACT||(LA43_0 >= ASSERT && LA43_0 <= BANG)||(LA43_0 >= BINLITERAL && LA43_0 <= BYTE)||(LA43_0 >= CHAR && LA43_0 <= CLASS)||LA43_0==CONTINUE||LA43_0==DO||(LA43_0 >= DOUBLE && LA43_0 <= DOUBLELITERAL)||LA43_0==ENUM||(LA43_0 >= FALSE && LA43_0 <= FINAL)||(LA43_0 >= FLOAT && LA43_0 <= FOR)||(LA43_0 >= IDENTIFIER && LA43_0 <= IF)||(LA43_0 >= INT && LA43_0 <= INTLITERAL)||LA43_0==LBRACE||(LA43_0 >= LONG && LA43_0 <= LT)||(LA43_0 >= MONKEYS_AT && LA43_0 <= NULL)||LA43_0==PLUS||(LA43_0 >= PLUSPLUS && LA43_0 <= PUBLIC)||LA43_0==RETURN||(LA43_0 >= SEMI && LA43_0 <= SHORT)||(LA43_0 >= STATIC && LA43_0 <= SUB)||(LA43_0 >= SUBSUB && LA43_0 <= SYNCHRONIZED)||(LA43_0 >= THIS && LA43_0 <= THROW)||(LA43_0 >= TILDE && LA43_0 <= WHILE)) ) { alt43=1; } switch (alt43) { case 1 : // Java.g:586:10: t54= blockStatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("blockStatement"));} pushFollow(FOLLOW_blockStatement_in_methodDeclaration2368); t54=blockStatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t54!=null?((Token)t54.start):null), (t54!=null?((Token)t54.stop):null));} } break; default : break loop43; } } while (true); // Java.g:588:9: ( '}' ) // Java.g:588:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_methodDeclaration2392); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } break; case 2 : // Java.g:589:9: t55= modifiers (t56= typeParameters )? (t57= type | 'void' ) IDENTIFIER t58= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t59= qualifiedNameList )? (t60= block | ( ';' ) ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_methodDeclaration2408); t55=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t55!=null?((Token)t55.start):null), (t55!=null?((Token)t55.stop):null));} // Java.g:590:9: (t56= typeParameters )? int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0==LT) ) { alt44=1; } switch (alt44) { case 1 : // Java.g:590:10: t56= typeParameters { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameters"));} pushFollow(FOLLOW_typeParameters_in_methodDeclaration2425); t56=typeParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t56!=null?((Token)t56.start):null), (t56!=null?((Token)t56.stop):null));} } break; } // Java.g:592:9: (t57= type | 'void' ) int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0==BOOLEAN||LA45_0==BYTE||LA45_0==CHAR||LA45_0==DOUBLE||LA45_0==FLOAT||LA45_0==IDENTIFIER||LA45_0==INT||LA45_0==LONG||LA45_0==SHORT) ) { alt45=1; } else if ( (LA45_0==VOID) ) { alt45=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 45, 0, input); throw nvae; } switch (alt45) { case 1 : // Java.g:592:10: t57= type { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_methodDeclaration2453); t57=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t57!=null?((Token)t57.start):null), (t57!=null?((Token)t57.stop):null));} } break; case 2 : // Java.g:593:13: 'void' { match(input,VOID,FOLLOW_VOID_in_methodDeclaration2469); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'void'",input.LT(-1));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_methodDeclaration2490); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("formalParameters"));} pushFollow(FOLLOW_formalParameters_in_methodDeclaration2506); t58=formalParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t58!=null?((Token)t58.start):null), (t58!=null?((Token)t58.stop):null));} // Java.g:597:9: ( ( '[' ) ( ']' ) )* loop46: do { int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0==LBRACKET) ) { alt46=1; } switch (alt46) { case 1 : // Java.g:597:10: ( '[' ) ( ']' ) { // Java.g:597:10: ( '[' ) // Java.g:597:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_methodDeclaration2520); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:597:48: ( ']' ) // Java.g:597:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_methodDeclaration2525); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop46; } } while (true); // Java.g:599:9: ( 'throws' t59= qualifiedNameList )? int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0==THROWS) ) { alt47=1; } switch (alt47) { case 1 : // Java.g:599:10: 'throws' t59= qualifiedNameList { match(input,THROWS,FOLLOW_THROWS_in_methodDeclaration2549); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'throws'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedNameList"));} pushFollow(FOLLOW_qualifiedNameList_in_methodDeclaration2556); t59=qualifiedNameList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t59!=null?((Token)t59.start):null), (t59!=null?((Token)t59.stop):null));} } break; } // Java.g:601:9: (t60= block | ( ';' ) ) int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==LBRACE) ) { alt48=1; } else if ( (LA48_0==SEMI) ) { alt48=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 48, 0, input); throw nvae; } switch (alt48) { case 1 : // Java.g:602:13: t60= block { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_methodDeclaration2617); t60=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t60!=null?((Token)t60.start):null), (t60!=null?((Token)t60.stop):null));} } break; case 2 : // Java.g:603:13: ( ';' ) { // Java.g:603:13: ( ';' ) // Java.g:603:14: ';' { match(input,SEMI,FOLLOW_SEMI_in_methodDeclaration2634); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 26, methodDeclaration_StartIndex); } } return retval; } // $ANTLR end "methodDeclaration" public static class fieldDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "fieldDeclaration" // Java.g:608:1: fieldDeclaration :t61= modifiers t62= type t63= variableDeclarator ( ( ',' ) t64= variableDeclarator )* ( ';' ) ; public final fieldDeclaration_return fieldDeclaration() throws RecognitionException { fieldDeclaration_return retval = new fieldDeclaration_return(); retval.start = input.LT(1); int fieldDeclaration_StartIndex = input.index(); modifiers_return t61 =null; type_return t62 =null; variableDeclarator_return t63 =null; variableDeclarator_return t64 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return retval; } // Java.g:609:5: (t61= modifiers t62= type t63= variableDeclarator ( ( ',' ) t64= variableDeclarator )* ( ';' ) ) // Java.g:609:9: t61= modifiers t62= type t63= variableDeclarator ( ( ',' ) t64= variableDeclarator )* ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_fieldDeclaration2672); t61=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t61!=null?((Token)t61.start):null), (t61!=null?((Token)t61.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_fieldDeclaration2688); t62=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t62!=null?((Token)t62.start):null), (t62!=null?((Token)t62.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_fieldDeclaration2704); t63=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t63!=null?((Token)t63.start):null), (t63!=null?((Token)t63.stop):null));} // Java.g:612:9: ( ( ',' ) t64= variableDeclarator )* loop50: do { int alt50=2; int LA50_0 = input.LA(1); if ( (LA50_0==COMMA) ) { alt50=1; } switch (alt50) { case 1 : // Java.g:612:10: ( ',' ) t64= variableDeclarator { // Java.g:612:10: ( ',' ) // Java.g:612:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_fieldDeclaration2718); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_fieldDeclaration2726); t64=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t64!=null?((Token)t64.start):null), (t64!=null?((Token)t64.stop):null));} } break; default : break loop50; } } while (true); // Java.g:614:9: ( ';' ) // Java.g:614:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_fieldDeclaration2750); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 27, fieldDeclaration_StartIndex); } } return retval; } // $ANTLR end "fieldDeclaration" public static class variableDeclarator_return extends ParserRuleReturnScope { }; // $ANTLR start "variableDeclarator" // Java.g:617:1: variableDeclarator : IDENTIFIER ( ( '[' ) ( ']' ) )* ( ( '=' ) t65= variableInitializer )? ; public final variableDeclarator_return variableDeclarator() throws RecognitionException { variableDeclarator_return retval = new variableDeclarator_return(); retval.start = input.LT(1); int variableDeclarator_StartIndex = input.index(); variableInitializer_return t65 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return retval; } // Java.g:618:5: ( IDENTIFIER ( ( '[' ) ( ']' ) )* ( ( '=' ) t65= variableInitializer )? ) // Java.g:618:9: IDENTIFIER ( ( '[' ) ( ']' ) )* ( ( '=' ) t65= variableInitializer )? { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variableDeclarator2772); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:619:9: ( ( '[' ) ( ']' ) )* loop51: do { int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==LBRACKET) ) { alt51=1; } switch (alt51) { case 1 : // Java.g:619:10: ( '[' ) ( ']' ) { // Java.g:619:10: ( '[' ) // Java.g:619:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_variableDeclarator2786); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:619:48: ( ']' ) // Java.g:619:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_variableDeclarator2791); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop51; } } while (true); // Java.g:621:9: ( ( '=' ) t65= variableInitializer )? int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==EQ) ) { alt52=1; } switch (alt52) { case 1 : // Java.g:621:10: ( '=' ) t65= variableInitializer { // Java.g:621:10: ( '=' ) // Java.g:621:11: '=' { match(input,EQ,FOLLOW_EQ_in_variableDeclarator2816); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableInitializer"));} pushFollow(FOLLOW_variableInitializer_in_variableDeclarator2824); t65=variableInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t65!=null?((Token)t65.start):null), (t65!=null?((Token)t65.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 28, variableDeclarator_StartIndex); } } return retval; } // $ANTLR end "variableDeclarator" public static class interfaceBodyDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "interfaceBodyDeclaration" // Java.g:628:1: interfaceBodyDeclaration : (t66= interfaceFieldDeclaration |t67= interfaceMethodDeclaration |t68= interfaceDeclaration |t69= classDeclaration | ( ';' ) ); public final interfaceBodyDeclaration_return interfaceBodyDeclaration() throws RecognitionException { interfaceBodyDeclaration_return retval = new interfaceBodyDeclaration_return(); retval.start = input.LT(1); int interfaceBodyDeclaration_StartIndex = input.index(); interfaceFieldDeclaration_return t66 =null; interfaceMethodDeclaration_return t67 =null; interfaceDeclaration_return t68 =null; classDeclaration_return t69 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return retval; } // Java.g:629:5: (t66= interfaceFieldDeclaration |t67= interfaceMethodDeclaration |t68= interfaceDeclaration |t69= classDeclaration | ( ';' ) ) int alt53=5; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA53_1 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 1, input); throw nvae; } } break; case PUBLIC: { int LA53_2 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 2, input); throw nvae; } } break; case PROTECTED: { int LA53_3 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 3, input); throw nvae; } } break; case PRIVATE: { int LA53_4 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 4, input); throw nvae; } } break; case STATIC: { int LA53_5 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 5, input); throw nvae; } } break; case ABSTRACT: { int LA53_6 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 6, input); throw nvae; } } break; case FINAL: { int LA53_7 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 7, input); throw nvae; } } break; case NATIVE: { int LA53_8 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA53_9 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 9, input); throw nvae; } } break; case TRANSIENT: { int LA53_10 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 10, input); throw nvae; } } break; case VOLATILE: { int LA53_11 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 11, input); throw nvae; } } break; case STRICTFP: { int LA53_12 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else if ( (synpred70_Java()) ) { alt53=3; } else if ( (synpred71_Java()) ) { alt53=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 12, input); throw nvae; } } break; case IDENTIFIER: { int LA53_13 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 13, input); throw nvae; } } break; case BOOLEAN: { int LA53_14 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 14, input); throw nvae; } } break; case CHAR: { int LA53_15 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 15, input); throw nvae; } } break; case BYTE: { int LA53_16 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 16, input); throw nvae; } } break; case SHORT: { int LA53_17 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 17, input); throw nvae; } } break; case INT: { int LA53_18 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 18, input); throw nvae; } } break; case LONG: { int LA53_19 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 19, input); throw nvae; } } break; case FLOAT: { int LA53_20 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 20, input); throw nvae; } } break; case DOUBLE: { int LA53_21 = input.LA(2); if ( (synpred68_Java()) ) { alt53=1; } else if ( (synpred69_Java()) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 21, input); throw nvae; } } break; case LT: case VOID: { alt53=2; } break; case INTERFACE: { alt53=3; } break; case CLASS: case ENUM: { alt53=4; } break; case SEMI: { alt53=5; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 53, 0, input); throw nvae; } switch (alt53) { case 1 : // Java.g:630:9: t66= interfaceFieldDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceFieldDeclaration"));} pushFollow(FOLLOW_interfaceFieldDeclaration_in_interfaceBodyDeclaration2869); t66=interfaceFieldDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t66!=null?((Token)t66.start):null), (t66!=null?((Token)t66.stop):null));} } break; case 2 : // Java.g:631:9: t67= interfaceMethodDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceMethodDeclaration"));} pushFollow(FOLLOW_interfaceMethodDeclaration_in_interfaceBodyDeclaration2885); t67=interfaceMethodDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t67!=null?((Token)t67.start):null), (t67!=null?((Token)t67.stop):null));} } break; case 3 : // Java.g:632:9: t68= interfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceDeclaration"));} pushFollow(FOLLOW_interfaceDeclaration_in_interfaceBodyDeclaration2901); t68=interfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t68!=null?((Token)t68.start):null), (t68!=null?((Token)t68.stop):null));} } break; case 4 : // Java.g:633:9: t69= classDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classDeclaration"));} pushFollow(FOLLOW_classDeclaration_in_interfaceBodyDeclaration2917); t69=classDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t69!=null?((Token)t69.start):null), (t69!=null?((Token)t69.stop):null));} } break; case 5 : // Java.g:634:9: ( ';' ) { // Java.g:634:9: ( ';' ) // Java.g:634:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_interfaceBodyDeclaration2930); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 29, interfaceBodyDeclaration_StartIndex); } } return retval; } // $ANTLR end "interfaceBodyDeclaration" public static class interfaceMethodDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "interfaceMethodDeclaration" // Java.g:637:1: interfaceMethodDeclaration :t70= modifiers (t71= typeParameters )? (t72= type | 'void' ) IDENTIFIER t73= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t74= qualifiedNameList )? ( ';' ) ; public final interfaceMethodDeclaration_return interfaceMethodDeclaration() throws RecognitionException { interfaceMethodDeclaration_return retval = new interfaceMethodDeclaration_return(); retval.start = input.LT(1); int interfaceMethodDeclaration_StartIndex = input.index(); modifiers_return t70 =null; typeParameters_return t71 =null; type_return t72 =null; formalParameters_return t73 =null; qualifiedNameList_return t74 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return retval; } // Java.g:638:5: (t70= modifiers (t71= typeParameters )? (t72= type | 'void' ) IDENTIFIER t73= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t74= qualifiedNameList )? ( ';' ) ) // Java.g:638:9: t70= modifiers (t71= typeParameters )? (t72= type | 'void' ) IDENTIFIER t73= formalParameters ( ( '[' ) ( ']' ) )* ( 'throws' t74= qualifiedNameList )? ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_interfaceMethodDeclaration2956); t70=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t70!=null?((Token)t70.start):null), (t70!=null?((Token)t70.stop):null));} // Java.g:639:9: (t71= typeParameters )? int alt54=2; int LA54_0 = input.LA(1); if ( (LA54_0==LT) ) { alt54=1; } switch (alt54) { case 1 : // Java.g:639:10: t71= typeParameters { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeParameters"));} pushFollow(FOLLOW_typeParameters_in_interfaceMethodDeclaration2973); t71=typeParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t71!=null?((Token)t71.start):null), (t71!=null?((Token)t71.stop):null));} } break; } // Java.g:641:9: (t72= type | 'void' ) int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0==BOOLEAN||LA55_0==BYTE||LA55_0==CHAR||LA55_0==DOUBLE||LA55_0==FLOAT||LA55_0==IDENTIFIER||LA55_0==INT||LA55_0==LONG||LA55_0==SHORT) ) { alt55=1; } else if ( (LA55_0==VOID) ) { alt55=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 55, 0, input); throw nvae; } switch (alt55) { case 1 : // Java.g:641:10: t72= type { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_interfaceMethodDeclaration3001); t72=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t72!=null?((Token)t72.start):null), (t72!=null?((Token)t72.stop):null));} } break; case 2 : // Java.g:642:10: 'void' { match(input,VOID,FOLLOW_VOID_in_interfaceMethodDeclaration3014); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'void'",input.LT(-1));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_interfaceMethodDeclaration3035); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("formalParameters"));} pushFollow(FOLLOW_formalParameters_in_interfaceMethodDeclaration3051); t73=formalParameters(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t73!=null?((Token)t73.start):null), (t73!=null?((Token)t73.stop):null));} // Java.g:646:9: ( ( '[' ) ( ']' ) )* loop56: do { int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0==LBRACKET) ) { alt56=1; } switch (alt56) { case 1 : // Java.g:646:10: ( '[' ) ( ']' ) { // Java.g:646:10: ( '[' ) // Java.g:646:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_interfaceMethodDeclaration3065); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:646:48: ( ']' ) // Java.g:646:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_interfaceMethodDeclaration3070); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop56; } } while (true); // Java.g:648:9: ( 'throws' t74= qualifiedNameList )? int alt57=2; int LA57_0 = input.LA(1); if ( (LA57_0==THROWS) ) { alt57=1; } switch (alt57) { case 1 : // Java.g:648:10: 'throws' t74= qualifiedNameList { match(input,THROWS,FOLLOW_THROWS_in_interfaceMethodDeclaration3094); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'throws'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedNameList"));} pushFollow(FOLLOW_qualifiedNameList_in_interfaceMethodDeclaration3101); t74=qualifiedNameList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t74!=null?((Token)t74.start):null), (t74!=null?((Token)t74.stop):null));} } break; } // Java.g:649:12: ( ';' ) // Java.g:649:13: ';' { match(input,SEMI,FOLLOW_SEMI_in_interfaceMethodDeclaration3117); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 30, interfaceMethodDeclaration_StartIndex); } } return retval; } // $ANTLR end "interfaceMethodDeclaration" public static class interfaceFieldDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "interfaceFieldDeclaration" // Java.g:657:1: interfaceFieldDeclaration :t75= modifiers t76= type t77= variableDeclarator ( ( ',' ) t78= variableDeclarator )* ( ';' ) ; public final interfaceFieldDeclaration_return interfaceFieldDeclaration() throws RecognitionException { interfaceFieldDeclaration_return retval = new interfaceFieldDeclaration_return(); retval.start = input.LT(1); int interfaceFieldDeclaration_StartIndex = input.index(); modifiers_return t75 =null; type_return t76 =null; variableDeclarator_return t77 =null; variableDeclarator_return t78 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return retval; } // Java.g:658:5: (t75= modifiers t76= type t77= variableDeclarator ( ( ',' ) t78= variableDeclarator )* ( ';' ) ) // Java.g:658:9: t75= modifiers t76= type t77= variableDeclarator ( ( ',' ) t78= variableDeclarator )* ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_interfaceFieldDeclaration3145); t75=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t75!=null?((Token)t75.start):null), (t75!=null?((Token)t75.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_interfaceFieldDeclaration3153); t76=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t76!=null?((Token)t76.start):null), (t76!=null?((Token)t76.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_interfaceFieldDeclaration3161); t77=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t77!=null?((Token)t77.start):null), (t77!=null?((Token)t77.stop):null));} // Java.g:659:9: ( ( ',' ) t78= variableDeclarator )* loop58: do { int alt58=2; int LA58_0 = input.LA(1); if ( (LA58_0==COMMA) ) { alt58=1; } switch (alt58) { case 1 : // Java.g:659:10: ( ',' ) t78= variableDeclarator { // Java.g:659:10: ( ',' ) // Java.g:659:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_interfaceFieldDeclaration3175); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_interfaceFieldDeclaration3183); t78=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t78!=null?((Token)t78.start):null), (t78!=null?((Token)t78.stop):null));} } break; default : break loop58; } } while (true); // Java.g:661:9: ( ';' ) // Java.g:661:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_interfaceFieldDeclaration3207); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 31, interfaceFieldDeclaration_StartIndex); } } return retval; } // $ANTLR end "interfaceFieldDeclaration" public static class type_return extends ParserRuleReturnScope { }; // $ANTLR start "type" // Java.g:665:1: type : (t79= classOrInterfaceType ( ( '[' ) ( ']' ) )* |t80= primitiveType ( ( '[' ) ( ']' ) )* ); public final type_return type() throws RecognitionException { type_return retval = new type_return(); retval.start = input.LT(1); int type_StartIndex = input.index(); classOrInterfaceType_return t79 =null; primitiveType_return t80 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return retval; } // Java.g:666:5: (t79= classOrInterfaceType ( ( '[' ) ( ']' ) )* |t80= primitiveType ( ( '[' ) ( ']' ) )* ) int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0==IDENTIFIER) ) { alt61=1; } else if ( (LA61_0==BOOLEAN||LA61_0==BYTE||LA61_0==CHAR||LA61_0==DOUBLE||LA61_0==FLOAT||LA61_0==INT||LA61_0==LONG||LA61_0==SHORT) ) { alt61=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 61, 0, input); throw nvae; } switch (alt61) { case 1 : // Java.g:666:9: t79= classOrInterfaceType ( ( '[' ) ( ']' ) )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_type3234); t79=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t79!=null?((Token)t79.start):null), (t79!=null?((Token)t79.stop):null));} // Java.g:667:9: ( ( '[' ) ( ']' ) )* loop59: do { int alt59=2; int LA59_0 = input.LA(1); if ( (LA59_0==LBRACKET) ) { alt59=1; } switch (alt59) { case 1 : // Java.g:667:10: ( '[' ) ( ']' ) { // Java.g:667:10: ( '[' ) // Java.g:667:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_type3248); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:667:48: ( ']' ) // Java.g:667:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_type3253); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop59; } } while (true); } break; case 2 : // Java.g:669:9: t80= primitiveType ( ( '[' ) ( ']' ) )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primitiveType"));} pushFollow(FOLLOW_primitiveType_in_type3280); t80=primitiveType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t80!=null?((Token)t80.start):null), (t80!=null?((Token)t80.stop):null));} // Java.g:670:9: ( ( '[' ) ( ']' ) )* loop60: do { int alt60=2; int LA60_0 = input.LA(1); if ( (LA60_0==LBRACKET) ) { alt60=1; } switch (alt60) { case 1 : // Java.g:670:10: ( '[' ) ( ']' ) { // Java.g:670:10: ( '[' ) // Java.g:670:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_type3294); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:670:48: ( ']' ) // Java.g:670:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_type3299); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop60; } } while (true); } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 32, type_StartIndex); } } return retval; } // $ANTLR end "type" public static class classOrInterfaceType_return extends ParserRuleReturnScope { }; // $ANTLR start "classOrInterfaceType" // Java.g:675:1: classOrInterfaceType : IDENTIFIER (t81= typeArgumentsOrDiamond )? ( ( '.' ) IDENTIFIER (t82= typeArgumentsOrDiamond )? )* ; public final classOrInterfaceType_return classOrInterfaceType() throws RecognitionException { classOrInterfaceType_return retval = new classOrInterfaceType_return(); retval.start = input.LT(1); int classOrInterfaceType_StartIndex = input.index(); typeArgumentsOrDiamond_return t81 =null; typeArgumentsOrDiamond_return t82 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return retval; } // Java.g:676:5: ( IDENTIFIER (t81= typeArgumentsOrDiamond )? ( ( '.' ) IDENTIFIER (t82= typeArgumentsOrDiamond )? )* ) // Java.g:676:9: IDENTIFIER (t81= typeArgumentsOrDiamond )? ( ( '.' ) IDENTIFIER (t82= typeArgumentsOrDiamond )? )* { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_classOrInterfaceType3333); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:677:9: (t81= typeArgumentsOrDiamond )? int alt62=2; int LA62_0 = input.LA(1); if ( (LA62_0==LT) ) { int LA62_1 = input.LA(2); if ( (LA62_1==BOOLEAN||LA62_1==BYTE||LA62_1==CHAR||LA62_1==DOUBLE||LA62_1==FLOAT||LA62_1==GT||LA62_1==IDENTIFIER||LA62_1==INT||LA62_1==LONG||LA62_1==QUES||LA62_1==SHORT) ) { alt62=1; } } switch (alt62) { case 1 : // Java.g:677:10: t81= typeArgumentsOrDiamond { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArgumentsOrDiamond"));} pushFollow(FOLLOW_typeArgumentsOrDiamond_in_classOrInterfaceType3350); t81=typeArgumentsOrDiamond(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t81!=null?((Token)t81.start):null), (t81!=null?((Token)t81.stop):null));} } break; } // Java.g:679:9: ( ( '.' ) IDENTIFIER (t82= typeArgumentsOrDiamond )? )* loop64: do { int alt64=2; int LA64_0 = input.LA(1); if ( (LA64_0==DOT) ) { alt64=1; } switch (alt64) { case 1 : // Java.g:679:10: ( '.' ) IDENTIFIER (t82= typeArgumentsOrDiamond )? { // Java.g:679:10: ( '.' ) // Java.g:679:11: '.' { match(input,DOT,FOLLOW_DOT_in_classOrInterfaceType3375); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_classOrInterfaceType3379); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:680:13: (t82= typeArgumentsOrDiamond )? int alt63=2; int LA63_0 = input.LA(1); if ( (LA63_0==LT) ) { int LA63_1 = input.LA(2); if ( (LA63_1==BOOLEAN||LA63_1==BYTE||LA63_1==CHAR||LA63_1==DOUBLE||LA63_1==FLOAT||LA63_1==GT||LA63_1==IDENTIFIER||LA63_1==INT||LA63_1==LONG||LA63_1==QUES||LA63_1==SHORT) ) { alt63=1; } } switch (alt63) { case 1 : // Java.g:680:14: t82= typeArgumentsOrDiamond { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArgumentsOrDiamond"));} pushFollow(FOLLOW_typeArgumentsOrDiamond_in_classOrInterfaceType3400); t82=typeArgumentsOrDiamond(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t82!=null?((Token)t82.start):null), (t82!=null?((Token)t82.stop):null));} } break; } } break; default : break loop64; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 33, classOrInterfaceType_StartIndex); } } return retval; } // $ANTLR end "classOrInterfaceType" public static class primitiveType_return extends ParserRuleReturnScope { }; // $ANTLR start "primitiveType" // Java.g:685:1: primitiveType : ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' ); public final primitiveType_return primitiveType() throws RecognitionException { primitiveType_return retval = new primitiveType_return(); retval.start = input.LT(1); int primitiveType_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return retval; } // Java.g:686:5: ( 'boolean' | 'char' | 'byte' | 'short' | 'int' | 'long' | 'float' | 'double' ) int alt65=8; switch ( input.LA(1) ) { case BOOLEAN: { alt65=1; } break; case CHAR: { alt65=2; } break; case BYTE: { alt65=3; } break; case SHORT: { alt65=4; } break; case INT: { alt65=5; } break; case LONG: { alt65=6; } break; case FLOAT: { alt65=7; } break; case DOUBLE: { alt65=8; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 65, 0, input); throw nvae; } switch (alt65) { case 1 : // Java.g:686:9: 'boolean' { match(input,BOOLEAN,FOLLOW_BOOLEAN_in_primitiveType3449); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'boolean'",input.LT(-1));} } break; case 2 : // Java.g:687:9: 'char' { match(input,CHAR,FOLLOW_CHAR_in_primitiveType3460); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'char'",input.LT(-1));} } break; case 3 : // Java.g:688:9: 'byte' { match(input,BYTE,FOLLOW_BYTE_in_primitiveType3471); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'byte'",input.LT(-1));} } break; case 4 : // Java.g:689:9: 'short' { match(input,SHORT,FOLLOW_SHORT_in_primitiveType3482); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'short'",input.LT(-1));} } break; case 5 : // Java.g:690:9: 'int' { match(input,INT,FOLLOW_INT_in_primitiveType3493); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'int'",input.LT(-1));} } break; case 6 : // Java.g:691:9: 'long' { match(input,LONG,FOLLOW_LONG_in_primitiveType3504); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'long'",input.LT(-1));} } break; case 7 : // Java.g:692:9: 'float' { match(input,FLOAT,FOLLOW_FLOAT_in_primitiveType3515); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'float'",input.LT(-1));} } break; case 8 : // Java.g:693:9: 'double' { match(input,DOUBLE,FOLLOW_DOUBLE_in_primitiveType3526); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'double'",input.LT(-1));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 34, primitiveType_StartIndex); } } return retval; } // $ANTLR end "primitiveType" public static class typeArguments_return extends ParserRuleReturnScope { }; // $ANTLR start "typeArguments" // Java.g:696:1: typeArguments : ( '<' ) t83= typeArgument ( ( ',' ) t84= typeArgument )* ( '>' ) ; public final typeArguments_return typeArguments() throws RecognitionException { typeArguments_return retval = new typeArguments_return(); retval.start = input.LT(1); int typeArguments_StartIndex = input.index(); typeArgument_return t83 =null; typeArgument_return t84 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return retval; } // Java.g:697:5: ( ( '<' ) t83= typeArgument ( ( ',' ) t84= typeArgument )* ( '>' ) ) // Java.g:697:9: ( '<' ) t83= typeArgument ( ( ',' ) t84= typeArgument )* ( '>' ) { // Java.g:697:9: ( '<' ) // Java.g:697:10: '<' { match(input,LT,FOLLOW_LT_in_typeArguments3548); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArgument"));} pushFollow(FOLLOW_typeArgument_in_typeArguments3556); t83=typeArgument(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t83!=null?((Token)t83.start):null), (t83!=null?((Token)t83.stop):null));} // Java.g:698:9: ( ( ',' ) t84= typeArgument )* loop66: do { int alt66=2; int LA66_0 = input.LA(1); if ( (LA66_0==COMMA) ) { alt66=1; } switch (alt66) { case 1 : // Java.g:698:10: ( ',' ) t84= typeArgument { // Java.g:698:10: ( ',' ) // Java.g:698:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_typeArguments3570); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArgument"));} pushFollow(FOLLOW_typeArgument_in_typeArguments3578); t84=typeArgument(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t84!=null?((Token)t84.start):null), (t84!=null?((Token)t84.stop):null));} } break; default : break loop66; } } while (true); // Java.g:700:9: ( '>' ) // Java.g:700:10: '>' { match(input,GT,FOLLOW_GT_in_typeArguments3603); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 35, typeArguments_StartIndex); } } return retval; } // $ANTLR end "typeArguments" public static class typeArgument_return extends ParserRuleReturnScope { }; // $ANTLR start "typeArgument" // Java.g:703:1: typeArgument : (t85= type | ( '?' ) ( ( 'extends' | 'super' ) t86= type )? ); public final typeArgument_return typeArgument() throws RecognitionException { typeArgument_return retval = new typeArgument_return(); retval.start = input.LT(1); int typeArgument_StartIndex = input.index(); type_return t85 =null; type_return t86 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return retval; } // Java.g:704:5: (t85= type | ( '?' ) ( ( 'extends' | 'super' ) t86= type )? ) int alt69=2; int LA69_0 = input.LA(1); if ( (LA69_0==BOOLEAN||LA69_0==BYTE||LA69_0==CHAR||LA69_0==DOUBLE||LA69_0==FLOAT||LA69_0==IDENTIFIER||LA69_0==INT||LA69_0==LONG||LA69_0==SHORT) ) { alt69=1; } else if ( (LA69_0==QUES) ) { alt69=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 69, 0, input); throw nvae; } switch (alt69) { case 1 : // Java.g:704:9: t85= type { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeArgument3629); t85=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t85!=null?((Token)t85.start):null), (t85!=null?((Token)t85.stop):null));} } break; case 2 : // Java.g:705:9: ( '?' ) ( ( 'extends' | 'super' ) t86= type )? { // Java.g:705:9: ( '?' ) // Java.g:705:10: '?' { match(input,QUES,FOLLOW_QUES_in_typeArgument3642); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'?'",input.LT(-1));} } // Java.g:706:9: ( ( 'extends' | 'super' ) t86= type )? int alt68=2; int LA68_0 = input.LA(1); if ( (LA68_0==EXTENDS||LA68_0==SUPER) ) { alt68=1; } switch (alt68) { case 1 : // Java.g:707:13: ( 'extends' | 'super' ) t86= type { // Java.g:707:13: ( 'extends' | 'super' ) int alt67=2; int LA67_0 = input.LA(1); if ( (LA67_0==EXTENDS) ) { alt67=1; } else if ( (LA67_0==SUPER) ) { alt67=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 67, 0, input); throw nvae; } switch (alt67) { case 1 : // Java.g:707:14: 'extends' { match(input,EXTENDS,FOLLOW_EXTENDS_in_typeArgument3669); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'extends'",input.LT(-1));} } break; case 2 : // Java.g:708:14: 'super' { match(input,SUPER,FOLLOW_SUPER_in_typeArgument3685); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_typeArgument3718); t86=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t86!=null?((Token)t86.start):null), (t86!=null?((Token)t86.stop):null));} } break; } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 36, typeArgument_StartIndex); } } return retval; } // $ANTLR end "typeArgument" public static class qualifiedNameList_return extends ParserRuleReturnScope { }; // $ANTLR start "qualifiedNameList" // Java.g:714:1: qualifiedNameList :t87= qualifiedName ( ( ',' ) t88= qualifiedName )* ; public final qualifiedNameList_return qualifiedNameList() throws RecognitionException { qualifiedNameList_return retval = new qualifiedNameList_return(); retval.start = input.LT(1); int qualifiedNameList_StartIndex = input.index(); qualifiedName_return t87 =null; qualifiedName_return t88 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return retval; } // Java.g:715:5: (t87= qualifiedName ( ( ',' ) t88= qualifiedName )* ) // Java.g:715:9: t87= qualifiedName ( ( ',' ) t88= qualifiedName )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedName"));} pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList3755); t87=qualifiedName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t87!=null?((Token)t87.start):null), (t87!=null?((Token)t87.stop):null));} // Java.g:716:9: ( ( ',' ) t88= qualifiedName )* loop70: do { int alt70=2; int LA70_0 = input.LA(1); if ( (LA70_0==COMMA) ) { alt70=1; } switch (alt70) { case 1 : // Java.g:716:10: ( ',' ) t88= qualifiedName { // Java.g:716:10: ( ',' ) // Java.g:716:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_qualifiedNameList3769); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedName"));} pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList3777); t88=qualifiedName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t88!=null?((Token)t88.start):null), (t88!=null?((Token)t88.stop):null));} } break; default : break loop70; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 37, qualifiedNameList_StartIndex); } } return retval; } // $ANTLR end "qualifiedNameList" public static class formalParameters_return extends ParserRuleReturnScope { }; // $ANTLR start "formalParameters" // Java.g:720:1: formalParameters : ( '(' ) (t89= formalParameterDecls )? ( ')' ) ; public final formalParameters_return formalParameters() throws RecognitionException { formalParameters_return retval = new formalParameters_return(); retval.start = input.LT(1); int formalParameters_StartIndex = input.index(); formalParameterDecls_return t89 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return retval; } // Java.g:721:5: ( ( '(' ) (t89= formalParameterDecls )? ( ')' ) ) // Java.g:721:9: ( '(' ) (t89= formalParameterDecls )? ( ')' ) { // Java.g:721:9: ( '(' ) // Java.g:721:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_formalParameters3811); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } // Java.g:722:9: (t89= formalParameterDecls )? int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==BOOLEAN||LA71_0==BYTE||LA71_0==CHAR||LA71_0==DOUBLE||LA71_0==FINAL||LA71_0==FLOAT||LA71_0==IDENTIFIER||LA71_0==INT||LA71_0==LONG||LA71_0==MONKEYS_AT||LA71_0==SHORT) ) { alt71=1; } switch (alt71) { case 1 : // Java.g:722:10: t89= formalParameterDecls { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("formalParameterDecls"));} pushFollow(FOLLOW_formalParameterDecls_in_formalParameters3828); t89=formalParameterDecls(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t89!=null?((Token)t89.start):null), (t89!=null?((Token)t89.stop):null));} } break; } // Java.g:724:9: ( ')' ) // Java.g:724:10: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_formalParameters3853); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 38, formalParameters_StartIndex); } } return retval; } // $ANTLR end "formalParameters" public static class formalParameterDecls_return extends ParserRuleReturnScope { }; // $ANTLR start "formalParameterDecls" // Java.g:727:1: formalParameterDecls : (t90= ellipsisParameterDecl |t91= normalParameterDecl ( ( ',' ) t92= normalParameterDecl )* | (t93= normalParameterDecl ( ',' ) )+ t94= ellipsisParameterDecl ); public final formalParameterDecls_return formalParameterDecls() throws RecognitionException { formalParameterDecls_return retval = new formalParameterDecls_return(); retval.start = input.LT(1); int formalParameterDecls_StartIndex = input.index(); ellipsisParameterDecl_return t90 =null; normalParameterDecl_return t91 =null; normalParameterDecl_return t92 =null; normalParameterDecl_return t93 =null; ellipsisParameterDecl_return t94 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return retval; } // Java.g:728:5: (t90= ellipsisParameterDecl |t91= normalParameterDecl ( ( ',' ) t92= normalParameterDecl )* | (t93= normalParameterDecl ( ',' ) )+ t94= ellipsisParameterDecl ) int alt74=3; switch ( input.LA(1) ) { case FINAL: { int LA74_1 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 1, input); throw nvae; } } break; case MONKEYS_AT: { int LA74_2 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 2, input); throw nvae; } } break; case IDENTIFIER: { int LA74_3 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 3, input); throw nvae; } } break; case BOOLEAN: { int LA74_4 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 4, input); throw nvae; } } break; case CHAR: { int LA74_5 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 5, input); throw nvae; } } break; case BYTE: { int LA74_6 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 6, input); throw nvae; } } break; case SHORT: { int LA74_7 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 7, input); throw nvae; } } break; case INT: { int LA74_8 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 8, input); throw nvae; } } break; case LONG: { int LA74_9 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 9, input); throw nvae; } } break; case FLOAT: { int LA74_10 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 10, input); throw nvae; } } break; case DOUBLE: { int LA74_11 = input.LA(2); if ( (synpred96_Java()) ) { alt74=1; } else if ( (synpred98_Java()) ) { alt74=2; } else if ( (true) ) { alt74=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 11, input); throw nvae; } } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 74, 0, input); throw nvae; } switch (alt74) { case 1 : // Java.g:728:9: t90= ellipsisParameterDecl { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("ellipsisParameterDecl"));} pushFollow(FOLLOW_ellipsisParameterDecl_in_formalParameterDecls3879); t90=ellipsisParameterDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t90!=null?((Token)t90.start):null), (t90!=null?((Token)t90.stop):null));} } break; case 2 : // Java.g:729:9: t91= normalParameterDecl ( ( ',' ) t92= normalParameterDecl )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalParameterDecl"));} pushFollow(FOLLOW_normalParameterDecl_in_formalParameterDecls3895); t91=normalParameterDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t91!=null?((Token)t91.start):null), (t91!=null?((Token)t91.stop):null));} // Java.g:730:9: ( ( ',' ) t92= normalParameterDecl )* loop72: do { int alt72=2; int LA72_0 = input.LA(1); if ( (LA72_0==COMMA) ) { alt72=1; } switch (alt72) { case 1 : // Java.g:730:10: ( ',' ) t92= normalParameterDecl { // Java.g:730:10: ( ',' ) // Java.g:730:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_formalParameterDecls3909); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalParameterDecl"));} pushFollow(FOLLOW_normalParameterDecl_in_formalParameterDecls3917); t92=normalParameterDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t92!=null?((Token)t92.start):null), (t92!=null?((Token)t92.stop):null));} } break; default : break loop72; } } while (true); } break; case 3 : // Java.g:732:9: (t93= normalParameterDecl ( ',' ) )+ t94= ellipsisParameterDecl { // Java.g:732:9: (t93= normalParameterDecl ( ',' ) )+ int cnt73=0; loop73: do { int alt73=2; switch ( input.LA(1) ) { case FINAL: { int LA73_1 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case MONKEYS_AT: { int LA73_2 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case IDENTIFIER: { int LA73_3 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case BOOLEAN: { int LA73_4 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case CHAR: { int LA73_5 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case BYTE: { int LA73_6 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case SHORT: { int LA73_7 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case INT: { int LA73_8 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case LONG: { int LA73_9 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case FLOAT: { int LA73_10 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; case DOUBLE: { int LA73_11 = input.LA(2); if ( (synpred99_Java()) ) { alt73=1; } } break; } switch (alt73) { case 1 : // Java.g:732:10: t93= normalParameterDecl ( ',' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalParameterDecl"));} pushFollow(FOLLOW_normalParameterDecl_in_formalParameterDecls3945); t93=normalParameterDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t93!=null?((Token)t93.start):null), (t93!=null?((Token)t93.stop):null));} // Java.g:733:9: ( ',' ) // Java.g:733:10: ',' { match(input,COMMA,FOLLOW_COMMA_in_formalParameterDecls3958); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } } break; default : if ( cnt73 >= 1 ) break loop73; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = new EarlyExitException(73, input); throw eee; } cnt73++; } while (true); if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("ellipsisParameterDecl"));} pushFollow(FOLLOW_ellipsisParameterDecl_in_formalParameterDecls3986); t94=ellipsisParameterDecl(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t94!=null?((Token)t94.start):null), (t94!=null?((Token)t94.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 39, formalParameterDecls_StartIndex); } } return retval; } // $ANTLR end "formalParameterDecls" public static class normalParameterDecl_return extends ParserRuleReturnScope { }; // $ANTLR start "normalParameterDecl" // Java.g:738:1: normalParameterDecl :t95= variableModifiers t96= type IDENTIFIER ( ( '[' ) ( ']' ) )* ; public final normalParameterDecl_return normalParameterDecl() throws RecognitionException { normalParameterDecl_return retval = new normalParameterDecl_return(); retval.start = input.LT(1); int normalParameterDecl_StartIndex = input.index(); variableModifiers_return t95 =null; type_return t96 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return retval; } // Java.g:739:5: (t95= variableModifiers t96= type IDENTIFIER ( ( '[' ) ( ']' ) )* ) // Java.g:739:9: t95= variableModifiers t96= type IDENTIFIER ( ( '[' ) ( ']' ) )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_normalParameterDecl4012); t95=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t95!=null?((Token)t95.start):null), (t95!=null?((Token)t95.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_normalParameterDecl4020); t96=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t96!=null?((Token)t96.start):null), (t96!=null?((Token)t96.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_normalParameterDecl4024); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:740:9: ( ( '[' ) ( ']' ) )* loop75: do { int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0==LBRACKET) ) { alt75=1; } switch (alt75) { case 1 : // Java.g:740:10: ( '[' ) ( ']' ) { // Java.g:740:10: ( '[' ) // Java.g:740:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_normalParameterDecl4038); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:740:48: ( ']' ) // Java.g:740:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_normalParameterDecl4043); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop75; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 40, normalParameterDecl_StartIndex); } } return retval; } // $ANTLR end "normalParameterDecl" public static class ellipsisParameterDecl_return extends ParserRuleReturnScope { }; // $ANTLR start "ellipsisParameterDecl" // Java.g:744:1: ellipsisParameterDecl :t97= variableModifiers t98= type '...' IDENTIFIER ; public final ellipsisParameterDecl_return ellipsisParameterDecl() throws RecognitionException { ellipsisParameterDecl_return retval = new ellipsisParameterDecl_return(); retval.start = input.LT(1); int ellipsisParameterDecl_StartIndex = input.index(); variableModifiers_return t97 =null; type_return t98 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return retval; } // Java.g:745:5: (t97= variableModifiers t98= type '...' IDENTIFIER ) // Java.g:745:9: t97= variableModifiers t98= type '...' IDENTIFIER { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_ellipsisParameterDecl4080); t97=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t97!=null?((Token)t97.start):null), (t97!=null?((Token)t97.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_ellipsisParameterDecl4096); t98=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t98!=null?((Token)t98.start):null), (t98!=null?((Token)t98.stop):null));} match(input,ELLIPSIS,FOLLOW_ELLIPSIS_in_ellipsisParameterDecl4101); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'...'",input.LT(-1));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_ellipsisParameterDecl4112); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 41, ellipsisParameterDecl_StartIndex); } } return retval; } // $ANTLR end "ellipsisParameterDecl" public static class explicitConstructorInvocation_return extends ParserRuleReturnScope { }; // $ANTLR start "explicitConstructorInvocation" // Java.g:751:1: explicitConstructorInvocation : ( (t99= nonWildcardTypeArguments )? ( 'this' | 'super' ) t100= arguments ( ';' ) |t101= primary ( '.' ) (t102= nonWildcardTypeArguments )? 'super' t103= arguments ( ';' ) ); public final explicitConstructorInvocation_return explicitConstructorInvocation() throws RecognitionException { explicitConstructorInvocation_return retval = new explicitConstructorInvocation_return(); retval.start = input.LT(1); int explicitConstructorInvocation_StartIndex = input.index(); nonWildcardTypeArguments_return t99 =null; arguments_return t100 =null; primary_return t101 =null; nonWildcardTypeArguments_return t102 =null; arguments_return t103 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return retval; } // Java.g:752:5: ( (t99= nonWildcardTypeArguments )? ( 'this' | 'super' ) t100= arguments ( ';' ) |t101= primary ( '.' ) (t102= nonWildcardTypeArguments )? 'super' t103= arguments ( ';' ) ) int alt79=2; switch ( input.LA(1) ) { case LT: { alt79=1; } break; case THIS: { int LA79_2 = input.LA(2); if ( (synpred103_Java()) ) { alt79=1; } else if ( (true) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 79, 2, input); throw nvae; } } break; case SUPER: { int LA79_3 = input.LA(2); if ( (synpred103_Java()) ) { alt79=1; } else if ( (true) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 79, 3, input); throw nvae; } } break; case BINLITERAL: case BOOLEAN: case BYTE: case CHAR: case CHARLITERAL: case DOUBLE: case DOUBLELITERAL: case FALSE: case FLOAT: case FLOATLITERAL: case IDENTIFIER: case INT: case INTLITERAL: case LONG: case LONGLITERAL: case LPAREN: case NEW: case NULL: case SHORT: case STRINGLITERAL: case TRUE: case VOID: { alt79=2; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 79, 0, input); throw nvae; } switch (alt79) { case 1 : // Java.g:752:9: (t99= nonWildcardTypeArguments )? ( 'this' | 'super' ) t100= arguments ( ';' ) { // Java.g:752:9: (t99= nonWildcardTypeArguments )? int alt76=2; int LA76_0 = input.LA(1); if ( (LA76_0==LT) ) { alt76=1; } switch (alt76) { case 1 : // Java.g:752:10: t99= nonWildcardTypeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitConstructorInvocation4140); t99=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t99!=null?((Token)t99.start):null), (t99!=null?((Token)t99.stop):null));} } break; } // Java.g:754:9: ( 'this' | 'super' ) int alt77=2; int LA77_0 = input.LA(1); if ( (LA77_0==THIS) ) { alt77=1; } else if ( (LA77_0==SUPER) ) { alt77=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 77, 0, input); throw nvae; } switch (alt77) { case 1 : // Java.g:754:10: 'this' { match(input,THIS,FOLLOW_THIS_in_explicitConstructorInvocation4169); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'this'",input.LT(-1));} } break; case 2 : // Java.g:755:10: 'super' { match(input,SUPER,FOLLOW_SUPER_in_explicitConstructorInvocation4181); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_explicitConstructorInvocation4206); t100=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t100!=null?((Token)t100.start):null), (t100!=null?((Token)t100.stop):null));} // Java.g:757:134: ( ';' ) // Java.g:757:135: ';' { match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation4211); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 2 : // Java.g:759:9: t101= primary ( '.' ) (t102= nonWildcardTypeArguments )? 'super' t103= arguments ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primary"));} pushFollow(FOLLOW_primary_in_explicitConstructorInvocation4228); t101=primary(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t101!=null?((Token)t101.start):null), (t101!=null?((Token)t101.stop):null));} // Java.g:760:9: ( '.' ) // Java.g:760:10: '.' { match(input,DOT,FOLLOW_DOT_in_explicitConstructorInvocation4241); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } // Java.g:761:9: (t102= nonWildcardTypeArguments )? int alt78=2; int LA78_0 = input.LA(1); if ( (LA78_0==LT) ) { alt78=1; } switch (alt78) { case 1 : // Java.g:761:10: t102= nonWildcardTypeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitConstructorInvocation4258); t102=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t102!=null?((Token)t102.start):null), (t102!=null?((Token)t102.stop):null));} } break; } match(input,SUPER,FOLLOW_SUPER_in_explicitConstructorInvocation4281); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_explicitConstructorInvocation4296); t103=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t103!=null?((Token)t103.start):null), (t103!=null?((Token)t103.stop):null));} // Java.g:764:134: ( ';' ) // Java.g:764:135: ';' { match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation4301); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 42, explicitConstructorInvocation_StartIndex); } } return retval; } // $ANTLR end "explicitConstructorInvocation" public static class qualifiedName_return extends ParserRuleReturnScope { }; // $ANTLR start "qualifiedName" // Java.g:767:1: qualifiedName : IDENTIFIER ( ( '.' ) IDENTIFIER )* ; public final qualifiedName_return qualifiedName() throws RecognitionException { qualifiedName_return retval = new qualifiedName_return(); retval.start = input.LT(1); int qualifiedName_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return retval; } // Java.g:768:5: ( IDENTIFIER ( ( '.' ) IDENTIFIER )* ) // Java.g:768:9: IDENTIFIER ( ( '.' ) IDENTIFIER )* { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedName4323); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:769:9: ( ( '.' ) IDENTIFIER )* loop80: do { int alt80=2; int LA80_0 = input.LA(1); if ( (LA80_0==DOT) ) { alt80=1; } switch (alt80) { case 1 : // Java.g:769:10: ( '.' ) IDENTIFIER { // Java.g:769:10: ( '.' ) // Java.g:769:11: '.' { match(input,DOT,FOLLOW_DOT_in_qualifiedName4337); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedName4341); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; default : break loop80; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 43, qualifiedName_StartIndex); } } return retval; } // $ANTLR end "qualifiedName" public static class annotations_return extends ParserRuleReturnScope { }; // $ANTLR start "annotations" // Java.g:773:1: annotations : (t104= annotation )+ ; public final annotations_return annotations() throws RecognitionException { annotations_return retval = new annotations_return(); retval.start = input.LT(1); int annotations_StartIndex = input.index(); annotation_return t104 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return retval; } // Java.g:774:5: ( (t104= annotation )+ ) // Java.g:774:9: (t104= annotation )+ { // Java.g:774:9: (t104= annotation )+ int cnt81=0; loop81: do { int alt81=2; int LA81_0 = input.LA(1); if ( (LA81_0==MONKEYS_AT) ) { alt81=1; } switch (alt81) { case 1 : // Java.g:774:10: t104= annotation { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotation"));} pushFollow(FOLLOW_annotation_in_annotations4379); t104=annotation(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t104!=null?((Token)t104.start):null), (t104!=null?((Token)t104.stop):null));} } break; default : if ( cnt81 >= 1 ) break loop81; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = new EarlyExitException(81, input); throw eee; } cnt81++; } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 44, annotations_StartIndex); } } return retval; } // $ANTLR end "annotations" public static class annotation_return extends ParserRuleReturnScope { }; // $ANTLR start "annotation" // Java.g:782:1: annotation : ( '@' ) t105= qualifiedName ( ( '(' ) (t106= elementValuePairs |t107= elementValue )? ( ')' ) )? ; public final annotation_return annotation() throws RecognitionException { annotation_return retval = new annotation_return(); retval.start = input.LT(1); int annotation_StartIndex = input.index(); qualifiedName_return t105 =null; elementValuePairs_return t106 =null; elementValue_return t107 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return retval; } // Java.g:783:5: ( ( '@' ) t105= qualifiedName ( ( '(' ) (t106= elementValuePairs |t107= elementValue )? ( ')' ) )? ) // Java.g:783:9: ( '@' ) t105= qualifiedName ( ( '(' ) (t106= elementValuePairs |t107= elementValue )? ( ')' ) )? { // Java.g:783:9: ( '@' ) // Java.g:783:10: '@' { match(input,MONKEYS_AT,FOLLOW_MONKEYS_AT_in_annotation4415); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'@'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("qualifiedName"));} pushFollow(FOLLOW_qualifiedName_in_annotation4423); t105=qualifiedName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t105!=null?((Token)t105.start):null), (t105!=null?((Token)t105.stop):null));} // Java.g:784:9: ( ( '(' ) (t106= elementValuePairs |t107= elementValue )? ( ')' ) )? int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0==LPAREN) ) { alt83=1; } switch (alt83) { case 1 : // Java.g:784:13: ( '(' ) (t106= elementValuePairs |t107= elementValue )? ( ')' ) { // Java.g:784:13: ( '(' ) // Java.g:784:14: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_annotation4440); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } // Java.g:785:19: (t106= elementValuePairs |t107= elementValue )? int alt82=3; int LA82_0 = input.LA(1); if ( (LA82_0==IDENTIFIER) ) { int LA82_1 = input.LA(2); if ( (LA82_1==EQ) ) { alt82=1; } else if ( ((LA82_1 >= AMP && LA82_1 <= AMPAMP)||(LA82_1 >= BANGEQ && LA82_1 <= BARBAR)||LA82_1==CARET||LA82_1==DOT||LA82_1==EQEQ||LA82_1==GT||LA82_1==INSTANCEOF||LA82_1==LBRACKET||(LA82_1 >= LPAREN && LA82_1 <= LT)||LA82_1==PERCENT||LA82_1==PLUS||LA82_1==PLUSPLUS||LA82_1==QUES||LA82_1==RPAREN||LA82_1==SLASH||LA82_1==STAR||LA82_1==SUB||LA82_1==SUBSUB) ) { alt82=2; } } else if ( (LA82_0==BANG||(LA82_0 >= BINLITERAL && LA82_0 <= BOOLEAN)||LA82_0==BYTE||(LA82_0 >= CHAR && LA82_0 <= CHARLITERAL)||(LA82_0 >= DOUBLE && LA82_0 <= DOUBLELITERAL)||LA82_0==FALSE||(LA82_0 >= FLOAT && LA82_0 <= FLOATLITERAL)||LA82_0==INT||LA82_0==INTLITERAL||LA82_0==LBRACE||(LA82_0 >= LONG && LA82_0 <= LPAREN)||LA82_0==MONKEYS_AT||(LA82_0 >= NEW && LA82_0 <= NULL)||LA82_0==PLUS||LA82_0==PLUSPLUS||LA82_0==SHORT||(LA82_0 >= STRINGLITERAL && LA82_0 <= SUB)||(LA82_0 >= SUBSUB && LA82_0 <= SUPER)||LA82_0==THIS||LA82_0==TILDE||LA82_0==TRUE||LA82_0==VOID) ) { alt82=2; } switch (alt82) { case 1 : // Java.g:785:23: t106= elementValuePairs { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValuePairs"));} pushFollow(FOLLOW_elementValuePairs_in_annotation4473); t106=elementValuePairs(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t106!=null?((Token)t106.start):null), (t106!=null?((Token)t106.stop):null));} } break; case 2 : // Java.g:786:23: t107= elementValue { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValue"));} pushFollow(FOLLOW_elementValue_in_annotation4503); t107=elementValue(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t107!=null?((Token)t107.start):null), (t107!=null?((Token)t107.stop):null));} } break; } // Java.g:788:13: ( ')' ) // Java.g:788:14: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_annotation4542); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 45, annotation_StartIndex); } } return retval; } // $ANTLR end "annotation" public static class elementValuePairs_return extends ParserRuleReturnScope { }; // $ANTLR start "elementValuePairs" // Java.g:792:1: elementValuePairs :t108= elementValuePair ( ( ',' ) t109= elementValuePair )* ; public final elementValuePairs_return elementValuePairs() throws RecognitionException { elementValuePairs_return retval = new elementValuePairs_return(); retval.start = input.LT(1); int elementValuePairs_StartIndex = input.index(); elementValuePair_return t108 =null; elementValuePair_return t109 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return retval; } // Java.g:793:5: (t108= elementValuePair ( ( ',' ) t109= elementValuePair )* ) // Java.g:793:9: t108= elementValuePair ( ( ',' ) t109= elementValuePair )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValuePair"));} pushFollow(FOLLOW_elementValuePair_in_elementValuePairs4580); t108=elementValuePair(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t108!=null?((Token)t108.start):null), (t108!=null?((Token)t108.stop):null));} // Java.g:794:9: ( ( ',' ) t109= elementValuePair )* loop84: do { int alt84=2; int LA84_0 = input.LA(1); if ( (LA84_0==COMMA) ) { alt84=1; } switch (alt84) { case 1 : // Java.g:794:10: ( ',' ) t109= elementValuePair { // Java.g:794:10: ( ',' ) // Java.g:794:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_elementValuePairs4594); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValuePair"));} pushFollow(FOLLOW_elementValuePair_in_elementValuePairs4602); t109=elementValuePair(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t109!=null?((Token)t109.start):null), (t109!=null?((Token)t109.stop):null));} } break; default : break loop84; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 46, elementValuePairs_StartIndex); } } return retval; } // $ANTLR end "elementValuePairs" public static class elementValuePair_return extends ParserRuleReturnScope { }; // $ANTLR start "elementValuePair" // Java.g:798:1: elementValuePair : IDENTIFIER ( '=' ) t110= elementValue ; public final elementValuePair_return elementValuePair() throws RecognitionException { elementValuePair_return retval = new elementValuePair_return(); retval.start = input.LT(1); int elementValuePair_StartIndex = input.index(); elementValue_return t110 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return retval; } // Java.g:799:5: ( IDENTIFIER ( '=' ) t110= elementValue ) // Java.g:799:9: IDENTIFIER ( '=' ) t110= elementValue { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_elementValuePair4635); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:799:90: ( '=' ) // Java.g:799:91: '=' { match(input,EQ,FOLLOW_EQ_in_elementValuePair4640); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValue"));} pushFollow(FOLLOW_elementValue_in_elementValuePair4648); t110=elementValue(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t110!=null?((Token)t110.start):null), (t110!=null?((Token)t110.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 47, elementValuePair_StartIndex); } } return retval; } // $ANTLR end "elementValuePair" public static class elementValue_return extends ParserRuleReturnScope { }; // $ANTLR start "elementValue" // Java.g:802:1: elementValue : (t111= conditionalExpression |t112= annotation |t113= elementValueArrayInitializer ); public final elementValue_return elementValue() throws RecognitionException { elementValue_return retval = new elementValue_return(); retval.start = input.LT(1); int elementValue_StartIndex = input.index(); conditionalExpression_return t111 =null; annotation_return t112 =null; elementValueArrayInitializer_return t113 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return retval; } // Java.g:803:5: (t111= conditionalExpression |t112= annotation |t113= elementValueArrayInitializer ) int alt85=3; switch ( input.LA(1) ) { case BANG: case BINLITERAL: case BOOLEAN: case BYTE: case CHAR: case CHARLITERAL: case DOUBLE: case DOUBLELITERAL: case FALSE: case FLOAT: case FLOATLITERAL: case IDENTIFIER: case INT: case INTLITERAL: case LONG: case LONGLITERAL: case LPAREN: case NEW: case NULL: case PLUS: case PLUSPLUS: case SHORT: case STRINGLITERAL: case SUB: case SUBSUB: case SUPER: case THIS: case TILDE: case TRUE: case VOID: { alt85=1; } break; case MONKEYS_AT: { alt85=2; } break; case LBRACE: { alt85=3; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 85, 0, input); throw nvae; } switch (alt85) { case 1 : // Java.g:803:9: t111= conditionalExpression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalExpression"));} pushFollow(FOLLOW_conditionalExpression_in_elementValue4674); t111=conditionalExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t111!=null?((Token)t111.start):null), (t111!=null?((Token)t111.stop):null));} } break; case 2 : // Java.g:804:9: t112= annotation { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotation"));} pushFollow(FOLLOW_annotation_in_elementValue4690); t112=annotation(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t112!=null?((Token)t112.start):null), (t112!=null?((Token)t112.stop):null));} } break; case 3 : // Java.g:805:9: t113= elementValueArrayInitializer { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValueArrayInitializer"));} pushFollow(FOLLOW_elementValueArrayInitializer_in_elementValue4706); t113=elementValueArrayInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t113!=null?((Token)t113.start):null), (t113!=null?((Token)t113.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 48, elementValue_StartIndex); } } return retval; } // $ANTLR end "elementValue" public static class elementValueArrayInitializer_return extends ParserRuleReturnScope { }; // $ANTLR start "elementValueArrayInitializer" // Java.g:808:1: elementValueArrayInitializer : ( '{' ) (t114= elementValue ( ( ',' ) t115= elementValue )* )? ( ( ',' ) )? ( '}' ) ; public final elementValueArrayInitializer_return elementValueArrayInitializer() throws RecognitionException { elementValueArrayInitializer_return retval = new elementValueArrayInitializer_return(); retval.start = input.LT(1); int elementValueArrayInitializer_StartIndex = input.index(); elementValue_return t114 =null; elementValue_return t115 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return retval; } // Java.g:809:5: ( ( '{' ) (t114= elementValue ( ( ',' ) t115= elementValue )* )? ( ( ',' ) )? ( '}' ) ) // Java.g:809:9: ( '{' ) (t114= elementValue ( ( ',' ) t115= elementValue )* )? ( ( ',' ) )? ( '}' ) { // Java.g:809:9: ( '{' ) // Java.g:809:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_elementValueArrayInitializer4729); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:810:9: (t114= elementValue ( ( ',' ) t115= elementValue )* )? int alt87=2; int LA87_0 = input.LA(1); if ( (LA87_0==BANG||(LA87_0 >= BINLITERAL && LA87_0 <= BOOLEAN)||LA87_0==BYTE||(LA87_0 >= CHAR && LA87_0 <= CHARLITERAL)||(LA87_0 >= DOUBLE && LA87_0 <= DOUBLELITERAL)||LA87_0==FALSE||(LA87_0 >= FLOAT && LA87_0 <= FLOATLITERAL)||LA87_0==IDENTIFIER||LA87_0==INT||LA87_0==INTLITERAL||LA87_0==LBRACE||(LA87_0 >= LONG && LA87_0 <= LPAREN)||LA87_0==MONKEYS_AT||(LA87_0 >= NEW && LA87_0 <= NULL)||LA87_0==PLUS||LA87_0==PLUSPLUS||LA87_0==SHORT||(LA87_0 >= STRINGLITERAL && LA87_0 <= SUB)||(LA87_0 >= SUBSUB && LA87_0 <= SUPER)||LA87_0==THIS||LA87_0==TILDE||LA87_0==TRUE||LA87_0==VOID) ) { alt87=1; } switch (alt87) { case 1 : // Java.g:810:10: t114= elementValue ( ( ',' ) t115= elementValue )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValue"));} pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer4746); t114=elementValue(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t114!=null?((Token)t114.start):null), (t114!=null?((Token)t114.stop):null));} // Java.g:811:13: ( ( ',' ) t115= elementValue )* loop86: do { int alt86=2; int LA86_0 = input.LA(1); if ( (LA86_0==COMMA) ) { int LA86_1 = input.LA(2); if ( (LA86_1==BANG||(LA86_1 >= BINLITERAL && LA86_1 <= BOOLEAN)||LA86_1==BYTE||(LA86_1 >= CHAR && LA86_1 <= CHARLITERAL)||(LA86_1 >= DOUBLE && LA86_1 <= DOUBLELITERAL)||LA86_1==FALSE||(LA86_1 >= FLOAT && LA86_1 <= FLOATLITERAL)||LA86_1==IDENTIFIER||LA86_1==INT||LA86_1==INTLITERAL||LA86_1==LBRACE||(LA86_1 >= LONG && LA86_1 <= LPAREN)||LA86_1==MONKEYS_AT||(LA86_1 >= NEW && LA86_1 <= NULL)||LA86_1==PLUS||LA86_1==PLUSPLUS||LA86_1==SHORT||(LA86_1 >= STRINGLITERAL && LA86_1 <= SUB)||(LA86_1 >= SUBSUB && LA86_1 <= SUPER)||LA86_1==THIS||LA86_1==TILDE||LA86_1==TRUE||LA86_1==VOID) ) { alt86=1; } } switch (alt86) { case 1 : // Java.g:811:14: ( ',' ) t115= elementValue { // Java.g:811:14: ( ',' ) // Java.g:811:15: ',' { match(input,COMMA,FOLLOW_COMMA_in_elementValueArrayInitializer4764); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValue"));} pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer4772); t115=elementValue(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t115!=null?((Token)t115.start):null), (t115!=null?((Token)t115.stop):null));} } break; default : break loop86; } } while (true); } break; } // Java.g:813:12: ( ( ',' ) )? int alt88=2; int LA88_0 = input.LA(1); if ( (LA88_0==COMMA) ) { alt88=1; } switch (alt88) { case 1 : // Java.g:813:13: ( ',' ) { // Java.g:813:13: ( ',' ) // Java.g:813:14: ',' { match(input,COMMA,FOLLOW_COMMA_in_elementValueArrayInitializer4804); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } } break; } // Java.g:813:53: ( '}' ) // Java.g:813:54: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_elementValueArrayInitializer4811); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 49, elementValueArrayInitializer_StartIndex); } } return retval; } // $ANTLR end "elementValueArrayInitializer" public static class annotationTypeDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "annotationTypeDeclaration" // Java.g:820:1: annotationTypeDeclaration :t116= modifiers ( '@' ) 'interface' IDENTIFIER t117= annotationTypeBody ; public final annotationTypeDeclaration_return annotationTypeDeclaration() throws RecognitionException { annotationTypeDeclaration_return retval = new annotationTypeDeclaration_return(); retval.start = input.LT(1); int annotationTypeDeclaration_StartIndex = input.index(); modifiers_return t116 =null; annotationTypeBody_return t117 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return retval; } // Java.g:821:5: (t116= modifiers ( '@' ) 'interface' IDENTIFIER t117= annotationTypeBody ) // Java.g:821:9: t116= modifiers ( '@' ) 'interface' IDENTIFIER t117= annotationTypeBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_annotationTypeDeclaration4840); t116=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t116!=null?((Token)t116.start):null), (t116!=null?((Token)t116.stop):null));} // Java.g:821:134: ( '@' ) // Java.g:821:135: '@' { match(input,MONKEYS_AT,FOLLOW_MONKEYS_AT_in_annotationTypeDeclaration4845); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'@'",input.LT(-1));} } match(input,INTERFACE,FOLLOW_INTERFACE_in_annotationTypeDeclaration4857); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'interface'",input.LT(-1));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_annotationTypeDeclaration4868); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotationTypeBody"));} pushFollow(FOLLOW_annotationTypeBody_in_annotationTypeDeclaration4884); t117=annotationTypeBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t117!=null?((Token)t117.start):null), (t117!=null?((Token)t117.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 50, annotationTypeDeclaration_StartIndex); } } return retval; } // $ANTLR end "annotationTypeDeclaration" public static class annotationTypeBody_return extends ParserRuleReturnScope { }; // $ANTLR start "annotationTypeBody" // Java.g:828:1: annotationTypeBody : ( '{' ) (t118= annotationTypeElementDeclaration )* ( '}' ) ; public final annotationTypeBody_return annotationTypeBody() throws RecognitionException { annotationTypeBody_return retval = new annotationTypeBody_return(); retval.start = input.LT(1); int annotationTypeBody_StartIndex = input.index(); annotationTypeElementDeclaration_return t118 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return retval; } // Java.g:829:5: ( ( '{' ) (t118= annotationTypeElementDeclaration )* ( '}' ) ) // Java.g:829:9: ( '{' ) (t118= annotationTypeElementDeclaration )* ( '}' ) { // Java.g:829:9: ( '{' ) // Java.g:829:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_annotationTypeBody4908); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:830:9: (t118= annotationTypeElementDeclaration )* loop89: do { int alt89=2; int LA89_0 = input.LA(1); if ( (LA89_0==ABSTRACT||LA89_0==BOOLEAN||LA89_0==BYTE||LA89_0==CHAR||LA89_0==CLASS||LA89_0==DOUBLE||LA89_0==ENUM||LA89_0==FINAL||LA89_0==FLOAT||LA89_0==IDENTIFIER||(LA89_0 >= INT && LA89_0 <= INTERFACE)||LA89_0==LONG||LA89_0==LT||(LA89_0 >= MONKEYS_AT && LA89_0 <= NATIVE)||(LA89_0 >= PRIVATE && LA89_0 <= PUBLIC)||(LA89_0 >= SEMI && LA89_0 <= SHORT)||(LA89_0 >= STATIC && LA89_0 <= STRICTFP)||LA89_0==SYNCHRONIZED||LA89_0==TRANSIENT||(LA89_0 >= VOID && LA89_0 <= VOLATILE)) ) { alt89=1; } switch (alt89) { case 1 : // Java.g:830:10: t118= annotationTypeElementDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotationTypeElementDeclaration"));} pushFollow(FOLLOW_annotationTypeElementDeclaration_in_annotationTypeBody4926); t118=annotationTypeElementDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t118!=null?((Token)t118.start):null), (t118!=null?((Token)t118.stop):null));} } break; default : break loop89; } } while (true); // Java.g:832:9: ( '}' ) // Java.g:832:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_annotationTypeBody4951); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 51, annotationTypeBody_StartIndex); } } return retval; } // $ANTLR end "annotationTypeBody" public static class annotationTypeElementDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "annotationTypeElementDeclaration" // Java.g:838:1: annotationTypeElementDeclaration : (t119= annotationMethodDeclaration |t120= interfaceFieldDeclaration |t121= normalClassDeclaration |t122= normalInterfaceDeclaration |t123= enumDeclaration |t124= annotationTypeDeclaration | ( ';' ) ); public final annotationTypeElementDeclaration_return annotationTypeElementDeclaration() throws RecognitionException { annotationTypeElementDeclaration_return retval = new annotationTypeElementDeclaration_return(); retval.start = input.LT(1); int annotationTypeElementDeclaration_StartIndex = input.index(); annotationMethodDeclaration_return t119 =null; interfaceFieldDeclaration_return t120 =null; normalClassDeclaration_return t121 =null; normalInterfaceDeclaration_return t122 =null; enumDeclaration_return t123 =null; annotationTypeDeclaration_return t124 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return retval; } // Java.g:839:5: (t119= annotationMethodDeclaration |t120= interfaceFieldDeclaration |t121= normalClassDeclaration |t122= normalInterfaceDeclaration |t123= enumDeclaration |t124= annotationTypeDeclaration | ( ';' ) ) int alt90=7; switch ( input.LA(1) ) { case MONKEYS_AT: { int LA90_1 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 1, input); throw nvae; } } break; case PUBLIC: { int LA90_2 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 2, input); throw nvae; } } break; case PROTECTED: { int LA90_3 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 3, input); throw nvae; } } break; case PRIVATE: { int LA90_4 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 4, input); throw nvae; } } break; case STATIC: { int LA90_5 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 5, input); throw nvae; } } break; case ABSTRACT: { int LA90_6 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 6, input); throw nvae; } } break; case FINAL: { int LA90_7 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 7, input); throw nvae; } } break; case NATIVE: { int LA90_8 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 8, input); throw nvae; } } break; case SYNCHRONIZED: { int LA90_9 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 9, input); throw nvae; } } break; case TRANSIENT: { int LA90_10 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 10, input); throw nvae; } } break; case VOLATILE: { int LA90_11 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 11, input); throw nvae; } } break; case STRICTFP: { int LA90_12 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else if ( (synpred119_Java()) ) { alt90=3; } else if ( (synpred120_Java()) ) { alt90=4; } else if ( (synpred121_Java()) ) { alt90=5; } else if ( (synpred122_Java()) ) { alt90=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 12, input); throw nvae; } } break; case IDENTIFIER: { int LA90_13 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 13, input); throw nvae; } } break; case BOOLEAN: { int LA90_14 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 14, input); throw nvae; } } break; case CHAR: { int LA90_15 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 15, input); throw nvae; } } break; case BYTE: { int LA90_16 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 16, input); throw nvae; } } break; case SHORT: { int LA90_17 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 17, input); throw nvae; } } break; case INT: { int LA90_18 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 18, input); throw nvae; } } break; case LONG: { int LA90_19 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 19, input); throw nvae; } } break; case FLOAT: { int LA90_20 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 20, input); throw nvae; } } break; case DOUBLE: { int LA90_21 = input.LA(2); if ( (synpred117_Java()) ) { alt90=1; } else if ( (synpred118_Java()) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 21, input); throw nvae; } } break; case CLASS: { alt90=3; } break; case INTERFACE: { alt90=4; } break; case ENUM: { alt90=5; } break; case SEMI: { alt90=7; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 90, 0, input); throw nvae; } switch (alt90) { case 1 : // Java.g:839:9: t119= annotationMethodDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotationMethodDeclaration"));} pushFollow(FOLLOW_annotationMethodDeclaration_in_annotationTypeElementDeclaration4979); t119=annotationMethodDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t119!=null?((Token)t119.start):null), (t119!=null?((Token)t119.stop):null));} } break; case 2 : // Java.g:840:9: t120= interfaceFieldDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("interfaceFieldDeclaration"));} pushFollow(FOLLOW_interfaceFieldDeclaration_in_annotationTypeElementDeclaration4995); t120=interfaceFieldDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t120!=null?((Token)t120.start):null), (t120!=null?((Token)t120.stop):null));} } break; case 3 : // Java.g:841:9: t121= normalClassDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalClassDeclaration"));} pushFollow(FOLLOW_normalClassDeclaration_in_annotationTypeElementDeclaration5011); t121=normalClassDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t121!=null?((Token)t121.start):null), (t121!=null?((Token)t121.stop):null));} } break; case 4 : // Java.g:842:9: t122= normalInterfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("normalInterfaceDeclaration"));} pushFollow(FOLLOW_normalInterfaceDeclaration_in_annotationTypeElementDeclaration5027); t122=normalInterfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t122!=null?((Token)t122.start):null), (t122!=null?((Token)t122.stop):null));} } break; case 5 : // Java.g:843:9: t123= enumDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("enumDeclaration"));} pushFollow(FOLLOW_enumDeclaration_in_annotationTypeElementDeclaration5043); t123=enumDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t123!=null?((Token)t123.start):null), (t123!=null?((Token)t123.stop):null));} } break; case 6 : // Java.g:844:9: t124= annotationTypeDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("annotationTypeDeclaration"));} pushFollow(FOLLOW_annotationTypeDeclaration_in_annotationTypeElementDeclaration5059); t124=annotationTypeDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t124!=null?((Token)t124.start):null), (t124!=null?((Token)t124.stop):null));} } break; case 7 : // Java.g:845:9: ( ';' ) { // Java.g:845:9: ( ';' ) // Java.g:845:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_annotationTypeElementDeclaration5072); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 52, annotationTypeElementDeclaration_StartIndex); } } return retval; } // $ANTLR end "annotationTypeElementDeclaration" public static class annotationMethodDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "annotationMethodDeclaration" // Java.g:848:1: annotationMethodDeclaration :t125= modifiers t126= type IDENTIFIER ( '(' ) ( ')' ) ( 'default' t127= elementValue )? ( ';' ) ; public final annotationMethodDeclaration_return annotationMethodDeclaration() throws RecognitionException { annotationMethodDeclaration_return retval = new annotationMethodDeclaration_return(); retval.start = input.LT(1); int annotationMethodDeclaration_StartIndex = input.index(); modifiers_return t125 =null; type_return t126 =null; elementValue_return t127 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return retval; } // Java.g:849:5: (t125= modifiers t126= type IDENTIFIER ( '(' ) ( ')' ) ( 'default' t127= elementValue )? ( ';' ) ) // Java.g:849:9: t125= modifiers t126= type IDENTIFIER ( '(' ) ( ')' ) ( 'default' t127= elementValue )? ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("modifiers"));} pushFollow(FOLLOW_modifiers_in_annotationMethodDeclaration5098); t125=modifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t125!=null?((Token)t125.start):null), (t125!=null?((Token)t125.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_annotationMethodDeclaration5106); t126=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t126!=null?((Token)t126.start):null), (t126!=null?((Token)t126.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_annotationMethodDeclaration5110); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:850:9: ( '(' ) // Java.g:850:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_annotationMethodDeclaration5123); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } // Java.g:850:47: ( ')' ) // Java.g:850:48: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_annotationMethodDeclaration5128); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } // Java.g:850:85: ( 'default' t127= elementValue )? int alt91=2; int LA91_0 = input.LA(1); if ( (LA91_0==DEFAULT) ) { alt91=1; } switch (alt91) { case 1 : // Java.g:850:86: 'default' t127= elementValue { match(input,DEFAULT,FOLLOW_DEFAULT_in_annotationMethodDeclaration5133); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'default'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("elementValue"));} pushFollow(FOLLOW_elementValue_in_annotationMethodDeclaration5140); t127=elementValue(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t127!=null?((Token)t127.start):null), (t127!=null?((Token)t127.stop):null));} } break; } // Java.g:852:9: ( ';' ) // Java.g:852:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_annotationMethodDeclaration5172); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 53, annotationMethodDeclaration_StartIndex); } } return retval; } // $ANTLR end "annotationMethodDeclaration" public static class block_return extends ParserRuleReturnScope { }; // $ANTLR start "block" // Java.g:855:1: block : ( '{' ) (t128= blockStatement )* ( '}' ) ; public final block_return block() throws RecognitionException { block_return retval = new block_return(); retval.start = input.LT(1); int block_StartIndex = input.index(); blockStatement_return t128 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return retval; } // Java.g:856:5: ( ( '{' ) (t128= blockStatement )* ( '}' ) ) // Java.g:856:9: ( '{' ) (t128= blockStatement )* ( '}' ) { // Java.g:856:9: ( '{' ) // Java.g:856:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_block5199); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:857:9: (t128= blockStatement )* loop92: do { int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0==ABSTRACT||(LA92_0 >= ASSERT && LA92_0 <= BANG)||(LA92_0 >= BINLITERAL && LA92_0 <= BYTE)||(LA92_0 >= CHAR && LA92_0 <= CLASS)||LA92_0==CONTINUE||LA92_0==DO||(LA92_0 >= DOUBLE && LA92_0 <= DOUBLELITERAL)||LA92_0==ENUM||(LA92_0 >= FALSE && LA92_0 <= FINAL)||(LA92_0 >= FLOAT && LA92_0 <= FOR)||(LA92_0 >= IDENTIFIER && LA92_0 <= IF)||(LA92_0 >= INT && LA92_0 <= INTLITERAL)||LA92_0==LBRACE||(LA92_0 >= LONG && LA92_0 <= LT)||(LA92_0 >= MONKEYS_AT && LA92_0 <= NULL)||LA92_0==PLUS||(LA92_0 >= PLUSPLUS && LA92_0 <= PUBLIC)||LA92_0==RETURN||(LA92_0 >= SEMI && LA92_0 <= SHORT)||(LA92_0 >= STATIC && LA92_0 <= SUB)||(LA92_0 >= SUBSUB && LA92_0 <= SYNCHRONIZED)||(LA92_0 >= THIS && LA92_0 <= THROW)||(LA92_0 >= TILDE && LA92_0 <= WHILE)) ) { alt92=1; } switch (alt92) { case 1 : // Java.g:857:10: t128= blockStatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("blockStatement"));} pushFollow(FOLLOW_blockStatement_in_block5216); t128=blockStatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t128!=null?((Token)t128.start):null), (t128!=null?((Token)t128.stop):null));} } break; default : break loop92; } } while (true); // Java.g:859:9: ( '}' ) // Java.g:859:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_block5240); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 54, block_StartIndex); } } return retval; } // $ANTLR end "block" public static class blockStatement_return extends ParserRuleReturnScope { }; // $ANTLR start "blockStatement" // Java.g:862:1: blockStatement : (t129= localVariableDeclarationStatement |t130= classOrInterfaceDeclaration |t131= statement ); public final blockStatement_return blockStatement() throws RecognitionException { blockStatement_return retval = new blockStatement_return(); retval.start = input.LT(1); int blockStatement_StartIndex = input.index(); localVariableDeclarationStatement_return t129 =null; classOrInterfaceDeclaration_return t130 =null; statement_return t131 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return retval; } // Java.g:863:5: (t129= localVariableDeclarationStatement |t130= classOrInterfaceDeclaration |t131= statement ) int alt93=3; alt93 = dfa93.predict(input); switch (alt93) { case 1 : // Java.g:863:9: t129= localVariableDeclarationStatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("localVariableDeclarationStatement"));} pushFollow(FOLLOW_localVariableDeclarationStatement_in_blockStatement5265); t129=localVariableDeclarationStatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t129!=null?((Token)t129.start):null), (t129!=null?((Token)t129.stop):null));} } break; case 2 : // Java.g:864:9: t130= classOrInterfaceDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceDeclaration"));} pushFollow(FOLLOW_classOrInterfaceDeclaration_in_blockStatement5281); t130=classOrInterfaceDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t130!=null?((Token)t130.start):null), (t130!=null?((Token)t130.stop):null));} } break; case 3 : // Java.g:865:9: t131= statement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_blockStatement5297); t131=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t131!=null?((Token)t131.start):null), (t131!=null?((Token)t131.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 55, blockStatement_StartIndex); } } return retval; } // $ANTLR end "blockStatement" public static class localVariableDeclarationStatement_return extends ParserRuleReturnScope { }; // $ANTLR start "localVariableDeclarationStatement" // Java.g:869:1: localVariableDeclarationStatement :t132= localVariableDeclaration ( ';' ) ; public final localVariableDeclarationStatement_return localVariableDeclarationStatement() throws RecognitionException { localVariableDeclarationStatement_return retval = new localVariableDeclarationStatement_return(); retval.start = input.LT(1); int localVariableDeclarationStatement_StartIndex = input.index(); localVariableDeclaration_return t132 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return retval; } // Java.g:870:5: (t132= localVariableDeclaration ( ';' ) ) // Java.g:870:9: t132= localVariableDeclaration ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("localVariableDeclaration"));} pushFollow(FOLLOW_localVariableDeclaration_in_localVariableDeclarationStatement5324); t132=localVariableDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t132!=null?((Token)t132.start):null), (t132!=null?((Token)t132.stop):null));} // Java.g:871:9: ( ';' ) // Java.g:871:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_localVariableDeclarationStatement5337); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 56, localVariableDeclarationStatement_StartIndex); } } return retval; } // $ANTLR end "localVariableDeclarationStatement" public static class localVariableDeclaration_return extends ParserRuleReturnScope { }; // $ANTLR start "localVariableDeclaration" // Java.g:874:1: localVariableDeclaration :t133= variableModifiers t134= type t135= variableDeclarator ( ( ',' ) t136= variableDeclarator )* ; public final localVariableDeclaration_return localVariableDeclaration() throws RecognitionException { localVariableDeclaration_return retval = new localVariableDeclaration_return(); retval.start = input.LT(1); int localVariableDeclaration_StartIndex = input.index(); variableModifiers_return t133 =null; type_return t134 =null; variableDeclarator_return t135 =null; variableDeclarator_return t136 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return retval; } // Java.g:875:5: (t133= variableModifiers t134= type t135= variableDeclarator ( ( ',' ) t136= variableDeclarator )* ) // Java.g:875:9: t133= variableModifiers t134= type t135= variableDeclarator ( ( ',' ) t136= variableDeclarator )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_localVariableDeclaration5363); t133=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t133!=null?((Token)t133.start):null), (t133!=null?((Token)t133.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_localVariableDeclaration5371); t134=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t134!=null?((Token)t134.start):null), (t134!=null?((Token)t134.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_localVariableDeclaration5387); t135=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t135!=null?((Token)t135.start):null), (t135!=null?((Token)t135.stop):null));} // Java.g:877:9: ( ( ',' ) t136= variableDeclarator )* loop94: do { int alt94=2; int LA94_0 = input.LA(1); if ( (LA94_0==COMMA) ) { alt94=1; } switch (alt94) { case 1 : // Java.g:877:10: ( ',' ) t136= variableDeclarator { // Java.g:877:10: ( ',' ) // Java.g:877:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_localVariableDeclaration5401); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclarator"));} pushFollow(FOLLOW_variableDeclarator_in_localVariableDeclaration5409); t136=variableDeclarator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t136!=null?((Token)t136.start):null), (t136!=null?((Token)t136.stop):null));} } break; default : break loop94; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 57, localVariableDeclaration_StartIndex); } } return retval; } // $ANTLR end "localVariableDeclaration" public static class statement_return extends ParserRuleReturnScope { }; // $ANTLR start "statement" // Java.g:881:1: statement : (t137= block | ( 'assert' ) t138= expression ( ( ':' ) t139= expression )? ( ';' ) | 'assert' t140= expression ( ( ':' ) t141= expression )? ( ';' ) | 'if' t142= parExpression t143= statement ( 'else' t144= statement )? |t145= forstatement | 'while' t146= parExpression t147= statement | 'do' t148= statement 'while' t149= parExpression ( ';' ) |t150= trystatement | 'switch' t151= parExpression ( '{' ) t152= switchBlockStatementGroups ( '}' ) | 'synchronized' t153= parExpression t154= block | 'return' (t155= expression )? ( ';' ) | 'throw' t156= expression ( ';' ) | 'break' ( IDENTIFIER )? ( ';' ) | 'continue' ( IDENTIFIER )? ( ';' ) |t157= expression ( ';' ) | IDENTIFIER ( ':' ) t158= statement | ( ';' ) ); public final statement_return statement() throws RecognitionException { statement_return retval = new statement_return(); retval.start = input.LT(1); int statement_StartIndex = input.index(); block_return t137 =null; expression_return t138 =null; expression_return t139 =null; expression_return t140 =null; expression_return t141 =null; parExpression_return t142 =null; statement_return t143 =null; statement_return t144 =null; forstatement_return t145 =null; parExpression_return t146 =null; statement_return t147 =null; statement_return t148 =null; parExpression_return t149 =null; trystatement_return t150 =null; parExpression_return t151 =null; switchBlockStatementGroups_return t152 =null; parExpression_return t153 =null; block_return t154 =null; expression_return t155 =null; expression_return t156 =null; expression_return t157 =null; statement_return t158 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return retval; } // Java.g:882:5: (t137= block | ( 'assert' ) t138= expression ( ( ':' ) t139= expression )? ( ';' ) | 'assert' t140= expression ( ( ':' ) t141= expression )? ( ';' ) | 'if' t142= parExpression t143= statement ( 'else' t144= statement )? |t145= forstatement | 'while' t146= parExpression t147= statement | 'do' t148= statement 'while' t149= parExpression ( ';' ) |t150= trystatement | 'switch' t151= parExpression ( '{' ) t152= switchBlockStatementGroups ( '}' ) | 'synchronized' t153= parExpression t154= block | 'return' (t155= expression )? ( ';' ) | 'throw' t156= expression ( ';' ) | 'break' ( IDENTIFIER )? ( ';' ) | 'continue' ( IDENTIFIER )? ( ';' ) |t157= expression ( ';' ) | IDENTIFIER ( ':' ) t158= statement | ( ';' ) ) int alt101=17; switch ( input.LA(1) ) { case LBRACE: { alt101=1; } break; case ASSERT: { int LA101_2 = input.LA(2); if ( (synpred130_Java()) ) { alt101=2; } else if ( (synpred132_Java()) ) { alt101=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 101, 2, input); throw nvae; } } break; case IF: { alt101=4; } break; case FOR: { alt101=5; } break; case WHILE: { alt101=6; } break; case DO: { alt101=7; } break; case TRY: { alt101=8; } break; case SWITCH: { alt101=9; } break; case SYNCHRONIZED: { alt101=10; } break; case RETURN: { alt101=11; } break; case THROW: { alt101=12; } break; case BREAK: { alt101=13; } break; case CONTINUE: { alt101=14; } break; case BANG: case BINLITERAL: case BOOLEAN: case BYTE: case CHAR: case CHARLITERAL: case DOUBLE: case DOUBLELITERAL: case FALSE: case FLOAT: case FLOATLITERAL: case INT: case INTLITERAL: case LONG: case LONGLITERAL: case LPAREN: case NEW: case NULL: case PLUS: case PLUSPLUS: case SHORT: case STRINGLITERAL: case SUB: case SUBSUB: case SUPER: case THIS: case TILDE: case TRUE: case VOID: { alt101=15; } break; case IDENTIFIER: { int LA101_22 = input.LA(2); if ( (synpred148_Java()) ) { alt101=15; } else if ( (synpred149_Java()) ) { alt101=16; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 101, 22, input); throw nvae; } } break; case SEMI: { alt101=17; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 101, 0, input); throw nvae; } switch (alt101) { case 1 : // Java.g:882:9: t137= block { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_statement5446); t137=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t137!=null?((Token)t137.start):null), (t137!=null?((Token)t137.stop):null));} } break; case 2 : // Java.g:884:9: ( 'assert' ) t138= expression ( ( ':' ) t139= expression )? ( ';' ) { // Java.g:884:9: ( 'assert' ) // Java.g:884:10: 'assert' { match(input,ASSERT,FOLLOW_ASSERT_in_statement5472); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'assert'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5497); t138=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t138!=null?((Token)t138.start):null), (t138!=null?((Token)t138.stop):null));} // Java.g:886:136: ( ( ':' ) t139= expression )? int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0==COLON) ) { alt95=1; } switch (alt95) { case 1 : // Java.g:886:137: ( ':' ) t139= expression { // Java.g:886:137: ( ':' ) // Java.g:886:138: ':' { match(input,COLON,FOLLOW_COLON_in_statement5503); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5511); t139=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t139!=null?((Token)t139.start):null), (t139!=null?((Token)t139.stop):null));} } break; } // Java.g:886:304: ( ';' ) // Java.g:886:305: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5518); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 3 : // Java.g:887:9: 'assert' t140= expression ( ( ':' ) t141= expression )? ( ';' ) { match(input,ASSERT,FOLLOW_ASSERT_in_statement5530); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'assert'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5538); t140=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t140!=null?((Token)t140.start):null), (t140!=null?((Token)t140.stop):null));} // Java.g:887:183: ( ( ':' ) t141= expression )? int alt96=2; int LA96_0 = input.LA(1); if ( (LA96_0==COLON) ) { alt96=1; } switch (alt96) { case 1 : // Java.g:887:184: ( ':' ) t141= expression { // Java.g:887:184: ( ':' ) // Java.g:887:185: ':' { match(input,COLON,FOLLOW_COLON_in_statement5544); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5552); t141=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t141!=null?((Token)t141.start):null), (t141!=null?((Token)t141.stop):null));} } break; } // Java.g:887:351: ( ';' ) // Java.g:887:352: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5559); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 4 : // Java.g:888:9: 'if' t142= parExpression t143= statement ( 'else' t144= statement )? { match(input,IF,FOLLOW_IF_in_statement5583); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'if'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_statement5590); t142=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t142!=null?((Token)t142.start):null), (t142!=null?((Token)t142.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_statement5598); t143=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t143!=null?((Token)t143.start):null), (t143!=null?((Token)t143.stop):null));} // Java.g:888:305: ( 'else' t144= statement )? int alt97=2; int LA97_0 = input.LA(1); if ( (LA97_0==ELSE) ) { int LA97_1 = input.LA(2); if ( (synpred133_Java()) ) { alt97=1; } } switch (alt97) { case 1 : // Java.g:888:306: 'else' t144= statement { match(input,ELSE,FOLLOW_ELSE_in_statement5603); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'else'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_statement5610); t144=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t144!=null?((Token)t144.start):null), (t144!=null?((Token)t144.stop):null));} } break; } } break; case 5 : // Java.g:889:9: t145= forstatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("forstatement"));} pushFollow(FOLLOW_forstatement_in_statement5638); t145=forstatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t145!=null?((Token)t145.start):null), (t145!=null?((Token)t145.stop):null));} } break; case 6 : // Java.g:890:9: 'while' t146= parExpression t147= statement { match(input,WHILE,FOLLOW_WHILE_in_statement5650); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'while'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_statement5657); t146=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t146!=null?((Token)t146.start):null), (t146!=null?((Token)t146.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_statement5665); t147=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t147!=null?((Token)t147.start):null), (t147!=null?((Token)t147.stop):null));} } break; case 7 : // Java.g:891:9: 'do' t148= statement 'while' t149= parExpression ( ';' ) { match(input,DO,FOLLOW_DO_in_statement5677); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'do'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_statement5684); t148=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t148!=null?((Token)t148.start):null), (t148!=null?((Token)t148.stop):null));} match(input,WHILE,FOLLOW_WHILE_in_statement5688); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'while'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_statement5695); t149=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t149!=null?((Token)t149.start):null), (t149!=null?((Token)t149.stop):null));} // Java.g:891:349: ( ';' ) // Java.g:891:350: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5700); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 8 : // Java.g:892:9: t150= trystatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("trystatement"));} pushFollow(FOLLOW_trystatement_in_statement5716); t150=trystatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t150!=null?((Token)t150.start):null), (t150!=null?((Token)t150.stop):null));} } break; case 9 : // Java.g:893:9: 'switch' t151= parExpression ( '{' ) t152= switchBlockStatementGroups ( '}' ) { match(input,SWITCH,FOLLOW_SWITCH_in_statement5728); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'switch'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_statement5735); t151=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t151!=null?((Token)t151.start):null), (t151!=null?((Token)t151.stop):null));} // Java.g:893:188: ( '{' ) // Java.g:893:189: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_statement5740); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("switchBlockStatementGroups"));} pushFollow(FOLLOW_switchBlockStatementGroups_in_statement5748); t152=switchBlockStatementGroups(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t152!=null?((Token)t152.start):null), (t152!=null?((Token)t152.stop):null));} // Java.g:893:385: ( '}' ) // Java.g:893:386: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_statement5753); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } break; case 10 : // Java.g:894:9: 'synchronized' t153= parExpression t154= block { match(input,SYNCHRONIZED,FOLLOW_SYNCHRONIZED_in_statement5765); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'synchronized'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_statement5772); t153=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t153!=null?((Token)t153.start):null), (t153!=null?((Token)t153.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_statement5780); t154=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t154!=null?((Token)t154.start):null), (t154!=null?((Token)t154.stop):null));} } break; case 11 : // Java.g:895:9: 'return' (t155= expression )? ( ';' ) { match(input,RETURN,FOLLOW_RETURN_in_statement5792); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'return'",input.LT(-1));} // Java.g:895:55: (t155= expression )? int alt98=2; int LA98_0 = input.LA(1); if ( (LA98_0==BANG||(LA98_0 >= BINLITERAL && LA98_0 <= BOOLEAN)||LA98_0==BYTE||(LA98_0 >= CHAR && LA98_0 <= CHARLITERAL)||(LA98_0 >= DOUBLE && LA98_0 <= DOUBLELITERAL)||LA98_0==FALSE||(LA98_0 >= FLOAT && LA98_0 <= FLOATLITERAL)||LA98_0==IDENTIFIER||LA98_0==INT||LA98_0==INTLITERAL||(LA98_0 >= LONG && LA98_0 <= LPAREN)||(LA98_0 >= NEW && LA98_0 <= NULL)||LA98_0==PLUS||LA98_0==PLUSPLUS||LA98_0==SHORT||(LA98_0 >= STRINGLITERAL && LA98_0 <= SUB)||(LA98_0 >= SUBSUB && LA98_0 <= SUPER)||LA98_0==THIS||LA98_0==TILDE||LA98_0==TRUE||LA98_0==VOID) ) { alt98=1; } switch (alt98) { case 1 : // Java.g:895:56: t155= expression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5800); t155=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t155!=null?((Token)t155.start):null), (t155!=null?((Token)t155.stop):null));} } break; } // Java.g:895:186: ( ';' ) // Java.g:895:187: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5808); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 12 : // Java.g:896:9: 'throw' t156= expression ( ';' ) { match(input,THROW,FOLLOW_THROW_in_statement5820); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'throw'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5827); t156=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t156!=null?((Token)t156.start):null), (t156!=null?((Token)t156.stop):null));} // Java.g:896:180: ( ';' ) // Java.g:896:181: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5832); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 13 : // Java.g:897:9: 'break' ( IDENTIFIER )? ( ';' ) { match(input,BREAK,FOLLOW_BREAK_in_statement5844); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'break'",input.LT(-1));} // Java.g:898:13: ( IDENTIFIER )? int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0==IDENTIFIER) ) { alt99=1; } switch (alt99) { case 1 : // Java.g:898:14: IDENTIFIER { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_statement5860); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; } // Java.g:899:16: ( ';' ) // Java.g:899:17: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5880); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 14 : // Java.g:900:9: 'continue' ( IDENTIFIER )? ( ';' ) { match(input,CONTINUE,FOLLOW_CONTINUE_in_statement5892); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'continue'",input.LT(-1));} // Java.g:901:13: ( IDENTIFIER )? int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0==IDENTIFIER) ) { alt100=1; } switch (alt100) { case 1 : // Java.g:901:14: IDENTIFIER { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_statement5908); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; } // Java.g:902:16: ( ';' ) // Java.g:902:17: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5928); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 15 : // Java.g:903:9: t157= expression ( ';' ) { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_statement5944); t157=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t157!=null?((Token)t157.start):null), (t157!=null?((Token)t157.stop):null));} // Java.g:903:137: ( ';' ) // Java.g:903:138: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5950); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; case 16 : // Java.g:904:9: IDENTIFIER ( ':' ) t158= statement { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_statement5967); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:904:90: ( ':' ) // Java.g:904:91: ':' { match(input,COLON,FOLLOW_COLON_in_statement5972); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_statement5980); t158=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t158!=null?((Token)t158.start):null), (t158!=null?((Token)t158.stop):null));} } break; case 17 : // Java.g:905:9: ( ';' ) { // Java.g:905:9: ( ';' ) // Java.g:905:10: ';' { match(input,SEMI,FOLLOW_SEMI_in_statement5993); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 58, statement_StartIndex); } } return retval; } // $ANTLR end "statement" public static class switchBlockStatementGroups_return extends ParserRuleReturnScope { }; // $ANTLR start "switchBlockStatementGroups" // Java.g:909:1: switchBlockStatementGroups : (t159= switchBlockStatementGroup )* ; public final switchBlockStatementGroups_return switchBlockStatementGroups() throws RecognitionException { switchBlockStatementGroups_return retval = new switchBlockStatementGroups_return(); retval.start = input.LT(1); int switchBlockStatementGroups_StartIndex = input.index(); switchBlockStatementGroup_return t159 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return retval; } // Java.g:910:5: ( (t159= switchBlockStatementGroup )* ) // Java.g:910:9: (t159= switchBlockStatementGroup )* { // Java.g:910:9: (t159= switchBlockStatementGroup )* loop102: do { int alt102=2; int LA102_0 = input.LA(1); if ( (LA102_0==CASE||LA102_0==DEFAULT) ) { alt102=1; } switch (alt102) { case 1 : // Java.g:910:10: t159= switchBlockStatementGroup { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("switchBlockStatementGroup"));} pushFollow(FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups6021); t159=switchBlockStatementGroup(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t159!=null?((Token)t159.start):null), (t159!=null?((Token)t159.stop):null));} } break; default : break loop102; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 59, switchBlockStatementGroups_StartIndex); } } return retval; } // $ANTLR end "switchBlockStatementGroups" public static class switchBlockStatementGroup_return extends ParserRuleReturnScope { }; // $ANTLR start "switchBlockStatementGroup" // Java.g:913:1: switchBlockStatementGroup :t160= switchLabel (t161= blockStatement )* ; public final switchBlockStatementGroup_return switchBlockStatementGroup() throws RecognitionException { switchBlockStatementGroup_return retval = new switchBlockStatementGroup_return(); retval.start = input.LT(1); int switchBlockStatementGroup_StartIndex = input.index(); switchLabel_return t160 =null; blockStatement_return t161 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return retval; } // Java.g:914:5: (t160= switchLabel (t161= blockStatement )* ) // Java.g:915:9: t160= switchLabel (t161= blockStatement )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("switchLabel"));} pushFollow(FOLLOW_switchLabel_in_switchBlockStatementGroup6056); t160=switchLabel(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t160!=null?((Token)t160.start):null), (t160!=null?((Token)t160.stop):null));} // Java.g:916:9: (t161= blockStatement )* loop103: do { int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0==ABSTRACT||(LA103_0 >= ASSERT && LA103_0 <= BANG)||(LA103_0 >= BINLITERAL && LA103_0 <= BYTE)||(LA103_0 >= CHAR && LA103_0 <= CLASS)||LA103_0==CONTINUE||LA103_0==DO||(LA103_0 >= DOUBLE && LA103_0 <= DOUBLELITERAL)||LA103_0==ENUM||(LA103_0 >= FALSE && LA103_0 <= FINAL)||(LA103_0 >= FLOAT && LA103_0 <= FOR)||(LA103_0 >= IDENTIFIER && LA103_0 <= IF)||(LA103_0 >= INT && LA103_0 <= INTLITERAL)||LA103_0==LBRACE||(LA103_0 >= LONG && LA103_0 <= LT)||(LA103_0 >= MONKEYS_AT && LA103_0 <= NULL)||LA103_0==PLUS||(LA103_0 >= PLUSPLUS && LA103_0 <= PUBLIC)||LA103_0==RETURN||(LA103_0 >= SEMI && LA103_0 <= SHORT)||(LA103_0 >= STATIC && LA103_0 <= SUB)||(LA103_0 >= SUBSUB && LA103_0 <= SYNCHRONIZED)||(LA103_0 >= THIS && LA103_0 <= THROW)||(LA103_0 >= TILDE && LA103_0 <= WHILE)) ) { alt103=1; } switch (alt103) { case 1 : // Java.g:916:10: t161= blockStatement { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("blockStatement"));} pushFollow(FOLLOW_blockStatement_in_switchBlockStatementGroup6073); t161=blockStatement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t161!=null?((Token)t161.start):null), (t161!=null?((Token)t161.stop):null));} } break; default : break loop103; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 60, switchBlockStatementGroup_StartIndex); } } return retval; } // $ANTLR end "switchBlockStatementGroup" public static class switchLabel_return extends ParserRuleReturnScope { }; // $ANTLR start "switchLabel" // Java.g:920:1: switchLabel : ( 'case' t162= expression ( ':' ) | 'default' ( ':' ) ); public final switchLabel_return switchLabel() throws RecognitionException { switchLabel_return retval = new switchLabel_return(); retval.start = input.LT(1); int switchLabel_StartIndex = input.index(); expression_return t162 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 61) ) { return retval; } // Java.g:921:5: ( 'case' t162= expression ( ':' ) | 'default' ( ':' ) ) int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==CASE) ) { alt104=1; } else if ( (LA104_0==DEFAULT) ) { alt104=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 104, 0, input); throw nvae; } switch (alt104) { case 1 : // Java.g:921:9: 'case' t162= expression ( ':' ) { match(input,CASE,FOLLOW_CASE_in_switchLabel6106); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'case'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_switchLabel6113); t162=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t162!=null?((Token)t162.start):null), (t162!=null?((Token)t162.stop):null));} // Java.g:921:178: ( ':' ) // Java.g:921:179: ':' { match(input,COLON,FOLLOW_COLON_in_switchLabel6118); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } } break; case 2 : // Java.g:922:9: 'default' ( ':' ) { match(input,DEFAULT,FOLLOW_DEFAULT_in_switchLabel6130); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'default'",input.LT(-1));} // Java.g:922:57: ( ':' ) // Java.g:922:58: ':' { match(input,COLON,FOLLOW_COLON_in_switchLabel6134); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 61, switchLabel_StartIndex); } } return retval; } // $ANTLR end "switchLabel" public static class trystatement_return extends ParserRuleReturnScope { }; // $ANTLR start "trystatement" // Java.g:926:1: trystatement : 'try' (t163= resourceSpecification )? t164= block (t165= catches 'finally' t166= block |t167= catches | 'finally' t168= block )? ; public final trystatement_return trystatement() throws RecognitionException { trystatement_return retval = new trystatement_return(); retval.start = input.LT(1); int trystatement_StartIndex = input.index(); resourceSpecification_return t163 =null; block_return t164 =null; catches_return t165 =null; block_return t166 =null; catches_return t167 =null; block_return t168 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 62) ) { return retval; } // Java.g:927:5: ( 'try' (t163= resourceSpecification )? t164= block (t165= catches 'finally' t166= block |t167= catches | 'finally' t168= block )? ) // Java.g:927:9: 'try' (t163= resourceSpecification )? t164= block (t165= catches 'finally' t166= block |t167= catches | 'finally' t168= block )? { match(input,TRY,FOLLOW_TRY_in_trystatement6157); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'try'",input.LT(-1));} // Java.g:927:49: (t163= resourceSpecification )? int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0==LPAREN) ) { alt105=1; } switch (alt105) { case 1 : // Java.g:927:50: t163= resourceSpecification { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("resourceSpecification"));} pushFollow(FOLLOW_resourceSpecification_in_trystatement6165); t163=resourceSpecification(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t163!=null?((Token)t163.start):null), (t163!=null?((Token)t163.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_trystatement6175); t164=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t164!=null?((Token)t164.start):null), (t164!=null?((Token)t164.stop):null));} // Java.g:928:9: (t165= catches 'finally' t166= block |t167= catches | 'finally' t168= block )? int alt106=4; alt106 = dfa106.predict(input); switch (alt106) { case 1 : // Java.g:928:13: t165= catches 'finally' t166= block { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("catches"));} pushFollow(FOLLOW_catches_in_trystatement6195); t165=catches(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t165!=null?((Token)t165.start):null), (t165!=null?((Token)t165.stop):null));} match(input,FINALLY,FOLLOW_FINALLY_in_trystatement6199); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'finally'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_trystatement6206); t166=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t166!=null?((Token)t166.start):null), (t166!=null?((Token)t166.stop):null));} } break; case 2 : // Java.g:929:13: t167= catches { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("catches"));} pushFollow(FOLLOW_catches_in_trystatement6226); t167=catches(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t167!=null?((Token)t167.start):null), (t167!=null?((Token)t167.stop):null));} } break; case 3 : // Java.g:930:13: 'finally' t168= block { match(input,FINALLY,FOLLOW_FINALLY_in_trystatement6242); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'finally'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_trystatement6249); t168=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t168!=null?((Token)t168.start):null), (t168!=null?((Token)t168.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 62, trystatement_StartIndex); } } return retval; } // $ANTLR end "trystatement" public static class resourceSpecification_return extends ParserRuleReturnScope { }; // $ANTLR start "resourceSpecification" // Java.g:934:1: resourceSpecification : ( '(' ) t169= resources ( ( ';' ) )? ( ')' ) ; public final resourceSpecification_return resourceSpecification() throws RecognitionException { resourceSpecification_return retval = new resourceSpecification_return(); retval.start = input.LT(1); int resourceSpecification_StartIndex = input.index(); resources_return t169 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 63) ) { return retval; } // Java.g:935:5: ( ( '(' ) t169= resources ( ( ';' ) )? ( ')' ) ) // Java.g:936:7: ( '(' ) t169= resources ( ( ';' ) )? ( ')' ) { // Java.g:936:7: ( '(' ) // Java.g:936:8: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_resourceSpecification6287); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("resources"));} pushFollow(FOLLOW_resources_in_resourceSpecification6295); t169=resources(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t169!=null?((Token)t169.start):null), (t169!=null?((Token)t169.stop):null));} // Java.g:936:170: ( ( ';' ) )? int alt107=2; int LA107_0 = input.LA(1); if ( (LA107_0==SEMI) ) { alt107=1; } switch (alt107) { case 1 : // Java.g:936:171: ( ';' ) { // Java.g:936:171: ( ';' ) // Java.g:936:172: ';' { match(input,SEMI,FOLLOW_SEMI_in_resourceSpecification6301); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } } break; } // Java.g:936:211: ( ')' ) // Java.g:936:212: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_resourceSpecification6308); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 63, resourceSpecification_StartIndex); } } return retval; } // $ANTLR end "resourceSpecification" public static class resources_return extends ParserRuleReturnScope { }; // $ANTLR start "resources" // Java.g:939:1: resources :t170= resource ( ( ';' ) t171= resource )* ; public final resources_return resources() throws RecognitionException { resources_return retval = new resources_return(); retval.start = input.LT(1); int resources_StartIndex = input.index(); resource_return t170 =null; resource_return t171 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 64) ) { return retval; } // Java.g:940:5: (t170= resource ( ( ';' ) t171= resource )* ) // Java.g:941:8: t170= resource ( ( ';' ) t171= resource )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("resource"));} pushFollow(FOLLOW_resource_in_resources6338); t170=resource(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t170!=null?((Token)t170.start):null), (t170!=null?((Token)t170.stop):null));} // Java.g:941:131: ( ( ';' ) t171= resource )* loop108: do { int alt108=2; int LA108_0 = input.LA(1); if ( (LA108_0==SEMI) ) { int LA108_1 = input.LA(2); if ( (LA108_1==FINAL||LA108_1==IDENTIFIER||LA108_1==MONKEYS_AT) ) { alt108=1; } } switch (alt108) { case 1 : // Java.g:941:133: ( ';' ) t171= resource { // Java.g:941:133: ( ';' ) // Java.g:941:134: ';' { match(input,SEMI,FOLLOW_SEMI_in_resources6345); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("resource"));} pushFollow(FOLLOW_resource_in_resources6353); t171=resource(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t171!=null?((Token)t171.start):null), (t171!=null?((Token)t171.stop):null));} } break; default : break loop108; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 64, resources_StartIndex); } } return retval; } // $ANTLR end "resources" public static class resource_return extends ParserRuleReturnScope { }; // $ANTLR start "resource" // Java.g:944:1: resource :t172= variableModifiers t173= classOrInterfaceType t174= variableDeclaratorId ( '=' ) t175= expression ; public final resource_return resource() throws RecognitionException { resource_return retval = new resource_return(); retval.start = input.LT(1); int resource_StartIndex = input.index(); variableModifiers_return t172 =null; classOrInterfaceType_return t173 =null; variableDeclaratorId_return t174 =null; expression_return t175 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 65) ) { return retval; } // Java.g:945:5: (t172= variableModifiers t173= classOrInterfaceType t174= variableDeclaratorId ( '=' ) t175= expression ) // Java.g:946:7: t172= variableModifiers t173= classOrInterfaceType t174= variableDeclaratorId ( '=' ) t175= expression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_resource6385); t172=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t172!=null?((Token)t172.start):null), (t172!=null?((Token)t172.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_resource6393); t173=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t173!=null?((Token)t173.start):null), (t173!=null?((Token)t173.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableDeclaratorId"));} pushFollow(FOLLOW_variableDeclaratorId_in_resource6401); t174=variableDeclaratorId(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t174!=null?((Token)t174.start):null), (t174!=null?((Token)t174.stop):null));} // Java.g:946:442: ( '=' ) // Java.g:946:443: '=' { match(input,EQ,FOLLOW_EQ_in_resource6406); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_resource6414); t175=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t175!=null?((Token)t175.start):null), (t175!=null?((Token)t175.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 65, resource_StartIndex); } } return retval; } // $ANTLR end "resource" public static class variableDeclaratorId_return extends ParserRuleReturnScope { }; // $ANTLR start "variableDeclaratorId" // Java.g:949:1: variableDeclaratorId : IDENTIFIER ( ( '[' ) ( ']' ) )* ; public final variableDeclaratorId_return variableDeclaratorId() throws RecognitionException { variableDeclaratorId_return retval = new variableDeclaratorId_return(); retval.start = input.LT(1); int variableDeclaratorId_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 66) ) { return retval; } // Java.g:950:5: ( IDENTIFIER ( ( '[' ) ( ']' ) )* ) // Java.g:951:9: IDENTIFIER ( ( '[' ) ( ']' ) )* { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variableDeclaratorId6441); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:951:90: ( ( '[' ) ( ']' ) )* loop109: do { int alt109=2; int LA109_0 = input.LA(1); if ( (LA109_0==LBRACKET) ) { alt109=1; } switch (alt109) { case 1 : // Java.g:951:91: ( '[' ) ( ']' ) { // Java.g:951:91: ( '[' ) // Java.g:951:92: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_variableDeclaratorId6447); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:951:129: ( ']' ) // Java.g:951:130: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_variableDeclaratorId6452); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop109; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 66, variableDeclaratorId_StartIndex); } } return retval; } // $ANTLR end "variableDeclaratorId" public static class catches_return extends ParserRuleReturnScope { }; // $ANTLR start "catches" // Java.g:954:1: catches :t176= catchClause (t177= catchClause )* ; public final catches_return catches() throws RecognitionException { catches_return retval = new catches_return(); retval.start = input.LT(1); int catches_StartIndex = input.index(); catchClause_return t176 =null; catchClause_return t177 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 67) ) { return retval; } // Java.g:955:5: (t176= catchClause (t177= catchClause )* ) // Java.g:955:9: t176= catchClause (t177= catchClause )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("catchClause"));} pushFollow(FOLLOW_catchClause_in_catches6479); t176=catchClause(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t176!=null?((Token)t176.start):null), (t176!=null?((Token)t176.stop):null));} // Java.g:956:9: (t177= catchClause )* loop110: do { int alt110=2; int LA110_0 = input.LA(1); if ( (LA110_0==CATCH) ) { alt110=1; } switch (alt110) { case 1 : // Java.g:956:10: t177= catchClause { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("catchClause"));} pushFollow(FOLLOW_catchClause_in_catches6496); t177=catchClause(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t177!=null?((Token)t177.start):null), (t177!=null?((Token)t177.stop):null));} } break; default : break loop110; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 67, catches_StartIndex); } } return retval; } // $ANTLR end "catches" public static class catchClause_return extends ParserRuleReturnScope { }; // $ANTLR start "catchClause" // Java.g:960:1: catchClause : 'catch' ( '(' ) t178= formalParameter ( ')' ) t179= block ; public final catchClause_return catchClause() throws RecognitionException { catchClause_return retval = new catchClause_return(); retval.start = input.LT(1); int catchClause_StartIndex = input.index(); formalParameter_return t178 =null; block_return t179 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return retval; } // Java.g:961:5: ( 'catch' ( '(' ) t178= formalParameter ( ')' ) t179= block ) // Java.g:961:9: 'catch' ( '(' ) t178= formalParameter ( ')' ) t179= block { match(input,CATCH,FOLLOW_CATCH_in_catchClause6529); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'catch'",input.LT(-1));} // Java.g:961:53: ( '(' ) // Java.g:961:54: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_catchClause6533); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("formalParameter"));} pushFollow(FOLLOW_formalParameter_in_catchClause6541); t178=formalParameter(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t178!=null?((Token)t178.start):null), (t178!=null?((Token)t178.stop):null));} // Java.g:962:9: ( ')' ) // Java.g:962:10: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_catchClause6554); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("block"));} pushFollow(FOLLOW_block_in_catchClause6562); t179=block(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t179!=null?((Token)t179.start):null), (t179!=null?((Token)t179.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 68, catchClause_StartIndex); } } return retval; } // $ANTLR end "catchClause" public static class formalParameter_return extends ParserRuleReturnScope { }; // $ANTLR start "formalParameter" // Java.g:965:1: formalParameter :t180= variableModifiers t181= catchType IDENTIFIER ( ( '[' ) ( ']' ) )* ; public final formalParameter_return formalParameter() throws RecognitionException { formalParameter_return retval = new formalParameter_return(); retval.start = input.LT(1); int formalParameter_StartIndex = input.index(); variableModifiers_return t180 =null; catchType_return t181 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 69) ) { return retval; } // Java.g:966:5: (t180= variableModifiers t181= catchType IDENTIFIER ( ( '[' ) ( ']' ) )* ) // Java.g:966:9: t180= variableModifiers t181= catchType IDENTIFIER ( ( '[' ) ( ']' ) )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_formalParameter6589); t180=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t180!=null?((Token)t180.start):null), (t180!=null?((Token)t180.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("catchType"));} pushFollow(FOLLOW_catchType_in_formalParameter6597); t181=catchType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t181!=null?((Token)t181.start):null), (t181!=null?((Token)t181.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_formalParameter6601); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:967:9: ( ( '[' ) ( ']' ) )* loop111: do { int alt111=2; int LA111_0 = input.LA(1); if ( (LA111_0==LBRACKET) ) { alt111=1; } switch (alt111) { case 1 : // Java.g:967:10: ( '[' ) ( ']' ) { // Java.g:967:10: ( '[' ) // Java.g:967:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_formalParameter6615); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:967:48: ( ']' ) // Java.g:967:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_formalParameter6620); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop111; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 69, formalParameter_StartIndex); } } return retval; } // $ANTLR end "formalParameter" public static class catchType_return extends ParserRuleReturnScope { }; // $ANTLR start "catchType" // Java.g:971:1: catchType :t182= classOrInterfaceType ( ( '|' ) t183= classOrInterfaceType )* ; public final catchType_return catchType() throws RecognitionException { catchType_return retval = new catchType_return(); retval.start = input.LT(1); int catchType_StartIndex = input.index(); classOrInterfaceType_return t182 =null; classOrInterfaceType_return t183 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return retval; } // Java.g:972:5: (t182= classOrInterfaceType ( ( '|' ) t183= classOrInterfaceType )* ) // Java.g:972:8: t182= classOrInterfaceType ( ( '|' ) t183= classOrInterfaceType )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_catchType6655); t182=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t182!=null?((Token)t182.start):null), (t182!=null?((Token)t182.stop):null));} // Java.g:972:155: ( ( '|' ) t183= classOrInterfaceType )* loop112: do { int alt112=2; int LA112_0 = input.LA(1); if ( (LA112_0==BAR) ) { alt112=1; } switch (alt112) { case 1 : // Java.g:972:157: ( '|' ) t183= classOrInterfaceType { // Java.g:972:157: ( '|' ) // Java.g:972:158: '|' { match(input,BAR,FOLLOW_BAR_in_catchType6662); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'|'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_catchType6670); t183=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t183!=null?((Token)t183.start):null), (t183!=null?((Token)t183.stop):null));} } break; default : break loop112; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 70, catchType_StartIndex); } } return retval; } // $ANTLR end "catchType" public static class forstatement_return extends ParserRuleReturnScope { }; // $ANTLR start "forstatement" // Java.g:975:1: forstatement : ( 'for' ( '(' ) t184= variableModifiers t185= type IDENTIFIER ( ( '[' ) ( ']' ) )* ( ':' ) t186= expression ( ')' ) t187= statement | 'for' ( '(' ) (t188= forInit )? ( ';' ) (t189= expression )? ( ';' ) (t190= expressionList )? ( ')' ) t191= statement ); public final forstatement_return forstatement() throws RecognitionException { forstatement_return retval = new forstatement_return(); retval.start = input.LT(1); int forstatement_StartIndex = input.index(); variableModifiers_return t184 =null; type_return t185 =null; expression_return t186 =null; statement_return t187 =null; forInit_return t188 =null; expression_return t189 =null; expressionList_return t190 =null; statement_return t191 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 71) ) { return retval; } // Java.g:976:5: ( 'for' ( '(' ) t184= variableModifiers t185= type IDENTIFIER ( ( '[' ) ( ']' ) )* ( ':' ) t186= expression ( ')' ) t187= statement | 'for' ( '(' ) (t188= forInit )? ( ';' ) (t189= expression )? ( ';' ) (t190= expressionList )? ( ')' ) t191= statement ) int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0==FOR) ) { int LA117_1 = input.LA(2); if ( (synpred164_Java()) ) { alt117=1; } else if ( (true) ) { alt117=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 117, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 117, 0, input); throw nvae; } switch (alt117) { case 1 : // Java.g:978:9: 'for' ( '(' ) t184= variableModifiers t185= type IDENTIFIER ( ( '[' ) ( ']' ) )* ( ':' ) t186= expression ( ')' ) t187= statement { match(input,FOR,FOLLOW_FOR_in_forstatement6712); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'for'",input.LT(-1));} // Java.g:978:49: ( '(' ) // Java.g:978:50: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_forstatement6716); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableModifiers"));} pushFollow(FOLLOW_variableModifiers_in_forstatement6724); t184=variableModifiers(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t184!=null?((Token)t184.start):null), (t184!=null?((Token)t184.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_forstatement6732); t185=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t185!=null?((Token)t185.start):null), (t185!=null?((Token)t185.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_forstatement6736); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:978:424: ( ( '[' ) ( ']' ) )* loop113: do { int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0==LBRACKET) ) { alt113=1; } switch (alt113) { case 1 : // Java.g:978:425: ( '[' ) ( ']' ) { // Java.g:978:425: ( '[' ) // Java.g:978:426: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_forstatement6742); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:978:463: ( ']' ) // Java.g:978:464: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_forstatement6747); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop113; } } while (true); // Java.g:978:503: ( ':' ) // Java.g:978:504: ':' { match(input,COLON,FOLLOW_COLON_in_forstatement6754); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_forstatement6770); t186=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t186!=null?((Token)t186.start):null), (t186!=null?((Token)t186.stop):null));} // Java.g:979:136: ( ')' ) // Java.g:979:137: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_forstatement6775); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_forstatement6783); t187=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t187!=null?((Token)t187.start):null), (t187!=null?((Token)t187.stop):null));} } break; case 2 : // Java.g:982:9: 'for' ( '(' ) (t188= forInit )? ( ';' ) (t189= expression )? ( ';' ) (t190= expressionList )? ( ')' ) t191= statement { match(input,FOR,FOLLOW_FOR_in_forstatement6817); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'for'",input.LT(-1));} // Java.g:982:49: ( '(' ) // Java.g:982:50: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_forstatement6821); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } // Java.g:983:17: (t188= forInit )? int alt114=2; int LA114_0 = input.LA(1); if ( (LA114_0==BANG||(LA114_0 >= BINLITERAL && LA114_0 <= BOOLEAN)||LA114_0==BYTE||(LA114_0 >= CHAR && LA114_0 <= CHARLITERAL)||(LA114_0 >= DOUBLE && LA114_0 <= DOUBLELITERAL)||(LA114_0 >= FALSE && LA114_0 <= FINAL)||(LA114_0 >= FLOAT && LA114_0 <= FLOATLITERAL)||LA114_0==IDENTIFIER||LA114_0==INT||LA114_0==INTLITERAL||(LA114_0 >= LONG && LA114_0 <= LPAREN)||LA114_0==MONKEYS_AT||(LA114_0 >= NEW && LA114_0 <= NULL)||LA114_0==PLUS||LA114_0==PLUSPLUS||LA114_0==SHORT||(LA114_0 >= STRINGLITERAL && LA114_0 <= SUB)||(LA114_0 >= SUBSUB && LA114_0 <= SUPER)||LA114_0==THIS||LA114_0==TILDE||LA114_0==TRUE||LA114_0==VOID) ) { alt114=1; } switch (alt114) { case 1 : // Java.g:983:18: t188= forInit { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("forInit"));} pushFollow(FOLLOW_forInit_in_forstatement6847); t188=forInit(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t188!=null?((Token)t188.start):null), (t188!=null?((Token)t188.stop):null));} } break; } // Java.g:984:20: ( ';' ) // Java.g:984:21: ';' { match(input,SEMI,FOLLOW_SEMI_in_forstatement6871); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } // Java.g:985:17: (t189= expression )? int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0==BANG||(LA115_0 >= BINLITERAL && LA115_0 <= BOOLEAN)||LA115_0==BYTE||(LA115_0 >= CHAR && LA115_0 <= CHARLITERAL)||(LA115_0 >= DOUBLE && LA115_0 <= DOUBLELITERAL)||LA115_0==FALSE||(LA115_0 >= FLOAT && LA115_0 <= FLOATLITERAL)||LA115_0==IDENTIFIER||LA115_0==INT||LA115_0==INTLITERAL||(LA115_0 >= LONG && LA115_0 <= LPAREN)||(LA115_0 >= NEW && LA115_0 <= NULL)||LA115_0==PLUS||LA115_0==PLUSPLUS||LA115_0==SHORT||(LA115_0 >= STRINGLITERAL && LA115_0 <= SUB)||(LA115_0 >= SUBSUB && LA115_0 <= SUPER)||LA115_0==THIS||LA115_0==TILDE||LA115_0==TRUE||LA115_0==VOID) ) { alt115=1; } switch (alt115) { case 1 : // Java.g:985:18: t189= expression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_forstatement6897); t189=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t189!=null?((Token)t189.start):null), (t189!=null?((Token)t189.stop):null));} } break; } // Java.g:986:20: ( ';' ) // Java.g:986:21: ';' { match(input,SEMI,FOLLOW_SEMI_in_forstatement6921); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("';'",input.LT(-1));} } // Java.g:987:17: (t190= expressionList )? int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0==BANG||(LA116_0 >= BINLITERAL && LA116_0 <= BOOLEAN)||LA116_0==BYTE||(LA116_0 >= CHAR && LA116_0 <= CHARLITERAL)||(LA116_0 >= DOUBLE && LA116_0 <= DOUBLELITERAL)||LA116_0==FALSE||(LA116_0 >= FLOAT && LA116_0 <= FLOATLITERAL)||LA116_0==IDENTIFIER||LA116_0==INT||LA116_0==INTLITERAL||(LA116_0 >= LONG && LA116_0 <= LPAREN)||(LA116_0 >= NEW && LA116_0 <= NULL)||LA116_0==PLUS||LA116_0==PLUSPLUS||LA116_0==SHORT||(LA116_0 >= STRINGLITERAL && LA116_0 <= SUB)||(LA116_0 >= SUBSUB && LA116_0 <= SUPER)||LA116_0==THIS||LA116_0==TILDE||LA116_0==TRUE||LA116_0==VOID) ) { alt116=1; } switch (alt116) { case 1 : // Java.g:987:18: t190= expressionList { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expressionList"));} pushFollow(FOLLOW_expressionList_in_forstatement6947); t190=expressionList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t190!=null?((Token)t190.start):null), (t190!=null?((Token)t190.stop):null));} } break; } // Java.g:988:20: ( ')' ) // Java.g:988:21: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_forstatement6971); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("statement"));} pushFollow(FOLLOW_statement_in_forstatement6979); t191=statement(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t191!=null?((Token)t191.start):null), (t191!=null?((Token)t191.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 71, forstatement_StartIndex); } } return retval; } // $ANTLR end "forstatement" public static class forInit_return extends ParserRuleReturnScope { }; // $ANTLR start "forInit" // Java.g:991:1: forInit : (t192= localVariableDeclaration |t193= expressionList ); public final forInit_return forInit() throws RecognitionException { forInit_return retval = new forInit_return(); retval.start = input.LT(1); int forInit_StartIndex = input.index(); localVariableDeclaration_return t192 =null; expressionList_return t193 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 72) ) { return retval; } // Java.g:992:5: (t192= localVariableDeclaration |t193= expressionList ) int alt118=2; switch ( input.LA(1) ) { case FINAL: case MONKEYS_AT: { alt118=1; } break; case IDENTIFIER: { int LA118_3 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 3, input); throw nvae; } } break; case BOOLEAN: { int LA118_4 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 4, input); throw nvae; } } break; case CHAR: { int LA118_5 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 5, input); throw nvae; } } break; case BYTE: { int LA118_6 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 6, input); throw nvae; } } break; case SHORT: { int LA118_7 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 7, input); throw nvae; } } break; case INT: { int LA118_8 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 8, input); throw nvae; } } break; case LONG: { int LA118_9 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 9, input); throw nvae; } } break; case FLOAT: { int LA118_10 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 10, input); throw nvae; } } break; case DOUBLE: { int LA118_11 = input.LA(2); if ( (synpred168_Java()) ) { alt118=1; } else if ( (true) ) { alt118=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 11, input); throw nvae; } } break; case BANG: case BINLITERAL: case CHARLITERAL: case DOUBLELITERAL: case FALSE: case FLOATLITERAL: case INTLITERAL: case LONGLITERAL: case LPAREN: case NEW: case NULL: case PLUS: case PLUSPLUS: case STRINGLITERAL: case SUB: case SUBSUB: case SUPER: case THIS: case TILDE: case TRUE: case VOID: { alt118=2; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 118, 0, input); throw nvae; } switch (alt118) { case 1 : // Java.g:992:9: t192= localVariableDeclaration { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("localVariableDeclaration"));} pushFollow(FOLLOW_localVariableDeclaration_in_forInit7005); t192=localVariableDeclaration(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t192!=null?((Token)t192.start):null), (t192!=null?((Token)t192.stop):null));} } break; case 2 : // Java.g:993:9: t193= expressionList { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expressionList"));} pushFollow(FOLLOW_expressionList_in_forInit7021); t193=expressionList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t193!=null?((Token)t193.start):null), (t193!=null?((Token)t193.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 72, forInit_StartIndex); } } return retval; } // $ANTLR end "forInit" public static class parExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "parExpression" // Java.g:996:1: parExpression : ( '(' ) t194= expression ( ')' ) ; public final parExpression_return parExpression() throws RecognitionException { parExpression_return retval = new parExpression_return(); retval.start = input.LT(1); int parExpression_StartIndex = input.index(); expression_return t194 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 73) ) { return retval; } // Java.g:997:5: ( ( '(' ) t194= expression ( ')' ) ) // Java.g:997:9: ( '(' ) t194= expression ( ')' ) { // Java.g:997:9: ( '(' ) // Java.g:997:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_parExpression7044); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_parExpression7052); t194=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t194!=null?((Token)t194.start):null), (t194!=null?((Token)t194.stop):null));} // Java.g:997:174: ( ')' ) // Java.g:997:175: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_parExpression7057); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 73, parExpression_StartIndex); } } return retval; } // $ANTLR end "parExpression" public static class expressionList_return extends ParserRuleReturnScope { }; // $ANTLR start "expressionList" // Java.g:1000:1: expressionList :t195= expression ( ( ',' ) t196= expression )* ; public final expressionList_return expressionList() throws RecognitionException { expressionList_return retval = new expressionList_return(); retval.start = input.LT(1); int expressionList_StartIndex = input.index(); expression_return t195 =null; expression_return t196 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 74) ) { return retval; } // Java.g:1001:5: (t195= expression ( ( ',' ) t196= expression )* ) // Java.g:1001:9: t195= expression ( ( ',' ) t196= expression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_expressionList7083); t195=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t195!=null?((Token)t195.start):null), (t195!=null?((Token)t195.stop):null));} // Java.g:1002:9: ( ( ',' ) t196= expression )* loop119: do { int alt119=2; int LA119_0 = input.LA(1); if ( (LA119_0==COMMA) ) { alt119=1; } switch (alt119) { case 1 : // Java.g:1002:10: ( ',' ) t196= expression { // Java.g:1002:10: ( ',' ) // Java.g:1002:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_expressionList7097); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_expressionList7105); t196=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t196!=null?((Token)t196.start):null), (t196!=null?((Token)t196.stop):null));} } break; default : break loop119; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 74, expressionList_StartIndex); } } return retval; } // $ANTLR end "expressionList" public static class expression_return extends ParserRuleReturnScope { }; // $ANTLR start "expression" // Java.g:1007:1: expression :t197= conditionalExpression (t198= assignmentOperator t199= expression )? ; public final expression_return expression() throws RecognitionException { expression_return retval = new expression_return(); retval.start = input.LT(1); int expression_StartIndex = input.index(); conditionalExpression_return t197 =null; assignmentOperator_return t198 =null; expression_return t199 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 75) ) { return retval; } // Java.g:1008:5: (t197= conditionalExpression (t198= assignmentOperator t199= expression )? ) // Java.g:1008:9: t197= conditionalExpression (t198= assignmentOperator t199= expression )? { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalExpression"));} pushFollow(FOLLOW_conditionalExpression_in_expression7143); t197=conditionalExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t197!=null?((Token)t197.start):null), (t197!=null?((Token)t197.stop):null));} // Java.g:1009:9: (t198= assignmentOperator t199= expression )? int alt120=2; int LA120_0 = input.LA(1); if ( (LA120_0==AMPEQ||LA120_0==BAREQ||LA120_0==CARETEQ||LA120_0==EQ||LA120_0==GT||LA120_0==LT||LA120_0==PERCENTEQ||LA120_0==PLUSEQ||LA120_0==SLASHEQ||LA120_0==STAREQ||LA120_0==SUBEQ) ) { alt120=1; } switch (alt120) { case 1 : // Java.g:1009:10: t198= assignmentOperator t199= expression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("assignmentOperator"));} pushFollow(FOLLOW_assignmentOperator_in_expression7160); t198=assignmentOperator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t198!=null?((Token)t198.start):null), (t198!=null?((Token)t198.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_expression7168); t199=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t199!=null?((Token)t199.start):null), (t199!=null?((Token)t199.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 75, expression_StartIndex); } } return retval; } // $ANTLR end "expression" public static class assignmentOperator_return extends ParserRuleReturnScope { }; // $ANTLR start "assignmentOperator" // Java.g:1014:1: assignmentOperator : ( ( '=' ) | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | ( '<' ) ( '<' ) ( '=' ) | ( '>' ) ( '>' ) ( '>' ) ( '=' ) | ( '>' ) ( '>' ) ( '=' ) ); public final assignmentOperator_return assignmentOperator() throws RecognitionException { assignmentOperator_return retval = new assignmentOperator_return(); retval.start = input.LT(1); int assignmentOperator_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 76) ) { return retval; } // Java.g:1015:5: ( ( '=' ) | '+=' | '-=' | '*=' | '/=' | '&=' | '|=' | '^=' | '%=' | ( '<' ) ( '<' ) ( '=' ) | ( '>' ) ( '>' ) ( '>' ) ( '=' ) | ( '>' ) ( '>' ) ( '=' ) ) int alt121=12; switch ( input.LA(1) ) { case EQ: { alt121=1; } break; case PLUSEQ: { alt121=2; } break; case SUBEQ: { alt121=3; } break; case STAREQ: { alt121=4; } break; case SLASHEQ: { alt121=5; } break; case AMPEQ: { alt121=6; } break; case BAREQ: { alt121=7; } break; case CARETEQ: { alt121=8; } break; case PERCENTEQ: { alt121=9; } break; case LT: { alt121=10; } break; case GT: { int LA121_11 = input.LA(2); if ( (LA121_11==GT) ) { int LA121_12 = input.LA(3); if ( (LA121_12==GT) ) { alt121=11; } else if ( (LA121_12==EQ) ) { alt121=12; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 121, 12, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 121, 11, input); throw nvae; } } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 121, 0, input); throw nvae; } switch (alt121) { case 1 : // Java.g:1015:9: ( '=' ) { // Java.g:1015:9: ( '=' ) // Java.g:1015:10: '=' { match(input,EQ,FOLLOW_EQ_in_assignmentOperator7203); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; case 2 : // Java.g:1016:9: '+=' { match(input,PLUSEQ,FOLLOW_PLUSEQ_in_assignmentOperator7215); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'+='",input.LT(-1));} } break; case 3 : // Java.g:1017:9: '-=' { match(input,SUBEQ,FOLLOW_SUBEQ_in_assignmentOperator7226); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'-='",input.LT(-1));} } break; case 4 : // Java.g:1018:9: '*=' { match(input,STAREQ,FOLLOW_STAREQ_in_assignmentOperator7237); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'*='",input.LT(-1));} } break; case 5 : // Java.g:1019:9: '/=' { match(input,SLASHEQ,FOLLOW_SLASHEQ_in_assignmentOperator7248); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'/='",input.LT(-1));} } break; case 6 : // Java.g:1020:9: '&=' { match(input,AMPEQ,FOLLOW_AMPEQ_in_assignmentOperator7259); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'&='",input.LT(-1));} } break; case 7 : // Java.g:1021:9: '|=' { match(input,BAREQ,FOLLOW_BAREQ_in_assignmentOperator7270); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'|='",input.LT(-1));} } break; case 8 : // Java.g:1022:9: '^=' { match(input,CARETEQ,FOLLOW_CARETEQ_in_assignmentOperator7281); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'^='",input.LT(-1));} } break; case 9 : // Java.g:1023:9: '%=' { match(input,PERCENTEQ,FOLLOW_PERCENTEQ_in_assignmentOperator7292); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'%='",input.LT(-1));} } break; case 10 : // Java.g:1024:10: ( '<' ) ( '<' ) ( '=' ) { // Java.g:1024:10: ( '<' ) // Java.g:1024:11: '<' { match(input,LT,FOLLOW_LT_in_assignmentOperator7305); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1024:48: ( '<' ) // Java.g:1024:49: '<' { match(input,LT,FOLLOW_LT_in_assignmentOperator7310); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1024:86: ( '=' ) // Java.g:1024:87: '=' { match(input,EQ,FOLLOW_EQ_in_assignmentOperator7315); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; case 11 : // Java.g:1025:10: ( '>' ) ( '>' ) ( '>' ) ( '=' ) { // Java.g:1025:10: ( '>' ) // Java.g:1025:11: '>' { match(input,GT,FOLLOW_GT_in_assignmentOperator7329); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1025:48: ( '>' ) // Java.g:1025:49: '>' { match(input,GT,FOLLOW_GT_in_assignmentOperator7334); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1025:86: ( '>' ) // Java.g:1025:87: '>' { match(input,GT,FOLLOW_GT_in_assignmentOperator7339); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1025:124: ( '=' ) // Java.g:1025:125: '=' { match(input,EQ,FOLLOW_EQ_in_assignmentOperator7344); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; case 12 : // Java.g:1026:10: ( '>' ) ( '>' ) ( '=' ) { // Java.g:1026:10: ( '>' ) // Java.g:1026:11: '>' { match(input,GT,FOLLOW_GT_in_assignmentOperator7358); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1026:48: ( '>' ) // Java.g:1026:49: '>' { match(input,GT,FOLLOW_GT_in_assignmentOperator7363); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1026:86: ( '=' ) // Java.g:1026:87: '=' { match(input,EQ,FOLLOW_EQ_in_assignmentOperator7368); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 76, assignmentOperator_StartIndex); } } return retval; } // $ANTLR end "assignmentOperator" public static class conditionalExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "conditionalExpression" // Java.g:1030:1: conditionalExpression :t200= conditionalOrExpression ( ( '?' ) t201= expression ( ':' ) t202= conditionalExpression )? ; public final conditionalExpression_return conditionalExpression() throws RecognitionException { conditionalExpression_return retval = new conditionalExpression_return(); retval.start = input.LT(1); int conditionalExpression_StartIndex = input.index(); conditionalOrExpression_return t200 =null; expression_return t201 =null; conditionalExpression_return t202 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 77) ) { return retval; } // Java.g:1031:5: (t200= conditionalOrExpression ( ( '?' ) t201= expression ( ':' ) t202= conditionalExpression )? ) // Java.g:1031:9: t200= conditionalOrExpression ( ( '?' ) t201= expression ( ':' ) t202= conditionalExpression )? { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalOrExpression"));} pushFollow(FOLLOW_conditionalOrExpression_in_conditionalExpression7395); t200=conditionalOrExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t200!=null?((Token)t200.start):null), (t200!=null?((Token)t200.stop):null));} // Java.g:1032:9: ( ( '?' ) t201= expression ( ':' ) t202= conditionalExpression )? int alt122=2; int LA122_0 = input.LA(1); if ( (LA122_0==QUES) ) { alt122=1; } switch (alt122) { case 1 : // Java.g:1032:10: ( '?' ) t201= expression ( ':' ) t202= conditionalExpression { // Java.g:1032:10: ( '?' ) // Java.g:1032:11: '?' { match(input,QUES,FOLLOW_QUES_in_conditionalExpression7409); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'?'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_conditionalExpression7417); t201=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t201!=null?((Token)t201.start):null), (t201!=null?((Token)t201.stop):null));} // Java.g:1032:175: ( ':' ) // Java.g:1032:176: ':' { match(input,COLON,FOLLOW_COLON_in_conditionalExpression7422); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("':'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalExpression"));} pushFollow(FOLLOW_conditionalExpression_in_conditionalExpression7430); t202=conditionalExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t202!=null?((Token)t202.start):null), (t202!=null?((Token)t202.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 77, conditionalExpression_StartIndex); } } return retval; } // $ANTLR end "conditionalExpression" public static class conditionalOrExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "conditionalOrExpression" // Java.g:1036:1: conditionalOrExpression :t203= conditionalAndExpression ( '||' t204= conditionalAndExpression )* ; public final conditionalOrExpression_return conditionalOrExpression() throws RecognitionException { conditionalOrExpression_return retval = new conditionalOrExpression_return(); retval.start = input.LT(1); int conditionalOrExpression_StartIndex = input.index(); conditionalAndExpression_return t203 =null; conditionalAndExpression_return t204 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 78) ) { return retval; } // Java.g:1037:5: (t203= conditionalAndExpression ( '||' t204= conditionalAndExpression )* ) // Java.g:1037:9: t203= conditionalAndExpression ( '||' t204= conditionalAndExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalAndExpression"));} pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression7467); t203=conditionalAndExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t203!=null?((Token)t203.start):null), (t203!=null?((Token)t203.stop):null));} // Java.g:1038:9: ( '||' t204= conditionalAndExpression )* loop123: do { int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0==BARBAR) ) { alt123=1; } switch (alt123) { case 1 : // Java.g:1038:10: '||' t204= conditionalAndExpression { match(input,BARBAR,FOLLOW_BARBAR_in_conditionalOrExpression7480); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'||'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("conditionalAndExpression"));} pushFollow(FOLLOW_conditionalAndExpression_in_conditionalOrExpression7487); t204=conditionalAndExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t204!=null?((Token)t204.start):null), (t204!=null?((Token)t204.stop):null));} } break; default : break loop123; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 78, conditionalOrExpression_StartIndex); } } return retval; } // $ANTLR end "conditionalOrExpression" public static class conditionalAndExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "conditionalAndExpression" // Java.g:1042:1: conditionalAndExpression :t205= inclusiveOrExpression ( '&&' t206= inclusiveOrExpression )* ; public final conditionalAndExpression_return conditionalAndExpression() throws RecognitionException { conditionalAndExpression_return retval = new conditionalAndExpression_return(); retval.start = input.LT(1); int conditionalAndExpression_StartIndex = input.index(); inclusiveOrExpression_return t205 =null; inclusiveOrExpression_return t206 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 79) ) { return retval; } // Java.g:1043:5: (t205= inclusiveOrExpression ( '&&' t206= inclusiveOrExpression )* ) // Java.g:1043:9: t205= inclusiveOrExpression ( '&&' t206= inclusiveOrExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("inclusiveOrExpression"));} pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression7524); t205=inclusiveOrExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t205!=null?((Token)t205.start):null), (t205!=null?((Token)t205.stop):null));} // Java.g:1044:9: ( '&&' t206= inclusiveOrExpression )* loop124: do { int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0==AMPAMP) ) { alt124=1; } switch (alt124) { case 1 : // Java.g:1044:10: '&&' t206= inclusiveOrExpression { match(input,AMPAMP,FOLLOW_AMPAMP_in_conditionalAndExpression7537); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'&&'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("inclusiveOrExpression"));} pushFollow(FOLLOW_inclusiveOrExpression_in_conditionalAndExpression7544); t206=inclusiveOrExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t206!=null?((Token)t206.start):null), (t206!=null?((Token)t206.stop):null));} } break; default : break loop124; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 79, conditionalAndExpression_StartIndex); } } return retval; } // $ANTLR end "conditionalAndExpression" public static class inclusiveOrExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "inclusiveOrExpression" // Java.g:1048:1: inclusiveOrExpression :t207= exclusiveOrExpression ( ( '|' ) t208= exclusiveOrExpression )* ; public final inclusiveOrExpression_return inclusiveOrExpression() throws RecognitionException { inclusiveOrExpression_return retval = new inclusiveOrExpression_return(); retval.start = input.LT(1); int inclusiveOrExpression_StartIndex = input.index(); exclusiveOrExpression_return t207 =null; exclusiveOrExpression_return t208 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 80) ) { return retval; } // Java.g:1049:5: (t207= exclusiveOrExpression ( ( '|' ) t208= exclusiveOrExpression )* ) // Java.g:1049:9: t207= exclusiveOrExpression ( ( '|' ) t208= exclusiveOrExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("exclusiveOrExpression"));} pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression7581); t207=exclusiveOrExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t207!=null?((Token)t207.start):null), (t207!=null?((Token)t207.stop):null));} // Java.g:1050:9: ( ( '|' ) t208= exclusiveOrExpression )* loop125: do { int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0==BAR) ) { alt125=1; } switch (alt125) { case 1 : // Java.g:1050:10: ( '|' ) t208= exclusiveOrExpression { // Java.g:1050:10: ( '|' ) // Java.g:1050:11: '|' { match(input,BAR,FOLLOW_BAR_in_inclusiveOrExpression7595); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'|'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("exclusiveOrExpression"));} pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression7603); t208=exclusiveOrExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t208!=null?((Token)t208.start):null), (t208!=null?((Token)t208.stop):null));} } break; default : break loop125; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 80, inclusiveOrExpression_StartIndex); } } return retval; } // $ANTLR end "inclusiveOrExpression" public static class exclusiveOrExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "exclusiveOrExpression" // Java.g:1054:1: exclusiveOrExpression :t209= andExpression ( ( '^' ) t210= andExpression )* ; public final exclusiveOrExpression_return exclusiveOrExpression() throws RecognitionException { exclusiveOrExpression_return retval = new exclusiveOrExpression_return(); retval.start = input.LT(1); int exclusiveOrExpression_StartIndex = input.index(); andExpression_return t209 =null; andExpression_return t210 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 81) ) { return retval; } // Java.g:1055:5: (t209= andExpression ( ( '^' ) t210= andExpression )* ) // Java.g:1055:9: t209= andExpression ( ( '^' ) t210= andExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("andExpression"));} pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression7640); t209=andExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t209!=null?((Token)t209.start):null), (t209!=null?((Token)t209.stop):null));} // Java.g:1056:9: ( ( '^' ) t210= andExpression )* loop126: do { int alt126=2; int LA126_0 = input.LA(1); if ( (LA126_0==CARET) ) { alt126=1; } switch (alt126) { case 1 : // Java.g:1056:10: ( '^' ) t210= andExpression { // Java.g:1056:10: ( '^' ) // Java.g:1056:11: '^' { match(input,CARET,FOLLOW_CARET_in_exclusiveOrExpression7654); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'^'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("andExpression"));} pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression7662); t210=andExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t210!=null?((Token)t210.start):null), (t210!=null?((Token)t210.stop):null));} } break; default : break loop126; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 81, exclusiveOrExpression_StartIndex); } } return retval; } // $ANTLR end "exclusiveOrExpression" public static class andExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "andExpression" // Java.g:1060:1: andExpression :t211= equalityExpression ( ( '&' ) t212= equalityExpression )* ; public final andExpression_return andExpression() throws RecognitionException { andExpression_return retval = new andExpression_return(); retval.start = input.LT(1); int andExpression_StartIndex = input.index(); equalityExpression_return t211 =null; equalityExpression_return t212 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 82) ) { return retval; } // Java.g:1061:5: (t211= equalityExpression ( ( '&' ) t212= equalityExpression )* ) // Java.g:1061:9: t211= equalityExpression ( ( '&' ) t212= equalityExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("equalityExpression"));} pushFollow(FOLLOW_equalityExpression_in_andExpression7699); t211=equalityExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t211!=null?((Token)t211.start):null), (t211!=null?((Token)t211.stop):null));} // Java.g:1062:9: ( ( '&' ) t212= equalityExpression )* loop127: do { int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==AMP) ) { alt127=1; } switch (alt127) { case 1 : // Java.g:1062:10: ( '&' ) t212= equalityExpression { // Java.g:1062:10: ( '&' ) // Java.g:1062:11: '&' { match(input,AMP,FOLLOW_AMP_in_andExpression7713); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'&'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("equalityExpression"));} pushFollow(FOLLOW_equalityExpression_in_andExpression7721); t212=equalityExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t212!=null?((Token)t212.start):null), (t212!=null?((Token)t212.stop):null));} } break; default : break loop127; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 82, andExpression_StartIndex); } } return retval; } // $ANTLR end "andExpression" public static class equalityExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "equalityExpression" // Java.g:1066:1: equalityExpression :t213= instanceOfExpression ( ( '==' | '!=' ) t214= instanceOfExpression )* ; public final equalityExpression_return equalityExpression() throws RecognitionException { equalityExpression_return retval = new equalityExpression_return(); retval.start = input.LT(1); int equalityExpression_StartIndex = input.index(); instanceOfExpression_return t213 =null; instanceOfExpression_return t214 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 83) ) { return retval; } // Java.g:1067:5: (t213= instanceOfExpression ( ( '==' | '!=' ) t214= instanceOfExpression )* ) // Java.g:1067:9: t213= instanceOfExpression ( ( '==' | '!=' ) t214= instanceOfExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("instanceOfExpression"));} pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression7758); t213=instanceOfExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t213!=null?((Token)t213.start):null), (t213!=null?((Token)t213.stop):null));} // Java.g:1068:9: ( ( '==' | '!=' ) t214= instanceOfExpression )* loop129: do { int alt129=2; int LA129_0 = input.LA(1); if ( (LA129_0==BANGEQ||LA129_0==EQEQ) ) { alt129=1; } switch (alt129) { case 1 : // Java.g:1069:13: ( '==' | '!=' ) t214= instanceOfExpression { // Java.g:1069:13: ( '==' | '!=' ) int alt128=2; int LA128_0 = input.LA(1); if ( (LA128_0==EQEQ) ) { alt128=1; } else if ( (LA128_0==BANGEQ) ) { alt128=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 128, 0, input); throw nvae; } switch (alt128) { case 1 : // Java.g:1069:17: '==' { match(input,EQEQ,FOLLOW_EQEQ_in_equalityExpression7791); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'=='",input.LT(-1));} } break; case 2 : // Java.g:1070:17: '!=' { match(input,BANGEQ,FOLLOW_BANGEQ_in_equalityExpression7810); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'!='",input.LT(-1));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("instanceOfExpression"));} pushFollow(FOLLOW_instanceOfExpression_in_equalityExpression7843); t214=instanceOfExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t214!=null?((Token)t214.start):null), (t214!=null?((Token)t214.stop):null));} } break; default : break loop129; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 83, equalityExpression_StartIndex); } } return retval; } // $ANTLR end "equalityExpression" public static class instanceOfExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "instanceOfExpression" // Java.g:1076:1: instanceOfExpression :t215= relationalExpression ( 'instanceof' t216= type )? ; public final instanceOfExpression_return instanceOfExpression() throws RecognitionException { instanceOfExpression_return retval = new instanceOfExpression_return(); retval.start = input.LT(1); int instanceOfExpression_StartIndex = input.index(); relationalExpression_return t215 =null; type_return t216 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 84) ) { return retval; } // Java.g:1077:5: (t215= relationalExpression ( 'instanceof' t216= type )? ) // Java.g:1077:9: t215= relationalExpression ( 'instanceof' t216= type )? { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("relationalExpression"));} pushFollow(FOLLOW_relationalExpression_in_instanceOfExpression7880); t215=relationalExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t215!=null?((Token)t215.start):null), (t215!=null?((Token)t215.stop):null));} // Java.g:1078:9: ( 'instanceof' t216= type )? int alt130=2; int LA130_0 = input.LA(1); if ( (LA130_0==INSTANCEOF) ) { alt130=1; } switch (alt130) { case 1 : // Java.g:1078:10: 'instanceof' t216= type { match(input,INSTANCEOF,FOLLOW_INSTANCEOF_in_instanceOfExpression7893); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'instanceof'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_instanceOfExpression7900); t216=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t216!=null?((Token)t216.start):null), (t216!=null?((Token)t216.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 84, instanceOfExpression_StartIndex); } } return retval; } // $ANTLR end "instanceOfExpression" public static class relationalExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "relationalExpression" // Java.g:1082:1: relationalExpression :t217= shiftExpression (t218= relationalOp t219= shiftExpression )* ; public final relationalExpression_return relationalExpression() throws RecognitionException { relationalExpression_return retval = new relationalExpression_return(); retval.start = input.LT(1); int relationalExpression_StartIndex = input.index(); shiftExpression_return t217 =null; relationalOp_return t218 =null; shiftExpression_return t219 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 85) ) { return retval; } // Java.g:1083:5: (t217= shiftExpression (t218= relationalOp t219= shiftExpression )* ) // Java.g:1083:9: t217= shiftExpression (t218= relationalOp t219= shiftExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("shiftExpression"));} pushFollow(FOLLOW_shiftExpression_in_relationalExpression7937); t217=shiftExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t217!=null?((Token)t217.start):null), (t217!=null?((Token)t217.stop):null));} // Java.g:1084:9: (t218= relationalOp t219= shiftExpression )* loop131: do { int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0==LT) ) { int LA131_2 = input.LA(2); if ( (LA131_2==BANG||(LA131_2 >= BINLITERAL && LA131_2 <= BOOLEAN)||LA131_2==BYTE||(LA131_2 >= CHAR && LA131_2 <= CHARLITERAL)||(LA131_2 >= DOUBLE && LA131_2 <= DOUBLELITERAL)||LA131_2==EQ||LA131_2==FALSE||(LA131_2 >= FLOAT && LA131_2 <= FLOATLITERAL)||LA131_2==IDENTIFIER||LA131_2==INT||LA131_2==INTLITERAL||(LA131_2 >= LONG && LA131_2 <= LPAREN)||(LA131_2 >= NEW && LA131_2 <= NULL)||LA131_2==PLUS||LA131_2==PLUSPLUS||LA131_2==SHORT||(LA131_2 >= STRINGLITERAL && LA131_2 <= SUB)||(LA131_2 >= SUBSUB && LA131_2 <= SUPER)||LA131_2==THIS||LA131_2==TILDE||LA131_2==TRUE||LA131_2==VOID) ) { alt131=1; } } else if ( (LA131_0==GT) ) { int LA131_3 = input.LA(2); if ( (LA131_3==BANG||(LA131_3 >= BINLITERAL && LA131_3 <= BOOLEAN)||LA131_3==BYTE||(LA131_3 >= CHAR && LA131_3 <= CHARLITERAL)||(LA131_3 >= DOUBLE && LA131_3 <= DOUBLELITERAL)||LA131_3==EQ||LA131_3==FALSE||(LA131_3 >= FLOAT && LA131_3 <= FLOATLITERAL)||LA131_3==IDENTIFIER||LA131_3==INT||LA131_3==INTLITERAL||(LA131_3 >= LONG && LA131_3 <= LPAREN)||(LA131_3 >= NEW && LA131_3 <= NULL)||LA131_3==PLUS||LA131_3==PLUSPLUS||LA131_3==SHORT||(LA131_3 >= STRINGLITERAL && LA131_3 <= SUB)||(LA131_3 >= SUBSUB && LA131_3 <= SUPER)||LA131_3==THIS||LA131_3==TILDE||LA131_3==TRUE||LA131_3==VOID) ) { alt131=1; } } switch (alt131) { case 1 : // Java.g:1084:10: t218= relationalOp t219= shiftExpression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("relationalOp"));} pushFollow(FOLLOW_relationalOp_in_relationalExpression7954); t218=relationalOp(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t218!=null?((Token)t218.start):null), (t218!=null?((Token)t218.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("shiftExpression"));} pushFollow(FOLLOW_shiftExpression_in_relationalExpression7962); t219=shiftExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t219!=null?((Token)t219.start):null), (t219!=null?((Token)t219.stop):null));} } break; default : break loop131; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 85, relationalExpression_StartIndex); } } return retval; } // $ANTLR end "relationalExpression" public static class relationalOp_return extends ParserRuleReturnScope { }; // $ANTLR start "relationalOp" // Java.g:1088:1: relationalOp : ( ( '<' ) ( '=' ) | ( '>' ) ( '=' ) | ( '<' ) | ( '>' ) ); public final relationalOp_return relationalOp() throws RecognitionException { relationalOp_return retval = new relationalOp_return(); retval.start = input.LT(1); int relationalOp_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 86) ) { return retval; } // Java.g:1089:5: ( ( '<' ) ( '=' ) | ( '>' ) ( '=' ) | ( '<' ) | ( '>' ) ) int alt132=4; int LA132_0 = input.LA(1); if ( (LA132_0==LT) ) { int LA132_1 = input.LA(2); if ( (LA132_1==EQ) ) { alt132=1; } else if ( (LA132_1==BANG||(LA132_1 >= BINLITERAL && LA132_1 <= BOOLEAN)||LA132_1==BYTE||(LA132_1 >= CHAR && LA132_1 <= CHARLITERAL)||(LA132_1 >= DOUBLE && LA132_1 <= DOUBLELITERAL)||LA132_1==FALSE||(LA132_1 >= FLOAT && LA132_1 <= FLOATLITERAL)||LA132_1==IDENTIFIER||LA132_1==INT||LA132_1==INTLITERAL||(LA132_1 >= LONG && LA132_1 <= LPAREN)||(LA132_1 >= NEW && LA132_1 <= NULL)||LA132_1==PLUS||LA132_1==PLUSPLUS||LA132_1==SHORT||(LA132_1 >= STRINGLITERAL && LA132_1 <= SUB)||(LA132_1 >= SUBSUB && LA132_1 <= SUPER)||LA132_1==THIS||LA132_1==TILDE||LA132_1==TRUE||LA132_1==VOID) ) { alt132=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 132, 1, input); throw nvae; } } else if ( (LA132_0==GT) ) { int LA132_2 = input.LA(2); if ( (LA132_2==EQ) ) { alt132=2; } else if ( (LA132_2==BANG||(LA132_2 >= BINLITERAL && LA132_2 <= BOOLEAN)||LA132_2==BYTE||(LA132_2 >= CHAR && LA132_2 <= CHARLITERAL)||(LA132_2 >= DOUBLE && LA132_2 <= DOUBLELITERAL)||LA132_2==FALSE||(LA132_2 >= FLOAT && LA132_2 <= FLOATLITERAL)||LA132_2==IDENTIFIER||LA132_2==INT||LA132_2==INTLITERAL||(LA132_2 >= LONG && LA132_2 <= LPAREN)||(LA132_2 >= NEW && LA132_2 <= NULL)||LA132_2==PLUS||LA132_2==PLUSPLUS||LA132_2==SHORT||(LA132_2 >= STRINGLITERAL && LA132_2 <= SUB)||(LA132_2 >= SUBSUB && LA132_2 <= SUPER)||LA132_2==THIS||LA132_2==TILDE||LA132_2==TRUE||LA132_2==VOID) ) { alt132=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 132, 2, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 132, 0, input); throw nvae; } switch (alt132) { case 1 : // Java.g:1089:10: ( '<' ) ( '=' ) { // Java.g:1089:10: ( '<' ) // Java.g:1089:11: '<' { match(input,LT,FOLLOW_LT_in_relationalOp7997); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1089:48: ( '=' ) // Java.g:1089:49: '=' { match(input,EQ,FOLLOW_EQ_in_relationalOp8002); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; case 2 : // Java.g:1090:10: ( '>' ) ( '=' ) { // Java.g:1090:10: ( '>' ) // Java.g:1090:11: '>' { match(input,GT,FOLLOW_GT_in_relationalOp8016); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1090:48: ( '=' ) // Java.g:1090:49: '=' { match(input,EQ,FOLLOW_EQ_in_relationalOp8021); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'='",input.LT(-1));} } } break; case 3 : // Java.g:1091:9: ( '<' ) { // Java.g:1091:9: ( '<' ) // Java.g:1091:10: '<' { match(input,LT,FOLLOW_LT_in_relationalOp8034); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } } break; case 4 : // Java.g:1092:9: ( '>' ) { // Java.g:1092:9: ( '>' ) // Java.g:1092:10: '>' { match(input,GT,FOLLOW_GT_in_relationalOp8047); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 86, relationalOp_StartIndex); } } return retval; } // $ANTLR end "relationalOp" public static class shiftExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "shiftExpression" // Java.g:1095:1: shiftExpression :t220= additiveExpression (t221= shiftOp t222= additiveExpression )* ; public final shiftExpression_return shiftExpression() throws RecognitionException { shiftExpression_return retval = new shiftExpression_return(); retval.start = input.LT(1); int shiftExpression_StartIndex = input.index(); additiveExpression_return t220 =null; shiftOp_return t221 =null; additiveExpression_return t222 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 87) ) { return retval; } // Java.g:1096:5: (t220= additiveExpression (t221= shiftOp t222= additiveExpression )* ) // Java.g:1096:9: t220= additiveExpression (t221= shiftOp t222= additiveExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("additiveExpression"));} pushFollow(FOLLOW_additiveExpression_in_shiftExpression8073); t220=additiveExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t220!=null?((Token)t220.start):null), (t220!=null?((Token)t220.stop):null));} // Java.g:1097:9: (t221= shiftOp t222= additiveExpression )* loop133: do { int alt133=2; int LA133_0 = input.LA(1); if ( (LA133_0==LT) ) { int LA133_1 = input.LA(2); if ( (LA133_1==LT) ) { int LA133_4 = input.LA(3); if ( (LA133_4==BANG||(LA133_4 >= BINLITERAL && LA133_4 <= BOOLEAN)||LA133_4==BYTE||(LA133_4 >= CHAR && LA133_4 <= CHARLITERAL)||(LA133_4 >= DOUBLE && LA133_4 <= DOUBLELITERAL)||LA133_4==FALSE||(LA133_4 >= FLOAT && LA133_4 <= FLOATLITERAL)||LA133_4==IDENTIFIER||LA133_4==INT||LA133_4==INTLITERAL||(LA133_4 >= LONG && LA133_4 <= LPAREN)||(LA133_4 >= NEW && LA133_4 <= NULL)||LA133_4==PLUS||LA133_4==PLUSPLUS||LA133_4==SHORT||(LA133_4 >= STRINGLITERAL && LA133_4 <= SUB)||(LA133_4 >= SUBSUB && LA133_4 <= SUPER)||LA133_4==THIS||LA133_4==TILDE||LA133_4==TRUE||LA133_4==VOID) ) { alt133=1; } } } else if ( (LA133_0==GT) ) { int LA133_2 = input.LA(2); if ( (LA133_2==GT) ) { int LA133_5 = input.LA(3); if ( (LA133_5==GT) ) { int LA133_7 = input.LA(4); if ( (LA133_7==BANG||(LA133_7 >= BINLITERAL && LA133_7 <= BOOLEAN)||LA133_7==BYTE||(LA133_7 >= CHAR && LA133_7 <= CHARLITERAL)||(LA133_7 >= DOUBLE && LA133_7 <= DOUBLELITERAL)||LA133_7==FALSE||(LA133_7 >= FLOAT && LA133_7 <= FLOATLITERAL)||LA133_7==IDENTIFIER||LA133_7==INT||LA133_7==INTLITERAL||(LA133_7 >= LONG && LA133_7 <= LPAREN)||(LA133_7 >= NEW && LA133_7 <= NULL)||LA133_7==PLUS||LA133_7==PLUSPLUS||LA133_7==SHORT||(LA133_7 >= STRINGLITERAL && LA133_7 <= SUB)||(LA133_7 >= SUBSUB && LA133_7 <= SUPER)||LA133_7==THIS||LA133_7==TILDE||LA133_7==TRUE||LA133_7==VOID) ) { alt133=1; } } else if ( (LA133_5==BANG||(LA133_5 >= BINLITERAL && LA133_5 <= BOOLEAN)||LA133_5==BYTE||(LA133_5 >= CHAR && LA133_5 <= CHARLITERAL)||(LA133_5 >= DOUBLE && LA133_5 <= DOUBLELITERAL)||LA133_5==FALSE||(LA133_5 >= FLOAT && LA133_5 <= FLOATLITERAL)||LA133_5==IDENTIFIER||LA133_5==INT||LA133_5==INTLITERAL||(LA133_5 >= LONG && LA133_5 <= LPAREN)||(LA133_5 >= NEW && LA133_5 <= NULL)||LA133_5==PLUS||LA133_5==PLUSPLUS||LA133_5==SHORT||(LA133_5 >= STRINGLITERAL && LA133_5 <= SUB)||(LA133_5 >= SUBSUB && LA133_5 <= SUPER)||LA133_5==THIS||LA133_5==TILDE||LA133_5==TRUE||LA133_5==VOID) ) { alt133=1; } } } switch (alt133) { case 1 : // Java.g:1097:10: t221= shiftOp t222= additiveExpression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("shiftOp"));} pushFollow(FOLLOW_shiftOp_in_shiftExpression8090); t221=shiftOp(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t221!=null?((Token)t221.start):null), (t221!=null?((Token)t221.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("additiveExpression"));} pushFollow(FOLLOW_additiveExpression_in_shiftExpression8098); t222=additiveExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t222!=null?((Token)t222.start):null), (t222!=null?((Token)t222.stop):null));} } break; default : break loop133; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 87, shiftExpression_StartIndex); } } return retval; } // $ANTLR end "shiftExpression" public static class shiftOp_return extends ParserRuleReturnScope { }; // $ANTLR start "shiftOp" // Java.g:1102:1: shiftOp : ( ( '<' ) ( '<' ) | ( '>' ) ( '>' ) ( '>' ) | ( '>' ) ( '>' ) ); public final shiftOp_return shiftOp() throws RecognitionException { shiftOp_return retval = new shiftOp_return(); retval.start = input.LT(1); int shiftOp_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 88) ) { return retval; } // Java.g:1103:5: ( ( '<' ) ( '<' ) | ( '>' ) ( '>' ) ( '>' ) | ( '>' ) ( '>' ) ) int alt134=3; int LA134_0 = input.LA(1); if ( (LA134_0==LT) ) { alt134=1; } else if ( (LA134_0==GT) ) { int LA134_2 = input.LA(2); if ( (LA134_2==GT) ) { int LA134_3 = input.LA(3); if ( (LA134_3==GT) ) { alt134=2; } else if ( (LA134_3==BANG||(LA134_3 >= BINLITERAL && LA134_3 <= BOOLEAN)||LA134_3==BYTE||(LA134_3 >= CHAR && LA134_3 <= CHARLITERAL)||(LA134_3 >= DOUBLE && LA134_3 <= DOUBLELITERAL)||LA134_3==FALSE||(LA134_3 >= FLOAT && LA134_3 <= FLOATLITERAL)||LA134_3==IDENTIFIER||LA134_3==INT||LA134_3==INTLITERAL||(LA134_3 >= LONG && LA134_3 <= LPAREN)||(LA134_3 >= NEW && LA134_3 <= NULL)||LA134_3==PLUS||LA134_3==PLUSPLUS||LA134_3==SHORT||(LA134_3 >= STRINGLITERAL && LA134_3 <= SUB)||(LA134_3 >= SUBSUB && LA134_3 <= SUPER)||LA134_3==THIS||LA134_3==TILDE||LA134_3==TRUE||LA134_3==VOID) ) { alt134=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 134, 3, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 134, 2, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 134, 0, input); throw nvae; } switch (alt134) { case 1 : // Java.g:1103:10: ( '<' ) ( '<' ) { // Java.g:1103:10: ( '<' ) // Java.g:1103:11: '<' { match(input,LT,FOLLOW_LT_in_shiftOp8134); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1103:48: ( '<' ) // Java.g:1103:49: '<' { match(input,LT,FOLLOW_LT_in_shiftOp8139); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } } break; case 2 : // Java.g:1104:10: ( '>' ) ( '>' ) ( '>' ) { // Java.g:1104:10: ( '>' ) // Java.g:1104:11: '>' { match(input,GT,FOLLOW_GT_in_shiftOp8153); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1104:48: ( '>' ) // Java.g:1104:49: '>' { match(input,GT,FOLLOW_GT_in_shiftOp8158); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1104:86: ( '>' ) // Java.g:1104:87: '>' { match(input,GT,FOLLOW_GT_in_shiftOp8163); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } break; case 3 : // Java.g:1105:10: ( '>' ) ( '>' ) { // Java.g:1105:10: ( '>' ) // Java.g:1105:11: '>' { match(input,GT,FOLLOW_GT_in_shiftOp8177); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } // Java.g:1105:48: ( '>' ) // Java.g:1105:49: '>' { match(input,GT,FOLLOW_GT_in_shiftOp8182); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 88, shiftOp_StartIndex); } } return retval; } // $ANTLR end "shiftOp" public static class additiveExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "additiveExpression" // Java.g:1109:1: additiveExpression :t223= multiplicativeExpression ( ( ( '+' ) | ( '-' ) ) t224= multiplicativeExpression )* ; public final additiveExpression_return additiveExpression() throws RecognitionException { additiveExpression_return retval = new additiveExpression_return(); retval.start = input.LT(1); int additiveExpression_StartIndex = input.index(); multiplicativeExpression_return t223 =null; multiplicativeExpression_return t224 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 89) ) { return retval; } // Java.g:1110:5: (t223= multiplicativeExpression ( ( ( '+' ) | ( '-' ) ) t224= multiplicativeExpression )* ) // Java.g:1110:9: t223= multiplicativeExpression ( ( ( '+' ) | ( '-' ) ) t224= multiplicativeExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("multiplicativeExpression"));} pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression8209); t223=multiplicativeExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t223!=null?((Token)t223.start):null), (t223!=null?((Token)t223.stop):null));} // Java.g:1111:9: ( ( ( '+' ) | ( '-' ) ) t224= multiplicativeExpression )* loop136: do { int alt136=2; int LA136_0 = input.LA(1); if ( (LA136_0==PLUS||LA136_0==SUB) ) { alt136=1; } switch (alt136) { case 1 : // Java.g:1112:13: ( ( '+' ) | ( '-' ) ) t224= multiplicativeExpression { // Java.g:1112:13: ( ( '+' ) | ( '-' ) ) int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==PLUS) ) { alt135=1; } else if ( (LA135_0==SUB) ) { alt135=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 135, 0, input); throw nvae; } switch (alt135) { case 1 : // Java.g:1112:17: ( '+' ) { // Java.g:1112:17: ( '+' ) // Java.g:1112:18: '+' { match(input,PLUS,FOLLOW_PLUS_in_additiveExpression8243); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'+'",input.LT(-1));} } } break; case 2 : // Java.g:1113:17: ( '-' ) { // Java.g:1113:17: ( '-' ) // Java.g:1113:18: '-' { match(input,SUB,FOLLOW_SUB_in_additiveExpression8264); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'-'",input.LT(-1));} } } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("multiplicativeExpression"));} pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression8298); t224=multiplicativeExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t224!=null?((Token)t224.start):null), (t224!=null?((Token)t224.stop):null));} } break; default : break loop136; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 89, additiveExpression_StartIndex); } } return retval; } // $ANTLR end "additiveExpression" public static class multiplicativeExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "multiplicativeExpression" // Java.g:1119:1: multiplicativeExpression :t225= unaryExpression ( ( ( '*' ) | ( '/' ) | ( '%' ) ) t226= unaryExpression )* ; public final multiplicativeExpression_return multiplicativeExpression() throws RecognitionException { multiplicativeExpression_return retval = new multiplicativeExpression_return(); retval.start = input.LT(1); int multiplicativeExpression_StartIndex = input.index(); unaryExpression_return t225 =null; unaryExpression_return t226 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 90) ) { return retval; } // Java.g:1120:5: (t225= unaryExpression ( ( ( '*' ) | ( '/' ) | ( '%' ) ) t226= unaryExpression )* ) // Java.g:1121:9: t225= unaryExpression ( ( ( '*' ) | ( '/' ) | ( '%' ) ) t226= unaryExpression )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression8342); t225=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t225!=null?((Token)t225.start):null), (t225!=null?((Token)t225.stop):null));} // Java.g:1122:9: ( ( ( '*' ) | ( '/' ) | ( '%' ) ) t226= unaryExpression )* loop138: do { int alt138=2; int LA138_0 = input.LA(1); if ( (LA138_0==PERCENT||LA138_0==SLASH||LA138_0==STAR) ) { alt138=1; } switch (alt138) { case 1 : // Java.g:1123:13: ( ( '*' ) | ( '/' ) | ( '%' ) ) t226= unaryExpression { // Java.g:1123:13: ( ( '*' ) | ( '/' ) | ( '%' ) ) int alt137=3; switch ( input.LA(1) ) { case STAR: { alt137=1; } break; case SLASH: { alt137=2; } break; case PERCENT: { alt137=3; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 137, 0, input); throw nvae; } switch (alt137) { case 1 : // Java.g:1123:17: ( '*' ) { // Java.g:1123:17: ( '*' ) // Java.g:1123:18: '*' { match(input,STAR,FOLLOW_STAR_in_multiplicativeExpression8376); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'*'",input.LT(-1));} } } break; case 2 : // Java.g:1124:17: ( '/' ) { // Java.g:1124:17: ( '/' ) // Java.g:1124:18: '/' { match(input,SLASH,FOLLOW_SLASH_in_multiplicativeExpression8397); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'/'",input.LT(-1));} } } break; case 3 : // Java.g:1125:17: ( '%' ) { // Java.g:1125:17: ( '%' ) // Java.g:1125:18: '%' { match(input,PERCENT,FOLLOW_PERCENT_in_multiplicativeExpression8418); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'%'",input.LT(-1));} } } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression8452); t226=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t226!=null?((Token)t226.start):null), (t226!=null?((Token)t226.stop):null));} } break; default : break loop138; } } while (true); } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 90, multiplicativeExpression_StartIndex); } } return retval; } // $ANTLR end "multiplicativeExpression" public static class unaryExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "unaryExpression" // Java.g:1135:1: unaryExpression : ( ( '+' ) t227= unaryExpression | ( '-' ) t228= unaryExpression | '++' t229= unaryExpression | '--' t230= unaryExpression |t231= unaryExpressionNotPlusMinus ); public final unaryExpression_return unaryExpression() throws RecognitionException { unaryExpression_return retval = new unaryExpression_return(); retval.start = input.LT(1); int unaryExpression_StartIndex = input.index(); unaryExpression_return t227 =null; unaryExpression_return t228 =null; unaryExpression_return t229 =null; unaryExpression_return t230 =null; unaryExpressionNotPlusMinus_return t231 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 91) ) { return retval; } // Java.g:1136:5: ( ( '+' ) t227= unaryExpression | ( '-' ) t228= unaryExpression | '++' t229= unaryExpression | '--' t230= unaryExpression |t231= unaryExpressionNotPlusMinus ) int alt139=5; switch ( input.LA(1) ) { case PLUS: { alt139=1; } break; case SUB: { alt139=2; } break; case PLUSPLUS: { alt139=3; } break; case SUBSUB: { alt139=4; } break; case BANG: case BINLITERAL: case BOOLEAN: case BYTE: case CHAR: case CHARLITERAL: case DOUBLE: case DOUBLELITERAL: case FALSE: case FLOAT: case FLOATLITERAL: case IDENTIFIER: case INT: case INTLITERAL: case LONG: case LONGLITERAL: case LPAREN: case NEW: case NULL: case SHORT: case STRINGLITERAL: case SUPER: case THIS: case TILDE: case TRUE: case VOID: { alt139=5; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 139, 0, input); throw nvae; } switch (alt139) { case 1 : // Java.g:1136:9: ( '+' ) t227= unaryExpression { // Java.g:1136:9: ( '+' ) // Java.g:1136:10: '+' { match(input,PLUS,FOLLOW_PLUS_in_unaryExpression8488); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'+'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpression8497); t227=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t227!=null?((Token)t227.start):null), (t227!=null?((Token)t227.stop):null));} } break; case 2 : // Java.g:1137:9: ( '-' ) t228= unaryExpression { // Java.g:1137:9: ( '-' ) // Java.g:1137:10: '-' { match(input,SUB,FOLLOW_SUB_in_unaryExpression8510); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'-'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpression8518); t228=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t228!=null?((Token)t228.start):null), (t228!=null?((Token)t228.stop):null));} } break; case 3 : // Java.g:1138:9: '++' t229= unaryExpression { match(input,PLUSPLUS,FOLLOW_PLUSPLUS_in_unaryExpression8530); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'++'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpression8537); t229=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t229!=null?((Token)t229.start):null), (t229!=null?((Token)t229.stop):null));} } break; case 4 : // Java.g:1139:9: '--' t230= unaryExpression { match(input,SUBSUB,FOLLOW_SUBSUB_in_unaryExpression8549); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'--'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpression8556); t230=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t230!=null?((Token)t230.start):null), (t230!=null?((Token)t230.stop):null));} } break; case 5 : // Java.g:1140:9: t231= unaryExpressionNotPlusMinus { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpressionNotPlusMinus"));} pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression8572); t231=unaryExpressionNotPlusMinus(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t231!=null?((Token)t231.start):null), (t231!=null?((Token)t231.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 91, unaryExpression_StartIndex); } } return retval; } // $ANTLR end "unaryExpression" public static class unaryExpressionNotPlusMinus_return extends ParserRuleReturnScope { }; // $ANTLR start "unaryExpressionNotPlusMinus" // Java.g:1143:1: unaryExpressionNotPlusMinus : ( ( '~' ) t232= unaryExpression | ( '!' ) t233= unaryExpression |t234= castExpression |t235= primary (t236= selector )* ( '++' | '--' )? ); public final unaryExpressionNotPlusMinus_return unaryExpressionNotPlusMinus() throws RecognitionException { unaryExpressionNotPlusMinus_return retval = new unaryExpressionNotPlusMinus_return(); retval.start = input.LT(1); int unaryExpressionNotPlusMinus_StartIndex = input.index(); unaryExpression_return t232 =null; unaryExpression_return t233 =null; castExpression_return t234 =null; primary_return t235 =null; selector_return t236 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 92) ) { return retval; } // Java.g:1144:5: ( ( '~' ) t232= unaryExpression | ( '!' ) t233= unaryExpression |t234= castExpression |t235= primary (t236= selector )* ( '++' | '--' )? ) int alt142=4; switch ( input.LA(1) ) { case TILDE: { alt142=1; } break; case BANG: { alt142=2; } break; case LPAREN: { int LA142_3 = input.LA(2); if ( (synpred209_Java()) ) { alt142=3; } else if ( (true) ) { alt142=4; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 142, 3, input); throw nvae; } } break; case BINLITERAL: case BOOLEAN: case BYTE: case CHAR: case CHARLITERAL: case DOUBLE: case DOUBLELITERAL: case FALSE: case FLOAT: case FLOATLITERAL: case IDENTIFIER: case INT: case INTLITERAL: case LONG: case LONGLITERAL: case NEW: case NULL: case SHORT: case STRINGLITERAL: case SUPER: case THIS: case TRUE: case VOID: { alt142=4; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 142, 0, input); throw nvae; } switch (alt142) { case 1 : // Java.g:1144:9: ( '~' ) t232= unaryExpression { // Java.g:1144:9: ( '~' ) // Java.g:1144:10: '~' { match(input,TILDE,FOLLOW_TILDE_in_unaryExpressionNotPlusMinus8595); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'~'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus8603); t232=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t232!=null?((Token)t232.start):null), (t232!=null?((Token)t232.stop):null));} } break; case 2 : // Java.g:1145:9: ( '!' ) t233= unaryExpression { // Java.g:1145:9: ( '!' ) // Java.g:1145:10: '!' { match(input,BANG,FOLLOW_BANG_in_unaryExpressionNotPlusMinus8616); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'!'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus8624); t233=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t233!=null?((Token)t233.start):null), (t233!=null?((Token)t233.stop):null));} } break; case 3 : // Java.g:1146:9: t234= castExpression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("castExpression"));} pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus8640); t234=castExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t234!=null?((Token)t234.start):null), (t234!=null?((Token)t234.stop):null));} } break; case 4 : // Java.g:1147:9: t235= primary (t236= selector )* ( '++' | '--' )? { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primary"));} pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus8656); t235=primary(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t235!=null?((Token)t235.start):null), (t235!=null?((Token)t235.stop):null));} // Java.g:1148:9: (t236= selector )* loop140: do { int alt140=2; int LA140_0 = input.LA(1); if ( (LA140_0==DOT||LA140_0==LBRACKET) ) { alt140=1; } switch (alt140) { case 1 : // Java.g:1148:10: t236= selector { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("selector"));} pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus8673); t236=selector(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t236!=null?((Token)t236.start):null), (t236!=null?((Token)t236.stop):null));} } break; default : break loop140; } } while (true); // Java.g:1150:9: ( '++' | '--' )? int alt141=3; int LA141_0 = input.LA(1); if ( (LA141_0==PLUSPLUS) ) { alt141=1; } else if ( (LA141_0==SUBSUB) ) { alt141=2; } switch (alt141) { case 1 : // Java.g:1150:13: '++' { match(input,PLUSPLUS,FOLLOW_PLUSPLUS_in_unaryExpressionNotPlusMinus8700); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'++'",input.LT(-1));} } break; case 2 : // Java.g:1151:13: '--' { match(input,SUBSUB,FOLLOW_SUBSUB_in_unaryExpressionNotPlusMinus8715); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'--'",input.LT(-1));} } break; } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 92, unaryExpressionNotPlusMinus_StartIndex); } } return retval; } // $ANTLR end "unaryExpressionNotPlusMinus" public static class castExpression_return extends ParserRuleReturnScope { }; // $ANTLR start "castExpression" // Java.g:1155:1: castExpression : ( ( '(' ) t237= primitiveType ( ')' ) t238= unaryExpression | ( '(' ) t239= type ( ')' ) t240= unaryExpressionNotPlusMinus ); public final castExpression_return castExpression() throws RecognitionException { castExpression_return retval = new castExpression_return(); retval.start = input.LT(1); int castExpression_StartIndex = input.index(); primitiveType_return t237 =null; unaryExpression_return t238 =null; type_return t239 =null; unaryExpressionNotPlusMinus_return t240 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 93) ) { return retval; } // Java.g:1156:5: ( ( '(' ) t237= primitiveType ( ')' ) t238= unaryExpression | ( '(' ) t239= type ( ')' ) t240= unaryExpressionNotPlusMinus ) int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==LPAREN) ) { int LA143_1 = input.LA(2); if ( (synpred213_Java()) ) { alt143=1; } else if ( (true) ) { alt143=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 143, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 143, 0, input); throw nvae; } switch (alt143) { case 1 : // Java.g:1156:9: ( '(' ) t237= primitiveType ( ')' ) t238= unaryExpression { // Java.g:1156:9: ( '(' ) // Java.g:1156:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_castExpression8748); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primitiveType"));} pushFollow(FOLLOW_primitiveType_in_castExpression8756); t237=primitiveType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t237!=null?((Token)t237.start):null), (t237!=null?((Token)t237.stop):null));} // Java.g:1156:180: ( ')' ) // Java.g:1156:181: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_castExpression8761); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpression"));} pushFollow(FOLLOW_unaryExpression_in_castExpression8769); t238=unaryExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t238!=null?((Token)t238.start):null), (t238!=null?((Token)t238.stop):null));} } break; case 2 : // Java.g:1157:9: ( '(' ) t239= type ( ')' ) t240= unaryExpressionNotPlusMinus { // Java.g:1157:9: ( '(' ) // Java.g:1157:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_castExpression8782); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("type"));} pushFollow(FOLLOW_type_in_castExpression8790); t239=type(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t239!=null?((Token)t239.start):null), (t239!=null?((Token)t239.stop):null));} // Java.g:1157:162: ( ')' ) // Java.g:1157:163: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_castExpression8795); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("unaryExpressionNotPlusMinus"));} pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_castExpression8803); t240=unaryExpressionNotPlusMinus(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t240!=null?((Token)t240.start):null), (t240!=null?((Token)t240.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 93, castExpression_StartIndex); } } return retval; } // $ANTLR end "castExpression" public static class primary_return extends ParserRuleReturnScope { }; // $ANTLR start "primary" // Java.g:1163:1: primary : (t241= parExpression | 'this' ( ( '.' ) IDENTIFIER )* (t242= identifierSuffix )? | IDENTIFIER ( ( '.' ) IDENTIFIER )* (t243= identifierSuffix )? | 'super' t244= superSuffix |t245= literal |t246= creator |t247= primitiveType ( ( '[' ) ( ']' ) )* ( '.' ) 'class' | 'void' ( '.' ) 'class' ); public final primary_return primary() throws RecognitionException { primary_return retval = new primary_return(); retval.start = input.LT(1); int primary_StartIndex = input.index(); parExpression_return t241 =null; identifierSuffix_return t242 =null; identifierSuffix_return t243 =null; superSuffix_return t244 =null; literal_return t245 =null; creator_return t246 =null; primitiveType_return t247 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return retval; } // Java.g:1164:5: (t241= parExpression | 'this' ( ( '.' ) IDENTIFIER )* (t242= identifierSuffix )? | IDENTIFIER ( ( '.' ) IDENTIFIER )* (t243= identifierSuffix )? | 'super' t244= superSuffix |t245= literal |t246= creator |t247= primitiveType ( ( '[' ) ( ']' ) )* ( '.' ) 'class' | 'void' ( '.' ) 'class' ) int alt149=8; switch ( input.LA(1) ) { case LPAREN: { alt149=1; } break; case THIS: { alt149=2; } break; case IDENTIFIER: { alt149=3; } break; case SUPER: { alt149=4; } break; case BINLITERAL: case CHARLITERAL: case DOUBLELITERAL: case FALSE: case FLOATLITERAL: case INTLITERAL: case LONGLITERAL: case NULL: case STRINGLITERAL: case TRUE: { alt149=5; } break; case NEW: { alt149=6; } break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: { alt149=7; } break; case VOID: { alt149=8; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 149, 0, input); throw nvae; } switch (alt149) { case 1 : // Java.g:1164:9: t241= parExpression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("parExpression"));} pushFollow(FOLLOW_parExpression_in_primary8831); t241=parExpression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t241!=null?((Token)t241.start):null), (t241!=null?((Token)t241.stop):null));} } break; case 2 : // Java.g:1165:9: 'this' ( ( '.' ) IDENTIFIER )* (t242= identifierSuffix )? { match(input,THIS,FOLLOW_THIS_in_primary8855); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'this'",input.LT(-1));} // Java.g:1166:9: ( ( '.' ) IDENTIFIER )* loop144: do { int alt144=2; int LA144_0 = input.LA(1); if ( (LA144_0==DOT) ) { int LA144_2 = input.LA(2); if ( (LA144_2==IDENTIFIER) ) { int LA144_3 = input.LA(3); if ( (synpred215_Java()) ) { alt144=1; } } } switch (alt144) { case 1 : // Java.g:1166:10: ( '.' ) IDENTIFIER { // Java.g:1166:10: ( '.' ) // Java.g:1166:11: '.' { match(input,DOT,FOLLOW_DOT_in_primary8868); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primary8872); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; default : break loop144; } } while (true); // Java.g:1168:9: (t242= identifierSuffix )? int alt145=2; switch ( input.LA(1) ) { case LBRACKET: { int LA145_1 = input.LA(2); if ( (synpred216_Java()) ) { alt145=1; } } break; case LPAREN: { alt145=1; } break; case DOT: { int LA145_3 = input.LA(2); if ( (synpred216_Java()) ) { alt145=1; } } break; } switch (alt145) { case 1 : // Java.g:1168:10: t242= identifierSuffix { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("identifierSuffix"));} pushFollow(FOLLOW_identifierSuffix_in_primary8900); t242=identifierSuffix(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t242!=null?((Token)t242.start):null), (t242!=null?((Token)t242.stop):null));} } break; } } break; case 3 : // Java.g:1170:9: IDENTIFIER ( ( '.' ) IDENTIFIER )* (t243= identifierSuffix )? { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primary8923); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:1171:9: ( ( '.' ) IDENTIFIER )* loop146: do { int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==DOT) ) { int LA146_2 = input.LA(2); if ( (LA146_2==IDENTIFIER) ) { int LA146_3 = input.LA(3); if ( (synpred218_Java()) ) { alt146=1; } } } switch (alt146) { case 1 : // Java.g:1171:10: ( '.' ) IDENTIFIER { // Java.g:1171:10: ( '.' ) // Java.g:1171:11: '.' { match(input,DOT,FOLLOW_DOT_in_primary8937); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primary8941); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; default : break loop146; } } while (true); // Java.g:1173:9: (t243= identifierSuffix )? int alt147=2; switch ( input.LA(1) ) { case LBRACKET: { int LA147_1 = input.LA(2); if ( (synpred219_Java()) ) { alt147=1; } } break; case LPAREN: { alt147=1; } break; case DOT: { int LA147_3 = input.LA(2); if ( (synpred219_Java()) ) { alt147=1; } } break; } switch (alt147) { case 1 : // Java.g:1173:10: t243= identifierSuffix { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("identifierSuffix"));} pushFollow(FOLLOW_identifierSuffix_in_primary8969); t243=identifierSuffix(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t243!=null?((Token)t243.start):null), (t243!=null?((Token)t243.stop):null));} } break; } } break; case 4 : // Java.g:1175:9: 'super' t244= superSuffix { match(input,SUPER,FOLLOW_SUPER_in_primary8992); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("superSuffix"));} pushFollow(FOLLOW_superSuffix_in_primary9007); t244=superSuffix(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t244!=null?((Token)t244.start):null), (t244!=null?((Token)t244.stop):null));} } break; case 5 : // Java.g:1177:9: t245= literal { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("literal"));} pushFollow(FOLLOW_literal_in_primary9023); t245=literal(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t245!=null?((Token)t245.start):null), (t245!=null?((Token)t245.stop):null));} } break; case 6 : // Java.g:1178:9: t246= creator { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("creator"));} pushFollow(FOLLOW_creator_in_primary9039); t246=creator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t246!=null?((Token)t246.start):null), (t246!=null?((Token)t246.stop):null));} } break; case 7 : // Java.g:1179:9: t247= primitiveType ( ( '[' ) ( ']' ) )* ( '.' ) 'class' { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primitiveType"));} pushFollow(FOLLOW_primitiveType_in_primary9055); t247=primitiveType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t247!=null?((Token)t247.start):null), (t247!=null?((Token)t247.stop):null));} // Java.g:1180:9: ( ( '[' ) ( ']' ) )* loop148: do { int alt148=2; int LA148_0 = input.LA(1); if ( (LA148_0==LBRACKET) ) { alt148=1; } switch (alt148) { case 1 : // Java.g:1180:10: ( '[' ) ( ']' ) { // Java.g:1180:10: ( '[' ) // Java.g:1180:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_primary9069); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:1180:48: ( ']' ) // Java.g:1180:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_primary9074); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop148; } } while (true); // Java.g:1182:9: ( '.' ) // Java.g:1182:10: '.' { match(input,DOT,FOLLOW_DOT_in_primary9098); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,CLASS,FOLLOW_CLASS_in_primary9102); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'class'",input.LT(-1));} } break; case 8 : // Java.g:1183:9: 'void' ( '.' ) 'class' { match(input,VOID,FOLLOW_VOID_in_primary9113); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'void'",input.LT(-1));} // Java.g:1183:51: ( '.' ) // Java.g:1183:52: '.' { match(input,DOT,FOLLOW_DOT_in_primary9117); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,CLASS,FOLLOW_CLASS_in_primary9121); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'class'",input.LT(-1));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 94, primary_StartIndex); } } return retval; } // $ANTLR end "primary" public static class superSuffix_return extends ParserRuleReturnScope { }; // $ANTLR start "superSuffix" // Java.g:1187:1: superSuffix : (t248= arguments | ( '.' ) (t249= typeArguments )? IDENTIFIER (t250= arguments )? ); public final superSuffix_return superSuffix() throws RecognitionException { superSuffix_return retval = new superSuffix_return(); retval.start = input.LT(1); int superSuffix_StartIndex = input.index(); arguments_return t248 =null; typeArguments_return t249 =null; arguments_return t250 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 95) ) { return retval; } // Java.g:1188:5: (t248= arguments | ( '.' ) (t249= typeArguments )? IDENTIFIER (t250= arguments )? ) int alt152=2; int LA152_0 = input.LA(1); if ( (LA152_0==LPAREN) ) { alt152=1; } else if ( (LA152_0==DOT) ) { alt152=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 152, 0, input); throw nvae; } switch (alt152) { case 1 : // Java.g:1188:9: t248= arguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_superSuffix9152); t248=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t248!=null?((Token)t248.start):null), (t248!=null?((Token)t248.stop):null));} } break; case 2 : // Java.g:1189:9: ( '.' ) (t249= typeArguments )? IDENTIFIER (t250= arguments )? { // Java.g:1189:9: ( '.' ) // Java.g:1189:10: '.' { match(input,DOT,FOLLOW_DOT_in_superSuffix9165); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } // Java.g:1189:47: (t249= typeArguments )? int alt150=2; int LA150_0 = input.LA(1); if ( (LA150_0==LT) ) { alt150=1; } switch (alt150) { case 1 : // Java.g:1189:48: t249= typeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArguments"));} pushFollow(FOLLOW_typeArguments_in_superSuffix9174); t249=typeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t249!=null?((Token)t249.start):null), (t249!=null?((Token)t249.stop):null));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_superSuffix9197); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:1192:9: (t250= arguments )? int alt151=2; int LA151_0 = input.LA(1); if ( (LA151_0==LPAREN) ) { alt151=1; } switch (alt151) { case 1 : // Java.g:1192:10: t250= arguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_superSuffix9214); t250=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t250!=null?((Token)t250.start):null), (t250!=null?((Token)t250.stop):null));} } break; } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 95, superSuffix_StartIndex); } } return retval; } // $ANTLR end "superSuffix" public static class identifierSuffix_return extends ParserRuleReturnScope { }; // $ANTLR start "identifierSuffix" // Java.g:1197:1: identifierSuffix : ( ( ( '[' ) ( ']' ) )+ ( '.' ) 'class' | ( ( '[' ) t251= expression ( ']' ) )+ |t252= arguments | ( '.' ) 'class' | ( '.' ) t253= nonWildcardTypeArguments IDENTIFIER t254= arguments | ( '.' ) 'this' | ( '.' ) 'super' t255= arguments |t256= innerCreator ); public final identifierSuffix_return identifierSuffix() throws RecognitionException { identifierSuffix_return retval = new identifierSuffix_return(); retval.start = input.LT(1); int identifierSuffix_StartIndex = input.index(); expression_return t251 =null; arguments_return t252 =null; nonWildcardTypeArguments_return t253 =null; arguments_return t254 =null; arguments_return t255 =null; innerCreator_return t256 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 96) ) { return retval; } // Java.g:1198:5: ( ( ( '[' ) ( ']' ) )+ ( '.' ) 'class' | ( ( '[' ) t251= expression ( ']' ) )+ |t252= arguments | ( '.' ) 'class' | ( '.' ) t253= nonWildcardTypeArguments IDENTIFIER t254= arguments | ( '.' ) 'this' | ( '.' ) 'super' t255= arguments |t256= innerCreator ) int alt155=8; switch ( input.LA(1) ) { case LBRACKET: { int LA155_1 = input.LA(2); if ( (LA155_1==RBRACKET) ) { alt155=1; } else if ( (LA155_1==BANG||(LA155_1 >= BINLITERAL && LA155_1 <= BOOLEAN)||LA155_1==BYTE||(LA155_1 >= CHAR && LA155_1 <= CHARLITERAL)||(LA155_1 >= DOUBLE && LA155_1 <= DOUBLELITERAL)||LA155_1==FALSE||(LA155_1 >= FLOAT && LA155_1 <= FLOATLITERAL)||LA155_1==IDENTIFIER||LA155_1==INT||LA155_1==INTLITERAL||(LA155_1 >= LONG && LA155_1 <= LPAREN)||(LA155_1 >= NEW && LA155_1 <= NULL)||LA155_1==PLUS||LA155_1==PLUSPLUS||LA155_1==SHORT||(LA155_1 >= STRINGLITERAL && LA155_1 <= SUB)||(LA155_1 >= SUBSUB && LA155_1 <= SUPER)||LA155_1==THIS||LA155_1==TILDE||LA155_1==TRUE||LA155_1==VOID) ) { alt155=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 155, 1, input); throw nvae; } } break; case LPAREN: { alt155=3; } break; case DOT: { switch ( input.LA(2) ) { case CLASS: { alt155=4; } break; case LT: { alt155=5; } break; case THIS: { alt155=6; } break; case SUPER: { alt155=7; } break; case NEW: { alt155=8; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 155, 3, input); throw nvae; } } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 155, 0, input); throw nvae; } switch (alt155) { case 1 : // Java.g:1198:9: ( ( '[' ) ( ']' ) )+ ( '.' ) 'class' { // Java.g:1198:9: ( ( '[' ) ( ']' ) )+ int cnt153=0; loop153: do { int alt153=2; int LA153_0 = input.LA(1); if ( (LA153_0==LBRACKET) ) { alt153=1; } switch (alt153) { case 1 : // Java.g:1198:10: ( '[' ) ( ']' ) { // Java.g:1198:10: ( '[' ) // Java.g:1198:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_identifierSuffix9250); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:1198:48: ( ']' ) // Java.g:1198:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_identifierSuffix9255); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : if ( cnt153 >= 1 ) break loop153; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = new EarlyExitException(153, input); throw eee; } cnt153++; } while (true); // Java.g:1200:9: ( '.' ) // Java.g:1200:10: '.' { match(input,DOT,FOLLOW_DOT_in_identifierSuffix9279); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,CLASS,FOLLOW_CLASS_in_identifierSuffix9283); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'class'",input.LT(-1));} } break; case 2 : // Java.g:1201:9: ( ( '[' ) t251= expression ( ']' ) )+ { // Java.g:1201:9: ( ( '[' ) t251= expression ( ']' ) )+ int cnt154=0; loop154: do { int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0==LBRACKET) ) { int LA154_2 = input.LA(2); if ( (synpred231_Java()) ) { alt154=1; } } switch (alt154) { case 1 : // Java.g:1201:10: ( '[' ) t251= expression ( ']' ) { // Java.g:1201:10: ( '[' ) // Java.g:1201:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_identifierSuffix9296); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_identifierSuffix9304); t251=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t251!=null?((Token)t251.start):null), (t251!=null?((Token)t251.stop):null));} // Java.g:1201:175: ( ']' ) // Java.g:1201:176: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_identifierSuffix9309); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : if ( cnt154 >= 1 ) break loop154; if (state.backtracking>0) {state.failed=true; return retval;} EarlyExitException eee = new EarlyExitException(154, input); throw eee; } cnt154++; } while (true); } break; case 3 : // Java.g:1203:9: t252= arguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_identifierSuffix9336); t252=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t252!=null?((Token)t252.start):null), (t252!=null?((Token)t252.stop):null));} } break; case 4 : // Java.g:1204:9: ( '.' ) 'class' { // Java.g:1204:9: ( '.' ) // Java.g:1204:10: '.' { match(input,DOT,FOLLOW_DOT_in_identifierSuffix9349); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,CLASS,FOLLOW_CLASS_in_identifierSuffix9353); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'class'",input.LT(-1));} } break; case 5 : // Java.g:1205:9: ( '.' ) t253= nonWildcardTypeArguments IDENTIFIER t254= arguments { // Java.g:1205:9: ( '.' ) // Java.g:1205:10: '.' { match(input,DOT,FOLLOW_DOT_in_identifierSuffix9365); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_identifierSuffix9373); t253=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t253!=null?((Token)t253.start):null), (t253!=null?((Token)t253.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_identifierSuffix9377); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_identifierSuffix9385); t254=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t254!=null?((Token)t254.start):null), (t254!=null?((Token)t254.stop):null));} } break; case 6 : // Java.g:1206:9: ( '.' ) 'this' { // Java.g:1206:9: ( '.' ) // Java.g:1206:10: '.' { match(input,DOT,FOLLOW_DOT_in_identifierSuffix9398); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,THIS,FOLLOW_THIS_in_identifierSuffix9402); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'this'",input.LT(-1));} } break; case 7 : // Java.g:1207:9: ( '.' ) 'super' t255= arguments { // Java.g:1207:9: ( '.' ) // Java.g:1207:10: '.' { match(input,DOT,FOLLOW_DOT_in_identifierSuffix9414); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,SUPER,FOLLOW_SUPER_in_identifierSuffix9418); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_identifierSuffix9425); t255=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t255!=null?((Token)t255.start):null), (t255!=null?((Token)t255.stop):null));} } break; case 8 : // Java.g:1208:9: t256= innerCreator { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("innerCreator"));} pushFollow(FOLLOW_innerCreator_in_identifierSuffix9441); t256=innerCreator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t256!=null?((Token)t256.start):null), (t256!=null?((Token)t256.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 96, identifierSuffix_StartIndex); } } return retval; } // $ANTLR end "identifierSuffix" public static class selector_return extends ParserRuleReturnScope { }; // $ANTLR start "selector" // Java.g:1212:1: selector : ( ( '.' ) IDENTIFIER (t257= arguments )? | ( '.' ) t258= nonWildcardTypeArguments IDENTIFIER t259= arguments | ( '.' ) 'this' | ( '.' ) 'super' t260= superSuffix |t261= innerCreator | ( '[' ) t262= expression ( ']' ) ); public final selector_return selector() throws RecognitionException { selector_return retval = new selector_return(); retval.start = input.LT(1); int selector_StartIndex = input.index(); arguments_return t257 =null; nonWildcardTypeArguments_return t258 =null; arguments_return t259 =null; superSuffix_return t260 =null; innerCreator_return t261 =null; expression_return t262 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 97) ) { return retval; } // Java.g:1213:5: ( ( '.' ) IDENTIFIER (t257= arguments )? | ( '.' ) t258= nonWildcardTypeArguments IDENTIFIER t259= arguments | ( '.' ) 'this' | ( '.' ) 'super' t260= superSuffix |t261= innerCreator | ( '[' ) t262= expression ( ']' ) ) int alt157=6; int LA157_0 = input.LA(1); if ( (LA157_0==DOT) ) { switch ( input.LA(2) ) { case IDENTIFIER: { alt157=1; } break; case LT: { alt157=2; } break; case THIS: { alt157=3; } break; case SUPER: { alt157=4; } break; case NEW: { alt157=5; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 157, 1, input); throw nvae; } } else if ( (LA157_0==LBRACKET) ) { alt157=6; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 157, 0, input); throw nvae; } switch (alt157) { case 1 : // Java.g:1213:9: ( '.' ) IDENTIFIER (t257= arguments )? { // Java.g:1213:9: ( '.' ) // Java.g:1213:10: '.' { match(input,DOT,FOLLOW_DOT_in_selector9466); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_selector9470); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:1214:9: (t257= arguments )? int alt156=2; int LA156_0 = input.LA(1); if ( (LA156_0==LPAREN) ) { alt156=1; } switch (alt156) { case 1 : // Java.g:1214:10: t257= arguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_selector9487); t257=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t257!=null?((Token)t257.start):null), (t257!=null?((Token)t257.stop):null));} } break; } } break; case 2 : // Java.g:1216:7: ( '.' ) t258= nonWildcardTypeArguments IDENTIFIER t259= arguments { // Java.g:1216:7: ( '.' ) // Java.g:1216:8: '.' { match(input,DOT,FOLLOW_DOT_in_selector9509); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_selector9517); t258=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t258!=null?((Token)t258.start):null), (t258!=null?((Token)t258.stop):null));} match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_selector9521); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_selector9529); t259=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t259!=null?((Token)t259.start):null), (t259!=null?((Token)t259.stop):null));} } break; case 3 : // Java.g:1217:9: ( '.' ) 'this' { // Java.g:1217:9: ( '.' ) // Java.g:1217:10: '.' { match(input,DOT,FOLLOW_DOT_in_selector9542); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,THIS,FOLLOW_THIS_in_selector9546); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'this'",input.LT(-1));} } break; case 4 : // Java.g:1218:9: ( '.' ) 'super' t260= superSuffix { // Java.g:1218:9: ( '.' ) // Java.g:1218:10: '.' { match(input,DOT,FOLLOW_DOT_in_selector9558); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,SUPER,FOLLOW_SUPER_in_selector9562); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'super'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("superSuffix"));} pushFollow(FOLLOW_superSuffix_in_selector9577); t260=superSuffix(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t260!=null?((Token)t260.start):null), (t260!=null?((Token)t260.stop):null));} } break; case 5 : // Java.g:1220:9: t261= innerCreator { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("innerCreator"));} pushFollow(FOLLOW_innerCreator_in_selector9593); t261=innerCreator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t261!=null?((Token)t261.start):null), (t261!=null?((Token)t261.stop):null));} } break; case 6 : // Java.g:1221:9: ( '[' ) t262= expression ( ']' ) { // Java.g:1221:9: ( '[' ) // Java.g:1221:10: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_selector9606); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_selector9614); t262=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t262!=null?((Token)t262.start):null), (t262!=null?((Token)t262.stop):null));} // Java.g:1221:174: ( ']' ) // Java.g:1221:175: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_selector9619); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 97, selector_StartIndex); } } return retval; } // $ANTLR end "selector" public static class typeArgumentsOrDiamond_return extends ParserRuleReturnScope { }; // $ANTLR start "typeArgumentsOrDiamond" // Java.g:1225:1: typeArgumentsOrDiamond : ( ( '<' ) ( '>' ) |t263= typeArguments ); public final typeArgumentsOrDiamond_return typeArgumentsOrDiamond() throws RecognitionException { typeArgumentsOrDiamond_return retval = new typeArgumentsOrDiamond_return(); retval.start = input.LT(1); int typeArgumentsOrDiamond_StartIndex = input.index(); typeArguments_return t263 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 98) ) { return retval; } // Java.g:1226:4: ( ( '<' ) ( '>' ) |t263= typeArguments ) int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==LT) ) { int LA158_1 = input.LA(2); if ( (LA158_1==GT) ) { alt158=1; } else if ( (LA158_1==BOOLEAN||LA158_1==BYTE||LA158_1==CHAR||LA158_1==DOUBLE||LA158_1==FLOAT||LA158_1==IDENTIFIER||LA158_1==INT||LA158_1==LONG||LA158_1==QUES||LA158_1==SHORT) ) { alt158=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 158, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 158, 0, input); throw nvae; } switch (alt158) { case 1 : // Java.g:1227:7: ( '<' ) ( '>' ) { // Java.g:1227:7: ( '<' ) // Java.g:1227:8: '<' { match(input,LT,FOLLOW_LT_in_typeArgumentsOrDiamond9645); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1227:45: ( '>' ) // Java.g:1227:46: '>' { match(input,GT,FOLLOW_GT_in_typeArgumentsOrDiamond9650); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } break; case 2 : // Java.g:1228:7: t263= typeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeArguments"));} pushFollow(FOLLOW_typeArguments_in_typeArgumentsOrDiamond9664); t263=typeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t263!=null?((Token)t263.start):null), (t263!=null?((Token)t263.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 98, typeArgumentsOrDiamond_StartIndex); } } return retval; } // $ANTLR end "typeArgumentsOrDiamond" public static class nonWildcardTypeArgumentsOrDiamond_return extends ParserRuleReturnScope { }; // $ANTLR start "nonWildcardTypeArgumentsOrDiamond" // Java.g:1231:1: nonWildcardTypeArgumentsOrDiamond : ( ( '<' ) ( '>' ) |t264= nonWildcardTypeArguments ); public final nonWildcardTypeArgumentsOrDiamond_return nonWildcardTypeArgumentsOrDiamond() throws RecognitionException { nonWildcardTypeArgumentsOrDiamond_return retval = new nonWildcardTypeArgumentsOrDiamond_return(); retval.start = input.LT(1); int nonWildcardTypeArgumentsOrDiamond_StartIndex = input.index(); nonWildcardTypeArguments_return t264 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 99) ) { return retval; } // Java.g:1232:4: ( ( '<' ) ( '>' ) |t264= nonWildcardTypeArguments ) int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0==LT) ) { int LA159_1 = input.LA(2); if ( (LA159_1==GT) ) { alt159=1; } else if ( (LA159_1==BOOLEAN||LA159_1==BYTE||LA159_1==CHAR||LA159_1==DOUBLE||LA159_1==FLOAT||LA159_1==IDENTIFIER||LA159_1==INT||LA159_1==LONG||LA159_1==SHORT) ) { alt159=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 159, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 159, 0, input); throw nvae; } switch (alt159) { case 1 : // Java.g:1233:7: ( '<' ) ( '>' ) { // Java.g:1233:7: ( '<' ) // Java.g:1233:8: '<' { match(input,LT,FOLLOW_LT_in_nonWildcardTypeArgumentsOrDiamond9689); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } // Java.g:1233:45: ( '>' ) // Java.g:1233:46: '>' { match(input,GT,FOLLOW_GT_in_nonWildcardTypeArgumentsOrDiamond9694); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } break; case 2 : // Java.g:1234:7: t264= nonWildcardTypeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_nonWildcardTypeArgumentsOrDiamond9708); t264=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t264!=null?((Token)t264.start):null), (t264!=null?((Token)t264.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 99, nonWildcardTypeArgumentsOrDiamond_StartIndex); } } return retval; } // $ANTLR end "nonWildcardTypeArgumentsOrDiamond" public static class creator_return extends ParserRuleReturnScope { }; // $ANTLR start "creator" // Java.g:1237:1: creator : ( 'new' t265= nonWildcardTypeArguments t266= classOrInterfaceType t267= classCreatorRest | 'new' t268= classOrInterfaceType t269= classCreatorRest |t270= arrayCreator ); public final creator_return creator() throws RecognitionException { creator_return retval = new creator_return(); retval.start = input.LT(1); int creator_StartIndex = input.index(); nonWildcardTypeArguments_return t265 =null; classOrInterfaceType_return t266 =null; classCreatorRest_return t267 =null; classOrInterfaceType_return t268 =null; classCreatorRest_return t269 =null; arrayCreator_return t270 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 100) ) { return retval; } // Java.g:1238:5: ( 'new' t265= nonWildcardTypeArguments t266= classOrInterfaceType t267= classCreatorRest | 'new' t268= classOrInterfaceType t269= classCreatorRest |t270= arrayCreator ) int alt160=3; int LA160_0 = input.LA(1); if ( (LA160_0==NEW) ) { int LA160_1 = input.LA(2); if ( (synpred246_Java()) ) { alt160=1; } else if ( (synpred247_Java()) ) { alt160=2; } else if ( (true) ) { alt160=3; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 160, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 160, 0, input); throw nvae; } switch (alt160) { case 1 : // Java.g:1238:9: 'new' t265= nonWildcardTypeArguments t266= classOrInterfaceType t267= classCreatorRest { match(input,NEW,FOLLOW_NEW_in_creator9729); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'new'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator9736); t265=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t265!=null?((Token)t265.start):null), (t265!=null?((Token)t265.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_creator9744); t266=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t266!=null?((Token)t266.start):null), (t266!=null?((Token)t266.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classCreatorRest"));} pushFollow(FOLLOW_classCreatorRest_in_creator9752); t267=classCreatorRest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t267!=null?((Token)t267.start):null), (t267!=null?((Token)t267.stop):null));} } break; case 2 : // Java.g:1239:9: 'new' t268= classOrInterfaceType t269= classCreatorRest { match(input,NEW,FOLLOW_NEW_in_creator9764); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'new'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_creator9771); t268=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t268!=null?((Token)t268.start):null), (t268!=null?((Token)t268.stop):null));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classCreatorRest"));} pushFollow(FOLLOW_classCreatorRest_in_creator9779); t269=classCreatorRest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t269!=null?((Token)t269.start):null), (t269!=null?((Token)t269.stop):null));} } break; case 3 : // Java.g:1240:9: t270= arrayCreator { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arrayCreator"));} pushFollow(FOLLOW_arrayCreator_in_creator9795); t270=arrayCreator(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t270!=null?((Token)t270.start):null), (t270!=null?((Token)t270.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 100, creator_StartIndex); } } return retval; } // $ANTLR end "creator" public static class arrayCreator_return extends ParserRuleReturnScope { }; // $ANTLR start "arrayCreator" // Java.g:1243:1: arrayCreator : ( 'new' t271= createdName ( '[' ) ( ']' ) ( ( '[' ) ( ']' ) )* t272= arrayInitializer | 'new' t273= createdName ( '[' ) t274= expression ( ']' ) ( ( '[' ) t275= expression ( ']' ) )* ( ( '[' ) ( ']' ) )* ); public final arrayCreator_return arrayCreator() throws RecognitionException { arrayCreator_return retval = new arrayCreator_return(); retval.start = input.LT(1); int arrayCreator_StartIndex = input.index(); createdName_return t271 =null; arrayInitializer_return t272 =null; createdName_return t273 =null; expression_return t274 =null; expression_return t275 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 101) ) { return retval; } // Java.g:1244:5: ( 'new' t271= createdName ( '[' ) ( ']' ) ( ( '[' ) ( ']' ) )* t272= arrayInitializer | 'new' t273= createdName ( '[' ) t274= expression ( ']' ) ( ( '[' ) t275= expression ( ']' ) )* ( ( '[' ) ( ']' ) )* ) int alt164=2; int LA164_0 = input.LA(1); if ( (LA164_0==NEW) ) { int LA164_1 = input.LA(2); if ( (synpred249_Java()) ) { alt164=1; } else if ( (true) ) { alt164=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 164, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 164, 0, input); throw nvae; } switch (alt164) { case 1 : // Java.g:1244:9: 'new' t271= createdName ( '[' ) ( ']' ) ( ( '[' ) ( ']' ) )* t272= arrayInitializer { match(input,NEW,FOLLOW_NEW_in_arrayCreator9817); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'new'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("createdName"));} pushFollow(FOLLOW_createdName_in_arrayCreator9824); t271=createdName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t271!=null?((Token)t271.start):null), (t271!=null?((Token)t271.stop):null));} // Java.g:1245:9: ( '[' ) // Java.g:1245:10: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayCreator9837); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:1245:47: ( ']' ) // Java.g:1245:48: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayCreator9842); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } // Java.g:1246:9: ( ( '[' ) ( ']' ) )* loop161: do { int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0==LBRACKET) ) { alt161=1; } switch (alt161) { case 1 : // Java.g:1246:10: ( '[' ) ( ']' ) { // Java.g:1246:10: ( '[' ) // Java.g:1246:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayCreator9856); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:1246:48: ( ']' ) // Java.g:1246:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayCreator9861); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop161; } } while (true); if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arrayInitializer"));} pushFollow(FOLLOW_arrayInitializer_in_arrayCreator9888); t272=arrayInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t272!=null?((Token)t272.start):null), (t272!=null?((Token)t272.stop):null));} } break; case 2 : // Java.g:1250:9: 'new' t273= createdName ( '[' ) t274= expression ( ']' ) ( ( '[' ) t275= expression ( ']' ) )* ( ( '[' ) ( ']' ) )* { match(input,NEW,FOLLOW_NEW_in_arrayCreator9901); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'new'",input.LT(-1));} if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("createdName"));} pushFollow(FOLLOW_createdName_in_arrayCreator9908); t273=createdName(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t273!=null?((Token)t273.start):null), (t273!=null?((Token)t273.stop):null));} // Java.g:1251:9: ( '[' ) // Java.g:1251:10: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayCreator9921); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_arrayCreator9929); t274=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t274!=null?((Token)t274.start):null), (t274!=null?((Token)t274.stop):null));} // Java.g:1252:9: ( ']' ) // Java.g:1252:10: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayCreator9942); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } // Java.g:1253:9: ( ( '[' ) t275= expression ( ']' ) )* loop162: do { int alt162=2; int LA162_0 = input.LA(1); if ( (LA162_0==LBRACKET) ) { int LA162_1 = input.LA(2); if ( (synpred250_Java()) ) { alt162=1; } } switch (alt162) { case 1 : // Java.g:1253:13: ( '[' ) t275= expression ( ']' ) { // Java.g:1253:13: ( '[' ) // Java.g:1253:14: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayCreator9959); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_arrayCreator9967); t275=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t275!=null?((Token)t275.start):null), (t275!=null?((Token)t275.stop):null));} // Java.g:1254:13: ( ']' ) // Java.g:1254:14: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayCreator9984); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop162; } } while (true); // Java.g:1256:9: ( ( '[' ) ( ']' ) )* loop163: do { int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==LBRACKET) ) { int LA163_2 = input.LA(2); if ( (LA163_2==RBRACKET) ) { alt163=1; } } switch (alt163) { case 1 : // Java.g:1256:10: ( '[' ) ( ']' ) { // Java.g:1256:10: ( '[' ) // Java.g:1256:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_arrayCreator10009); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'['",input.LT(-1));} } // Java.g:1256:48: ( ']' ) // Java.g:1256:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_arrayCreator10014); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("']'",input.LT(-1));} } } break; default : break loop163; } } while (true); } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 101, arrayCreator_StartIndex); } } return retval; } // $ANTLR end "arrayCreator" public static class variableInitializer_return extends ParserRuleReturnScope { }; // $ANTLR start "variableInitializer" // Java.g:1260:1: variableInitializer : (t276= arrayInitializer |t277= expression ); public final variableInitializer_return variableInitializer() throws RecognitionException { variableInitializer_return retval = new variableInitializer_return(); retval.start = input.LT(1); int variableInitializer_StartIndex = input.index(); arrayInitializer_return t276 =null; expression_return t277 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 102) ) { return retval; } // Java.g:1261:5: (t276= arrayInitializer |t277= expression ) int alt165=2; int LA165_0 = input.LA(1); if ( (LA165_0==LBRACE) ) { alt165=1; } else if ( (LA165_0==BANG||(LA165_0 >= BINLITERAL && LA165_0 <= BOOLEAN)||LA165_0==BYTE||(LA165_0 >= CHAR && LA165_0 <= CHARLITERAL)||(LA165_0 >= DOUBLE && LA165_0 <= DOUBLELITERAL)||LA165_0==FALSE||(LA165_0 >= FLOAT && LA165_0 <= FLOATLITERAL)||LA165_0==IDENTIFIER||LA165_0==INT||LA165_0==INTLITERAL||(LA165_0 >= LONG && LA165_0 <= LPAREN)||(LA165_0 >= NEW && LA165_0 <= NULL)||LA165_0==PLUS||LA165_0==PLUSPLUS||LA165_0==SHORT||(LA165_0 >= STRINGLITERAL && LA165_0 <= SUB)||(LA165_0 >= SUBSUB && LA165_0 <= SUPER)||LA165_0==THIS||LA165_0==TILDE||LA165_0==TRUE||LA165_0==VOID) ) { alt165=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 165, 0, input); throw nvae; } switch (alt165) { case 1 : // Java.g:1261:9: t276= arrayInitializer { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arrayInitializer"));} pushFollow(FOLLOW_arrayInitializer_in_variableInitializer10051); t276=arrayInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t276!=null?((Token)t276.start):null), (t276!=null?((Token)t276.stop):null));} } break; case 2 : // Java.g:1262:9: t277= expression { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expression"));} pushFollow(FOLLOW_expression_in_variableInitializer10067); t277=expression(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t277!=null?((Token)t277.start):null), (t277!=null?((Token)t277.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 102, variableInitializer_StartIndex); } } return retval; } // $ANTLR end "variableInitializer" public static class arrayInitializer_return extends ParserRuleReturnScope { }; // $ANTLR start "arrayInitializer" // Java.g:1265:1: arrayInitializer : ( '{' ) (t278= variableInitializer ( ( ',' ) t279= variableInitializer )* )? ( ( ',' ) )? ( '}' ) ; public final arrayInitializer_return arrayInitializer() throws RecognitionException { arrayInitializer_return retval = new arrayInitializer_return(); retval.start = input.LT(1); int arrayInitializer_StartIndex = input.index(); variableInitializer_return t278 =null; variableInitializer_return t279 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 103) ) { return retval; } // Java.g:1266:5: ( ( '{' ) (t278= variableInitializer ( ( ',' ) t279= variableInitializer )* )? ( ( ',' ) )? ( '}' ) ) // Java.g:1266:9: ( '{' ) (t278= variableInitializer ( ( ',' ) t279= variableInitializer )* )? ( ( ',' ) )? ( '}' ) { // Java.g:1266:9: ( '{' ) // Java.g:1266:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_arrayInitializer10090); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'{'",input.LT(-1));} } // Java.g:1267:13: (t278= variableInitializer ( ( ',' ) t279= variableInitializer )* )? int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==BANG||(LA167_0 >= BINLITERAL && LA167_0 <= BOOLEAN)||LA167_0==BYTE||(LA167_0 >= CHAR && LA167_0 <= CHARLITERAL)||(LA167_0 >= DOUBLE && LA167_0 <= DOUBLELITERAL)||LA167_0==FALSE||(LA167_0 >= FLOAT && LA167_0 <= FLOATLITERAL)||LA167_0==IDENTIFIER||LA167_0==INT||LA167_0==INTLITERAL||LA167_0==LBRACE||(LA167_0 >= LONG && LA167_0 <= LPAREN)||(LA167_0 >= NEW && LA167_0 <= NULL)||LA167_0==PLUS||LA167_0==PLUSPLUS||LA167_0==SHORT||(LA167_0 >= STRINGLITERAL && LA167_0 <= SUB)||(LA167_0 >= SUBSUB && LA167_0 <= SUPER)||LA167_0==THIS||LA167_0==TILDE||LA167_0==TRUE||LA167_0==VOID) ) { alt167=1; } switch (alt167) { case 1 : // Java.g:1267:14: t278= variableInitializer ( ( ',' ) t279= variableInitializer )* { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableInitializer"));} pushFollow(FOLLOW_variableInitializer_in_arrayInitializer10112); t278=variableInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t278!=null?((Token)t278.start):null), (t278!=null?((Token)t278.stop):null));} // Java.g:1268:17: ( ( ',' ) t279= variableInitializer )* loop166: do { int alt166=2; int LA166_0 = input.LA(1); if ( (LA166_0==COMMA) ) { int LA166_1 = input.LA(2); if ( (LA166_1==BANG||(LA166_1 >= BINLITERAL && LA166_1 <= BOOLEAN)||LA166_1==BYTE||(LA166_1 >= CHAR && LA166_1 <= CHARLITERAL)||(LA166_1 >= DOUBLE && LA166_1 <= DOUBLELITERAL)||LA166_1==FALSE||(LA166_1 >= FLOAT && LA166_1 <= FLOATLITERAL)||LA166_1==IDENTIFIER||LA166_1==INT||LA166_1==INTLITERAL||LA166_1==LBRACE||(LA166_1 >= LONG && LA166_1 <= LPAREN)||(LA166_1 >= NEW && LA166_1 <= NULL)||LA166_1==PLUS||LA166_1==PLUSPLUS||LA166_1==SHORT||(LA166_1 >= STRINGLITERAL && LA166_1 <= SUB)||(LA166_1 >= SUBSUB && LA166_1 <= SUPER)||LA166_1==THIS||LA166_1==TILDE||LA166_1==TRUE||LA166_1==VOID) ) { alt166=1; } } switch (alt166) { case 1 : // Java.g:1268:18: ( ',' ) t279= variableInitializer { // Java.g:1268:18: ( ',' ) // Java.g:1268:19: ',' { match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer10134); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("variableInitializer"));} pushFollow(FOLLOW_variableInitializer_in_arrayInitializer10142); t279=variableInitializer(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t279!=null?((Token)t279.start):null), (t279!=null?((Token)t279.stop):null));} } break; default : break loop166; } } while (true); } break; } // Java.g:1271:13: ( ( ',' ) )? int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0==COMMA) ) { alt168=1; } switch (alt168) { case 1 : // Java.g:1271:14: ( ',' ) { // Java.g:1271:14: ( ',' ) // Java.g:1271:15: ',' { match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer10195); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("','",input.LT(-1));} } } break; } // Java.g:1272:9: ( '}' ) // Java.g:1272:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_arrayInitializer10211); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'}'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 103, arrayInitializer_StartIndex); } } return retval; } // $ANTLR end "arrayInitializer" public static class createdName_return extends ParserRuleReturnScope { }; // $ANTLR start "createdName" // Java.g:1276:1: createdName : (t280= classOrInterfaceType |t281= primitiveType ); public final createdName_return createdName() throws RecognitionException { createdName_return retval = new createdName_return(); retval.start = input.LT(1); int createdName_StartIndex = input.index(); classOrInterfaceType_return t280 =null; primitiveType_return t281 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 104) ) { return retval; } // Java.g:1277:5: (t280= classOrInterfaceType |t281= primitiveType ) int alt169=2; int LA169_0 = input.LA(1); if ( (LA169_0==IDENTIFIER) ) { alt169=1; } else if ( (LA169_0==BOOLEAN||LA169_0==BYTE||LA169_0==CHAR||LA169_0==DOUBLE||LA169_0==FLOAT||LA169_0==INT||LA169_0==LONG||LA169_0==SHORT) ) { alt169=2; } else { if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 169, 0, input); throw nvae; } switch (alt169) { case 1 : // Java.g:1277:9: t280= classOrInterfaceType { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classOrInterfaceType"));} pushFollow(FOLLOW_classOrInterfaceType_in_createdName10251); t280=classOrInterfaceType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t280!=null?((Token)t280.start):null), (t280!=null?((Token)t280.stop):null));} } break; case 2 : // Java.g:1278:9: t281= primitiveType { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("primitiveType"));} pushFollow(FOLLOW_primitiveType_in_createdName10267); t281=primitiveType(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t281!=null?((Token)t281.start):null), (t281!=null?((Token)t281.stop):null));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 104, createdName_StartIndex); } } return retval; } // $ANTLR end "createdName" public static class innerCreator_return extends ParserRuleReturnScope { }; // $ANTLR start "innerCreator" // Java.g:1281:1: innerCreator : ( '.' ) 'new' (t282= nonWildcardTypeArguments )? IDENTIFIER (t283= nonWildcardTypeArgumentsOrDiamond )? t284= classCreatorRest ; public final innerCreator_return innerCreator() throws RecognitionException { innerCreator_return retval = new innerCreator_return(); retval.start = input.LT(1); int innerCreator_StartIndex = input.index(); nonWildcardTypeArguments_return t282 =null; nonWildcardTypeArgumentsOrDiamond_return t283 =null; classCreatorRest_return t284 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 105) ) { return retval; } // Java.g:1282:5: ( ( '.' ) 'new' (t282= nonWildcardTypeArguments )? IDENTIFIER (t283= nonWildcardTypeArgumentsOrDiamond )? t284= classCreatorRest ) // Java.g:1282:9: ( '.' ) 'new' (t282= nonWildcardTypeArguments )? IDENTIFIER (t283= nonWildcardTypeArgumentsOrDiamond )? t284= classCreatorRest { // Java.g:1282:9: ( '.' ) // Java.g:1282:10: '.' { match(input,DOT,FOLLOW_DOT_in_innerCreator10291); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'.'",input.LT(-1));} } match(input,NEW,FOLLOW_NEW_in_innerCreator10295); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'new'",input.LT(-1));} // Java.g:1283:9: (t282= nonWildcardTypeArguments )? int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0==LT) ) { alt170=1; } switch (alt170) { case 1 : // Java.g:1283:10: t282= nonWildcardTypeArguments { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArguments"));} pushFollow(FOLLOW_nonWildcardTypeArguments_in_innerCreator10311); t282=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t282!=null?((Token)t282.start):null), (t282!=null?((Token)t282.stop):null));} } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_innerCreator10334); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("IDENTIFIER['"+input.LT(-1).getText()+"']",input.LT(-1));} // Java.g:1286:9: (t283= nonWildcardTypeArgumentsOrDiamond )? int alt171=2; int LA171_0 = input.LA(1); if ( (LA171_0==LT) ) { alt171=1; } switch (alt171) { case 1 : // Java.g:1286:10: t283= nonWildcardTypeArgumentsOrDiamond { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("nonWildcardTypeArgumentsOrDiamond"));} pushFollow(FOLLOW_nonWildcardTypeArgumentsOrDiamond_in_innerCreator10351); t283=nonWildcardTypeArgumentsOrDiamond(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t283!=null?((Token)t283.start):null), (t283!=null?((Token)t283.stop):null));} } break; } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classCreatorRest"));} pushFollow(FOLLOW_classCreatorRest_in_innerCreator10378); t284=classCreatorRest(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t284!=null?((Token)t284.start):null), (t284!=null?((Token)t284.stop):null));} } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 105, innerCreator_StartIndex); } } return retval; } // $ANTLR end "innerCreator" public static class classCreatorRest_return extends ParserRuleReturnScope { }; // $ANTLR start "classCreatorRest" // Java.g:1292:1: classCreatorRest :t285= arguments (t286= classBody )? ; public final classCreatorRest_return classCreatorRest() throws RecognitionException { classCreatorRest_return retval = new classCreatorRest_return(); retval.start = input.LT(1); int classCreatorRest_StartIndex = input.index(); arguments_return t285 =null; classBody_return t286 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 106) ) { return retval; } // Java.g:1293:5: (t285= arguments (t286= classBody )? ) // Java.g:1293:9: t285= arguments (t286= classBody )? { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("arguments"));} pushFollow(FOLLOW_arguments_in_classCreatorRest10405); t285=arguments(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t285!=null?((Token)t285.start):null), (t285!=null?((Token)t285.stop):null));} // Java.g:1294:9: (t286= classBody )? int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==LBRACE) ) { alt172=1; } switch (alt172) { case 1 : // Java.g:1294:10: t286= classBody { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("classBody"));} pushFollow(FOLLOW_classBody_in_classCreatorRest10422); t286=classBody(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t286!=null?((Token)t286.start):null), (t286!=null?((Token)t286.stop):null));} } break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 106, classCreatorRest_StartIndex); } } return retval; } // $ANTLR end "classCreatorRest" public static class nonWildcardTypeArguments_return extends ParserRuleReturnScope { }; // $ANTLR start "nonWildcardTypeArguments" // Java.g:1299:1: nonWildcardTypeArguments : ( '<' ) t287= typeList ( '>' ) ; public final nonWildcardTypeArguments_return nonWildcardTypeArguments() throws RecognitionException { nonWildcardTypeArguments_return retval = new nonWildcardTypeArguments_return(); retval.start = input.LT(1); int nonWildcardTypeArguments_StartIndex = input.index(); typeList_return t287 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 107) ) { return retval; } // Java.g:1300:5: ( ( '<' ) t287= typeList ( '>' ) ) // Java.g:1300:9: ( '<' ) t287= typeList ( '>' ) { // Java.g:1300:9: ( '<' ) // Java.g:1300:10: '<' { match(input,LT,FOLLOW_LT_in_nonWildcardTypeArguments10457); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'<'",input.LT(-1));} } if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("typeList"));} pushFollow(FOLLOW_typeList_in_nonWildcardTypeArguments10465); t287=typeList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t287!=null?((Token)t287.start):null), (t287!=null?((Token)t287.stop):null));} // Java.g:1301:9: ( '>' ) // Java.g:1301:10: '>' { match(input,GT,FOLLOW_GT_in_nonWildcardTypeArguments10478); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'>'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 107, nonWildcardTypeArguments_StartIndex); } } return retval; } // $ANTLR end "nonWildcardTypeArguments" public static class arguments_return extends ParserRuleReturnScope { }; // $ANTLR start "arguments" // Java.g:1304:1: arguments : ( '(' ) (t288= expressionList )? ( ')' ) ; public final arguments_return arguments() throws RecognitionException { arguments_return retval = new arguments_return(); retval.start = input.LT(1); int arguments_StartIndex = input.index(); expressionList_return t288 =null; try { if ( state.backtracking>0 && alreadyParsedRule(input, 108) ) { return retval; } // Java.g:1305:5: ( ( '(' ) (t288= expressionList )? ( ')' ) ) // Java.g:1305:9: ( '(' ) (t288= expressionList )? ( ')' ) { // Java.g:1305:9: ( '(' ) // Java.g:1305:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_arguments10501); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("'('",input.LT(-1));} } // Java.g:1305:47: (t288= expressionList )? int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==BANG||(LA173_0 >= BINLITERAL && LA173_0 <= BOOLEAN)||LA173_0==BYTE||(LA173_0 >= CHAR && LA173_0 <= CHARLITERAL)||(LA173_0 >= DOUBLE && LA173_0 <= DOUBLELITERAL)||LA173_0==FALSE||(LA173_0 >= FLOAT && LA173_0 <= FLOATLITERAL)||LA173_0==IDENTIFIER||LA173_0==INT||LA173_0==INTLITERAL||(LA173_0 >= LONG && LA173_0 <= LPAREN)||(LA173_0 >= NEW && LA173_0 <= NULL)||LA173_0==PLUS||LA173_0==PLUSPLUS||LA173_0==SHORT||(LA173_0 >= STRINGLITERAL && LA173_0 <= SUB)||(LA173_0 >= SUBSUB && LA173_0 <= SUPER)||LA173_0==THIS||LA173_0==TILDE||LA173_0==TRUE||LA173_0==VOID) ) { alt173=1; } switch (alt173) { case 1 : // Java.g:1305:48: t288= expressionList { if ( state.backtracking==0 ) {T.pushTop();T.setCurrentParent(T.addNode("expressionList"));} pushFollow(FOLLOW_expressionList_in_arguments10510); t288=expressionList(); state._fsp--; if (state.failed) return retval; if ( state.backtracking==0 ) {T.popTop().setTextRange((t288!=null?((Token)t288.start):null), (t288!=null?((Token)t288.stop):null));} } break; } // Java.g:1306:12: ( ')' ) // Java.g:1306:13: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_arguments10526); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("')'",input.LT(-1));} } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 108, arguments_StartIndex); } } return retval; } // $ANTLR end "arguments" public static class literal_return extends ParserRuleReturnScope { }; // $ANTLR start "literal" // Java.g:1309:1: literal : ( INTLITERAL | LONGLITERAL | BINLITERAL | FLOATLITERAL | DOUBLELITERAL | CHARLITERAL | STRINGLITERAL | TRUE | FALSE | NULL ); public final literal_return literal() throws RecognitionException { literal_return retval = new literal_return(); retval.start = input.LT(1); int literal_StartIndex = input.index(); try { if ( state.backtracking>0 && alreadyParsedRule(input, 109) ) { return retval; } // Java.g:1310:5: ( INTLITERAL | LONGLITERAL | BINLITERAL | FLOATLITERAL | DOUBLELITERAL | CHARLITERAL | STRINGLITERAL | TRUE | FALSE | NULL ) int alt174=10; switch ( input.LA(1) ) { case INTLITERAL: { alt174=1; } break; case LONGLITERAL: { alt174=2; } break; case BINLITERAL: { alt174=3; } break; case FLOATLITERAL: { alt174=4; } break; case DOUBLELITERAL: { alt174=5; } break; case CHARLITERAL: { alt174=6; } break; case STRINGLITERAL: { alt174=7; } break; case TRUE: { alt174=8; } break; case FALSE: { alt174=9; } break; case NULL: { alt174=10; } break; default: if (state.backtracking>0) {state.failed=true; return retval;} NoViableAltException nvae = new NoViableAltException("", 174, 0, input); throw nvae; } switch (alt174) { case 1 : // Java.g:1310:9: INTLITERAL { match(input,INTLITERAL,FOLLOW_INTLITERAL_in_literal10548); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("INTLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 2 : // Java.g:1311:9: LONGLITERAL { match(input,LONGLITERAL,FOLLOW_LONGLITERAL_in_literal10560); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("LONGLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 3 : // Java.g:1312:9: BINLITERAL { match(input,BINLITERAL,FOLLOW_BINLITERAL_in_literal10572); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("BINLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 4 : // Java.g:1313:9: FLOATLITERAL { match(input,FLOATLITERAL,FOLLOW_FLOATLITERAL_in_literal10584); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("FLOATLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 5 : // Java.g:1314:9: DOUBLELITERAL { match(input,DOUBLELITERAL,FOLLOW_DOUBLELITERAL_in_literal10596); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("DOUBLELITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 6 : // Java.g:1315:9: CHARLITERAL { match(input,CHARLITERAL,FOLLOW_CHARLITERAL_in_literal10608); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("CHARLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 7 : // Java.g:1316:9: STRINGLITERAL { match(input,STRINGLITERAL,FOLLOW_STRINGLITERAL_in_literal10620); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("STRINGLITERAL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 8 : // Java.g:1317:9: TRUE { match(input,TRUE,FOLLOW_TRUE_in_literal10632); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("TRUE['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 9 : // Java.g:1318:9: FALSE { match(input,FALSE,FOLLOW_FALSE_in_literal10644); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("FALSE['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; case 10 : // Java.g:1319:9: NULL { match(input,NULL,FOLLOW_NULL_in_literal10656); if (state.failed) return retval; if ( state.backtracking==0 ) {T.addLeaf("NULL['"+input.LT(-1).getText()+"']",input.LT(-1));} } break; } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving if ( state.backtracking>0 ) { memoize(input, 109, literal_StartIndex); } } return retval; } // $ANTLR end "literal" // $ANTLR start synpred2_Java public final void synpred2_Java_fragment() throws RecognitionException { annotations_return t0 =null; packageDeclaration_return t1 =null; // Java.g:345:13: ( (t0= annotations )? t1= packageDeclaration ) // Java.g:345:13: (t0= annotations )? t1= packageDeclaration { // Java.g:345:13: (t0= annotations )? int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0==MONKEYS_AT) ) { alt175=1; } switch (alt175) { case 1 : // Java.g:345:14: t0= annotations { pushFollow(FOLLOW_annotations_in_synpred2_Java97); t0=annotations(); state._fsp--; if (state.failed) return ; } break; } pushFollow(FOLLOW_packageDeclaration_in_synpred2_Java132); t1=packageDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred2_Java // $ANTLR start synpred12_Java public final void synpred12_Java_fragment() throws RecognitionException { classDeclaration_return t6 =null; // Java.g:389:10: (t6= classDeclaration ) // Java.g:389:10: t6= classDeclaration { pushFollow(FOLLOW_classDeclaration_in_synpred12_Java565); t6=classDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred12_Java // $ANTLR start synpred27_Java public final void synpred27_Java_fragment() throws RecognitionException { normalClassDeclaration_return t10 =null; // Java.g:436:9: (t10= normalClassDeclaration ) // Java.g:436:9: t10= normalClassDeclaration { pushFollow(FOLLOW_normalClassDeclaration_in_synpred27_Java844); t10=normalClassDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred27_Java // $ANTLR start synpred43_Java public final void synpred43_Java_fragment() throws RecognitionException { normalInterfaceDeclaration_return t33 =null; // Java.g:524:9: (t33= normalInterfaceDeclaration ) // Java.g:524:9: t33= normalInterfaceDeclaration { pushFollow(FOLLOW_normalInterfaceDeclaration_in_synpred43_Java1702); t33=normalInterfaceDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred43_Java // $ANTLR start synpred52_Java public final void synpred52_Java_fragment() throws RecognitionException { fieldDeclaration_return t45 =null; // Java.g:566:10: (t45= fieldDeclaration ) // Java.g:566:10: t45= fieldDeclaration { pushFollow(FOLLOW_fieldDeclaration_in_synpred52_Java2127); t45=fieldDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred52_Java // $ANTLR start synpred53_Java public final void synpred53_Java_fragment() throws RecognitionException { methodDeclaration_return t46 =null; // Java.g:567:10: (t46= methodDeclaration ) // Java.g:567:10: t46= methodDeclaration { pushFollow(FOLLOW_methodDeclaration_in_synpred53_Java2144); t46=methodDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred53_Java // $ANTLR start synpred54_Java public final void synpred54_Java_fragment() throws RecognitionException { classDeclaration_return t47 =null; // Java.g:568:10: (t47= classDeclaration ) // Java.g:568:10: t47= classDeclaration { pushFollow(FOLLOW_classDeclaration_in_synpred54_Java2161); t47=classDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred54_Java // $ANTLR start synpred57_Java public final void synpred57_Java_fragment() throws RecognitionException { explicitConstructorInvocation_return t53 =null; // Java.g:584:10: (t53= explicitConstructorInvocation ) // Java.g:584:10: t53= explicitConstructorInvocation { pushFollow(FOLLOW_explicitConstructorInvocation_in_synpred57_Java2340); t53=explicitConstructorInvocation(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred57_Java // $ANTLR start synpred59_Java public final void synpred59_Java_fragment() throws RecognitionException { modifiers_return t49 =null; typeParameters_return t50 =null; formalParameters_return t51 =null; qualifiedNameList_return t52 =null; explicitConstructorInvocation_return t53 =null; blockStatement_return t54 =null; // Java.g:576:10: (t49= modifiers (t50= typeParameters )? IDENTIFIER t51= formalParameters ( 'throws' t52= qualifiedNameList )? ( '{' ) (t53= explicitConstructorInvocation )? (t54= blockStatement )* ( '}' ) ) // Java.g:576:10: t49= modifiers (t50= typeParameters )? IDENTIFIER t51= formalParameters ( 'throws' t52= qualifiedNameList )? ( '{' ) (t53= explicitConstructorInvocation )? (t54= blockStatement )* ( '}' ) { pushFollow(FOLLOW_modifiers_in_synpred59_Java2222); t49=modifiers(); state._fsp--; if (state.failed) return ; // Java.g:577:9: (t50= typeParameters )? int alt178=2; int LA178_0 = input.LA(1); if ( (LA178_0==LT) ) { alt178=1; } switch (alt178) { case 1 : // Java.g:577:10: t50= typeParameters { pushFollow(FOLLOW_typeParameters_in_synpred59_Java2239); t50=typeParameters(); state._fsp--; if (state.failed) return ; } break; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred59_Java2262); if (state.failed) return ; pushFollow(FOLLOW_formalParameters_in_synpred59_Java2278); t51=formalParameters(); state._fsp--; if (state.failed) return ; // Java.g:581:9: ( 'throws' t52= qualifiedNameList )? int alt179=2; int LA179_0 = input.LA(1); if ( (LA179_0==THROWS) ) { alt179=1; } switch (alt179) { case 1 : // Java.g:581:10: 'throws' t52= qualifiedNameList { match(input,THROWS,FOLLOW_THROWS_in_synpred59_Java2291); if (state.failed) return ; pushFollow(FOLLOW_qualifiedNameList_in_synpred59_Java2298); t52=qualifiedNameList(); state._fsp--; if (state.failed) return ; } break; } // Java.g:583:9: ( '{' ) // Java.g:583:10: '{' { match(input,LBRACE,FOLLOW_LBRACE_in_synpred59_Java2322); if (state.failed) return ; } // Java.g:584:9: (t53= explicitConstructorInvocation )? int alt180=2; alt180 = dfa180.predict(input); switch (alt180) { case 1 : // Java.g:584:10: t53= explicitConstructorInvocation { pushFollow(FOLLOW_explicitConstructorInvocation_in_synpred59_Java2340); t53=explicitConstructorInvocation(); state._fsp--; if (state.failed) return ; } break; } // Java.g:586:9: (t54= blockStatement )* loop181: do { int alt181=2; int LA181_0 = input.LA(1); if ( (LA181_0==ABSTRACT||(LA181_0 >= ASSERT && LA181_0 <= BANG)||(LA181_0 >= BINLITERAL && LA181_0 <= BYTE)||(LA181_0 >= CHAR && LA181_0 <= CLASS)||LA181_0==CONTINUE||LA181_0==DO||(LA181_0 >= DOUBLE && LA181_0 <= DOUBLELITERAL)||LA181_0==ENUM||(LA181_0 >= FALSE && LA181_0 <= FINAL)||(LA181_0 >= FLOAT && LA181_0 <= FOR)||(LA181_0 >= IDENTIFIER && LA181_0 <= IF)||(LA181_0 >= INT && LA181_0 <= INTLITERAL)||LA181_0==LBRACE||(LA181_0 >= LONG && LA181_0 <= LT)||(LA181_0 >= MONKEYS_AT && LA181_0 <= NULL)||LA181_0==PLUS||(LA181_0 >= PLUSPLUS && LA181_0 <= PUBLIC)||LA181_0==RETURN||(LA181_0 >= SEMI && LA181_0 <= SHORT)||(LA181_0 >= STATIC && LA181_0 <= SUB)||(LA181_0 >= SUBSUB && LA181_0 <= SYNCHRONIZED)||(LA181_0 >= THIS && LA181_0 <= THROW)||(LA181_0 >= TILDE && LA181_0 <= WHILE)) ) { alt181=1; } switch (alt181) { case 1 : // Java.g:586:10: t54= blockStatement { pushFollow(FOLLOW_blockStatement_in_synpred59_Java2368); t54=blockStatement(); state._fsp--; if (state.failed) return ; } break; default : break loop181; } } while (true); // Java.g:588:9: ( '}' ) // Java.g:588:10: '}' { match(input,RBRACE,FOLLOW_RBRACE_in_synpred59_Java2392); if (state.failed) return ; } } } // $ANTLR end synpred59_Java // $ANTLR start synpred68_Java public final void synpred68_Java_fragment() throws RecognitionException { interfaceFieldDeclaration_return t66 =null; // Java.g:630:9: (t66= interfaceFieldDeclaration ) // Java.g:630:9: t66= interfaceFieldDeclaration { pushFollow(FOLLOW_interfaceFieldDeclaration_in_synpred68_Java2869); t66=interfaceFieldDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred68_Java // $ANTLR start synpred69_Java public final void synpred69_Java_fragment() throws RecognitionException { interfaceMethodDeclaration_return t67 =null; // Java.g:631:9: (t67= interfaceMethodDeclaration ) // Java.g:631:9: t67= interfaceMethodDeclaration { pushFollow(FOLLOW_interfaceMethodDeclaration_in_synpred69_Java2885); t67=interfaceMethodDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred69_Java // $ANTLR start synpred70_Java public final void synpred70_Java_fragment() throws RecognitionException { interfaceDeclaration_return t68 =null; // Java.g:632:9: (t68= interfaceDeclaration ) // Java.g:632:9: t68= interfaceDeclaration { pushFollow(FOLLOW_interfaceDeclaration_in_synpred70_Java2901); t68=interfaceDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred70_Java // $ANTLR start synpred71_Java public final void synpred71_Java_fragment() throws RecognitionException { classDeclaration_return t69 =null; // Java.g:633:9: (t69= classDeclaration ) // Java.g:633:9: t69= classDeclaration { pushFollow(FOLLOW_classDeclaration_in_synpred71_Java2917); t69=classDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred71_Java // $ANTLR start synpred96_Java public final void synpred96_Java_fragment() throws RecognitionException { ellipsisParameterDecl_return t90 =null; // Java.g:728:9: (t90= ellipsisParameterDecl ) // Java.g:728:9: t90= ellipsisParameterDecl { pushFollow(FOLLOW_ellipsisParameterDecl_in_synpred96_Java3879); t90=ellipsisParameterDecl(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred96_Java // $ANTLR start synpred98_Java public final void synpred98_Java_fragment() throws RecognitionException { normalParameterDecl_return t91 =null; normalParameterDecl_return t92 =null; // Java.g:729:9: (t91= normalParameterDecl ( ( ',' ) t92= normalParameterDecl )* ) // Java.g:729:9: t91= normalParameterDecl ( ( ',' ) t92= normalParameterDecl )* { pushFollow(FOLLOW_normalParameterDecl_in_synpred98_Java3895); t91=normalParameterDecl(); state._fsp--; if (state.failed) return ; // Java.g:730:9: ( ( ',' ) t92= normalParameterDecl )* loop184: do { int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0==COMMA) ) { alt184=1; } switch (alt184) { case 1 : // Java.g:730:10: ( ',' ) t92= normalParameterDecl { // Java.g:730:10: ( ',' ) // Java.g:730:11: ',' { match(input,COMMA,FOLLOW_COMMA_in_synpred98_Java3909); if (state.failed) return ; } pushFollow(FOLLOW_normalParameterDecl_in_synpred98_Java3917); t92=normalParameterDecl(); state._fsp--; if (state.failed) return ; } break; default : break loop184; } } while (true); } } // $ANTLR end synpred98_Java // $ANTLR start synpred99_Java public final void synpred99_Java_fragment() throws RecognitionException { normalParameterDecl_return t93 =null; // Java.g:732:10: (t93= normalParameterDecl ( ',' ) ) // Java.g:732:10: t93= normalParameterDecl ( ',' ) { pushFollow(FOLLOW_normalParameterDecl_in_synpred99_Java3945); t93=normalParameterDecl(); state._fsp--; if (state.failed) return ; // Java.g:733:9: ( ',' ) // Java.g:733:10: ',' { match(input,COMMA,FOLLOW_COMMA_in_synpred99_Java3958); if (state.failed) return ; } } } // $ANTLR end synpred99_Java // $ANTLR start synpred103_Java public final void synpred103_Java_fragment() throws RecognitionException { nonWildcardTypeArguments_return t99 =null; arguments_return t100 =null; // Java.g:752:9: ( (t99= nonWildcardTypeArguments )? ( 'this' | 'super' ) t100= arguments ( ';' ) ) // Java.g:752:9: (t99= nonWildcardTypeArguments )? ( 'this' | 'super' ) t100= arguments ( ';' ) { // Java.g:752:9: (t99= nonWildcardTypeArguments )? int alt185=2; int LA185_0 = input.LA(1); if ( (LA185_0==LT) ) { alt185=1; } switch (alt185) { case 1 : // Java.g:752:10: t99= nonWildcardTypeArguments { pushFollow(FOLLOW_nonWildcardTypeArguments_in_synpred103_Java4140); t99=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return ; } break; } if ( input.LA(1)==SUPER||input.LA(1)==THIS ) { 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; } pushFollow(FOLLOW_arguments_in_synpred103_Java4206); t100=arguments(); state._fsp--; if (state.failed) return ; // Java.g:757:134: ( ';' ) // Java.g:757:135: ';' { match(input,SEMI,FOLLOW_SEMI_in_synpred103_Java4211); if (state.failed) return ; } } } // $ANTLR end synpred103_Java // $ANTLR start synpred117_Java public final void synpred117_Java_fragment() throws RecognitionException { annotationMethodDeclaration_return t119 =null; // Java.g:839:9: (t119= annotationMethodDeclaration ) // Java.g:839:9: t119= annotationMethodDeclaration { pushFollow(FOLLOW_annotationMethodDeclaration_in_synpred117_Java4979); t119=annotationMethodDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred117_Java // $ANTLR start synpred118_Java public final void synpred118_Java_fragment() throws RecognitionException { interfaceFieldDeclaration_return t120 =null; // Java.g:840:9: (t120= interfaceFieldDeclaration ) // Java.g:840:9: t120= interfaceFieldDeclaration { pushFollow(FOLLOW_interfaceFieldDeclaration_in_synpred118_Java4995); t120=interfaceFieldDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred118_Java // $ANTLR start synpred119_Java public final void synpred119_Java_fragment() throws RecognitionException { normalClassDeclaration_return t121 =null; // Java.g:841:9: (t121= normalClassDeclaration ) // Java.g:841:9: t121= normalClassDeclaration { pushFollow(FOLLOW_normalClassDeclaration_in_synpred119_Java5011); t121=normalClassDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred119_Java // $ANTLR start synpred120_Java public final void synpred120_Java_fragment() throws RecognitionException { normalInterfaceDeclaration_return t122 =null; // Java.g:842:9: (t122= normalInterfaceDeclaration ) // Java.g:842:9: t122= normalInterfaceDeclaration { pushFollow(FOLLOW_normalInterfaceDeclaration_in_synpred120_Java5027); t122=normalInterfaceDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred120_Java // $ANTLR start synpred121_Java public final void synpred121_Java_fragment() throws RecognitionException { enumDeclaration_return t123 =null; // Java.g:843:9: (t123= enumDeclaration ) // Java.g:843:9: t123= enumDeclaration { pushFollow(FOLLOW_enumDeclaration_in_synpred121_Java5043); t123=enumDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred121_Java // $ANTLR start synpred122_Java public final void synpred122_Java_fragment() throws RecognitionException { annotationTypeDeclaration_return t124 =null; // Java.g:844:9: (t124= annotationTypeDeclaration ) // Java.g:844:9: t124= annotationTypeDeclaration { pushFollow(FOLLOW_annotationTypeDeclaration_in_synpred122_Java5059); t124=annotationTypeDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred122_Java // $ANTLR start synpred125_Java public final void synpred125_Java_fragment() throws RecognitionException { localVariableDeclarationStatement_return t129 =null; // Java.g:863:9: (t129= localVariableDeclarationStatement ) // Java.g:863:9: t129= localVariableDeclarationStatement { pushFollow(FOLLOW_localVariableDeclarationStatement_in_synpred125_Java5265); t129=localVariableDeclarationStatement(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred125_Java // $ANTLR start synpred126_Java public final void synpred126_Java_fragment() throws RecognitionException { classOrInterfaceDeclaration_return t130 =null; // Java.g:864:9: (t130= classOrInterfaceDeclaration ) // Java.g:864:9: t130= classOrInterfaceDeclaration { pushFollow(FOLLOW_classOrInterfaceDeclaration_in_synpred126_Java5281); t130=classOrInterfaceDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred126_Java // $ANTLR start synpred130_Java public final void synpred130_Java_fragment() throws RecognitionException { expression_return t138 =null; expression_return t139 =null; // Java.g:884:9: ( ( 'assert' ) t138= expression ( ( ':' ) t139= expression )? ( ';' ) ) // Java.g:884:9: ( 'assert' ) t138= expression ( ( ':' ) t139= expression )? ( ';' ) { // Java.g:884:9: ( 'assert' ) // Java.g:884:10: 'assert' { match(input,ASSERT,FOLLOW_ASSERT_in_synpred130_Java5472); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred130_Java5497); t138=expression(); state._fsp--; if (state.failed) return ; // Java.g:886:136: ( ( ':' ) t139= expression )? int alt188=2; int LA188_0 = input.LA(1); if ( (LA188_0==COLON) ) { alt188=1; } switch (alt188) { case 1 : // Java.g:886:137: ( ':' ) t139= expression { // Java.g:886:137: ( ':' ) // Java.g:886:138: ':' { match(input,COLON,FOLLOW_COLON_in_synpred130_Java5503); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred130_Java5511); t139=expression(); state._fsp--; if (state.failed) return ; } break; } // Java.g:886:304: ( ';' ) // Java.g:886:305: ';' { match(input,SEMI,FOLLOW_SEMI_in_synpred130_Java5518); if (state.failed) return ; } } } // $ANTLR end synpred130_Java // $ANTLR start synpred132_Java public final void synpred132_Java_fragment() throws RecognitionException { expression_return t140 =null; expression_return t141 =null; // Java.g:887:9: ( 'assert' t140= expression ( ( ':' ) t141= expression )? ( ';' ) ) // Java.g:887:9: 'assert' t140= expression ( ( ':' ) t141= expression )? ( ';' ) { match(input,ASSERT,FOLLOW_ASSERT_in_synpred132_Java5530); if (state.failed) return ; pushFollow(FOLLOW_expression_in_synpred132_Java5538); t140=expression(); state._fsp--; if (state.failed) return ; // Java.g:887:183: ( ( ':' ) t141= expression )? int alt189=2; int LA189_0 = input.LA(1); if ( (LA189_0==COLON) ) { alt189=1; } switch (alt189) { case 1 : // Java.g:887:184: ( ':' ) t141= expression { // Java.g:887:184: ( ':' ) // Java.g:887:185: ':' { match(input,COLON,FOLLOW_COLON_in_synpred132_Java5544); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred132_Java5552); t141=expression(); state._fsp--; if (state.failed) return ; } break; } // Java.g:887:351: ( ';' ) // Java.g:887:352: ';' { match(input,SEMI,FOLLOW_SEMI_in_synpred132_Java5559); if (state.failed) return ; } } } // $ANTLR end synpred132_Java // $ANTLR start synpred133_Java public final void synpred133_Java_fragment() throws RecognitionException { statement_return t144 =null; // Java.g:888:306: ( 'else' t144= statement ) // Java.g:888:306: 'else' t144= statement { match(input,ELSE,FOLLOW_ELSE_in_synpred133_Java5603); if (state.failed) return ; pushFollow(FOLLOW_statement_in_synpred133_Java5610); t144=statement(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred133_Java // $ANTLR start synpred148_Java public final void synpred148_Java_fragment() throws RecognitionException { expression_return t157 =null; // Java.g:903:9: (t157= expression ( ';' ) ) // Java.g:903:9: t157= expression ( ';' ) { pushFollow(FOLLOW_expression_in_synpred148_Java5944); t157=expression(); state._fsp--; if (state.failed) return ; // Java.g:903:137: ( ';' ) // Java.g:903:138: ';' { match(input,SEMI,FOLLOW_SEMI_in_synpred148_Java5950); if (state.failed) return ; } } } // $ANTLR end synpred148_Java // $ANTLR start synpred149_Java public final void synpred149_Java_fragment() throws RecognitionException { statement_return t158 =null; // Java.g:904:9: ( IDENTIFIER ( ':' ) t158= statement ) // Java.g:904:9: IDENTIFIER ( ':' ) t158= statement { match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred149_Java5967); if (state.failed) return ; // Java.g:904:90: ( ':' ) // Java.g:904:91: ':' { match(input,COLON,FOLLOW_COLON_in_synpred149_Java5972); if (state.failed) return ; } pushFollow(FOLLOW_statement_in_synpred149_Java5980); t158=statement(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred149_Java // $ANTLR start synpred154_Java public final void synpred154_Java_fragment() throws RecognitionException { catches_return t165 =null; block_return t166 =null; // Java.g:928:13: (t165= catches 'finally' t166= block ) // Java.g:928:13: t165= catches 'finally' t166= block { pushFollow(FOLLOW_catches_in_synpred154_Java6195); t165=catches(); state._fsp--; if (state.failed) return ; match(input,FINALLY,FOLLOW_FINALLY_in_synpred154_Java6199); if (state.failed) return ; pushFollow(FOLLOW_block_in_synpred154_Java6206); t166=block(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred154_Java // $ANTLR start synpred155_Java public final void synpred155_Java_fragment() throws RecognitionException { catches_return t167 =null; // Java.g:929:13: (t167= catches ) // Java.g:929:13: t167= catches { pushFollow(FOLLOW_catches_in_synpred155_Java6226); t167=catches(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred155_Java // $ANTLR start synpred164_Java public final void synpred164_Java_fragment() throws RecognitionException { variableModifiers_return t184 =null; type_return t185 =null; expression_return t186 =null; statement_return t187 =null; // Java.g:978:9: ( 'for' ( '(' ) t184= variableModifiers t185= type IDENTIFIER ( ( '[' ) ( ']' ) )* ( ':' ) t186= expression ( ')' ) t187= statement ) // Java.g:978:9: 'for' ( '(' ) t184= variableModifiers t185= type IDENTIFIER ( ( '[' ) ( ']' ) )* ( ':' ) t186= expression ( ')' ) t187= statement { match(input,FOR,FOLLOW_FOR_in_synpred164_Java6712); if (state.failed) return ; // Java.g:978:49: ( '(' ) // Java.g:978:50: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_synpred164_Java6716); if (state.failed) return ; } pushFollow(FOLLOW_variableModifiers_in_synpred164_Java6724); t184=variableModifiers(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_type_in_synpred164_Java6732); t185=type(); state._fsp--; if (state.failed) return ; match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred164_Java6736); if (state.failed) return ; // Java.g:978:424: ( ( '[' ) ( ']' ) )* loop194: do { int alt194=2; int LA194_0 = input.LA(1); if ( (LA194_0==LBRACKET) ) { alt194=1; } switch (alt194) { case 1 : // Java.g:978:425: ( '[' ) ( ']' ) { // Java.g:978:425: ( '[' ) // Java.g:978:426: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_synpred164_Java6742); if (state.failed) return ; } // Java.g:978:463: ( ']' ) // Java.g:978:464: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_synpred164_Java6747); if (state.failed) return ; } } break; default : break loop194; } } while (true); // Java.g:978:503: ( ':' ) // Java.g:978:504: ':' { match(input,COLON,FOLLOW_COLON_in_synpred164_Java6754); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred164_Java6770); t186=expression(); state._fsp--; if (state.failed) return ; // Java.g:979:136: ( ')' ) // Java.g:979:137: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_synpred164_Java6775); if (state.failed) return ; } pushFollow(FOLLOW_statement_in_synpred164_Java6783); t187=statement(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred164_Java // $ANTLR start synpred168_Java public final void synpred168_Java_fragment() throws RecognitionException { localVariableDeclaration_return t192 =null; // Java.g:992:9: (t192= localVariableDeclaration ) // Java.g:992:9: t192= localVariableDeclaration { pushFollow(FOLLOW_localVariableDeclaration_in_synpred168_Java7005); t192=localVariableDeclaration(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred168_Java // $ANTLR start synpred209_Java public final void synpred209_Java_fragment() throws RecognitionException { castExpression_return t234 =null; // Java.g:1146:9: (t234= castExpression ) // Java.g:1146:9: t234= castExpression { pushFollow(FOLLOW_castExpression_in_synpred209_Java8640); t234=castExpression(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred209_Java // $ANTLR start synpred213_Java public final void synpred213_Java_fragment() throws RecognitionException { primitiveType_return t237 =null; unaryExpression_return t238 =null; // Java.g:1156:9: ( ( '(' ) t237= primitiveType ( ')' ) t238= unaryExpression ) // Java.g:1156:9: ( '(' ) t237= primitiveType ( ')' ) t238= unaryExpression { // Java.g:1156:9: ( '(' ) // Java.g:1156:10: '(' { match(input,LPAREN,FOLLOW_LPAREN_in_synpred213_Java8748); if (state.failed) return ; } pushFollow(FOLLOW_primitiveType_in_synpred213_Java8756); t237=primitiveType(); state._fsp--; if (state.failed) return ; // Java.g:1156:180: ( ')' ) // Java.g:1156:181: ')' { match(input,RPAREN,FOLLOW_RPAREN_in_synpred213_Java8761); if (state.failed) return ; } pushFollow(FOLLOW_unaryExpression_in_synpred213_Java8769); t238=unaryExpression(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred213_Java // $ANTLR start synpred215_Java public final void synpred215_Java_fragment() throws RecognitionException { // Java.g:1166:10: ( ( '.' ) IDENTIFIER ) // Java.g:1166:10: ( '.' ) IDENTIFIER { // Java.g:1166:10: ( '.' ) // Java.g:1166:11: '.' { match(input,DOT,FOLLOW_DOT_in_synpred215_Java8868); if (state.failed) return ; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred215_Java8872); if (state.failed) return ; } } // $ANTLR end synpred215_Java // $ANTLR start synpred216_Java public final void synpred216_Java_fragment() throws RecognitionException { identifierSuffix_return t242 =null; // Java.g:1168:10: (t242= identifierSuffix ) // Java.g:1168:10: t242= identifierSuffix { pushFollow(FOLLOW_identifierSuffix_in_synpred216_Java8900); t242=identifierSuffix(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred216_Java // $ANTLR start synpred218_Java public final void synpred218_Java_fragment() throws RecognitionException { // Java.g:1171:10: ( ( '.' ) IDENTIFIER ) // Java.g:1171:10: ( '.' ) IDENTIFIER { // Java.g:1171:10: ( '.' ) // Java.g:1171:11: '.' { match(input,DOT,FOLLOW_DOT_in_synpred218_Java8937); if (state.failed) return ; } match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred218_Java8941); if (state.failed) return ; } } // $ANTLR end synpred218_Java // $ANTLR start synpred219_Java public final void synpred219_Java_fragment() throws RecognitionException { identifierSuffix_return t243 =null; // Java.g:1173:10: (t243= identifierSuffix ) // Java.g:1173:10: t243= identifierSuffix { pushFollow(FOLLOW_identifierSuffix_in_synpred219_Java8969); t243=identifierSuffix(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred219_Java // $ANTLR start synpred231_Java public final void synpred231_Java_fragment() throws RecognitionException { expression_return t251 =null; // Java.g:1201:10: ( ( '[' ) t251= expression ( ']' ) ) // Java.g:1201:10: ( '[' ) t251= expression ( ']' ) { // Java.g:1201:10: ( '[' ) // Java.g:1201:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_synpred231_Java9296); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred231_Java9304); t251=expression(); state._fsp--; if (state.failed) return ; // Java.g:1201:175: ( ']' ) // Java.g:1201:176: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_synpred231_Java9309); if (state.failed) return ; } } } // $ANTLR end synpred231_Java // $ANTLR start synpred246_Java public final void synpred246_Java_fragment() throws RecognitionException { nonWildcardTypeArguments_return t265 =null; classOrInterfaceType_return t266 =null; classCreatorRest_return t267 =null; // Java.g:1238:9: ( 'new' t265= nonWildcardTypeArguments t266= classOrInterfaceType t267= classCreatorRest ) // Java.g:1238:9: 'new' t265= nonWildcardTypeArguments t266= classOrInterfaceType t267= classCreatorRest { match(input,NEW,FOLLOW_NEW_in_synpred246_Java9729); if (state.failed) return ; pushFollow(FOLLOW_nonWildcardTypeArguments_in_synpred246_Java9736); t265=nonWildcardTypeArguments(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_classOrInterfaceType_in_synpred246_Java9744); t266=classOrInterfaceType(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_classCreatorRest_in_synpred246_Java9752); t267=classCreatorRest(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred246_Java // $ANTLR start synpred247_Java public final void synpred247_Java_fragment() throws RecognitionException { classOrInterfaceType_return t268 =null; classCreatorRest_return t269 =null; // Java.g:1239:9: ( 'new' t268= classOrInterfaceType t269= classCreatorRest ) // Java.g:1239:9: 'new' t268= classOrInterfaceType t269= classCreatorRest { match(input,NEW,FOLLOW_NEW_in_synpred247_Java9764); if (state.failed) return ; pushFollow(FOLLOW_classOrInterfaceType_in_synpred247_Java9771); t268=classOrInterfaceType(); state._fsp--; if (state.failed) return ; pushFollow(FOLLOW_classCreatorRest_in_synpred247_Java9779); t269=classCreatorRest(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred247_Java // $ANTLR start synpred249_Java public final void synpred249_Java_fragment() throws RecognitionException { createdName_return t271 =null; arrayInitializer_return t272 =null; // Java.g:1244:9: ( 'new' t271= createdName ( '[' ) ( ']' ) ( ( '[' ) ( ']' ) )* t272= arrayInitializer ) // Java.g:1244:9: 'new' t271= createdName ( '[' ) ( ']' ) ( ( '[' ) ( ']' ) )* t272= arrayInitializer { match(input,NEW,FOLLOW_NEW_in_synpred249_Java9817); if (state.failed) return ; pushFollow(FOLLOW_createdName_in_synpred249_Java9824); t271=createdName(); state._fsp--; if (state.failed) return ; // Java.g:1245:9: ( '[' ) // Java.g:1245:10: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_synpred249_Java9837); if (state.failed) return ; } // Java.g:1245:47: ( ']' ) // Java.g:1245:48: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_synpred249_Java9842); if (state.failed) return ; } // Java.g:1246:9: ( ( '[' ) ( ']' ) )* loop203: do { int alt203=2; int LA203_0 = input.LA(1); if ( (LA203_0==LBRACKET) ) { alt203=1; } switch (alt203) { case 1 : // Java.g:1246:10: ( '[' ) ( ']' ) { // Java.g:1246:10: ( '[' ) // Java.g:1246:11: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_synpred249_Java9856); if (state.failed) return ; } // Java.g:1246:48: ( ']' ) // Java.g:1246:49: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_synpred249_Java9861); if (state.failed) return ; } } break; default : break loop203; } } while (true); pushFollow(FOLLOW_arrayInitializer_in_synpred249_Java9888); t272=arrayInitializer(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred249_Java // $ANTLR start synpred250_Java public final void synpred250_Java_fragment() throws RecognitionException { expression_return t275 =null; // Java.g:1253:13: ( ( '[' ) t275= expression ( ']' ) ) // Java.g:1253:13: ( '[' ) t275= expression ( ']' ) { // Java.g:1253:13: ( '[' ) // Java.g:1253:14: '[' { match(input,LBRACKET,FOLLOW_LBRACKET_in_synpred250_Java9959); if (state.failed) return ; } pushFollow(FOLLOW_expression_in_synpred250_Java9967); t275=expression(); state._fsp--; if (state.failed) return ; // Java.g:1254:13: ( ']' ) // Java.g:1254:14: ']' { match(input,RBRACKET,FOLLOW_RBRACKET_in_synpred250_Java9984); if (state.failed) return ; } } } // $ANTLR end synpred250_Java // Delegated rules public final boolean synpred43_Java() { state.backtracking++; int start = input.mark(); try { synpred43_Java_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 synpred98_Java() { state.backtracking++; int start = input.mark(); try { synpred98_Java_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 synpred121_Java() { state.backtracking++; int start = input.mark(); try { synpred121_Java_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 synpred249_Java() { state.backtracking++; int start = input.mark(); try { synpred249_Java_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 synpred168_Java() { state.backtracking++; int start = input.mark(); try { synpred168_Java_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 synpred69_Java() { state.backtracking++; int start = input.mark(); try { synpred69_Java_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 synpred154_Java() { state.backtracking++; int start = input.mark(); try { synpred154_Java_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 synpred71_Java() { state.backtracking++; int start = input.mark(); try { synpred71_Java_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 synpred133_Java() { state.backtracking++; int start = input.mark(); try { synpred133_Java_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 synpred125_Java() { state.backtracking++; int start = input.mark(); try { synpred125_Java_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 synpred132_Java() { state.backtracking++; int start = input.mark(); try { synpred132_Java_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 synpred119_Java() { state.backtracking++; int start = input.mark(); try { synpred119_Java_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 synpred246_Java() { state.backtracking++; int start = input.mark(); try { synpred246_Java_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 synpred219_Java() { state.backtracking++; int start = input.mark(); try { synpred219_Java_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 synpred215_Java() { state.backtracking++; int start = input.mark(); try { synpred215_Java_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 synpred218_Java() { state.backtracking++; int start = input.mark(); try { synpred218_Java_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 synpred54_Java() { state.backtracking++; int start = input.mark(); try { synpred54_Java_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 synpred148_Java() { state.backtracking++; int start = input.mark(); try { synpred148_Java_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 synpred117_Java() { state.backtracking++; int start = input.mark(); try { synpred117_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred2_Java_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 synpred130_Java() { state.backtracking++; int start = input.mark(); try { synpred130_Java_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 synpred126_Java() { state.backtracking++; int start = input.mark(); try { synpred126_Java_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 synpred231_Java() { state.backtracking++; int start = input.mark(); try { synpred231_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred59_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred57_Java_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 synpred209_Java() { state.backtracking++; int start = input.mark(); try { synpred209_Java_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 synpred155_Java() { state.backtracking++; int start = input.mark(); try { synpred155_Java_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 synpred213_Java() { state.backtracking++; int start = input.mark(); try { synpred213_Java_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 synpred68_Java() { state.backtracking++; int start = input.mark(); try { synpred68_Java_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 synpred53_Java() { state.backtracking++; int start = input.mark(); try { synpred53_Java_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 synpred216_Java() { state.backtracking++; int start = input.mark(); try { synpred216_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred52_Java_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 synpred247_Java() { state.backtracking++; int start = input.mark(); try { synpred247_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred12_Java_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 synpred149_Java() { state.backtracking++; int start = input.mark(); try { synpred149_Java_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 synpred120_Java() { state.backtracking++; int start = input.mark(); try { synpred120_Java_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 synpred122_Java() { state.backtracking++; int start = input.mark(); try { synpred122_Java_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 synpred70_Java() { state.backtracking++; int start = input.mark(); try { synpred70_Java_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_Java() { state.backtracking++; int start = input.mark(); try { synpred27_Java_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 synpred96_Java() { state.backtracking++; int start = input.mark(); try { synpred96_Java_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 synpred99_Java() { state.backtracking++; int start = input.mark(); try { synpred99_Java_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 synpred250_Java() { state.backtracking++; int start = input.mark(); try { synpred250_Java_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 synpred103_Java() { state.backtracking++; int start = input.mark(); try { synpred103_Java_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 synpred164_Java() { state.backtracking++; int start = input.mark(); try { synpred164_Java_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 synpred118_Java() { state.backtracking++; int start = input.mark(); try { synpred118_Java_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 DFA42 dfa42 = new DFA42(this); protected DFA93 dfa93 = new DFA93(this); protected DFA106 dfa106 = new DFA106(this); protected DFA180 dfa180 = new DFA180(this); static final String DFA42_eotS = "\75\uffff"; static final String DFA42_eofS = "\75\uffff"; static final String DFA42_minS = "\1\4\1\uffff\30\0\43\uffff"; static final String DFA42_maxS = "\1\170\1\uffff\30\0\43\uffff"; static final String DFA42_acceptS = "\1\uffff\1\1\30\uffff\1\2\42\uffff"; static final String DFA42_specialS = "\2\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\43\uffff}>"; static final String[] DFA42_transitionS = { "\1\32\3\uffff\2\32\4\uffff\1\10\1\21\1\32\1\23\5\uffff\1\22"+ "\1\13\1\32\4\uffff\1\32\1\uffff\1\32\1\uffff\1\30\1\12\3\uffff"+ "\1\32\5\uffff\1\16\1\32\1\uffff\1\27\1\11\1\32\6\uffff\1\5\1"+ "\32\3\uffff\1\25\1\32\1\6\3\uffff\1\32\2\uffff\1\26\1\7\1\4"+ "\1\1\1\uffff\2\32\1\20\1\17\4\uffff\1\32\1\uffff\4\32\1\uffff"+ "\1\32\1\uffff\1\32\1\uffff\1\32\1\24\4\uffff\2\32\1\14\1\32"+ "\1\uffff\1\32\1\3\2\32\1\uffff\1\2\1\32\1\uffff\2\32\1\15\1"+ "\32\1\31\2\32", "", "\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[] DFA42_eot = DFA.unpackEncodedString(DFA42_eotS); static final short[] DFA42_eof = DFA.unpackEncodedString(DFA42_eofS); static final char[] DFA42_min = DFA.unpackEncodedStringToUnsignedChars(DFA42_minS); static final char[] DFA42_max = DFA.unpackEncodedStringToUnsignedChars(DFA42_maxS); static final short[] DFA42_accept = DFA.unpackEncodedString(DFA42_acceptS); static final short[] DFA42_special = DFA.unpackEncodedString(DFA42_specialS); static final short[][] DFA42_transition; static { int numStates = DFA42_transitionS.length; DFA42_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA42_transition[i] = DFA.unpackEncodedString(DFA42_transitionS[i]); } } class DFA42 extends DFA { public DFA42(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 42; this.eot = DFA42_eot; this.eof = DFA42_eof; this.min = DFA42_min; this.max = DFA42_max; this.accept = DFA42_accept; this.special = DFA42_special; this.transition = DFA42_transition; } public String getDescription() { return "584:9: (t53= explicitConstructorInvocation )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA42_2 = input.LA(1); int index42_2 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_2); if ( s>=0 ) return s; break; case 1 : int LA42_3 = input.LA(1); int index42_3 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_3); if ( s>=0 ) return s; break; case 2 : int LA42_4 = input.LA(1); int index42_4 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_4); if ( s>=0 ) return s; break; case 3 : int LA42_5 = input.LA(1); int index42_5 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_5); if ( s>=0 ) return s; break; case 4 : int LA42_6 = input.LA(1); int index42_6 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_6); if ( s>=0 ) return s; break; case 5 : int LA42_7 = input.LA(1); int index42_7 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_7); if ( s>=0 ) return s; break; case 6 : int LA42_8 = input.LA(1); int index42_8 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_8); if ( s>=0 ) return s; break; case 7 : int LA42_9 = input.LA(1); int index42_9 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_9); if ( s>=0 ) return s; break; case 8 : int LA42_10 = input.LA(1); int index42_10 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_10); if ( s>=0 ) return s; break; case 9 : int LA42_11 = input.LA(1); int index42_11 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_11); if ( s>=0 ) return s; break; case 10 : int LA42_12 = input.LA(1); int index42_12 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_12); if ( s>=0 ) return s; break; case 11 : int LA42_13 = input.LA(1); int index42_13 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_13); if ( s>=0 ) return s; break; case 12 : int LA42_14 = input.LA(1); int index42_14 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_14); if ( s>=0 ) return s; break; case 13 : int LA42_15 = input.LA(1); int index42_15 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_15); if ( s>=0 ) return s; break; case 14 : int LA42_16 = input.LA(1); int index42_16 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_16); if ( s>=0 ) return s; break; case 15 : int LA42_17 = input.LA(1); int index42_17 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_17); if ( s>=0 ) return s; break; case 16 : int LA42_18 = input.LA(1); int index42_18 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_18); if ( s>=0 ) return s; break; case 17 : int LA42_19 = input.LA(1); int index42_19 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_19); if ( s>=0 ) return s; break; case 18 : int LA42_20 = input.LA(1); int index42_20 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_20); if ( s>=0 ) return s; break; case 19 : int LA42_21 = input.LA(1); int index42_21 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_21); if ( s>=0 ) return s; break; case 20 : int LA42_22 = input.LA(1); int index42_22 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_22); if ( s>=0 ) return s; break; case 21 : int LA42_23 = input.LA(1); int index42_23 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_23); if ( s>=0 ) return s; break; case 22 : int LA42_24 = input.LA(1); int index42_24 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_24); if ( s>=0 ) return s; break; case 23 : int LA42_25 = input.LA(1); int index42_25 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index42_25); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 42, _s, input); error(nvae); throw nvae; } } static final String DFA93_eotS = "\74\uffff"; static final String DFA93_eofS = "\74\uffff"; static final String DFA93_minS = "\1\4\13\0\6\uffff\1\0\51\uffff"; static final String DFA93_maxS = "\1\170\13\0\6\uffff\1\0\51\uffff"; static final String DFA93_acceptS = "\14\uffff\1\2\14\uffff\1\3\41\uffff\1\1"; static final String DFA93_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\6\uffff"+ "\1\13\51\uffff}>"; static final String[] DFA93_transitionS = { "\1\14\3\uffff\2\31\4\uffff\1\31\1\4\1\31\1\6\5\uffff\1\5\1\31"+ "\1\14\4\uffff\1\31\1\uffff\1\31\1\uffff\1\13\1\31\3\uffff\1"+ "\14\5\uffff\1\31\1\1\1\uffff\1\12\2\31\6\uffff\1\3\1\31\3\uffff"+ "\1\10\1\14\1\31\3\uffff\1\31\2\uffff\1\11\2\31\2\uffff\1\2\1"+ "\14\2\31\4\uffff\1\31\1\uffff\1\31\3\14\3\uffff\1\31\1\uffff"+ "\1\31\1\7\4\uffff\2\14\2\31\1\uffff\3\31\1\22\1\uffff\2\31\1"+ "\uffff\1\31\1\14\3\31\1\14\1\31", "\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[] DFA93_eot = DFA.unpackEncodedString(DFA93_eotS); static final short[] DFA93_eof = DFA.unpackEncodedString(DFA93_eofS); static final char[] DFA93_min = DFA.unpackEncodedStringToUnsignedChars(DFA93_minS); static final char[] DFA93_max = DFA.unpackEncodedStringToUnsignedChars(DFA93_maxS); static final short[] DFA93_accept = DFA.unpackEncodedString(DFA93_acceptS); static final short[] DFA93_special = DFA.unpackEncodedString(DFA93_specialS); static final short[][] DFA93_transition; static { int numStates = DFA93_transitionS.length; DFA93_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA93_transition[i] = DFA.unpackEncodedString(DFA93_transitionS[i]); } } class DFA93 extends DFA { public DFA93(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 93; this.eot = DFA93_eot; this.eof = DFA93_eof; this.min = DFA93_min; this.max = DFA93_max; this.accept = DFA93_accept; this.special = DFA93_special; this.transition = DFA93_transition; } public String getDescription() { return "862:1: blockStatement : (t129= localVariableDeclarationStatement |t130= classOrInterfaceDeclaration |t131= statement );"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA93_1 = input.LA(1); int index93_1 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (synpred126_Java()) ) {s = 12;} input.seek(index93_1); if ( s>=0 ) return s; break; case 1 : int LA93_2 = input.LA(1); int index93_2 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (synpred126_Java()) ) {s = 12;} input.seek(index93_2); if ( s>=0 ) return s; break; case 2 : int LA93_3 = input.LA(1); int index93_3 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_3); if ( s>=0 ) return s; break; case 3 : int LA93_4 = input.LA(1); int index93_4 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_4); if ( s>=0 ) return s; break; case 4 : int LA93_5 = input.LA(1); int index93_5 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_5); if ( s>=0 ) return s; break; case 5 : int LA93_6 = input.LA(1); int index93_6 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_6); if ( s>=0 ) return s; break; case 6 : int LA93_7 = input.LA(1); int index93_7 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_7); if ( s>=0 ) return s; break; case 7 : int LA93_8 = input.LA(1); int index93_8 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_8); if ( s>=0 ) return s; break; case 8 : int LA93_9 = input.LA(1); int index93_9 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_9); if ( s>=0 ) return s; break; case 9 : int LA93_10 = input.LA(1); int index93_10 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_10); if ( s>=0 ) return s; break; case 10 : int LA93_11 = input.LA(1); int index93_11 = input.index(); input.rewind(); s = -1; if ( (synpred125_Java()) ) {s = 59;} else if ( (true) ) {s = 25;} input.seek(index93_11); if ( s>=0 ) return s; break; case 11 : int LA93_18 = input.LA(1); int index93_18 = input.index(); input.rewind(); s = -1; if ( (synpred126_Java()) ) {s = 12;} else if ( (true) ) {s = 25;} input.seek(index93_18); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 93, _s, input); error(nvae); throw nvae; } } static final String DFA106_eotS = "\104\uffff"; static final String DFA106_eofS = "\1\3\103\uffff"; static final String DFA106_minS = "\1\4\1\0\102\uffff"; static final String DFA106_maxS = "\1\170\1\0\102\uffff"; static final String DFA106_acceptS = "\2\uffff\1\3\1\4\76\uffff\1\1\1\2"; static final String DFA106_specialS = "\1\uffff\1\0\102\uffff}>"; static final String[] DFA106_transitionS = { "\1\3\3\uffff\2\3\4\uffff\4\3\3\uffff\1\3\1\1\3\3\4\uffff\3\3"+ "\1\uffff\2\3\2\uffff\2\3\5\uffff\2\3\1\2\3\3\6\uffff\2\3\3\uffff"+ "\3\3\3\uffff\1\3\2\uffff\3\3\2\uffff\4\3\4\uffff\1\3\1\uffff"+ "\4\3\1\uffff\1\3\1\uffff\1\3\1\uffff\2\3\4\uffff\4\3\1\uffff"+ "\4\3\1\uffff\2\3\1\uffff\7\3", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA106_eot = DFA.unpackEncodedString(DFA106_eotS); static final short[] DFA106_eof = DFA.unpackEncodedString(DFA106_eofS); static final char[] DFA106_min = DFA.unpackEncodedStringToUnsignedChars(DFA106_minS); static final char[] DFA106_max = DFA.unpackEncodedStringToUnsignedChars(DFA106_maxS); static final short[] DFA106_accept = DFA.unpackEncodedString(DFA106_acceptS); static final short[] DFA106_special = DFA.unpackEncodedString(DFA106_specialS); static final short[][] DFA106_transition; static { int numStates = DFA106_transitionS.length; DFA106_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA106_transition[i] = DFA.unpackEncodedString(DFA106_transitionS[i]); } } class DFA106 extends DFA { public DFA106(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 106; this.eot = DFA106_eot; this.eof = DFA106_eof; this.min = DFA106_min; this.max = DFA106_max; this.accept = DFA106_accept; this.special = DFA106_special; this.transition = DFA106_transition; } public String getDescription() { return "928:9: (t165= catches 'finally' t166= block |t167= catches | 'finally' t168= block )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA106_1 = input.LA(1); int index106_1 = input.index(); input.rewind(); s = -1; if ( (synpred154_Java()) ) {s = 66;} else if ( (synpred155_Java()) ) {s = 67;} input.seek(index106_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 106, _s, input); error(nvae); throw nvae; } } static final String DFA180_eotS = "\75\uffff"; static final String DFA180_eofS = "\75\uffff"; static final String DFA180_minS = "\1\4\1\uffff\30\0\43\uffff"; static final String DFA180_maxS = "\1\170\1\uffff\30\0\43\uffff"; static final String DFA180_acceptS = "\1\uffff\1\1\30\uffff\1\2\42\uffff"; static final String DFA180_specialS = "\2\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\43\uffff}>"; static final String[] DFA180_transitionS = { "\1\32\3\uffff\2\32\4\uffff\1\10\1\21\1\32\1\23\5\uffff\1\22"+ "\1\13\1\32\4\uffff\1\32\1\uffff\1\32\1\uffff\1\30\1\12\3\uffff"+ "\1\32\5\uffff\1\16\1\32\1\uffff\1\27\1\11\1\32\6\uffff\1\5\1"+ "\32\3\uffff\1\25\1\32\1\6\3\uffff\1\32\2\uffff\1\26\1\7\1\4"+ "\1\1\1\uffff\2\32\1\20\1\17\4\uffff\1\32\1\uffff\4\32\1\uffff"+ "\1\32\1\uffff\1\32\1\uffff\1\32\1\24\4\uffff\2\32\1\14\1\32"+ "\1\uffff\1\32\1\3\2\32\1\uffff\1\2\1\32\1\uffff\2\32\1\15\1"+ "\32\1\31\2\32", "", "\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[] DFA180_eot = DFA.unpackEncodedString(DFA180_eotS); static final short[] DFA180_eof = DFA.unpackEncodedString(DFA180_eofS); static final char[] DFA180_min = DFA.unpackEncodedStringToUnsignedChars(DFA180_minS); static final char[] DFA180_max = DFA.unpackEncodedStringToUnsignedChars(DFA180_maxS); static final short[] DFA180_accept = DFA.unpackEncodedString(DFA180_acceptS); static final short[] DFA180_special = DFA.unpackEncodedString(DFA180_specialS); static final short[][] DFA180_transition; static { int numStates = DFA180_transitionS.length; DFA180_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA180_transition[i] = DFA.unpackEncodedString(DFA180_transitionS[i]); } } class DFA180 extends DFA { public DFA180(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 180; this.eot = DFA180_eot; this.eof = DFA180_eof; this.min = DFA180_min; this.max = DFA180_max; this.accept = DFA180_accept; this.special = DFA180_special; this.transition = DFA180_transition; } public String getDescription() { return "584:9: (t53= explicitConstructorInvocation )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA180_2 = input.LA(1); int index180_2 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_2); if ( s>=0 ) return s; break; case 1 : int LA180_3 = input.LA(1); int index180_3 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_3); if ( s>=0 ) return s; break; case 2 : int LA180_4 = input.LA(1); int index180_4 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_4); if ( s>=0 ) return s; break; case 3 : int LA180_5 = input.LA(1); int index180_5 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_5); if ( s>=0 ) return s; break; case 4 : int LA180_6 = input.LA(1); int index180_6 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_6); if ( s>=0 ) return s; break; case 5 : int LA180_7 = input.LA(1); int index180_7 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_7); if ( s>=0 ) return s; break; case 6 : int LA180_8 = input.LA(1); int index180_8 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_8); if ( s>=0 ) return s; break; case 7 : int LA180_9 = input.LA(1); int index180_9 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_9); if ( s>=0 ) return s; break; case 8 : int LA180_10 = input.LA(1); int index180_10 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_10); if ( s>=0 ) return s; break; case 9 : int LA180_11 = input.LA(1); int index180_11 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_11); if ( s>=0 ) return s; break; case 10 : int LA180_12 = input.LA(1); int index180_12 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_12); if ( s>=0 ) return s; break; case 11 : int LA180_13 = input.LA(1); int index180_13 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_13); if ( s>=0 ) return s; break; case 12 : int LA180_14 = input.LA(1); int index180_14 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_14); if ( s>=0 ) return s; break; case 13 : int LA180_15 = input.LA(1); int index180_15 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_15); if ( s>=0 ) return s; break; case 14 : int LA180_16 = input.LA(1); int index180_16 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_16); if ( s>=0 ) return s; break; case 15 : int LA180_17 = input.LA(1); int index180_17 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_17); if ( s>=0 ) return s; break; case 16 : int LA180_18 = input.LA(1); int index180_18 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_18); if ( s>=0 ) return s; break; case 17 : int LA180_19 = input.LA(1); int index180_19 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_19); if ( s>=0 ) return s; break; case 18 : int LA180_20 = input.LA(1); int index180_20 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_20); if ( s>=0 ) return s; break; case 19 : int LA180_21 = input.LA(1); int index180_21 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_21); if ( s>=0 ) return s; break; case 20 : int LA180_22 = input.LA(1); int index180_22 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_22); if ( s>=0 ) return s; break; case 21 : int LA180_23 = input.LA(1); int index180_23 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_23); if ( s>=0 ) return s; break; case 22 : int LA180_24 = input.LA(1); int index180_24 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_24); if ( s>=0 ) return s; break; case 23 : int LA180_25 = input.LA(1); int index180_25 = input.index(); input.rewind(); s = -1; if ( (synpred57_Java()) ) {s = 1;} else if ( (true) ) {s = 26;} input.seek(index180_25); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 180, _s, input); error(nvae); throw nvae; } } public static final BitSet FOLLOW_annotations_in_compilationUnit97 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); public static final BitSet FOLLOW_packageDeclaration_in_compilationUnit132 = new BitSet(new long[]{0x9000408002000012L,0x0088206083803000L}); public static final BitSet FOLLOW_importDeclaration_in_compilationUnit160 = new BitSet(new long[]{0x9000408002000012L,0x0088206083803000L}); public static final BitSet FOLLOW_typeDeclaration_in_compilationUnit188 = new BitSet(new long[]{0x8000408002000012L,0x0088206083803000L}); public static final BitSet FOLLOW_PACKAGE_in_packageDeclaration221 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedName_in_packageDeclaration228 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_packageDeclaration241 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IMPORT_in_importDeclaration264 = new BitSet(new long[]{0x0200000000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_STATIC_in_importDeclaration277 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_importDeclaration299 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_DOT_in_importDeclaration304 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); public static final BitSet FOLLOW_STAR_in_importDeclaration309 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_importDeclaration322 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IMPORT_in_importDeclaration341 = new BitSet(new long[]{0x0200000000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_STATIC_in_importDeclaration354 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_importDeclaration376 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_DOT_in_importDeclaration390 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_importDeclaration394 = new BitSet(new long[]{0x0000000200000000L,0x0000000080000000L}); public static final BitSet FOLLOW_DOT_in_importDeclaration419 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L}); public static final BitSet FOLLOW_STAR_in_importDeclaration424 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_importDeclaration448 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedImportName470 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_DOT_in_qualifiedImportName484 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedImportName488 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_typeDeclaration525 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_typeDeclaration538 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_classOrInterfaceDeclaration565 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceDeclaration_in_classOrInterfaceDeclaration581 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotation_in_modifiers622 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_PUBLIC_in_modifiers634 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_PROTECTED_in_modifiers645 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_PRIVATE_in_modifiers656 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_STATIC_in_modifiers667 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_ABSTRACT_in_modifiers678 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_FINAL_in_modifiers689 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_NATIVE_in_modifiers700 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_SYNCHRONIZED_in_modifiers711 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_TRANSIENT_in_modifiers722 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_VOLATILE_in_modifiers733 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_STRICTFP_in_modifiers744 = new BitSet(new long[]{0x0000400000000012L,0x0088206003803000L}); public static final BitSet FOLLOW_FINAL_in_variableModifiers783 = new BitSet(new long[]{0x0000400000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_annotation_in_variableModifiers802 = new BitSet(new long[]{0x0000400000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_normalClassDeclaration_in_classDeclaration844 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_enumDeclaration_in_classDeclaration860 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_normalClassDeclaration886 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_CLASS_in_normalClassDeclaration891 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_normalClassDeclaration894 = new BitSet(new long[]{0x0800040000000000L,0x0000000000000410L}); public static final BitSet FOLLOW_typeParameters_in_normalClassDeclaration911 = new BitSet(new long[]{0x0800040000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_EXTENDS_in_normalClassDeclaration935 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_normalClassDeclaration942 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_IMPLEMENTS_in_normalClassDeclaration966 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_typeList_in_normalClassDeclaration973 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_classBody_in_normalClassDeclaration1012 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_typeParameters1036 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_typeParameter_in_typeParameters1056 = new BitSet(new long[]{0x0020000008000000L}); public static final BitSet FOLLOW_COMMA_in_typeParameters1074 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_typeParameter_in_typeParameters1082 = new BitSet(new long[]{0x0020000008000000L}); public static final BitSet FOLLOW_GT_in_typeParameters1110 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_typeParameter1132 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_EXTENDS_in_typeParameter1145 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_typeBound_in_typeParameter1152 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_type_in_typeBound1190 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_AMP_in_typeBound1204 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_typeBound1212 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_modifiers_in_enumDeclaration1250 = new BitSet(new long[]{0x0000008000000000L}); public static final BitSet FOLLOW_ENUM_in_enumDeclaration1264 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_enumDeclaration1286 = new BitSet(new long[]{0x0800000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_IMPLEMENTS_in_enumDeclaration1299 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_typeList_in_enumDeclaration1306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_enumBody_in_enumDeclaration1333 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_enumBody1361 = new BitSet(new long[]{0x0200000008000000L,0x0000000088001000L}); public static final BitSet FOLLOW_enumConstants_in_enumBody1378 = new BitSet(new long[]{0x0000000008000000L,0x0000000088000000L}); public static final BitSet FOLLOW_COMMA_in_enumBody1403 = new BitSet(new long[]{0x0000000000000000L,0x0000000088000000L}); public static final BitSet FOLLOW_enumBodyDeclarations_in_enumBody1422 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); public static final BitSet FOLLOW_RBRACE_in_enumBody1447 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_enumConstant_in_enumConstants1473 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_enumConstants1487 = new BitSet(new long[]{0x0200000000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_enumConstant_in_enumConstants1495 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_annotations_in_enumConstant1535 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant1558 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000210L}); public static final BitSet FOLLOW_arguments_in_enumConstant1575 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); public static final BitSet FOLLOW_classBody_in_enumConstant1603 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_enumBodyDeclarations1647 = new BitSet(new long[]{0xC201408402828012L,0x00C8206183803490L}); public static final BitSet FOLLOW_classBodyDeclaration_in_enumBodyDeclarations1665 = new BitSet(new long[]{0xC201408402828012L,0x00C8206183803490L}); public static final BitSet FOLLOW_normalInterfaceDeclaration_in_interfaceDeclaration1702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotationTypeDeclaration_in_interfaceDeclaration1718 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_normalInterfaceDeclaration1748 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_INTERFACE_in_normalInterfaceDeclaration1752 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_normalInterfaceDeclaration1755 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000410L}); public static final BitSet FOLLOW_typeParameters_in_normalInterfaceDeclaration1772 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_EXTENDS_in_normalInterfaceDeclaration1796 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_typeList_in_normalInterfaceDeclaration1803 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_interfaceBody_in_normalInterfaceDeclaration1830 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_type_in_typeList1856 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_typeList1870 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_typeList1878 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_LBRACE_in_classBody1912 = new BitSet(new long[]{0xC201408402828010L,0x00C820618B803490L}); public static final BitSet FOLLOW_classBodyDeclaration_in_classBody1930 = new BitSet(new long[]{0xC201408402828010L,0x00C820618B803490L}); public static final BitSet FOLLOW_RBRACE_in_classBody1955 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_interfaceBody1978 = new BitSet(new long[]{0xC201408402828010L,0x00C820618B803480L}); public static final BitSet FOLLOW_interfaceBodyDeclaration_in_interfaceBody1996 = new BitSet(new long[]{0xC201408402828010L,0x00C820618B803480L}); public static final BitSet FOLLOW_RBRACE_in_interfaceBody2021 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_classBodyDeclaration2044 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STATIC_in_classBodyDeclaration2057 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_classBodyDeclaration2084 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_memberDecl_in_classBodyDeclaration2100 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_fieldDeclaration_in_memberDecl2127 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_methodDeclaration_in_memberDecl2144 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_memberDecl2161 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceDeclaration_in_memberDecl2178 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_methodDeclaration2222 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_typeParameters_in_methodDeclaration2239 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_methodDeclaration2262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_formalParameters_in_methodDeclaration2278 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000010L}); public static final BitSet FOLLOW_THROWS_in_methodDeclaration2291 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedNameList_in_methodDeclaration2298 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_LBRACE_in_methodDeclaration2322 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F791L}); public static final BitSet FOLLOW_explicitConstructorInvocation_in_methodDeclaration2340 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_blockStatement_in_methodDeclaration2368 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_RBRACE_in_methodDeclaration2392 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_methodDeclaration2408 = new BitSet(new long[]{0x4201000400828000L,0x0040000100000480L}); public static final BitSet FOLLOW_typeParameters_in_methodDeclaration2425 = new BitSet(new long[]{0x4201000400828000L,0x0040000100000080L}); public static final BitSet FOLLOW_type_in_methodDeclaration2453 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_VOID_in_methodDeclaration2469 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_methodDeclaration2490 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_formalParameters_in_methodDeclaration2506 = new BitSet(new long[]{0x0000000000000000L,0x0002000080000030L}); public static final BitSet FOLLOW_LBRACKET_in_methodDeclaration2520 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_methodDeclaration2525 = new BitSet(new long[]{0x0000000000000000L,0x0002000080000030L}); public static final BitSet FOLLOW_THROWS_in_methodDeclaration2549 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedNameList_in_methodDeclaration2556 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000010L}); public static final BitSet FOLLOW_block_in_methodDeclaration2617 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_methodDeclaration2634 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_fieldDeclaration2672 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_fieldDeclaration2688 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_fieldDeclaration2704 = new BitSet(new long[]{0x0000000008000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COMMA_in_fieldDeclaration2718 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_fieldDeclaration2726 = new BitSet(new long[]{0x0000000008000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_fieldDeclaration2750 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_variableDeclarator2772 = new BitSet(new long[]{0x0000010000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_variableDeclarator2786 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_variableDeclarator2791 = new BitSet(new long[]{0x0000010000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_EQ_in_variableDeclarator2816 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C391L}); public static final BitSet FOLLOW_variableInitializer_in_variableDeclarator2824 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceFieldDeclaration_in_interfaceBodyDeclaration2869 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceMethodDeclaration_in_interfaceBodyDeclaration2885 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceDeclaration_in_interfaceBodyDeclaration2901 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_interfaceBodyDeclaration2917 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_interfaceBodyDeclaration2930 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_interfaceMethodDeclaration2956 = new BitSet(new long[]{0x4201000400828000L,0x0040000100000480L}); public static final BitSet FOLLOW_typeParameters_in_interfaceMethodDeclaration2973 = new BitSet(new long[]{0x4201000400828000L,0x0040000100000080L}); public static final BitSet FOLLOW_type_in_interfaceMethodDeclaration3001 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_VOID_in_interfaceMethodDeclaration3014 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_interfaceMethodDeclaration3035 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_formalParameters_in_interfaceMethodDeclaration3051 = new BitSet(new long[]{0x0000000000000000L,0x0002000080000020L}); public static final BitSet FOLLOW_LBRACKET_in_interfaceMethodDeclaration3065 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_interfaceMethodDeclaration3070 = new BitSet(new long[]{0x0000000000000000L,0x0002000080000020L}); public static final BitSet FOLLOW_THROWS_in_interfaceMethodDeclaration3094 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedNameList_in_interfaceMethodDeclaration3101 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_interfaceMethodDeclaration3117 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_interfaceFieldDeclaration3145 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_interfaceFieldDeclaration3153 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_interfaceFieldDeclaration3161 = new BitSet(new long[]{0x0000000008000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COMMA_in_interfaceFieldDeclaration3175 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_interfaceFieldDeclaration3183 = new BitSet(new long[]{0x0000000008000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_interfaceFieldDeclaration3207 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classOrInterfaceType_in_type3234 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_type3248 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_type3253 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_primitiveType_in_type3280 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_type3294 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_type3299 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_IDENTIFIER_in_classOrInterfaceType3333 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000400L}); public static final BitSet FOLLOW_typeArgumentsOrDiamond_in_classOrInterfaceType3350 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_DOT_in_classOrInterfaceType3375 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_classOrInterfaceType3379 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000400L}); public static final BitSet FOLLOW_typeArgumentsOrDiamond_in_classOrInterfaceType3400 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_BOOLEAN_in_primitiveType3449 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CHAR_in_primitiveType3460 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BYTE_in_primitiveType3471 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SHORT_in_primitiveType3482 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INT_in_primitiveType3493 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LONG_in_primitiveType3504 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOAT_in_primitiveType3515 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOUBLE_in_primitiveType3526 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_typeArguments3548 = new BitSet(new long[]{0x4201000400828000L,0x0000000104000080L}); public static final BitSet FOLLOW_typeArgument_in_typeArguments3556 = new BitSet(new long[]{0x0020000008000000L}); public static final BitSet FOLLOW_COMMA_in_typeArguments3570 = new BitSet(new long[]{0x4201000400828000L,0x0000000104000080L}); public static final BitSet FOLLOW_typeArgument_in_typeArguments3578 = new BitSet(new long[]{0x0020000008000000L}); public static final BitSet FOLLOW_GT_in_typeArguments3603 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_type_in_typeArgument3629 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_QUES_in_typeArgument3642 = new BitSet(new long[]{0x0000040000000002L,0x0000080000000000L}); public static final BitSet FOLLOW_EXTENDS_in_typeArgument3669 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_SUPER_in_typeArgument3685 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_typeArgument3718 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList3755 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_qualifiedNameList3769 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList3777 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_LPAREN_in_formalParameters3811 = new BitSet(new long[]{0x4201400400828000L,0x0000000140001080L}); public static final BitSet FOLLOW_formalParameterDecls_in_formalParameters3828 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_formalParameters3853 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ellipsisParameterDecl_in_formalParameterDecls3879 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalParameterDecl_in_formalParameterDecls3895 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_formalParameterDecls3909 = new BitSet(new long[]{0x4201400400828000L,0x0000000100001080L}); public static final BitSet FOLLOW_normalParameterDecl_in_formalParameterDecls3917 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_normalParameterDecl_in_formalParameterDecls3945 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_formalParameterDecls3958 = new BitSet(new long[]{0x4201400400828000L,0x0000000100001080L}); public static final BitSet FOLLOW_ellipsisParameterDecl_in_formalParameterDecls3986 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_variableModifiers_in_normalParameterDecl4012 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_normalParameterDecl4020 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_normalParameterDecl4024 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_normalParameterDecl4038 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_normalParameterDecl4043 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_variableModifiers_in_ellipsisParameterDecl4080 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_ellipsisParameterDecl4096 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_ELLIPSIS_in_ellipsisParameterDecl4101 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_ellipsisParameterDecl4112 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitConstructorInvocation4140 = new BitSet(new long[]{0x0000000000000000L,0x0000880000000000L}); public static final BitSet FOLLOW_THIS_in_explicitConstructorInvocation4169 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_SUPER_in_explicitConstructorInvocation4181 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_explicitConstructorInvocation4206 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation4211 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_primary_in_explicitConstructorInvocation4228 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_DOT_in_explicitConstructorInvocation4241 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_explicitConstructorInvocation4258 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); public static final BitSet FOLLOW_SUPER_in_explicitConstructorInvocation4281 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_explicitConstructorInvocation4296 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation4301 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedName4323 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_DOT_in_qualifiedName4337 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedName4341 = new BitSet(new long[]{0x0000000200000002L}); public static final BitSet FOLLOW_annotation_in_annotations4379 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_MONKEYS_AT_in_annotation4415 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedName_in_annotation4423 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_annotation4440 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D814050D391L}); public static final BitSet FOLLOW_elementValuePairs_in_annotation4473 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_elementValue_in_annotation4503 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_annotation4542 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs4580 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_elementValuePairs4594 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_elementValuePair_in_elementValuePairs4602 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_elementValuePair4635 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_elementValuePair4640 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050D391L}); public static final BitSet FOLLOW_elementValue_in_elementValuePair4648 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_conditionalExpression_in_elementValue4674 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotation_in_elementValue4690 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_elementValueArrayInitializer_in_elementValue4706 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_elementValueArrayInitializer4729 = new BitSet(new long[]{0x4203200C0982C200L,0x00548D810850D391L}); public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer4746 = new BitSet(new long[]{0x0000000008000000L,0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_elementValueArrayInitializer4764 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050D391L}); public static final BitSet FOLLOW_elementValue_in_elementValueArrayInitializer4772 = new BitSet(new long[]{0x0000000008000000L,0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_elementValueArrayInitializer4804 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); public static final BitSet FOLLOW_RBRACE_in_elementValueArrayInitializer4811 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_annotationTypeDeclaration4840 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_MONKEYS_AT_in_annotationTypeDeclaration4845 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_INTERFACE_in_annotationTypeDeclaration4857 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_annotationTypeDeclaration4868 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_annotationTypeBody_in_annotationTypeDeclaration4884 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_annotationTypeBody4908 = new BitSet(new long[]{0xC201408402828010L,0x008820618B803080L}); public static final BitSet FOLLOW_annotationTypeElementDeclaration_in_annotationTypeBody4926 = new BitSet(new long[]{0xC201408402828010L,0x008820618B803080L}); public static final BitSet FOLLOW_RBRACE_in_annotationTypeBody4951 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotationMethodDeclaration_in_annotationTypeElementDeclaration4979 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceFieldDeclaration_in_annotationTypeElementDeclaration4995 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalClassDeclaration_in_annotationTypeElementDeclaration5011 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalInterfaceDeclaration_in_annotationTypeElementDeclaration5027 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_enumDeclaration_in_annotationTypeElementDeclaration5043 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotationTypeDeclaration_in_annotationTypeElementDeclaration5059 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_annotationTypeElementDeclaration5072 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_annotationMethodDeclaration5098 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_annotationMethodDeclaration5106 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_annotationMethodDeclaration5110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_annotationMethodDeclaration5123 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_annotationMethodDeclaration5128 = new BitSet(new long[]{0x0000000080000000L,0x0000000080000000L}); public static final BitSet FOLLOW_DEFAULT_in_annotationMethodDeclaration5133 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050D391L}); public static final BitSet FOLLOW_elementValue_in_annotationMethodDeclaration5140 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_annotationMethodDeclaration5172 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_block5199 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_blockStatement_in_block5216 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_RBRACE_in_block5240 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_localVariableDeclarationStatement_in_blockStatement5265 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_blockStatement5281 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_statement_in_blockStatement5297 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_localVariableDeclaration_in_localVariableDeclarationStatement5324 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_localVariableDeclarationStatement5337 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_variableModifiers_in_localVariableDeclaration5363 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_localVariableDeclaration5371 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_localVariableDeclaration5387 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_localVariableDeclaration5401 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclarator_in_localVariableDeclaration5409 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_block_in_statement5446 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ASSERT_in_statement5472 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_statement5497 = new BitSet(new long[]{0x0000000004000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COLON_in_statement5503 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_statement5511 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5518 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ASSERT_in_statement5530 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_statement5538 = new BitSet(new long[]{0x0000000004000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COLON_in_statement5544 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_statement5552 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5559 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IF_in_statement5583 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_parExpression_in_statement5590 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_statement5598 = new BitSet(new long[]{0x0000004000000002L}); public static final BitSet FOLLOW_ELSE_in_statement5603 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_statement5610 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_forstatement_in_statement5638 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_WHILE_in_statement5650 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_parExpression_in_statement5657 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_statement5665 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DO_in_statement5677 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_statement5684 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L}); public static final BitSet FOLLOW_WHILE_in_statement5688 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_parExpression_in_statement5695 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5700 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_trystatement_in_statement5716 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SWITCH_in_statement5728 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_parExpression_in_statement5735 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_LBRACE_in_statement5740 = new BitSet(new long[]{0x0000000080200000L,0x0000000008000000L}); public static final BitSet FOLLOW_switchBlockStatementGroups_in_statement5748 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); public static final BitSet FOLLOW_RBRACE_in_statement5753 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SYNCHRONIZED_in_statement5765 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_parExpression_in_statement5772 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_statement5780 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RETURN_in_statement5792 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D818050C381L}); public static final BitSet FOLLOW_expression_in_statement5800 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5808 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_THROW_in_statement5820 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_statement5827 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5832 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BREAK_in_statement5844 = new BitSet(new long[]{0x0200000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_statement5860 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5880 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CONTINUE_in_statement5892 = new BitSet(new long[]{0x0200000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_statement5908 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5928 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_expression_in_statement5944 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_statement5950 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_statement5967 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_COLON_in_statement5972 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_statement5980 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SEMI_in_statement5993 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_switchBlockStatementGroup_in_switchBlockStatementGroups6021 = new BitSet(new long[]{0x0000000080200002L}); public static final BitSet FOLLOW_switchLabel_in_switchBlockStatementGroup6056 = new BitSet(new long[]{0xC607608D4383C312L,0x01FDBDE1A3D0F391L}); public static final BitSet FOLLOW_blockStatement_in_switchBlockStatementGroup6073 = new BitSet(new long[]{0xC607608D4383C312L,0x01FDBDE1A3D0F391L}); public static final BitSet FOLLOW_CASE_in_switchLabel6106 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_switchLabel6113 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_COLON_in_switchLabel6118 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DEFAULT_in_switchLabel6130 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_COLON_in_switchLabel6134 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_TRY_in_trystatement6157 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000210L}); public static final BitSet FOLLOW_resourceSpecification_in_trystatement6165 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_trystatement6175 = new BitSet(new long[]{0x0000800000400002L}); public static final BitSet FOLLOW_catches_in_trystatement6195 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_FINALLY_in_trystatement6199 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_trystatement6206 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_catches_in_trystatement6226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FINALLY_in_trystatement6242 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_trystatement6249 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_resourceSpecification6287 = new BitSet(new long[]{0x0200400000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_resources_in_resourceSpecification6295 = new BitSet(new long[]{0x0000000000000000L,0x00000000C0000000L}); public static final BitSet FOLLOW_SEMI_in_resourceSpecification6301 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_resourceSpecification6308 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_resource_in_resources6338 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_resources6345 = new BitSet(new long[]{0x0200400000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_resource_in_resources6353 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L}); public static final BitSet FOLLOW_variableModifiers_in_resource6385 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_resource6393 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_variableDeclaratorId_in_resource6401 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_resource6406 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_resource6414 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_variableDeclaratorId6441 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_variableDeclaratorId6447 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_variableDeclaratorId6452 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_catchClause_in_catches6479 = new BitSet(new long[]{0x0000000000400002L}); public static final BitSet FOLLOW_catchClause_in_catches6496 = new BitSet(new long[]{0x0000000000400002L}); public static final BitSet FOLLOW_CATCH_in_catchClause6529 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_catchClause6533 = new BitSet(new long[]{0x0200400000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_formalParameter_in_catchClause6541 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_catchClause6554 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_catchClause6562 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_variableModifiers_in_formalParameter6589 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_catchType_in_formalParameter6597 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_formalParameter6601 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_formalParameter6615 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_formalParameter6620 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_classOrInterfaceType_in_catchType6655 = new BitSet(new long[]{0x0000000000000802L}); public static final BitSet FOLLOW_BAR_in_catchType6662 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_catchType6670 = new BitSet(new long[]{0x0000000000000802L}); public static final BitSet FOLLOW_FOR_in_forstatement6712 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_forstatement6716 = new BitSet(new long[]{0x4201400400828000L,0x0000000100001080L}); public static final BitSet FOLLOW_variableModifiers_in_forstatement6724 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_forstatement6732 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_forstatement6736 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_forstatement6742 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_forstatement6747 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000020L}); public static final BitSet FOLLOW_COLON_in_forstatement6754 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_forstatement6770 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_forstatement6775 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_forstatement6783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FOR_in_forstatement6817 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_forstatement6821 = new BitSet(new long[]{0x4203600C0182C200L,0x00548D818050D381L}); public static final BitSet FOLLOW_forInit_in_forstatement6847 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_forstatement6871 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D818050C381L}); public static final BitSet FOLLOW_expression_in_forstatement6897 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_forstatement6921 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D814050C381L}); public static final BitSet FOLLOW_expressionList_in_forstatement6947 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_forstatement6971 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_forstatement6979 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_localVariableDeclaration_in_forInit7005 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_expressionList_in_forInit7021 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_parExpression7044 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_parExpression7052 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_parExpression7057 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_expression_in_expressionList7083 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_expressionList7097 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_expressionList7105 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_conditionalExpression_in_expression7143 = new BitSet(new long[]{0x0020010000102082L,0x0000021400280400L}); public static final BitSet FOLLOW_assignmentOperator_in_expression7160 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_expression7168 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_EQ_in_assignmentOperator7203 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PLUSEQ_in_assignmentOperator7215 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SUBEQ_in_assignmentOperator7226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STAREQ_in_assignmentOperator7237 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SLASHEQ_in_assignmentOperator7248 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_AMPEQ_in_assignmentOperator7259 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BAREQ_in_assignmentOperator7270 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CARETEQ_in_assignmentOperator7281 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PERCENTEQ_in_assignmentOperator7292 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_assignmentOperator7305 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_LT_in_assignmentOperator7310 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_assignmentOperator7315 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_assignmentOperator7329 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_assignmentOperator7334 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_assignmentOperator7339 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_assignmentOperator7344 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_assignmentOperator7358 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_assignmentOperator7363 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_assignmentOperator7368 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_conditionalOrExpression_in_conditionalExpression7395 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); public static final BitSet FOLLOW_QUES_in_conditionalExpression7409 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_conditionalExpression7417 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_COLON_in_conditionalExpression7422 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_conditionalExpression_in_conditionalExpression7430 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression7467 = new BitSet(new long[]{0x0000000000001002L}); public static final BitSet FOLLOW_BARBAR_in_conditionalOrExpression7480 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_conditionalAndExpression_in_conditionalOrExpression7487 = new BitSet(new long[]{0x0000000000001002L}); public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression7524 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_AMPAMP_in_conditionalAndExpression7537 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_inclusiveOrExpression_in_conditionalAndExpression7544 = new BitSet(new long[]{0x0000000000000042L}); public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression7581 = new BitSet(new long[]{0x0000000000000802L}); public static final BitSet FOLLOW_BAR_in_inclusiveOrExpression7595 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression7603 = new BitSet(new long[]{0x0000000000000802L}); public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression7640 = new BitSet(new long[]{0x0000000000080002L}); public static final BitSet FOLLOW_CARET_in_exclusiveOrExpression7654 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression7662 = new BitSet(new long[]{0x0000000000080002L}); public static final BitSet FOLLOW_equalityExpression_in_andExpression7699 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_AMP_in_andExpression7713 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_equalityExpression_in_andExpression7721 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression7758 = new BitSet(new long[]{0x0000020000000402L}); public static final BitSet FOLLOW_EQEQ_in_equalityExpression7791 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_BANGEQ_in_equalityExpression7810 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_instanceOfExpression_in_equalityExpression7843 = new BitSet(new long[]{0x0000020000000402L}); public static final BitSet FOLLOW_relationalExpression_in_instanceOfExpression7880 = new BitSet(new long[]{0x2000000000000002L}); public static final BitSet FOLLOW_INSTANCEOF_in_instanceOfExpression7893 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_instanceOfExpression7900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_shiftExpression_in_relationalExpression7937 = new BitSet(new long[]{0x0020000000000002L,0x0000000000000400L}); public static final BitSet FOLLOW_relationalOp_in_relationalExpression7954 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_shiftExpression_in_relationalExpression7962 = new BitSet(new long[]{0x0020000000000002L,0x0000000000000400L}); public static final BitSet FOLLOW_LT_in_relationalOp7997 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_relationalOp8002 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_relationalOp8016 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_EQ_in_relationalOp8021 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_relationalOp8034 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_relationalOp8047 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_additiveExpression_in_shiftExpression8073 = new BitSet(new long[]{0x0020000000000002L,0x0000000000000400L}); public static final BitSet FOLLOW_shiftOp_in_shiftExpression8090 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_additiveExpression_in_shiftExpression8098 = new BitSet(new long[]{0x0020000000000002L,0x0000000000000400L}); public static final BitSet FOLLOW_LT_in_shiftOp8134 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_LT_in_shiftOp8139 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_shiftOp8153 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_shiftOp8158 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_shiftOp8163 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_GT_in_shiftOp8177 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_shiftOp8182 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression8209 = new BitSet(new long[]{0x0000000000000002L,0x0000010000100000L}); public static final BitSet FOLLOW_PLUS_in_additiveExpression8243 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_SUB_in_additiveExpression8264 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression8298 = new BitSet(new long[]{0x0000000000000002L,0x0000010000100000L}); public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression8342 = new BitSet(new long[]{0x0000000000000002L,0x0000000A00040000L}); public static final BitSet FOLLOW_STAR_in_multiplicativeExpression8376 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_SLASH_in_multiplicativeExpression8397 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_PERCENT_in_multiplicativeExpression8418 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression8452 = new BitSet(new long[]{0x0000000000000002L,0x0000000A00040000L}); public static final BitSet FOLLOW_PLUS_in_unaryExpression8488 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpression8497 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SUB_in_unaryExpression8510 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpression8518 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_PLUSPLUS_in_unaryExpression8530 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpression8537 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SUBSUB_in_unaryExpression8549 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpression8556 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression8572 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_TILDE_in_unaryExpressionNotPlusMinus8595 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus8603 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BANG_in_unaryExpressionNotPlusMinus8616 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus8624 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_castExpression_in_unaryExpressionNotPlusMinus8640 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_primary_in_unaryExpressionNotPlusMinus8656 = new BitSet(new long[]{0x0000000200000002L,0x0000040000400020L}); public static final BitSet FOLLOW_selector_in_unaryExpressionNotPlusMinus8673 = new BitSet(new long[]{0x0000000200000002L,0x0000040000400020L}); public static final BitSet FOLLOW_PLUSPLUS_in_unaryExpressionNotPlusMinus8700 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SUBSUB_in_unaryExpressionNotPlusMinus8715 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_castExpression8748 = new BitSet(new long[]{0x4001000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_primitiveType_in_castExpression8756 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_castExpression8761 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_castExpression8769 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_castExpression8782 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_castExpression8790 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_castExpression8795 = new BitSet(new long[]{0x4203200C0182C200L,0x005488810000C381L}); public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_castExpression8803 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_parExpression_in_primary8831 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_THIS_in_primary8855 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000220L}); public static final BitSet FOLLOW_DOT_in_primary8868 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_primary8872 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000220L}); public static final BitSet FOLLOW_identifierSuffix_in_primary8900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_primary8923 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000220L}); public static final BitSet FOLLOW_DOT_in_primary8937 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_primary8941 = new BitSet(new long[]{0x0000000200000002L,0x0000000000000220L}); public static final BitSet FOLLOW_identifierSuffix_in_primary8969 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_SUPER_in_primary8992 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000200L}); public static final BitSet FOLLOW_superSuffix_in_primary9007 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_literal_in_primary9023 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_creator_in_primary9039 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_primitiveType_in_primary9055 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_primary9069 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_primary9074 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000020L}); public static final BitSet FOLLOW_DOT_in_primary9098 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_CLASS_in_primary9102 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_VOID_in_primary9113 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_DOT_in_primary9117 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_CLASS_in_primary9121 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_arguments_in_superSuffix9152 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_superSuffix9165 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_typeArguments_in_superSuffix9174 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_superSuffix9197 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_superSuffix9214 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACKET_in_identifierSuffix9250 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_identifierSuffix9255 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000020L}); public static final BitSet FOLLOW_DOT_in_identifierSuffix9279 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_CLASS_in_identifierSuffix9283 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACKET_in_identifierSuffix9296 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_identifierSuffix9304 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_identifierSuffix9309 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_arguments_in_identifierSuffix9336 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_identifierSuffix9349 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_CLASS_in_identifierSuffix9353 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_identifierSuffix9365 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_identifierSuffix9373 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_identifierSuffix9377 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_identifierSuffix9385 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_identifierSuffix9398 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); public static final BitSet FOLLOW_THIS_in_identifierSuffix9402 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_identifierSuffix9414 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); public static final BitSet FOLLOW_SUPER_in_identifierSuffix9418 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_identifierSuffix9425 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_innerCreator_in_identifierSuffix9441 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_selector9466 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_selector9470 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_selector9487 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_selector9509 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_selector9517 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_selector9521 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_selector9529 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_selector9542 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); public static final BitSet FOLLOW_THIS_in_selector9546 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_selector9558 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); public static final BitSet FOLLOW_SUPER_in_selector9562 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000200L}); public static final BitSet FOLLOW_superSuffix_in_selector9577 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_innerCreator_in_selector9593 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACKET_in_selector9606 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_selector9614 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_selector9619 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_typeArgumentsOrDiamond9645 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_typeArgumentsOrDiamond9650 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_typeArguments_in_typeArgumentsOrDiamond9664 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_nonWildcardTypeArgumentsOrDiamond9689 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_nonWildcardTypeArgumentsOrDiamond9694 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_nonWildcardTypeArgumentsOrDiamond9708 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_creator9729 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_creator9736 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_creator9744 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_classCreatorRest_in_creator9752 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_creator9764 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_creator9771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_classCreatorRest_in_creator9779 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_arrayCreator_in_creator9795 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_arrayCreator9817 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_createdName_in_arrayCreator9824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_arrayCreator9837 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_arrayCreator9842 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L}); public static final BitSet FOLLOW_LBRACKET_in_arrayCreator9856 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_arrayCreator9861 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L}); public static final BitSet FOLLOW_arrayInitializer_in_arrayCreator9888 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_arrayCreator9901 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_createdName_in_arrayCreator9908 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_arrayCreator9921 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_arrayCreator9929 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_arrayCreator9942 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_arrayCreator9959 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_arrayCreator9967 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_arrayCreator9984 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_arrayCreator10009 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_arrayCreator10014 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_arrayInitializer_in_variableInitializer10051 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_expression_in_variableInitializer10067 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACE_in_arrayInitializer10090 = new BitSet(new long[]{0x4203200C0982C200L,0x00548D810850C391L}); public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer10112 = new BitSet(new long[]{0x0000000008000000L,0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_arrayInitializer10134 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C391L}); public static final BitSet FOLLOW_variableInitializer_in_arrayInitializer10142 = new BitSet(new long[]{0x0000000008000000L,0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_arrayInitializer10195 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); public static final BitSet FOLLOW_RBRACE_in_arrayInitializer10211 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classOrInterfaceType_in_createdName10251 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_primitiveType_in_createdName10267 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_innerCreator10291 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004000L}); public static final BitSet FOLLOW_NEW_in_innerCreator10295 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_innerCreator10311 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_innerCreator10334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L}); public static final BitSet FOLLOW_nonWildcardTypeArgumentsOrDiamond_in_innerCreator10351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_classCreatorRest_in_innerCreator10378 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_arguments_in_classCreatorRest10405 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); public static final BitSet FOLLOW_classBody_in_classCreatorRest10422 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LT_in_nonWildcardTypeArguments10457 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_typeList_in_nonWildcardTypeArguments10465 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_GT_in_nonWildcardTypeArguments10478 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_arguments10501 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D814050C381L}); public static final BitSet FOLLOW_expressionList_in_arguments10510 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_arguments10526 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_INTLITERAL_in_literal10548 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LONGLITERAL_in_literal10560 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_BINLITERAL_in_literal10572 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FLOATLITERAL_in_literal10584 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOUBLELITERAL_in_literal10596 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_CHARLITERAL_in_literal10608 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_STRINGLITERAL_in_literal10620 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_TRUE_in_literal10632 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FALSE_in_literal10644 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NULL_in_literal10656 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotations_in_synpred2_Java97 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); public static final BitSet FOLLOW_packageDeclaration_in_synpred2_Java132 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_synpred12_Java565 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalClassDeclaration_in_synpred27_Java844 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalInterfaceDeclaration_in_synpred43_Java1702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_fieldDeclaration_in_synpred52_Java2127 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_methodDeclaration_in_synpred53_Java2144 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_synpred54_Java2161 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_explicitConstructorInvocation_in_synpred57_Java2340 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_modifiers_in_synpred59_Java2222 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_typeParameters_in_synpred59_Java2239 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_synpred59_Java2262 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_formalParameters_in_synpred59_Java2278 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000010L}); public static final BitSet FOLLOW_THROWS_in_synpred59_Java2291 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_qualifiedNameList_in_synpred59_Java2298 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_LBRACE_in_synpred59_Java2322 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F791L}); public static final BitSet FOLLOW_explicitConstructorInvocation_in_synpred59_Java2340 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_blockStatement_in_synpred59_Java2368 = new BitSet(new long[]{0xC607608D4383C310L,0x01FDBDE1ABD0F391L}); public static final BitSet FOLLOW_RBRACE_in_synpred59_Java2392 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceFieldDeclaration_in_synpred68_Java2869 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceMethodDeclaration_in_synpred69_Java2885 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceDeclaration_in_synpred70_Java2901 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classDeclaration_in_synpred71_Java2917 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ellipsisParameterDecl_in_synpred96_Java3879 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalParameterDecl_in_synpred98_Java3895 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_COMMA_in_synpred98_Java3909 = new BitSet(new long[]{0x4201400400828000L,0x0000000100001080L}); public static final BitSet FOLLOW_normalParameterDecl_in_synpred98_Java3917 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_normalParameterDecl_in_synpred99_Java3945 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_COMMA_in_synpred99_Java3958 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_synpred103_Java4140 = new BitSet(new long[]{0x0000000000000000L,0x0000880000000000L}); public static final BitSet FOLLOW_set_in_synpred103_Java4168 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_arguments_in_synpred103_Java4206 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_synpred103_Java4211 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotationMethodDeclaration_in_synpred117_Java4979 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_interfaceFieldDeclaration_in_synpred118_Java4995 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalClassDeclaration_in_synpred119_Java5011 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_normalInterfaceDeclaration_in_synpred120_Java5027 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_enumDeclaration_in_synpred121_Java5043 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_annotationTypeDeclaration_in_synpred122_Java5059 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_localVariableDeclarationStatement_in_synpred125_Java5265 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_classOrInterfaceDeclaration_in_synpred126_Java5281 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ASSERT_in_synpred130_Java5472 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred130_Java5497 = new BitSet(new long[]{0x0000000004000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COLON_in_synpred130_Java5503 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred130_Java5511 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_synpred130_Java5518 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ASSERT_in_synpred132_Java5530 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred132_Java5538 = new BitSet(new long[]{0x0000000004000000L,0x0000000080000000L}); public static final BitSet FOLLOW_COLON_in_synpred132_Java5544 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred132_Java5552 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_synpred132_Java5559 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ELSE_in_synpred133_Java5603 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_synpred133_Java5610 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_expression_in_synpred148_Java5944 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); public static final BitSet FOLLOW_SEMI_in_synpred148_Java5950 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_IDENTIFIER_in_synpred149_Java5967 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_COLON_in_synpred149_Java5972 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_synpred149_Java5980 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_catches_in_synpred154_Java6195 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_FINALLY_in_synpred154_Java6199 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_block_in_synpred154_Java6206 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_catches_in_synpred155_Java6226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_FOR_in_synpred164_Java6712 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_LPAREN_in_synpred164_Java6716 = new BitSet(new long[]{0x4201400400828000L,0x0000000100001080L}); public static final BitSet FOLLOW_variableModifiers_in_synpred164_Java6724 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_type_in_synpred164_Java6732 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_synpred164_Java6736 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_synpred164_Java6742 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_synpred164_Java6747 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000020L}); public static final BitSet FOLLOW_COLON_in_synpred164_Java6754 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred164_Java6770 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_synpred164_Java6775 = new BitSet(new long[]{0x4607200D4183C300L,0x0175BD81A050C391L}); public static final BitSet FOLLOW_statement_in_synpred164_Java6783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_localVariableDeclaration_in_synpred168_Java7005 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_castExpression_in_synpred209_Java8640 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LPAREN_in_synpred213_Java8748 = new BitSet(new long[]{0x4001000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_primitiveType_in_synpred213_Java8756 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); public static final BitSet FOLLOW_RPAREN_in_synpred213_Java8761 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_unaryExpression_in_synpred213_Java8769 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_synpred215_Java8868 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_synpred215_Java8872 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierSuffix_in_synpred216_Java8900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_DOT_in_synpred218_Java8937 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_IDENTIFIER_in_synpred218_Java8941 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_identifierSuffix_in_synpred219_Java8969 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACKET_in_synpred231_Java9296 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred231_Java9304 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_synpred231_Java9309 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_synpred246_Java9729 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L}); public static final BitSet FOLLOW_nonWildcardTypeArguments_in_synpred246_Java9736 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_synpred246_Java9744 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_classCreatorRest_in_synpred246_Java9752 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_synpred247_Java9764 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_classOrInterfaceType_in_synpred247_Java9771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_classCreatorRest_in_synpred247_Java9779 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_NEW_in_synpred249_Java9817 = new BitSet(new long[]{0x4201000400828000L,0x0000000100000080L}); public static final BitSet FOLLOW_createdName_in_synpred249_Java9824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); public static final BitSet FOLLOW_LBRACKET_in_synpred249_Java9837 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_synpred249_Java9842 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L}); public static final BitSet FOLLOW_LBRACKET_in_synpred249_Java9856 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_synpred249_Java9861 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000030L}); public static final BitSet FOLLOW_arrayInitializer_in_synpred249_Java9888 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_LBRACKET_in_synpred250_Java9959 = new BitSet(new long[]{0x4203200C0182C200L,0x00548D810050C381L}); public static final BitSet FOLLOW_expression_in_synpred250_Java9967 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_RBRACKET_in_synpred250_Java9984 = new BitSet(new long[]{0x0000000000000002L}); }