Clover coverage report - Java Language Levels Test Coverage (javalanglevels-20120305-r5436)
Coverage timestamp: Sun Mar 4 2012 22:02:46 CST
file stats: LOC: 7,489   Methods: 528
NCLOC: 6,734   Classes: 5
 
 Source file Conditionals Statements Methods TOTAL
JExprParser.java 49.5% 59.2% 80.5% 58.1%
coverage coverage
 1    /* Generated By:JavaCC: Do not edit this line. JExprParser.java */
 2    package edu.rice.cs.javalanglevels.parser;
 3   
 4    import java.io.File;
 5    import java.io.FileReader;
 6    import java.io.BufferedReader;
 7    import java.io.FileNotFoundException;
 8    import java.util.ListIterator;
 9    import java.util.LinkedList;
 10    import java.util.Vector;
 11    import java.math.BigInteger;
 12   
 13    //import edu.rice.cs.javaast.*;
 14    //import edu.rice.cs.javaast.Visibility;
 15    //import edu.rice.cs.javaast.ClassModifier;
 16    //import edu.rice.cs.javaast.SourceInfo;
 17    //import edu.rice.cs.javaast.CharConverter;
 18    import edu.rice.cs.javalanglevels.*;
 19    import edu.rice.cs.javalanglevels.tree.*;
 20   
 21    public class JExprParser implements JExprParserConstants {
 22   
 23    public static final ClassOrInterfaceType NO_TYPE = new ClassOrInterfaceType(SourceInfo.NO_INFO, "Object", new Type[0]);
 24    private boolean _inInterface;
 25   
 26    // private Vector<ParseException> _errors;
 27    private static File _currentFile;
 28  0 public static void main(String args[]) {
 29  0 JExprParser parser;
 30    // _errors = new Vector<ParseException>();
 31  0 if (args.length == 0) {
 32  0 System.out.println("JExpression Parser Version 1.0.3: Reading from standard input . . .");
 33  0 parser = new JExprParser(System.in);
 34    }
 35  0 else if (args.length == 1) {
 36  0 System.out.println("JExpression Parser Version 1.0.3: Reading from file " + args[0] + " . . .");
 37  0 try {
 38  0 _currentFile = new File(args[0]);
 39  0 parser = new JExprParser(new java.io.FileInputStream(_currentFile));
 40    } catch (java.io.FileNotFoundException e) {
 41  0 System.out.println("JExpression Parser Version 1.0.3: File " + args[0] + " not found.");
 42  0 return;
 43    }
 44    }
 45    else {
 46  0 System.out.println("JExpression Parser Version 1.0.3: Usage is one of:");
 47  0 System.out.println(" java JavaParser < inputfile");
 48  0 System.out.println("OR");
 49  0 System.out.println(" java JavaParser inputfile");
 50  0 return;
 51    }
 52   
 53  0 try {
 54  0 SourceFile result = parser.SourceFile();
 55  0 System.out.println("JExpression Parser Version 1.0.3: Java program parsed successfully.");
 56  0 System.out.println(result.toString());
 57    }
 58    catch (Exception e) {
 59  0 System.out.println("JExpression Parser Version 1.0.3: Encountered errors during parse.");
 60  0 System.out.println(e.toString());
 61    }
 62    }
 63   
 64  144 public JExprParser(File file) throws FileNotFoundException {
 65  144 this(new BufferedReader(new FileReader(file)));
 66  144 _currentFile = file;
 67    }
 68   
 69    /** Strips off the "l" or "L" off the end of long literals. */
 70  0 private static String _stripL(String in) {
 71  0 if (in.endsWith("l") || in.endsWith("L")) {
 72  0 return in.substring(0, in.length() - 1);
 73    }
 74    else {
 75  0 return in;
 76    }
 77    }
 78   
 79    /** Returns in without first and last character. */
 80  73 private static String _stripQuotes(String in) {
 81  73 int len = in.length();
 82   
 83  73 return in.substring(1, len - 1);
 84    }
 85   
 86    /** Creates a source location that starts at the given first token and ends in the last token yet read. */
 87  5224 private SourceInfo _loc(Token first) {
 88  5224 return new SourceInfo(_currentFile,
 89    first.beginLine,
 90    first.beginColumn,
 91    token.endLine,
 92    token.endColumn);
 93    }
 94   
 95    /** Creates a source location that starts at the given first AST piece and ends in the last token yet read. */
 96  1284 private SourceInfo _loc(JExpressionIF first) {
 97  1284 return new SourceInfo(_currentFile,
 98    first.getSourceInfo().getStartLine(),
 99    first.getSourceInfo().getStartColumn(),
 100    token.endLine,
 101    token.endColumn);
 102    }
 103   
 104  13 private void _throwParseException(String message) throws ParseException {
 105    // The error typically occurs on the next token.
 106  13 Token t = token;
 107  13 if (token.next != null) {
 108  13 t = token.next;
 109    }
 110    // If a certain token or sequence of tokens is expected, display it.
 111  13 ParseException pe = generateParseException();
 112    // if (pe.expectedTokenSequences.length == 1) {
 113    // message += " Expected";
 114    // for (int i = 0; i < pe.expectedTokenSequences.length; i++) {
 115    // message += " " + pe.tokenImage[pe.expectedTokenSequences[0][i]];
 116    // }
 117    // message += ".";
 118    // }
 119  13 try {jj_input_stream.inputStream.close(); //TODO: is this crazy?
 120    }
 121    catch (java.io.IOException e) {
 122  0 System.out.println("I couldn't close the stream!");
 123    }
 124   
 125  13 throw new JExprParseException(_currentFile, message, t, pe.expectedTokenSequences, tokenImage);
 126    // _errors.add(new ParseException(_currentFile, message, t, null, tokenImage);
 127    }
 128   
 129  10 private void _throwParseException(ParseException pe, String message) throws ParseException {
 130    // Use the embedded error message if thrown from our code
 131  10 if (pe instanceof JExprParseException) {
 132  9 message = pe.getMessage();
 133    }
 134   
 135  10 _throwParseException(message);
 136    }
 137   
 138  0 private String _getTokenImage() {
 139  0 StringBuffer sb = new StringBuffer();
 140  0 for (int i = 0; i < tokenImage.length; i++) {
 141  0 sb.append(tokenImage[i] + " ");
 142    }
 143  0 return new String(sb).trim();
 144    }
 145   
 146  184 private boolean _isAbstract(ModifiersAndVisibility mav) {
 147  184 String[] modifiers = mav.getModifiers();
 148  184 for (int i = 0; i < modifiers.length; i++) {
 149  76 if (modifiers[i].equals("abstract")) {
 150  9 return true;
 151    }
 152    }
 153  175 return false;
 154    }
 155   
 156  0 void _errorChar(char c) throws ParseException {
 157  0 _throwParseException("'" + c + "' expected.");
 158    }
 159   
 160  3 void _errorString(String s) throws ParseException {
 161  3 StringBuffer message = new StringBuffer();
 162  3 for (int i = 0; i < s.length(); i++) {
 163  6 if (i > 0) {
 164  3 if (i == (s.length() - 1)) {
 165  3 message.append(" or ");
 166    }
 167    else {
 168  0 message.append(", ");
 169    }
 170    }
 171  6 message.append(s.charAt(i));
 172    }
 173  3 _throwParseException(message.toString() + " expected.");
 174    }
 175   
 176    /*****************************************
 177    * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
 178    *****************************************/
 179   
 180    /* Program structuring syntax follows. */
 181  144 final public SourceFile SourceFile() throws ParseException {
 182  144 LinkedList<PackageStatement> packageStatements = new LinkedList<PackageStatement>();
 183  144 LinkedList<ImportStatement> importStatements = new LinkedList<ImportStatement>();
 184  144 LinkedList<TypeDefBase> types = new LinkedList<TypeDefBase>();
 185  144 PackageStatement tempP;
 186  144 ImportStatement tempI;
 187  144 TypeDefBase tempT;
 188  144 Token first = getToken(1);
 189  144 try {
 190  144 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 191  14 case PACKAGE:
 192  14 tempP = PackageStatement();
 193  14 packageStatements.addLast(tempP);
 194  14 break;
 195  130 default:
 196  130 jj_la1[0] = jj_gen;
 197    ;
 198    }
 199  144 label_1:
 200    while (true) {
 201  162 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 202  18 case IMPORT:
 203    ;
 204  18 break;
 205  144 default:
 206  144 jj_la1[1] = jj_gen;
 207  144 break label_1;
 208    }
 209  18 tempI = ImportStatement();
 210  18 importStatements.addLast(tempI);
 211    }
 212  144 label_2:
 213    while (true) {
 214  323 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 215  5 case ABSTRACT:
 216  147 case CLASS:
 217  0 case FINAL:
 218  12 case INTERFACE:
 219  0 case NATIVE:
 220  0 case PRIVATE:
 221  0 case PROTECTED:
 222  19 case PUBLIC:
 223  0 case STRICTFP:
 224  0 case STATIC:
 225  0 case SYNCHRONIZED:
 226  0 case TRANSIENT:
 227  0 case VOLATILE:
 228    ;
 229  183 break;
 230  140 default:
 231  140 jj_la1[2] = jj_gen;
 232  140 break label_2;
 233    }
 234  183 if (jj_2_1(2147483647)) {
 235  169 tempT = ClassDef();
 236  165 types.addLast(tempT);
 237  14 } else if (jj_2_2(2147483647)) {
 238  14 tempT = InterfaceDef();
 239  14 types.addLast(tempT);
 240    } else {
 241  0 jj_consume_token(-1);
 242  0 throw new ParseException();
 243    }
 244    }
 245  140 jj_consume_token(0);
 246  140 {if (true) return new SourceFile(_loc(first),
 247    packageStatements.toArray(new PackageStatement[packageStatements.size()]),
 248    importStatements.toArray(new ImportStatement[importStatements.size()]),
 249    types.toArray(new TypeDefBase[types.size()]));}
 250    } catch (ParseException pe) {
 251    // if (pe.currentToken.next != null && pe.currentToken.next.kind == EOF) {
 252    // _throwParseException(pe, "'}' expected.");
 253    // }
 254    // else {
 255    /** Hmm, how to also indicate that interfaces can appear here w/o messing up elementary level? */
 256  4 _throwParseException(pe, "A class declaration must appear here.");
 257    // }
 258   
 259    }
 260  0 throw new Error("Missing return statement in function");
 261    }
 262   
 263    //JExpression JExpression() :
 264    //{
 265    // JExpression ret;
 266    //}
 267    //{
 268    // ( ret = Operator() |
 269    // LOOKAHEAD(MethodDefLookahead())
 270    // ret = MethodDef() |
 271    // LOOKAHEAD(VariableDeclarationLookahead())
 272    // ret = VariableDeclaration() |
 273    // LOOKAHEAD(<IDENTIFIER> <DOT>)
 274    // ret = CompoundWord() |
 275    // ret = Word() |
 276    // ret = Literal() |
 277    // ret = Bracketed() |
 278    // ret = Braced() |
 279    // ret = Parenthesized() |
 280    // LOOKAHEAD( ( <ABSTRACT> | <FINAL> | <PUBLIC> | <STRICTFP> )* <CLASS> )
 281    // ret = ClassDef() |
 282    // LOOKAHEAD( ( <STATIC> | <ABSTRACT> | <FINAL> | <PUBLIC> | <PROTECTED> | <PRIVATE> )* <INTERFACE> )
 283    // ret = InterfaceDef() |
 284    //// ret = CommaSeparatedList() |
 285    // //ret = AngleBracketed() |
 286    //// ret = LineCommented() |
 287    //// ret = BlockCommented() |
 288    //// ret = DocCommented() |
 289    // ret = Statement()
 290    //// ret = BracedStatement()
 291    //
 292    // )
 293    // {
 294    // return ret;
 295    // }
 296    //}
 297  0 final public void MethodDefLookahead() throws ParseException {
 298  0 ModifiersAndVisibility();
 299  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 300  0 case LT:
 301  0 TypeParameters();
 302  0 break;
 303  0 default:
 304  0 jj_la1[3] = jj_gen;
 305    ;
 306    }
 307  0 ReturnType();
 308  0 jj_consume_token(IDENTIFIER);
 309  0 jj_consume_token(LPAREN);
 310  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 311  0 case BOOLEAN:
 312  0 case BYTE:
 313  0 case CHAR:
 314  0 case DOUBLE:
 315  0 case FINAL:
 316  0 case FLOAT:
 317  0 case INT:
 318  0 case LONG:
 319  0 case SHORT:
 320  0 case IDENTIFIER:
 321  0 FormalParameter();
 322  0 break;
 323  0 case RPAREN:
 324  0 jj_consume_token(RPAREN);
 325  0 break;
 326  0 default:
 327  0 jj_la1[4] = jj_gen;
 328  0 jj_consume_token(-1);
 329  0 throw new ParseException();
 330    }
 331    }
 332   
 333  0 final public void ConstructorDefLookahead() throws ParseException {
 334  0 ModifiersAndVisibility();
 335  0 jj_consume_token(IDENTIFIER);
 336  0 FormalParameters();
 337  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 338  0 case THROWS:
 339  0 jj_consume_token(THROWS);
 340  0 break;
 341  0 case LBRACE:
 342  0 jj_consume_token(LBRACE);
 343  0 break;
 344  0 default:
 345  0 jj_la1[5] = jj_gen;
 346  0 jj_consume_token(-1);
 347  0 throw new ParseException();
 348    }
 349    }
 350   
 351    // This production is to determine lookahead only. It will be used instead
 352    // of MethodDefLookahead because of the added complexity of
 353    // parametric methods and types fooling the lookahead.
 354  0 final public void VariableDeclarationLookahead() throws ParseException {
 355  0 label_3:
 356    while (true) {
 357  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 358  0 case ABSTRACT:
 359  0 case FINAL:
 360  0 case PRIVATE:
 361  0 case PROTECTED:
 362  0 case PUBLIC:
 363  0 case STATIC:
 364  0 case TRANSIENT:
 365  0 case VOLATILE:
 366    ;
 367  0 break;
 368  0 default:
 369  0 jj_la1[6] = jj_gen;
 370  0 break label_3;
 371    }
 372  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 373  0 case PUBLIC:
 374  0 jj_consume_token(PUBLIC);
 375  0 break;
 376  0 case PROTECTED:
 377  0 jj_consume_token(PROTECTED);
 378  0 break;
 379  0 case PRIVATE:
 380  0 jj_consume_token(PRIVATE);
 381  0 break;
 382  0 case STATIC:
 383  0 jj_consume_token(STATIC);
 384  0 break;
 385  0 case ABSTRACT:
 386  0 jj_consume_token(ABSTRACT);
 387  0 break;
 388  0 case FINAL:
 389  0 jj_consume_token(FINAL);
 390  0 break;
 391  0 case TRANSIENT:
 392  0 jj_consume_token(TRANSIENT);
 393  0 break;
 394  0 case VOLATILE:
 395  0 jj_consume_token(VOLATILE);
 396  0 break;
 397  0 default:
 398  0 jj_la1[7] = jj_gen;
 399  0 jj_consume_token(-1);
 400  0 throw new ParseException();
 401    }
 402    }
 403  0 Type();
 404  0 jj_consume_token(IDENTIFIER);
 405  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 406  0 case SEMICOLON:
 407  0 jj_consume_token(SEMICOLON);
 408  0 break;
 409  0 case ASSIGN:
 410  0 jj_consume_token(ASSIGN);
 411  0 break;
 412  0 case COMMA:
 413  0 jj_consume_token(COMMA);
 414  0 break;
 415  0 case LBRACKET:
 416  0 jj_consume_token(LBRACKET);
 417  0 break;
 418  0 default:
 419  0 jj_la1[8] = jj_gen;
 420  0 jj_consume_token(-1);
 421  0 throw new ParseException();
 422    }
 423    }
 424   
 425  14 final public PackageStatement PackageStatement() throws ParseException {
 426  14 CompoundWord cw;
 427  14 Token first = getToken(1);
 428  14 jj_consume_token(PACKAGE);
 429  14 try {
 430  14 cw = CompoundWord();
 431  14 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 432  14 case SEMICOLON:
 433  14 jj_consume_token(SEMICOLON);
 434  14 break;
 435  0 default:
 436  0 jj_la1[9] = jj_gen;
 437  0 _errorChar(';');
 438    }
 439    //{ System.out.println("cw = " + cw);
 440  14 {if (true) return new PackageStatement(_loc(first), cw);}
 441    } catch (ParseException pe) {
 442  0 _throwParseException(pe, "Illegal package name!");
 443    }
 444  0 throw new Error("Missing return statement in function");
 445    }
 446   
 447  18 final public ImportStatement ImportStatement() throws ParseException {
 448  18 CompoundWord cw;
 449  18 Token first = getToken(1);
 450  18 jj_consume_token(IMPORT);
 451  18 try {
 452  18 cw = CompoundWord();
 453  18 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 454  9 case DOT:
 455  9 jj_consume_token(DOT);
 456  9 jj_consume_token(STAR);
 457  9 jj_consume_token(SEMICOLON);
 458  9 {if (true) return new PackageImportStatement(_loc(first), cw);}
 459  0 break;
 460  9 default:
 461  9 jj_la1[11] = jj_gen;
 462  9 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 463  9 case SEMICOLON:
 464  9 jj_consume_token(SEMICOLON);
 465  9 break;
 466  0 default:
 467  0 jj_la1[10] = jj_gen;
 468  0 _errorChar(';');
 469    }
 470  9 {if (true) return new ClassImportStatement(_loc(first), cw);}
 471    }
 472    } catch (ParseException pe) {
 473  0 _throwParseException(pe, "Illegal import name!");
 474    }
 475  0 throw new Error("Missing return statement in function");
 476    }
 477   
 478  32 final public CompoundWord CompoundWord() throws ParseException {
 479  32 Word word; LinkedList<Word> list = new LinkedList<Word>();
 480  32 word = Word();
 481  32 list.add(word);
 482  32 label_4:
 483    while (true) {
 484  65 if (jj_2_3(2)) {
 485    ;
 486    } else {
 487  32 break label_4;
 488    }
 489  33 jj_consume_token(DOT);
 490  33 word = Word();
 491  33 list.add(word);
 492    }
 493  32 {if (true) return new CompoundWord(_loc(list.getFirst()), list.toArray(new Word[list.size()]));}
 494  0 throw new Error("Missing return statement in function");
 495    }
 496   
 497  653 final public ModifiersAndVisibility ModifiersAndVisibility() throws ParseException {
 498  653 LinkedList<String> words = new LinkedList<String>();
 499  653 Token t;
 500  653 Token first = getToken(1);
 501  653 label_5:
 502    while (true) {
 503  799 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 504  14 case ABSTRACT:
 505  7 case FINAL:
 506  0 case NATIVE:
 507  8 case PRIVATE:
 508  3 case PROTECTED:
 509  92 case PUBLIC:
 510  0 case STRICTFP:
 511  21 case STATIC:
 512  1 case SYNCHRONIZED:
 513  0 case TRANSIENT:
 514  0 case VOLATILE:
 515    ;
 516  146 break;
 517  653 default:
 518  653 jj_la1[12] = jj_gen;
 519  653 break label_5;
 520    }
 521  146 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 522  92 case PUBLIC:
 523  92 t = jj_consume_token(PUBLIC);
 524  92 break;
 525  3 case PROTECTED:
 526  3 t = jj_consume_token(PROTECTED);
 527  3 break;
 528  8 case PRIVATE:
 529  8 t = jj_consume_token(PRIVATE);
 530  8 break;
 531  21 case STATIC:
 532  21 t = jj_consume_token(STATIC);
 533  21 break;
 534  14 case ABSTRACT:
 535  14 t = jj_consume_token(ABSTRACT);
 536  14 break;
 537  7 case FINAL:
 538  7 t = jj_consume_token(FINAL);
 539  7 break;
 540  0 case TRANSIENT:
 541  0 t = jj_consume_token(TRANSIENT);
 542  0 break;
 543  0 case VOLATILE:
 544  0 t = jj_consume_token(VOLATILE);
 545  0 break;
 546  0 case NATIVE:
 547  0 t = jj_consume_token(NATIVE);
 548  0 break;
 549  1 case SYNCHRONIZED:
 550  1 t = jj_consume_token(SYNCHRONIZED);
 551  1 break;
 552  0 case STRICTFP:
 553  0 t = jj_consume_token(STRICTFP);
 554  0 break;
 555  0 default:
 556  0 jj_la1[13] = jj_gen;
 557  0 jj_consume_token(-1);
 558  0 throw new ParseException();
 559    }
 560  146 words.addLast(t.image);
 561    }
 562    // If there are no modifiers, then we make our own SourceInfo that
 563    // points to the beginning of the following token.
 564    // Otherwise, the coordinates are backwards.
 565  653 SourceInfo si;
 566  653 if (words.size() == 0) {
 567  511 si = new SourceInfo(_currentFile,
 568    first.beginLine,
 569    first.beginColumn,
 570    first.beginLine,
 571    first.beginColumn);
 572    }
 573    else {
 574  142 si = _loc(first);
 575    }
 576  653 {if (true) return new ModifiersAndVisibility(si, words.toArray(new String[words.size()]));}
 577  0 throw new Error("Missing return statement in function");
 578    }
 579   
 580  169 final public ClassDef ClassDef() throws ParseException {
 581  169 ModifiersAndVisibility modifiers;
 582  169 UnmodifiedClassDef decl;
 583  169 Token first = getToken(1);
 584  169 _inInterface = false;
 585  169 modifiers = ModifiersAndVisibility();
 586  169 decl = UnmodifiedClassDef();
 587    // parse the modifiers later
 588    // if ((mav.isStatic) ||
 589    // (mav.visibility == Visibility.PRIVATE) ||
 590    // (mav.visibility == Visibility.PROTECTED))
 591    // {
 592    // throw new RuntimeException("Invalid modifiers for top-level class!");
 593    // }
 594   
 595  165 {if (true) return new ClassDef(_loc(first),
 596    modifiers,
 597    decl.name,
 598    decl.typeParameters,
 599    decl.superclass,
 600    decl.interfaces,
 601    decl.body);}
 602  0 throw new Error("Missing return statement in function");
 603    }
 604   
 605  198 final public UnmodifiedClassDef UnmodifiedClassDef() throws ParseException {
 606  198 UnmodifiedClassDef decl = new UnmodifiedClassDef();
 607  198 Word name;
 608  198 jj_consume_token(CLASS);
 609  198 name = Word();
 610  198 decl.name = name;
 611  198 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 612  1 case LT:
 613  1 decl.typeParameters = TypeParameters();
 614  1 break;
 615  197 default:
 616  197 jj_la1[14] = jj_gen;
 617    ;
 618    }
 619  198 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 620  59 case EXTENDS:
 621  59 jj_consume_token(EXTENDS);
 622  59 decl.superclass = ClassOrInterfaceType();
 623  59 break;
 624  139 default:
 625  139 jj_la1[15] = jj_gen;
 626    ;
 627    }
 628  198 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 629  11 case IMPLEMENTS:
 630  11 jj_consume_token(IMPLEMENTS);
 631  11 decl.interfaces = NameList();
 632  11 break;
 633  187 default:
 634  187 jj_la1[16] = jj_gen;
 635    ;
 636    }
 637    // (<LBRACE> | _errorChar('{'))
 638  198 decl.body = BracedBody();
 639  194 {if (true) return decl;}
 640  0 throw new Error("Missing return statement in function");
 641    }
 642   
 643  29 final public InnerClassDef InnerClassDef() throws ParseException {
 644  29 ModifiersAndVisibility modifiers;
 645  29 UnmodifiedClassDef decl;
 646  29 Token first = getToken(1);
 647  29 modifiers = ModifiersAndVisibility();
 648  29 decl = UnmodifiedClassDef();
 649  29 {if (true) return new InnerClassDef(_loc(first),
 650    modifiers,
 651    decl.name,
 652    decl.typeParameters,
 653    decl.superclass,
 654    decl.interfaces,
 655    decl.body);}
 656  0 throw new Error("Missing return statement in function");
 657    }
 658   
 659    // <CLASS>
 660    //
 661    // name = Word()
 662    // [ typeParams = TypeParameters() ]
 663    //
 664    // [ <EXTENDS> superClass = ClassOrInterfaceType() ]
 665    //
 666    // [ <IMPLEMENTS> interfaces = NameList() ]
 667    //
 668    // body = BracedBody() {
 669    // return new ClassDef(_loc(first),
 670    // modifiers,
 671    // name,
 672    // typeParams,
 673    // superClass,
 674    // interfaces,
 675    // body);
 676    // }
 677    //}
 678  14 final public InterfaceDef InterfaceDef() throws ParseException {
 679  14 ModifiersAndVisibility modifiers;
 680  14 UnmodifiedInterfaceDef decl;
 681  14 Token first = getToken(1);
 682  14 _inInterface = true;
 683  14 modifiers = ModifiersAndVisibility();
 684  14 decl = UnmodifiedInterfaceDef();
 685    // parse the modifiers later
 686    // if ((mav.isStatic) ||
 687    // (mav.visibility == Visibility.PRIVATE) ||
 688    // (mav.visibility == Visibility.PROTECTED) ||
 689    // (mav.modifier == ClassModifier.FINAL))
 690    // {
 691    // throw new RuntimeException("invalid modifiers for top-level interface");
 692    // }
 693   
 694  14 {if (true) return new InterfaceDef(_loc(first),
 695    modifiers,
 696    decl.name,
 697    decl.typeParameters,
 698    decl.superinterfaces,
 699    decl.body);}
 700  0 throw new Error("Missing return statement in function");
 701    }
 702   
 703  19 final public UnmodifiedInterfaceDef UnmodifiedInterfaceDef() throws ParseException {
 704  19 UnmodifiedInterfaceDef decl = new UnmodifiedInterfaceDef();
 705  19 BracedBody body;
 706  19 Word name;
 707  19 jj_consume_token(INTERFACE);
 708  19 name = Word();
 709  19 decl.name = name;
 710  19 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 711  0 case LT:
 712  0 decl.typeParameters = TypeParameters();
 713  0 break;
 714  19 default:
 715  19 jj_la1[17] = jj_gen;
 716    ;
 717    }
 718  19 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 719  2 case EXTENDS:
 720  2 jj_consume_token(EXTENDS);
 721  2 decl.superinterfaces = NameList();
 722  2 break;
 723  17 default:
 724  17 jj_la1[18] = jj_gen;
 725    ;
 726    }
 727  19 body = BracedBody();
 728  19 decl.body = body;
 729  19 {if (true) return decl;}
 730  0 throw new Error("Missing return statement in function");
 731    }
 732   
 733  5 final public InnerInterfaceDef InnerInterfaceDef() throws ParseException {
 734  5 ModifiersAndVisibility modifiers;
 735  5 UnmodifiedInterfaceDef decl;
 736  5 Token first = getToken(1);
 737  5 boolean oldInInterface = _inInterface;
 738  5 _inInterface = true;
 739  5 modifiers = ModifiersAndVisibility();
 740  5 decl = UnmodifiedInterfaceDef();
 741  5 _inInterface = oldInInterface;
 742  5 {if (true) return new InnerInterfaceDef(_loc(first),
 743    modifiers,
 744    decl.name,
 745    decl.typeParameters,
 746    decl.superinterfaces,
 747    decl.body);}
 748  0 throw new Error("Missing return statement in function");
 749    }
 750   
 751  481 final public BracedBody BracedBody() throws ParseException {
 752  481 UnbracedBody body; Token first = getToken(1);
 753  481 jj_consume_token(LBRACE);
 754  481 body = UnbracedBody();
 755  478 jj_consume_token(RBRACE);
 756  477 {if (true) return new BracedBody(_loc(first), body.getStatements());}
 757  0 throw new Error("Missing return statement in function");
 758    }
 759   
 760  498 final public UnbracedBody UnbracedBody() throws ParseException {
 761  498 LinkedList<BodyItemI> items = new LinkedList<BodyItemI>(); BodyItemI temp; Token first = getToken(1);
 762  498 label_6:
 763    while (true) {
 764  1310 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 765  9 case ABSTRACT:
 766  19 case BOOLEAN:
 767  12 case BREAK:
 768  0 case BYTE:
 769  7 case CHAR:
 770  26 case CLASS:
 771  2 case CONTINUE:
 772  2 case DO:
 773  19 case DOUBLE:
 774  0 case FALSE:
 775  6 case FINAL:
 776  1 case FLOAT:
 777  4 case FOR:
 778  21 case IF:
 779  0 case INSTANCEOF:
 780  146 case INT:
 781  4 case INTERFACE:
 782  0 case LONG:
 783  0 case NATIVE:
 784  1 case NEW:
 785  0 case NULL:
 786  8 case PRIVATE:
 787  3 case PROTECTED:
 788  73 case PUBLIC:
 789  140 case RETURN:
 790  0 case SHORT:
 791  0 case STRICTFP:
 792  18 case STATIC:
 793  3 case SUPER:
 794  5 case SWITCH:
 795  2 case SYNCHRONIZED:
 796  0 case THIS:
 797  13 case THROW:
 798  0 case TRANSIENT:
 799  0 case TRUE:
 800  9 case TRY:
 801  23 case VOID:
 802  0 case VOLATILE:
 803  2 case WHILE:
 804  0 case DECIMAL_LITERAL:
 805  0 case HEX_LITERAL:
 806  0 case OCTAL_LITERAL:
 807  0 case LONG_DECIMAL_LITERAL:
 808  0 case LONG_HEX_LITERAL:
 809  0 case LONG_OCTAL_LITERAL:
 810  0 case DOUBLE_FLOATING_POINT_LITERAL:
 811  0 case FLOATING_POINT_LITERAL:
 812  0 case CHARACTER_LITERAL:
 813  0 case STRING_LITERAL:
 814  218 case IDENTIFIER:
 815  1 case LPAREN:
 816  6 case LBRACE:
 817  0 case LBRACKET:
 818  12 case SEMICOLON:
 819  0 case DOT:
 820  0 case ASSIGN:
 821  0 case GT:
 822  0 case LT:
 823  0 case BANG:
 824  0 case TILDE:
 825  0 case HOOK:
 826  0 case EQ:
 827  0 case LE:
 828  0 case GE:
 829  0 case NE:
 830  0 case SC_OR:
 831  0 case SC_AND:
 832  0 case INCR:
 833  0 case DECR:
 834  0 case PLUS:
 835  0 case MINUS:
 836  0 case STAR:
 837  0 case SLASH:
 838  0 case BIT_AND:
 839  0 case BIT_OR:
 840  0 case XOR:
 841  0 case REM:
 842  0 case LSHIFT:
 843  0 case RSSHIFT1:
 844  0 case RUSHIFT1:
 845  0 case PLUSASSIGN:
 846  0 case MINUSASSIGN:
 847  0 case STARASSIGN:
 848  0 case SLASHASSIGN:
 849  0 case ANDASSIGN:
 850  0 case ORASSIGN:
 851  0 case XORASSIGN:
 852  0 case REMASSIGN:
 853  0 case LSHIFTASSIGN:
 854  0 case RSIGNEDSHIFTASSIGN:
 855  0 case RUNSIGNEDSHIFTASSIGN:
 856    ;
 857  815 break;
 858  495 default:
 859  495 jj_la1[19] = jj_gen;
 860  495 break label_6;
 861    }
 862  815 temp = BodyItem();
 863  812 items.addLast(temp);
 864    }
 865  495 {if (true) return new UnbracedBody(_loc(first), items.toArray(new BodyItemI[items.size()]));}
 866  0 throw new Error("Missing return statement in function");
 867    }
 868   
 869    // A BodyItem is a method declaration, field declaration, statements, initializer, constructor, or inner declaration.
 870  815 final public BodyItemI BodyItem() throws ParseException {
 871  815 BodyItemI temp;
 872  815 try {
 873  815 if (jj_2_4(2147483647)) {
 874  29 temp = InnerClassDef();
 875  786 } else if (jj_2_5(2147483647)) {
 876  5 temp = InnerInterfaceDef();
 877  781 } else if (jj_2_6(2)) {
 878  6 temp = Initializer();
 879  775 } else if (jj_2_7(2147483647)) {
 880  187 temp = MethodDef();
 881  588 } else if (jj_2_8(2147483647)) {
 882  31 temp = ConstructorDef();
 883  557 } else if (jj_2_9(2147483647)) {
 884  217 temp = VariableDeclaration();
 885  217 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 886  217 case SEMICOLON:
 887  217 jj_consume_token(SEMICOLON);
 888  217 break;
 889  0 default:
 890  0 jj_la1[20] = jj_gen;
 891  0 _errorString(";(");
 892    }
 893    } else {
 894  340 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 895  0 case BOOLEAN:
 896  12 case BREAK:
 897  0 case BYTE:
 898  0 case CHAR:
 899  2 case CONTINUE:
 900  2 case DO:
 901  0 case DOUBLE:
 902  0 case FALSE:
 903  0 case FLOAT:
 904  4 case FOR:
 905  21 case IF:
 906  0 case INSTANCEOF:
 907  0 case INT:
 908  0 case LONG:
 909  1 case NEW:
 910  0 case NULL:
 911  140 case RETURN:
 912  0 case SHORT:
 913  3 case SUPER:
 914  5 case SWITCH:
 915  1 case SYNCHRONIZED:
 916  0 case THIS:
 917  13 case THROW:
 918  0 case TRUE:
 919  9 case TRY:
 920  0 case VOID:
 921  2 case WHILE:
 922  0 case DECIMAL_LITERAL:
 923  0 case HEX_LITERAL:
 924  0 case OCTAL_LITERAL:
 925  0 case LONG_DECIMAL_LITERAL:
 926  0 case LONG_HEX_LITERAL:
 927  0 case LONG_OCTAL_LITERAL:
 928  0 case DOUBLE_FLOATING_POINT_LITERAL:
 929  0 case FLOATING_POINT_LITERAL:
 930  0 case CHARACTER_LITERAL:
 931  0 case STRING_LITERAL:
 932  112 case IDENTIFIER:
 933  1 case LPAREN:
 934  0 case LBRACE:
 935  0 case LBRACKET:
 936  12 case SEMICOLON:
 937  0 case DOT:
 938  0 case ASSIGN:
 939  0 case GT:
 940  0 case LT:
 941  0 case BANG:
 942  0 case TILDE:
 943  0 case HOOK:
 944  0 case EQ:
 945  0 case LE:
 946  0 case GE:
 947  0 case NE:
 948  0 case SC_OR:
 949  0 case SC_AND:
 950  0 case INCR:
 951  0 case DECR:
 952  0 case PLUS:
 953  0 case MINUS:
 954  0 case STAR:
 955  0 case SLASH:
 956  0 case BIT_AND:
 957  0 case BIT_OR:
 958  0 case XOR:
 959  0 case REM:
 960  0 case LSHIFT:
 961  0 case RSSHIFT1:
 962  0 case RUSHIFT1:
 963  0 case PLUSASSIGN:
 964  0 case MINUSASSIGN:
 965  0 case STARASSIGN:
 966  0 case SLASHASSIGN:
 967  0 case ANDASSIGN:
 968  0 case ORASSIGN:
 969  0 case XORASSIGN:
 970  0 case REMASSIGN:
 971  0 case LSHIFTASSIGN:
 972  0 case RSIGNEDSHIFTASSIGN:
 973  0 case RUNSIGNEDSHIFTASSIGN:
 974  340 temp = Statement();
 975  340 break;
 976  0 default:
 977  0 jj_la1[21] = jj_gen;
 978  0 jj_consume_token(-1);
 979  0 throw new ParseException();
 980    }
 981    }
 982  812 {if (true) return temp;}
 983    } catch (ParseException pe) {
 984  3 _throwParseException(pe, "This statement or expression is improperly formatted or not allowed in a class body");
 985    }
 986  0 throw new Error("Missing return statement in function");
 987    }
 988   
 989  187 final public MethodDef MethodDef() throws ParseException {
 990  187 Token first = getToken(1);
 991  187 ModifiersAndVisibility modifiers;
 992  187 TypeParameter[] typeParams = new TypeParameter[0];
 993  187 ReturnTypeI returnType;
 994  187 Word name;
 995  187 FormalParameter[] params;
 996  187 ReferenceType[] throwsArray = new ReferenceType[0];
 997  187 BracedBody body;
 998  187 try {
 999  187 modifiers = ModifiersAndVisibility();
 1000  187 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1001  1 case LT:
 1002  1 typeParams = TypeParameters();
 1003  1 break;
 1004  186 default:
 1005  186 jj_la1[22] = jj_gen;
 1006    ;
 1007    }
 1008  187 returnType = ReturnType();
 1009  187 name = Word();
 1010  187 params = FormalParameters();
 1011  184 label_7:
 1012    while (true) {
 1013  184 if (jj_2_10(2147483647)) {
 1014    ;
 1015    } else {
 1016  184 break label_7;
 1017    }
 1018  0 jj_consume_token(LBRACKET);
 1019  0 jj_consume_token(RBRACKET);
 1020  0 if (returnType instanceof Type) {
 1021  0 returnType = new ArrayType(_loc(returnType), ((Type)returnType).getName() + "[]", (Type) returnType);
 1022    }
 1023    else { // void return
 1024  0 _throwParseException("Cannot have method return array if base type is void!");
 1025    }
 1026    }
 1027  184 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1028  2 case THROWS:
 1029  2 jj_consume_token(THROWS);
 1030  2 throwsArray = NameList();
 1031  2 break;
 1032  182 default:
 1033  182 jj_la1[23] = jj_gen;
 1034    ;
 1035    }
 1036  184 if (!_isAbstract(modifiers) && !_inInterface) {
 1037  161 body = ConcreteMethodBody();
 1038  161 {if (true) return new ConcreteMethodDef(_loc(first),
 1039    modifiers,
 1040    typeParams,
 1041    returnType,
 1042    name,
 1043    params,
 1044    throwsArray,
 1045    body);}
 1046    }
 1047    else {
 1048  23 AbstractMethodBody();
 1049  23 {if (true) return new AbstractMethodDef(_loc(first),
 1050    modifiers,
 1051    typeParams,
 1052    returnType,
 1053    name,
 1054    params,
 1055    throwsArray);}
 1056    }
 1057    } catch (ParseException pe) {
 1058  3 _throwParseException(pe, "This cannot appear in a method declaration!");
 1059    }
 1060  0 throw new Error("Missing return statement in function");
 1061    }
 1062   
 1063  161 final public BracedBody ConcreteMethodBody() throws ParseException {
 1064  161 BracedBody body;
 1065  161 body = BracedBody();
 1066  161 {if (true) return body;}
 1067  0 throw new Error("Missing return statement in function");
 1068    }
 1069   
 1070  23 final public void AbstractMethodBody() throws ParseException {
 1071  23 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1072  23 case SEMICOLON:
 1073  23 jj_consume_token(SEMICOLON);
 1074  23 break;
 1075  0 default:
 1076  0 jj_la1[24] = jj_gen;
 1077  0 _errorChar(';');
 1078    }
 1079    }
 1080   
 1081  218 final public VariableDeclaration VariableDeclaration() throws ParseException {
 1082  218 ModifiersAndVisibility modifiers;
 1083  218 LinkedList<VariableDeclarator> variableDeclarators;
 1084  218 Token first = getToken(1);
 1085  218 try {
 1086  218 modifiers = ModifiersAndVisibility();
 1087  218 variableDeclarators = VariableDeclaratorList();
 1088  218 {if (true) return new VariableDeclaration(_loc(first),
 1089    modifiers,
 1090    variableDeclarators.toArray(new VariableDeclarator[variableDeclarators.size()]));}
 1091    } catch (ParseException pe) {
 1092  0 _throwParseException(pe, "This is not a valid variable declaration!");
 1093    }
 1094  0 throw new Error("Missing return statement in function");
 1095    }
 1096   
 1097  15 final public ReferenceType[] NameList() throws ParseException {
 1098  15 LinkedList<ReferenceType> list = new LinkedList<ReferenceType>();
 1099  15 ReferenceType temp;
 1100  15 temp = ClassOrInterfaceType();
 1101  15 list.add(temp);
 1102  15 label_8:
 1103    while (true) {
 1104  16 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1105  1 case COMMA:
 1106    ;
 1107  1 break;
 1108  15 default:
 1109  15 jj_la1[25] = jj_gen;
 1110  15 break label_8;
 1111    }
 1112  1 jj_consume_token(COMMA);
 1113  1 temp = ClassOrInterfaceType();
 1114  1 list.add(temp);
 1115    }
 1116  15 {if (true) return list.toArray(new ReferenceType[list.size()]);}
 1117  0 throw new Error("Missing return statement in function");
 1118    }
 1119   
 1120  188 final public ReturnTypeI ReturnType() throws ParseException {
 1121  188 ReturnTypeI ret;
 1122  188 Token first = getToken(1);
 1123  188 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1124  34 case VOID:
 1125  34 jj_consume_token(VOID);
 1126  34 ret = new VoidReturn(_loc(first), "void");
 1127  34 break;
 1128  11 case BOOLEAN:
 1129  0 case BYTE:
 1130  0 case CHAR:
 1131  8 case DOUBLE:
 1132  0 case FLOAT:
 1133  85 case INT:
 1134  0 case LONG:
 1135  0 case SHORT:
 1136  50 case IDENTIFIER:
 1137  154 ret = Type();
 1138  154 break;
 1139  0 default:
 1140  0 jj_la1[26] = jj_gen;
 1141  0 jj_consume_token(-1);
 1142  0 throw new ParseException();
 1143    }
 1144  188 {if (true) return ret;}
 1145  0 throw new Error("Missing return statement in function");
 1146    }
 1147   
 1148  218 final public FormalParameter[] FormalParameters() throws ParseException {
 1149  218 LinkedList<FormalParameter> list = new LinkedList<FormalParameter>();
 1150  218 FormalParameter temp;
 1151  218 Token first = getToken(1);
 1152  218 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1153  218 case LPAREN:
 1154  218 jj_consume_token(LPAREN);
 1155  218 break;
 1156  0 default:
 1157  0 jj_la1[27] = jj_gen;
 1158  0 _errorChar('(');
 1159    }
 1160  218 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1161  0 case BOOLEAN:
 1162  0 case BYTE:
 1163  6 case CHAR:
 1164  1 case DOUBLE:
 1165  0 case FINAL:
 1166  0 case FLOAT:
 1167  41 case INT:
 1168  0 case LONG:
 1169  0 case SHORT:
 1170  14 case IDENTIFIER:
 1171  62 temp = FormalParameter();
 1172  62 list.add(temp);
 1173  62 label_9:
 1174    while (true) {
 1175  86 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1176  24 case COMMA:
 1177    ;
 1178  24 break;
 1179  62 default:
 1180  62 jj_la1[28] = jj_gen;
 1181  62 break label_9;
 1182    }
 1183  24 jj_consume_token(COMMA);
 1184  24 temp = FormalParameter();
 1185  24 list.add(temp);
 1186    }
 1187  62 break;
 1188  156 default:
 1189  156 jj_la1[29] = jj_gen;
 1190    ;
 1191    }
 1192  218 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1193  215 case RPAREN:
 1194  215 jj_consume_token(RPAREN);
 1195  215 break;
 1196  3 default:
 1197  3 jj_la1[30] = jj_gen;
 1198  3 _errorString("),");
 1199    }
 1200  215 {if (true) return list.toArray(new FormalParameter[list.size()]);}
 1201  0 throw new Error("Missing return statement in function");
 1202    }
 1203   
 1204  98 final public FormalParameter FormalParameter() throws ParseException {
 1205  98 boolean isFinal = false;
 1206  98 Type type;
 1207  98 VariableDeclarator declarator;
 1208  98 Token first = getToken(1);
 1209  98 try {
 1210  98 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1211  0 case FINAL:
 1212  0 jj_consume_token(FINAL);
 1213  0 isFinal = true;
 1214  0 break;
 1215  98 default:
 1216  98 jj_la1[31] = jj_gen;
 1217    ;
 1218    }
 1219  98 type = Type();
 1220  98 declarator = VariableDeclarator(type);
 1221  98 if (declarator instanceof InitializedVariableDeclarator) {
 1222  0 _throwParseException("Cannot assign values to parameters!");
 1223    }
 1224  98 {if (true) return new FormalParameter(_loc(first), declarator, isFinal);}
 1225    } catch (ParseException e) {
 1226  0 _throwParseException("This is an invalid formal parameter: make sure that you have specified a correctly formatted type name and identifier!");
 1227    }
 1228  0 throw new Error("Missing return statement in function");
 1229    }
 1230   
 1231  31 final public ConstructorDef ConstructorDef() throws ParseException {
 1232  31 ModifiersAndVisibility visibility;
 1233  31 Word name = null;
 1234  31 FormalParameter[] formalParameters;
 1235  31 ReferenceType[] throwsArray = new ReferenceType[0];
 1236  31 BracedBody code;
 1237  31 Token first = getToken(1);
 1238  31 try {
 1239  31 visibility = ModifiersAndVisibility();
 1240    // (name = <IDENTIFIER> | _errorString("identifier"))
 1241  31 name = Word();
 1242  31 formalParameters = FormalParameters();
 1243  31 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1244  0 case THROWS:
 1245  0 jj_consume_token(THROWS);
 1246  0 throwsArray = NameList();
 1247  0 break;
 1248  31 default:
 1249  31 jj_la1[32] = jj_gen;
 1250    ;
 1251    }
 1252  31 code = BracedBody();
 1253  31 {if (true) return new ConstructorDef(_loc(first),
 1254    name,
 1255    visibility,
 1256    formalParameters,
 1257    throwsArray,
 1258    code);}
 1259    } catch (ParseException pe) {
 1260  0 _throwParseException(pe, "This cannot appear in a constructor definition!");
 1261    }
 1262  0 throw new Error("Missing return statement in function");
 1263    }
 1264   
 1265  6 final public Initializer Initializer() throws ParseException {
 1266  6 boolean isStatic = false;
 1267  6 Block code;
 1268  6 Token first = getToken(1);
 1269  6 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1270  0 case STATIC:
 1271  0 jj_consume_token(STATIC);
 1272  0 isStatic = true;
 1273  0 break;
 1274  6 default:
 1275  6 jj_la1[33] = jj_gen;
 1276    ;
 1277    }
 1278  6 code = Block();
 1279  6 if (isStatic) {
 1280  0 {if (true) return new StaticInitializer(_loc(first), code);}
 1281    }
 1282    else {
 1283  6 {if (true) return new InstanceInitializer(_loc(first), code);}
 1284    }
 1285  0 throw new Error("Missing return statement in function");
 1286    }
 1287   
 1288    /*
 1289    * Type & name syntax follows.
 1290    */
 1291  476 final public Type Type() throws ParseException {
 1292  476 Type type;
 1293  476 Token first = getToken(1);
 1294  476 if (jj_2_11(3)) {
 1295  315 type = PrimitiveType();
 1296    } else {
 1297  161 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1298  161 case IDENTIFIER:
 1299  161 type = ReferenceType();
 1300  161 break;
 1301  0 default:
 1302  0 jj_la1[34] = jj_gen;
 1303  0 jj_consume_token(-1);
 1304  0 throw new ParseException();
 1305    }
 1306    }
 1307  476 label_10:
 1308    while (true) {
 1309  502 if (jj_2_12(2147483647)) {
 1310    ;
 1311    } else {
 1312  476 break label_10;
 1313    }
 1314  26 jj_consume_token(LBRACKET);
 1315  26 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1316  26 case RBRACKET:
 1317  26 jj_consume_token(RBRACKET);
 1318  26 break;
 1319  0 default:
 1320  0 jj_la1[35] = jj_gen;
 1321  0 _errorChar(']');
 1322    }
 1323  26 type = new ArrayType(_loc(first), type.getName() + "[]", type);
 1324    }
 1325  476 {if (true) return type;}
 1326  0 throw new Error("Missing return statement in function");
 1327    }
 1328   
 1329  337 final public PrimitiveType PrimitiveType() throws ParseException {
 1330  337 Token name;
 1331  337 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1332  24 case BOOLEAN:
 1333  24 name = jj_consume_token(BOOLEAN);
 1334  24 break;
 1335  23 case CHAR:
 1336  23 name = jj_consume_token(CHAR);
 1337  23 break;
 1338  0 case BYTE:
 1339  0 name = jj_consume_token(BYTE);
 1340  0 break;
 1341  0 case SHORT:
 1342  0 name = jj_consume_token(SHORT);
 1343  0 break;
 1344  263 case INT:
 1345  263 name = jj_consume_token(INT);
 1346  263 break;
 1347  0 case LONG:
 1348  0 name = jj_consume_token(LONG);
 1349  0 break;
 1350  3 case FLOAT:
 1351  3 name = jj_consume_token(FLOAT);
 1352  3 break;
 1353  24 case DOUBLE:
 1354  24 name = jj_consume_token(DOUBLE);
 1355  24 break;
 1356  0 default:
 1357  0 jj_la1[36] = jj_gen;
 1358  0 jj_consume_token(-1);
 1359  0 throw new ParseException();
 1360    }
 1361  337 {if (true) return new PrimitiveType(_loc(name), name.image);}
 1362  0 throw new Error("Missing return statement in function");
 1363    }
 1364   
 1365  167 final public ReferenceType ReferenceType() throws ParseException {
 1366  167 ReferenceType type;
 1367  167 if (jj_2_13(2)) {
 1368  167 type = ClassOrInterfaceType();
 1369    } else {
 1370  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1371  0 case IDENTIFIER:
 1372  0 type = TypeVariable();
 1373  0 break;
 1374  0 default:
 1375  0 jj_la1[37] = jj_gen;
 1376  0 jj_consume_token(-1);
 1377  0 throw new ParseException();
 1378    }
 1379    }
 1380  167 {if (true) return type;}
 1381  0 throw new Error("Missing return statement in function");
 1382    }
 1383   
 1384  0 final public ArrayType ArrayType() throws ParseException {
 1385  0 Type elemType;
 1386  0 ArrayType arrayType = null;
 1387  0 Token first = getToken(1);
 1388  0 if (jj_2_14(2)) {
 1389  0 elemType = PrimitiveType();
 1390    } else {
 1391  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1392  0 case IDENTIFIER:
 1393  0 elemType = ReferenceType();
 1394  0 break;
 1395  0 default:
 1396  0 jj_la1[38] = jj_gen;
 1397  0 jj_consume_token(-1);
 1398  0 throw new ParseException();
 1399    }
 1400    }
 1401  0 label_11:
 1402    while (true) {
 1403  0 jj_consume_token(LBRACKET);
 1404  0 jj_consume_token(RBRACKET);
 1405  0 if (arrayType == null) {
 1406  0 arrayType = new ArrayType(_loc(first), elemType.getName() + "[]", elemType);
 1407    }
 1408    else {
 1409  0 arrayType = new ArrayType(_loc(first), arrayType.getName() + "[]", arrayType);
 1410    }
 1411  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1412  0 case LBRACKET:
 1413    ;
 1414  0 break;
 1415  0 default:
 1416  0 jj_la1[39] = jj_gen;
 1417  0 break label_11;
 1418    }
 1419    }
 1420  0 {if (true) return arrayType;}
 1421  0 throw new Error("Missing return statement in function");
 1422    }
 1423   
 1424  2 final public TypeVariable TypeVariable() throws ParseException {
 1425  2 Token name;
 1426  2 name = jj_consume_token(IDENTIFIER);
 1427  2 {if (true) return new TypeVariable(_loc(name), name.image);}
 1428  0 throw new Error("Missing return statement in function");
 1429    }
 1430   
 1431    /** have to break out each period inside the name. */
 1432  320 final public ReferenceType ClassOrInterfaceType() throws ParseException {
 1433  320 Type[] typeArguments = new Type[0];
 1434  320 Token identToken;
 1435  320 ReferenceType type;
 1436  320 identToken = jj_consume_token(IDENTIFIER);
 1437  320 if (jj_2_15(2147483647)) {
 1438  6 typeArguments = TypeArguments();
 1439    } else {
 1440    ;
 1441    }
 1442  320 type = new ClassOrInterfaceType(_loc(identToken), identToken.image, typeArguments);
 1443  320 typeArguments = new Type[0];
 1444  320 label_12:
 1445    while (true) {
 1446  333 if (jj_2_16(2)) {
 1447    ;
 1448    } else {
 1449  320 break label_12;
 1450    }
 1451  13 jj_consume_token(DOT);
 1452  13 identToken = jj_consume_token(IDENTIFIER);
 1453  13 if (jj_2_17(2147483647)) {
 1454  0 typeArguments = TypeArguments();
 1455    } else {
 1456    ;
 1457    }
 1458  13 ClassOrInterfaceType right = new ClassOrInterfaceType(_loc(identToken), identToken.image, typeArguments);
 1459  13 typeArguments = new Type[0];
 1460  13 type = new MemberType(_loc(type), type.getName() + "." + right.getName(), type, right);
 1461    }
 1462  320 {if (true) return type;}
 1463  0 throw new Error("Missing return statement in function");
 1464    }
 1465   
 1466  6 final public Type[] TypeArguments() throws ParseException {
 1467  6 LinkedList<Type> list = new LinkedList<Type>();
 1468  6 Type temp;
 1469  6 jj_consume_token(LT);
 1470  6 if (jj_2_18(2147483647)) {
 1471  0 temp = ArrayType();
 1472    } else {
 1473  6 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1474  6 case IDENTIFIER:
 1475  6 temp = ReferenceType();
 1476  6 break;
 1477  0 default:
 1478  0 jj_la1[40] = jj_gen;
 1479  0 jj_consume_token(-1);
 1480  0 throw new ParseException();
 1481    }
 1482    }
 1483  6 list.add(temp);
 1484  6 label_13:
 1485    while (true) {
 1486  6 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1487  0 case COMMA:
 1488    ;
 1489  0 break;
 1490  6 default:
 1491  6 jj_la1[41] = jj_gen;
 1492  6 break label_13;
 1493    }
 1494  0 jj_consume_token(COMMA);
 1495  0 if (jj_2_19(2147483647)) {
 1496  0 temp = ArrayType();
 1497    } else {
 1498  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1499  0 case IDENTIFIER:
 1500  0 temp = ReferenceType();
 1501  0 break;
 1502  0 default:
 1503  0 jj_la1[42] = jj_gen;
 1504  0 jj_consume_token(-1);
 1505  0 throw new ParseException();
 1506    }
 1507    }
 1508  0 list.add(temp);
 1509    }
 1510  6 RightAngledBracket();
 1511  6 {if (true) return list.toArray(new Type[list.size()]);}
 1512  0 throw new Error("Missing return statement in function");
 1513    }
 1514   
 1515  2 final public TypeParameter[] TypeParameters() throws ParseException {
 1516  2 LinkedList<TypeParameter> list = new LinkedList<TypeParameter>();
 1517  2 TypeParameter temp;
 1518  2 jj_consume_token(LT);
 1519  2 temp = TypeFormalParameter();
 1520  2 list.add(temp);
 1521  2 label_14:
 1522    while (true) {
 1523  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1524  0 case COMMA:
 1525    ;
 1526  0 break;
 1527  2 default:
 1528  2 jj_la1[43] = jj_gen;
 1529  2 break label_14;
 1530    }
 1531  0 jj_consume_token(COMMA);
 1532  0 temp = TypeFormalParameter();
 1533  0 list.add(temp);
 1534    }
 1535  2 RightAngledBracket();
 1536  2 {if (true) return list.toArray(new TypeParameter[list.size()]);}
 1537  0 throw new Error("Missing return statement in function");
 1538    }
 1539   
 1540  8 final public Token RightAngledBracket() throws ParseException {
 1541  8 Token t;
 1542  8 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1543  8 case GT:
 1544  8 t = jj_consume_token(GT);
 1545  8 break;
 1546  0 case RSSHIFT1:
 1547  0 t = jj_consume_token(RSSHIFT1);
 1548  0 break;
 1549  0 case RSSHIFT2:
 1550  0 t = jj_consume_token(RSSHIFT2);
 1551  0 break;
 1552  0 case RUSHIFT1:
 1553  0 t = jj_consume_token(RUSHIFT1);
 1554  0 break;
 1555  0 case RUSHIFT2:
 1556  0 t = jj_consume_token(RUSHIFT2);
 1557  0 break;
 1558  0 case RUSHIFT3:
 1559  0 t = jj_consume_token(RUSHIFT3);
 1560  0 break;
 1561  0 default:
 1562  0 jj_la1[44] = jj_gen;
 1563  0 jj_consume_token(-1);
 1564  0 throw new ParseException();
 1565    }
 1566  8 {if (true) return t;}
 1567  0 throw new Error("Missing return statement in function");
 1568    }
 1569   
 1570  2 final public TypeParameter TypeFormalParameter() throws ParseException {
 1571  2 TypeVariable variable;
 1572  2 ReferenceType bound = NO_TYPE;
 1573  2 Token first = getToken(1);
 1574  2 variable = TypeVariable();
 1575  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1576  0 case EXTENDS:
 1577  0 jj_consume_token(EXTENDS);
 1578  0 bound = ClassOrInterfaceType();
 1579  0 break;
 1580  2 default:
 1581  2 jj_la1[45] = jj_gen;
 1582    ;
 1583    }
 1584  2 {if (true) return new TypeParameter(_loc(first), variable, bound);}
 1585  0 throw new Error("Missing return statement in function");
 1586    }
 1587   
 1588    /*
 1589    * Statement syntax follows.
 1590    */
 1591  385 final public Statement Statement() throws ParseException {
 1592  385 Statement temp;
 1593  385 try {
 1594  385 if (jj_2_20(2147483647)) {
 1595  34 temp = Block();
 1596  351 } else if (jj_2_21(2)) {
 1597  1 temp = LabeledStatement();
 1598    } else {
 1599  350 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1600  5 case SWITCH:
 1601  5 temp = SwitchStatement();
 1602  5 break;
 1603  22 case IF:
 1604  22 temp = IfStatement();
 1605  22 break;
 1606  2 case WHILE:
 1607  2 temp = WhileStatement();
 1608  2 break;
 1609  2 case DO:
 1610  2 temp = DoStatement();
 1611  2 break;
 1612  5 case FOR:
 1613  5 temp = ForStatement();
 1614  5 break;
 1615  12 case BREAK:
 1616  12 temp = BreakStatement();
 1617  12 break;
 1618  2 case CONTINUE:
 1619  2 temp = ContinueStatement();
 1620  2 break;
 1621  144 case RETURN:
 1622  144 temp = ReturnStatement();
 1623  144 break;
 1624  16 case THROW:
 1625  16 temp = ThrowStatement();
 1626  16 break;
 1627  1 case SYNCHRONIZED:
 1628  1 temp = SynchronizedStatement();
 1629  1 break;
 1630  9 case TRY:
 1631  9 temp = TryStatement();
 1632  9 break;
 1633  130 default:
 1634  130 jj_la1[46] = jj_gen;
 1635  130 if (jj_2_22(2147483647)) {
 1636  118 temp = ExpressionStatement();
 1637    } else {
 1638  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1639  12 case SEMICOLON:
 1640  12 temp = EmptyStatement();
 1641  12 break;
 1642  0 default:
 1643  0 jj_la1[47] = jj_gen;
 1644  0 jj_consume_token(-1);
 1645  0 throw new ParseException();
 1646    }
 1647    }
 1648    }
 1649    }
 1650  385 {if (true) return temp;}
 1651    } catch (ParseException pe) {
 1652  0 _throwParseException(pe, "Invalid statement.");
 1653    }
 1654  0 throw new Error("Missing return statement in function");
 1655    }
 1656   
 1657  1 final public LabeledStatement LabeledStatement() throws ParseException {
 1658  1 Word label;
 1659  1 Statement statement;
 1660  1 label = Word();
 1661  1 jj_consume_token(COLON);
 1662  1 statement = Statement();
 1663  1 {if (true) return new LabeledStatement(_loc(label), label, statement);}
 1664  0 throw new Error("Missing return statement in function");
 1665    }
 1666   
 1667  65 final public Block Block() throws ParseException {
 1668  65 BracedBody code;
 1669  65 code = BracedBody();
 1670  65 {if (true) return new Block(_loc(code), code);}
 1671  0 throw new Error("Missing return statement in function");
 1672    }
 1673   
 1674  118 final public ExpressionStatement ExpressionStatement() throws ParseException {
 1675  118 Expression exp;
 1676  118 exp = Expression();
 1677  118 jj_consume_token(SEMICOLON);
 1678  118 {if (true) return new ExpressionStatement(_loc(exp), exp);}
 1679  0 throw new Error("Missing return statement in function");
 1680    }
 1681   
 1682  5 final public Statement SwitchStatement() throws ParseException {
 1683  5 Expression test;
 1684  5 SwitchCase tempCase;
 1685  5 LinkedList<SwitchCase> caseList = new LinkedList<SwitchCase>();
 1686  5 Token first = getToken(1);
 1687  5 jj_consume_token(SWITCH);
 1688  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1689  5 case LPAREN:
 1690  5 jj_consume_token(LPAREN);
 1691  5 break;
 1692  0 default:
 1693  0 jj_la1[48] = jj_gen;
 1694  0 _errorChar('(');
 1695    }
 1696  5 test = Expression();
 1697  5 jj_consume_token(RPAREN);
 1698  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1699  5 case LBRACE:
 1700  5 jj_consume_token(LBRACE);
 1701  5 break;
 1702  0 default:
 1703  0 jj_la1[49] = jj_gen;
 1704  0 _errorChar('{');
 1705    }
 1706  5 label_15:
 1707    while (true) {
 1708  22 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1709  12 case CASE:
 1710  5 case _DEFAULT:
 1711    ;
 1712  17 break;
 1713  5 default:
 1714  5 jj_la1[50] = jj_gen;
 1715  5 break label_15;
 1716    }
 1717  17 tempCase = SwitchCase();
 1718  17 caseList.add(tempCase);
 1719    }
 1720  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1721  5 case RBRACE:
 1722  5 jj_consume_token(RBRACE);
 1723  5 break;
 1724  0 default:
 1725  0 jj_la1[51] = jj_gen;
 1726  0 _errorChar('}');
 1727    }
 1728  5 {if (true) return new SwitchStatement(_loc(first), test, caseList.toArray(new SwitchCase[caseList.size()]));}
 1729  0 throw new Error("Missing return statement in function");
 1730    }
 1731   
 1732  17 final public SwitchCase SwitchCase() throws ParseException {
 1733  17 UnbracedBody statements;
 1734  17 Expression label;
 1735  17 Token first = getToken(1);
 1736  17 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1737  12 case CASE:
 1738  12 jj_consume_token(CASE);
 1739  12 label = Expression();
 1740  12 jj_consume_token(COLON);
 1741  12 statements = UnbracedBody();
 1742  12 {if (true) return new LabeledCase(_loc(first), label, statements);}
 1743  0 break;
 1744  5 case _DEFAULT:
 1745  5 jj_consume_token(_DEFAULT);
 1746  5 jj_consume_token(COLON);
 1747  5 statements = UnbracedBody();
 1748  5 {if (true) return new DefaultCase(_loc(first), statements);}
 1749  0 break;
 1750  0 default:
 1751  0 jj_la1[52] = jj_gen;
 1752  0 jj_consume_token(-1);
 1753  0 throw new ParseException();
 1754    }
 1755  0 throw new Error("Missing return statement in function");
 1756    }
 1757   
 1758  22 final public Statement IfStatement() throws ParseException {
 1759  22 Expression testExpression;
 1760  22 Statement thenStatement;
 1761  22 Statement elseStatement = null;
 1762  22 Token first = getToken(1);
 1763  22 jj_consume_token(IF);
 1764  22 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1765  22 case LPAREN:
 1766  22 jj_consume_token(LPAREN);
 1767  22 break;
 1768  0 default:
 1769  0 jj_la1[53] = jj_gen;
 1770  0 _errorChar('(');
 1771    }
 1772  22 testExpression = Expression();
 1773  22 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1774  22 case RPAREN:
 1775  22 jj_consume_token(RPAREN);
 1776  22 break;
 1777  0 default:
 1778  0 jj_la1[54] = jj_gen;
 1779  0 _errorChar(')');
 1780    }
 1781  22 thenStatement = Statement();
 1782  22 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1783  13 case ELSE:
 1784  13 jj_consume_token(ELSE);
 1785  13 elseStatement = Statement();
 1786  13 break;
 1787  9 default:
 1788  9 jj_la1[55] = jj_gen;
 1789    ;
 1790    }
 1791  22 if (elseStatement == null) {
 1792  9 {if (true) return new IfThenStatement(_loc(first), testExpression, thenStatement);}
 1793    }
 1794    else {
 1795  13 {if (true) return new IfThenElseStatement(_loc(first), testExpression, thenStatement, elseStatement);}
 1796    }
 1797  0 throw new Error("Missing return statement in function");
 1798    }
 1799   
 1800  2 final public WhileStatement WhileStatement() throws ParseException {
 1801  2 Expression condition;
 1802  2 Statement body;
 1803  2 Token first = getToken(1);
 1804  2 jj_consume_token(WHILE);
 1805  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1806  2 case LPAREN:
 1807  2 jj_consume_token(LPAREN);
 1808  2 break;
 1809  0 default:
 1810  0 jj_la1[56] = jj_gen;
 1811  0 _errorChar('(');
 1812    }
 1813  2 condition = Expression();
 1814  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1815  2 case RPAREN:
 1816  2 jj_consume_token(RPAREN);
 1817  2 break;
 1818  0 default:
 1819  0 jj_la1[57] = jj_gen;
 1820  0 _errorChar(')');
 1821    }
 1822  2 body = Statement();
 1823  2 {if (true) return new WhileStatement(_loc(first), condition, body);}
 1824  0 throw new Error("Missing return statement in function");
 1825    }
 1826   
 1827  2 final public Statement DoStatement() throws ParseException {
 1828  2 Expression condition;
 1829  2 Statement body;
 1830  2 Token first = getToken(1);
 1831  2 jj_consume_token(DO);
 1832  2 body = Statement();
 1833  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1834  2 case WHILE:
 1835  2 jj_consume_token(WHILE);
 1836  2 break;
 1837  0 default:
 1838  0 jj_la1[58] = jj_gen;
 1839  0 _errorString("\"while\"");
 1840    }
 1841  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1842  2 case LPAREN:
 1843  2 jj_consume_token(LPAREN);
 1844  2 break;
 1845  0 default:
 1846  0 jj_la1[59] = jj_gen;
 1847  0 _errorChar('(');
 1848    }
 1849  2 condition = Expression();
 1850  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1851  2 case RPAREN:
 1852  2 jj_consume_token(RPAREN);
 1853  2 break;
 1854  0 default:
 1855  0 jj_la1[60] = jj_gen;
 1856  0 _errorChar(')');
 1857    }
 1858  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1859  2 case SEMICOLON:
 1860  2 jj_consume_token(SEMICOLON);
 1861  2 break;
 1862  0 default:
 1863  0 jj_la1[61] = jj_gen;
 1864  0 _errorChar(';');
 1865    }
 1866  2 {if (true) return new DoStatement(_loc(first), body, condition);}
 1867  0 throw new Error("Missing return statement in function");
 1868    }
 1869   
 1870  5 final public ForStatement ForStatement() throws ParseException {
 1871  5 ForInitI init; ForConditionI condition; UnparenthesizedExpressionList update; Statement body; Token first = getToken(1);
 1872  5 jj_consume_token(FOR);
 1873  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1874  5 case LPAREN:
 1875  5 jj_consume_token(LPAREN);
 1876  5 break;
 1877  0 default:
 1878  0 jj_la1[62] = jj_gen;
 1879  0 _errorChar('(');
 1880    }
 1881  5 init = ForInit();
 1882  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1883  5 case SEMICOLON:
 1884  5 jj_consume_token(SEMICOLON);
 1885  5 break;
 1886  0 default:
 1887  0 jj_la1[63] = jj_gen;
 1888  0 _errorChar(';');
 1889    }
 1890  5 condition = ForCondition();
 1891  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1892  5 case SEMICOLON:
 1893  5 jj_consume_token(SEMICOLON);
 1894  5 break;
 1895  0 default:
 1896  0 jj_la1[64] = jj_gen;
 1897  0 _errorChar(';');
 1898    }
 1899  5 update = UnparenthesizedExpressionList();
 1900  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1901  5 case RPAREN:
 1902  5 jj_consume_token(RPAREN);
 1903  5 break;
 1904  0 default:
 1905  0 jj_la1[65] = jj_gen;
 1906  0 _errorChar(')');
 1907    }
 1908  5 body = Statement();
 1909  5 {if (true) return new ForStatement(_loc(first), init, condition, update, body);}
 1910  0 throw new Error("Missing return statement in function");
 1911    }
 1912   
 1913  5 final public ForInitI ForInit() throws ParseException {
 1914  5 ForInitI init;
 1915  5 if (jj_2_23(2147483647)) {
 1916  1 init = VariableDeclaration();
 1917    } else {
 1918  4 init = UnparenthesizedExpressionList();
 1919    }
 1920  5 {if (true) return init;}
 1921  0 throw new Error("Missing return statement in function");
 1922    }
 1923   
 1924  5 final public ForConditionI ForCondition() throws ParseException {
 1925  5 Expression cond; Token first = getToken(1);
 1926  5 if (jj_2_24(2147483647)) {
 1927  5 cond = Expression();
 1928  5 {if (true) return cond;}
 1929    } else {
 1930  0 {if (true) return new EmptyForCondition(_loc(first));}
 1931    }
 1932  0 throw new Error("Missing return statement in function");
 1933    }
 1934   
 1935  12 final public BreakStatement BreakStatement() throws ParseException {
 1936  12 Word label = null;
 1937  12 Token first = getToken(1);
 1938  12 jj_consume_token(BREAK);
 1939  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1940  1 case IDENTIFIER:
 1941  1 label = Word();
 1942  1 break;
 1943  11 default:
 1944  11 jj_la1[66] = jj_gen;
 1945    ;
 1946    }
 1947  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1948  12 case SEMICOLON:
 1949  12 jj_consume_token(SEMICOLON);
 1950  12 break;
 1951  0 default:
 1952  0 jj_la1[67] = jj_gen;
 1953  0 _errorChar(';');
 1954    }
 1955  12 if (label == null) {
 1956  11 {if (true) return new UnlabeledBreakStatement(_loc(first));}
 1957    }
 1958    else {
 1959  1 {if (true) return new LabeledBreakStatement(_loc(first), label);}
 1960    }
 1961  0 throw new Error("Missing return statement in function");
 1962    }
 1963   
 1964  2 final public ContinueStatement ContinueStatement() throws ParseException {
 1965  2 Word label = null;
 1966  2 Token first = getToken(1);
 1967  2 jj_consume_token(CONTINUE);
 1968  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1969  1 case IDENTIFIER:
 1970  1 label = Word();
 1971  1 break;
 1972  1 default:
 1973  1 jj_la1[68] = jj_gen;
 1974    ;
 1975    }
 1976  2 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1977  2 case SEMICOLON:
 1978  2 jj_consume_token(SEMICOLON);
 1979  2 break;
 1980  0 default:
 1981  0 jj_la1[69] = jj_gen;
 1982  0 _errorChar(';');
 1983    }
 1984  2 if (label == null) {
 1985  1 {if (true) return new UnlabeledContinueStatement(_loc(first));}
 1986    }
 1987    else {
 1988  1 {if (true) return new LabeledContinueStatement(_loc(first), label);}
 1989    }
 1990  0 throw new Error("Missing return statement in function");
 1991    }
 1992   
 1993  144 final public ReturnStatement ReturnStatement() throws ParseException {
 1994  144 Expression value; Token first = getToken(1);
 1995  144 jj_consume_token(RETURN);
 1996  144 if (jj_2_25(2147483647)) {
 1997  143 value = Expression();
 1998  143 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 1999  143 case SEMICOLON:
 2000  143 jj_consume_token(SEMICOLON);
 2001  143 break;
 2002  0 default:
 2003  0 jj_la1[70] = jj_gen;
 2004  0 _errorChar(';');
 2005    }
 2006  143 {if (true) return new ValueReturnStatement(_loc(first), value);}
 2007    } else {
 2008  1 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2009  1 case SEMICOLON:
 2010  1 jj_consume_token(SEMICOLON);
 2011  1 break;
 2012  0 default:
 2013  0 jj_la1[71] = jj_gen;
 2014  0 _errorChar(';');
 2015    }
 2016  1 {if (true) return new VoidReturnStatement(_loc(first));}
 2017    }
 2018  0 throw new Error("Missing return statement in function");
 2019    }
 2020   
 2021  16 final public ThrowStatement ThrowStatement() throws ParseException {
 2022  16 Expression exp;
 2023  16 Token first = getToken(1);
 2024  16 jj_consume_token(THROW);
 2025  16 exp = Expression();
 2026  16 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2027  16 case SEMICOLON:
 2028  16 jj_consume_token(SEMICOLON);
 2029  16 break;
 2030  0 default:
 2031  0 jj_la1[72] = jj_gen;
 2032  0 _errorChar(';');
 2033    }
 2034  16 {if (true) return new ThrowStatement(_loc(first), exp);}
 2035  0 throw new Error("Missing return statement in function");
 2036    }
 2037   
 2038  1 final public SynchronizedStatement SynchronizedStatement() throws ParseException {
 2039  1 Expression exp;
 2040  1 Block block;
 2041  1 Token first = getToken(1);
 2042  1 jj_consume_token(SYNCHRONIZED);
 2043  1 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2044  1 case LPAREN:
 2045  1 jj_consume_token(LPAREN);
 2046  1 break;
 2047  0 default:
 2048  0 jj_la1[73] = jj_gen;
 2049  0 _errorChar('(');
 2050    }
 2051  1 exp = Expression();
 2052  1 jj_consume_token(RPAREN);
 2053  1 block = Block();
 2054  1 {if (true) return new SynchronizedStatement(_loc(first), exp, block);}
 2055  0 throw new Error("Missing return statement in function");
 2056    }
 2057   
 2058  9 final public TryCatchStatement TryStatement() throws ParseException {
 2059  9 Block tryBlock;
 2060  9 LinkedList<CatchBlock> catchList = new LinkedList<CatchBlock>();
 2061  9 FormalParameter catchParam;
 2062  9 Block tempCatchBlock;
 2063  9 Block finallyBlock = null;
 2064  9 Token first = getToken(1);
 2065  9 Token catchToken;
 2066  9 jj_consume_token(TRY);
 2067  9 tryBlock = Block();
 2068  9 label_16:
 2069    while (true) {
 2070  21 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2071  12 case CATCH:
 2072    ;
 2073  12 break;
 2074  9 default:
 2075  9 jj_la1[74] = jj_gen;
 2076  9 break label_16;
 2077    }
 2078  12 catchToken = jj_consume_token(CATCH);
 2079  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2080  12 case LPAREN:
 2081  12 jj_consume_token(LPAREN);
 2082  12 break;
 2083  0 default:
 2084  0 jj_la1[75] = jj_gen;
 2085  0 _errorChar('(');
 2086    }
 2087  12 catchParam = FormalParameter();
 2088  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2089  12 case RPAREN:
 2090  12 jj_consume_token(RPAREN);
 2091  12 break;
 2092  0 default:
 2093  0 jj_la1[76] = jj_gen;
 2094  0 _errorChar(')');
 2095    }
 2096  12 tempCatchBlock = Block();
 2097  12 catchList.add(new CatchBlock(_loc(catchToken), catchParam, tempCatchBlock));
 2098    }
 2099  9 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2100  3 case FINALLY:
 2101  3 jj_consume_token(FINALLY);
 2102  3 finallyBlock = Block();
 2103  3 break;
 2104  6 default:
 2105  6 jj_la1[77] = jj_gen;
 2106    ;
 2107    }
 2108  9 CatchBlock[] catches = catchList.toArray(new CatchBlock[catchList.size()]);
 2109  9 if (finallyBlock == null) {
 2110  6 {if (true) return new NormalTryCatchStatement(_loc(first), tryBlock, catches);}
 2111    }
 2112    else {
 2113  3 {if (true) return new TryCatchFinallyStatement(_loc(first), tryBlock, catches, finallyBlock);}
 2114    }
 2115  0 throw new Error("Missing return statement in function");
 2116    }
 2117   
 2118  12 final public EmptyStatement EmptyStatement() throws ParseException {
 2119  12 Token first = getToken(1);
 2120  12 jj_consume_token(SEMICOLON);
 2121  12 {if (true) return new EmptyStatement(_loc(first));}
 2122  0 throw new Error("Missing return statement in function");
 2123    }
 2124   
 2125    /**
 2126    * Recognizes: Type (identifier [, initializer ] )+.
 2127    */
 2128  218 final public LinkedList<VariableDeclarator> VariableDeclaratorList() throws ParseException {
 2129  218 LinkedList<VariableDeclarator> list = new LinkedList<VariableDeclarator>();
 2130   
 2131  218 Type originalType;
 2132  218 VariableDeclarator current;
 2133  218 try {
 2134  218 originalType = Type();
 2135  218 current = VariableDeclarator(originalType);
 2136  218 list.add(current);
 2137  218 label_17:
 2138    while (true) {
 2139  228 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2140  10 case COMMA:
 2141    ;
 2142  10 break;
 2143  218 default:
 2144  218 jj_la1[78] = jj_gen;
 2145  218 break label_17;
 2146    }
 2147  10 jj_consume_token(COMMA);
 2148  10 current = VariableDeclarator(originalType);
 2149  10 list.add(current);
 2150    }
 2151  218 {if (true) return list;}
 2152    } catch (ParseException pe) {
 2153  0 _throwParseException(pe, "This cannot appear in a variable declarator!");
 2154    }
 2155  0 throw new Error("Missing return statement in function");
 2156    }
 2157   
 2158    /**
 2159    * Recognizes an identifier with any number of possible brackets.
 2160    * Figures out the real type by dealing with the fact
 2161    * that [] can be either after type or after identifier!
 2162    * Very strange syntax indeed.
 2163    * TODO: Make sure FormalParameter (or anything else that can't have
 2164    * initialized variable declarators to check for this).
 2165    *
 2166    * @param givenType The type that was recognized before this identifier
 2167    * @return The pair of type and identifier. The type encompasses
 2168    * all levels of array []s needed (from both after the type and
 2169    * after the identifier).
 2170    */
 2171  326 final public VariableDeclarator VariableDeclarator(Type givenType) throws ParseException {
 2172    // VariableDeclarator decl = new VariableDeclarator();
 2173  326 Type type = givenType;
 2174  326 Word identifier;
 2175  326 VariableInitializerI initializer = null;
 2176  326 identifier = Word();
 2177  326 label_18:
 2178    while (true) {
 2179  337 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2180  11 case LBRACKET:
 2181    ;
 2182  11 break;
 2183  326 default:
 2184  326 jj_la1[79] = jj_gen;
 2185  326 break label_18;
 2186    }
 2187  11 jj_consume_token(LBRACKET);
 2188  11 jj_consume_token(RBRACKET);
 2189  11 type = new ArrayType(_loc(identifier), type.getName() + "[]", type);
 2190    }
 2191  326 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2192  109 case ASSIGN:
 2193  109 jj_consume_token(ASSIGN);
 2194  109 initializer = VariableInitializer();
 2195  109 break;
 2196  217 default:
 2197  217 jj_la1[80] = jj_gen;
 2198    ;
 2199    }
 2200  326 if (initializer == null) {
 2201  217 {if (true) return new UninitializedVariableDeclarator(_loc(identifier),
 2202    type,
 2203    identifier);}
 2204    }
 2205    else {
 2206  109 {if (true) return new InitializedVariableDeclarator(_loc(identifier),
 2207    type,
 2208    identifier,
 2209    initializer);}
 2210    }
 2211  0 throw new Error("Missing return statement in function");
 2212    }
 2213   
 2214  142 final public VariableInitializerI VariableInitializer() throws ParseException {
 2215  142 VariableInitializerI init;
 2216  142 try {
 2217  142 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2218  8 case LBRACE:
 2219  8 init = ArrayInitializer();
 2220  8 {if (true) return init;}
 2221  0 break;
 2222  134 default:
 2223  134 jj_la1[81] = jj_gen;
 2224  134 init = Expression();
 2225  134 {if (true) return init;}
 2226    }
 2227    } catch (ParseException pe) {
 2228  0 _throwParseException(pe, "This is an illegal variable initializer!");
 2229    }
 2230  0 throw new Error("Missing return statement in function");
 2231    }
 2232   
 2233  13 final public ArrayInitializer ArrayInitializer() throws ParseException {
 2234  13 LinkedList<VariableInitializerI> items = new LinkedList<VariableInitializerI>();
 2235  13 VariableInitializerI varInit;
 2236  13 Token first = getToken(1);
 2237  13 try {
 2238  13 jj_consume_token(LBRACE);
 2239  13 varInit = VariableInitializer();
 2240  13 items.add(varInit);
 2241  13 label_19:
 2242    while (true) {
 2243  33 if (jj_2_26(2)) {
 2244    ;
 2245    } else {
 2246  13 break label_19;
 2247    }
 2248  20 jj_consume_token(COMMA);
 2249  20 varInit = VariableInitializer();
 2250  20 items.add(varInit);
 2251    }
 2252  13 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2253  0 case COMMA:
 2254  0 jj_consume_token(COMMA);
 2255  0 break;
 2256  13 default:
 2257  13 jj_la1[82] = jj_gen;
 2258    ;
 2259    }
 2260  13 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2261  13 case RBRACE:
 2262  13 jj_consume_token(RBRACE);
 2263  13 break;
 2264  0 default:
 2265  0 jj_la1[83] = jj_gen;
 2266  0 _errorChar('}');
 2267    }
 2268    /* If the list contains only an EmptyExpression, it's actually an empty list. */
 2269  13 if (items.size() == 1 && items.get(0) instanceof EmptyExpression) {
 2270  0 {if (true) return new ArrayInitializer(_loc(first), new VariableInitializerI[0]);}
 2271    }
 2272    else {
 2273  13 {if (true) return new ArrayInitializer(_loc(first), items.toArray(new VariableInitializerI[items.size()]));}
 2274    }
 2275    } catch (ParseException pe) {
 2276  0 _throwParseException(pe, "This is an illegal array initializer!");
 2277    }
 2278  0 throw new Error("Missing return statement in function");
 2279    }
 2280   
 2281    /*
 2282    * Expression syntax follows.
 2283    */
 2284  0 final public void NonEmptyExpressionLookahead() throws ParseException {
 2285  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2286  0 case ASSIGN:
 2287  0 jj_consume_token(ASSIGN);
 2288  0 break;
 2289  0 case PLUSASSIGN:
 2290  0 jj_consume_token(PLUSASSIGN);
 2291  0 break;
 2292  0 case MINUSASSIGN:
 2293  0 jj_consume_token(MINUSASSIGN);
 2294  0 break;
 2295  0 case STARASSIGN:
 2296  0 jj_consume_token(STARASSIGN);
 2297  0 break;
 2298  0 case SLASHASSIGN:
 2299  0 jj_consume_token(SLASHASSIGN);
 2300  0 break;
 2301  0 case REMASSIGN:
 2302  0 jj_consume_token(REMASSIGN);
 2303  0 break;
 2304  0 case LSHIFTASSIGN:
 2305  0 jj_consume_token(LSHIFTASSIGN);
 2306  0 break;
 2307  0 case RSIGNEDSHIFTASSIGN:
 2308  0 jj_consume_token(RSIGNEDSHIFTASSIGN);
 2309  0 break;
 2310  0 case RUNSIGNEDSHIFTASSIGN:
 2311  0 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
 2312  0 break;
 2313  0 case ANDASSIGN:
 2314  0 jj_consume_token(ANDASSIGN);
 2315  0 break;
 2316  0 case ORASSIGN:
 2317  0 jj_consume_token(ORASSIGN);
 2318  0 break;
 2319  0 case XORASSIGN:
 2320  0 jj_consume_token(XORASSIGN);
 2321  0 break;
 2322  0 case HOOK:
 2323  0 jj_consume_token(HOOK);
 2324  0 break;
 2325  0 case SC_OR:
 2326  0 jj_consume_token(SC_OR);
 2327  0 break;
 2328  0 case SC_AND:
 2329  0 jj_consume_token(SC_AND);
 2330  0 break;
 2331  0 case BIT_OR:
 2332  0 jj_consume_token(BIT_OR);
 2333  0 break;
 2334  0 case XOR:
 2335  0 jj_consume_token(XOR);
 2336  0 break;
 2337  0 case BIT_AND:
 2338  0 jj_consume_token(BIT_AND);
 2339  0 break;
 2340  0 case EQ:
 2341  0 jj_consume_token(EQ);
 2342  0 break;
 2343  0 case NE:
 2344  0 jj_consume_token(NE);
 2345  0 break;
 2346  0 case LT:
 2347  0 jj_consume_token(LT);
 2348  0 break;
 2349  0 case LE:
 2350  0 jj_consume_token(LE);
 2351  0 break;
 2352  0 case GT:
 2353  0 jj_consume_token(GT);
 2354  0 break;
 2355  0 case GE:
 2356  0 jj_consume_token(GE);
 2357  0 break;
 2358  0 case INSTANCEOF:
 2359  0 jj_consume_token(INSTANCEOF);
 2360  0 break;
 2361  0 case LSHIFT:
 2362  0 jj_consume_token(LSHIFT);
 2363  0 break;
 2364  0 case RSSHIFT1:
 2365  0 case RUSHIFT1:
 2366  0 RightShiftOp();
 2367  0 break;
 2368  0 case PLUS:
 2369  0 jj_consume_token(PLUS);
 2370  0 break;
 2371  0 case MINUS:
 2372  0 jj_consume_token(MINUS);
 2373  0 break;
 2374  0 case STAR:
 2375  0 jj_consume_token(STAR);
 2376  0 break;
 2377  0 case SLASH:
 2378  0 jj_consume_token(SLASH);
 2379  0 break;
 2380  0 case REM:
 2381  0 jj_consume_token(REM);
 2382  0 break;
 2383  0 case INCR:
 2384  0 jj_consume_token(INCR);
 2385  0 break;
 2386  0 case DECR:
 2387  0 jj_consume_token(DECR);
 2388  0 break;
 2389  0 case TILDE:
 2390  0 jj_consume_token(TILDE);
 2391  0 break;
 2392  0 case BANG:
 2393  0 jj_consume_token(BANG);
 2394  0 break;
 2395  0 case LPAREN:
 2396  0 jj_consume_token(LPAREN);
 2397  0 break;
 2398  0 case FALSE:
 2399  0 case NULL:
 2400  0 case TRUE:
 2401  0 case DECIMAL_LITERAL:
 2402  0 case HEX_LITERAL:
 2403  0 case OCTAL_LITERAL:
 2404  0 case LONG_DECIMAL_LITERAL:
 2405  0 case LONG_HEX_LITERAL:
 2406  0 case LONG_OCTAL_LITERAL:
 2407  0 case DOUBLE_FLOATING_POINT_LITERAL:
 2408  0 case FLOATING_POINT_LITERAL:
 2409  0 case CHARACTER_LITERAL:
 2410  0 case STRING_LITERAL:
 2411  0 LexicalLiteral();
 2412  0 break;
 2413  0 case NEW:
 2414  0 jj_consume_token(NEW);
 2415  0 break;
 2416  0 case THIS:
 2417  0 jj_consume_token(THIS);
 2418  0 break;
 2419  0 case SUPER:
 2420  0 jj_consume_token(SUPER);
 2421  0 break;
 2422  0 case IDENTIFIER:
 2423  0 jj_consume_token(IDENTIFIER);
 2424  0 break;
 2425  0 case BOOLEAN:
 2426  0 case BYTE:
 2427  0 case CHAR:
 2428  0 case DOUBLE:
 2429  0 case FLOAT:
 2430  0 case INT:
 2431  0 case LONG:
 2432  0 case SHORT:
 2433  0 PrimitiveType();
 2434  0 break;
 2435  0 default:
 2436  0 jj_la1[84] = jj_gen;
 2437  0 jj_consume_token(-1);
 2438  0 throw new ParseException();
 2439    }
 2440    }
 2441   
 2442  712 final public Expression Expression() throws ParseException {
 2443  712 Expression result;
 2444  712 result = AssignmentExpression();
 2445  712 {if (true) return result;}
 2446  0 throw new Error("Missing return statement in function");
 2447    }
 2448   
 2449  0 final public Expression NoOpExpression() throws ParseException {
 2450  0 Expression left; Expression right;
 2451  0 left = AssignmentExpression();
 2452  0 label_20:
 2453    while (true) {
 2454  0 if (jj_2_27(2147483647)) {
 2455    ;
 2456    } else {
 2457  0 break label_20;
 2458    }
 2459  0 AssertNonEmpty();
 2460  0 right = AssignmentExpression();
 2461  0 left = new NoOpExpression(_loc(left), left, right);
 2462    }
 2463  0 {if (true) return left;}
 2464  0 throw new Error("Missing return statement in function");
 2465    }
 2466   
 2467  0 void AssertNonEmpty() throws ParseException {
 2468    }
 2469   
 2470  783 final public Expression AssignmentExpression() throws ParseException {
 2471  783 Expression name; Expression value;
 2472  783 name = ConditionalExpression();
 2473  783 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2474  59 case ASSIGN:
 2475  2 case PLUSASSIGN:
 2476  1 case MINUSASSIGN:
 2477  1 case STARASSIGN:
 2478  1 case SLASHASSIGN:
 2479  1 case ANDASSIGN:
 2480  1 case ORASSIGN:
 2481  1 case XORASSIGN:
 2482  1 case REMASSIGN:
 2483  1 case LSHIFTASSIGN:
 2484  1 case RSIGNEDSHIFTASSIGN:
 2485  1 case RUNSIGNEDSHIFTASSIGN:
 2486  71 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2487  59 case ASSIGN:
 2488  59 jj_consume_token(ASSIGN);
 2489  59 value = AssignmentExpression();
 2490  59 {if (true) return new SimpleAssignmentExpression(_loc(name), name, value);}
 2491  0 break;
 2492  2 case PLUSASSIGN:
 2493  2 jj_consume_token(PLUSASSIGN);
 2494  2 value = AssignmentExpression();
 2495  2 {if (true) return new PlusAssignmentExpression(_loc(name), name, value);}
 2496  0 break;
 2497  1 case MINUSASSIGN:
 2498  1 jj_consume_token(MINUSASSIGN);
 2499  1 value = AssignmentExpression();
 2500  1 {if (true) return new MinusAssignmentExpression(_loc(name), name, value);}
 2501  0 break;
 2502  1 case STARASSIGN:
 2503  1 jj_consume_token(STARASSIGN);
 2504  1 value = AssignmentExpression();
 2505  1 {if (true) return new MultiplyAssignmentExpression(_loc(name), name, value);}
 2506  0 break;
 2507  1 case SLASHASSIGN:
 2508  1 jj_consume_token(SLASHASSIGN);
 2509  1 value = AssignmentExpression();
 2510  1 {if (true) return new DivideAssignmentExpression(_loc(name), name, value);}
 2511  0 break;
 2512  1 case REMASSIGN:
 2513  1 jj_consume_token(REMASSIGN);
 2514  1 value = AssignmentExpression();
 2515  1 {if (true) return new ModAssignmentExpression(_loc(name), name, value);}
 2516  0 break;
 2517  1 case LSHIFTASSIGN:
 2518  1 jj_consume_token(LSHIFTASSIGN);
 2519  1 value = AssignmentExpression();
 2520  1 {if (true) return new LeftShiftAssignmentExpression(_loc(name), name, value);}
 2521  0 break;
 2522  1 case RSIGNEDSHIFTASSIGN:
 2523  1 jj_consume_token(RSIGNEDSHIFTASSIGN);
 2524  1 value = AssignmentExpression();
 2525  1 {if (true) return new RightSignedShiftAssignmentExpression(_loc(name), name, value);}
 2526  0 break;
 2527  1 case RUNSIGNEDSHIFTASSIGN:
 2528  1 jj_consume_token(RUNSIGNEDSHIFTASSIGN);
 2529  1 value = AssignmentExpression();
 2530  1 {if (true) return new RightUnsignedShiftAssignmentExpression(_loc(name), name, value);}
 2531  0 break;
 2532  1 case ANDASSIGN:
 2533  1 jj_consume_token(ANDASSIGN);
 2534  1 value = AssignmentExpression();
 2535  1 {if (true) return new BitwiseAndAssignmentExpression(_loc(name), name, value);}
 2536  0 break;
 2537  1 case ORASSIGN:
 2538  1 jj_consume_token(ORASSIGN);
 2539  1 value = AssignmentExpression();
 2540  1 {if (true) return new BitwiseOrAssignmentExpression(_loc(name), name, value);}
 2541  0 break;
 2542  1 case XORASSIGN:
 2543  1 jj_consume_token(XORASSIGN);
 2544  1 value = AssignmentExpression();
 2545  1 {if (true) return new BitwiseXorAssignmentExpression(_loc(name), name, value);}
 2546  0 break;
 2547  0 default:
 2548  0 jj_la1[85] = jj_gen;
 2549  0 jj_consume_token(-1);
 2550  0 throw new ParseException();
 2551    }
 2552  0 break;
 2553  712 default:
 2554  712 jj_la1[86] = jj_gen;
 2555    ;
 2556    }
 2557  712 {if (true) return name;}
 2558  0 throw new Error("Missing return statement in function");
 2559    }
 2560   
 2561  786 final public Expression ConditionalExpression() throws ParseException {
 2562  786 Expression condition; Expression forTrue; Expression forFalse;
 2563  786 condition = OrExpression();
 2564  786 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2565  3 case HOOK:
 2566  3 jj_consume_token(HOOK);
 2567  3 forTrue = Expression();
 2568  3 jj_consume_token(COLON);
 2569  3 forFalse = ConditionalExpression();
 2570  3 {if (true) return new ConditionalExpression(_loc(condition), condition, forTrue, forFalse);}
 2571  0 break;
 2572  783 default:
 2573  783 jj_la1[87] = jj_gen;
 2574    ;
 2575    }
 2576  783 {if (true) return condition;}
 2577  0 throw new Error("Missing return statement in function");
 2578    }
 2579   
 2580  786 final public Expression OrExpression() throws ParseException {
 2581  786 Expression left; Expression right;
 2582  786 left = AndExpression();
 2583  786 label_21:
 2584    while (true) {
 2585  787 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2586  1 case SC_OR:
 2587    ;
 2588  1 break;
 2589  786 default:
 2590  786 jj_la1[88] = jj_gen;
 2591  786 break label_21;
 2592    }
 2593  1 jj_consume_token(SC_OR);
 2594  1 right = AndExpression();
 2595  1 left = new OrExpression(_loc(left), left, right);
 2596    }
 2597  786 {if (true) return left;}
 2598  0 throw new Error("Missing return statement in function");
 2599    }
 2600   
 2601  787 final public Expression AndExpression() throws ParseException {
 2602  787 Expression left; Expression right;
 2603  787 left = BitwiseOrExpression();
 2604  787 label_22:
 2605    while (true) {
 2606  789 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2607  2 case SC_AND:
 2608    ;
 2609  2 break;
 2610  787 default:
 2611  787 jj_la1[89] = jj_gen;
 2612  787 break label_22;
 2613    }
 2614  2 jj_consume_token(SC_AND);
 2615  2 right = BitwiseOrExpression();
 2616  2 left = new AndExpression(_loc(left), left, right);
 2617    }
 2618  787 {if (true) return left;}
 2619  0 throw new Error("Missing return statement in function");
 2620    }
 2621   
 2622  789 final public Expression BitwiseOrExpression() throws ParseException {
 2623  789 Expression left; Expression right;
 2624  789 left = BitwiseXorExpression();
 2625  789 label_23:
 2626    while (true) {
 2627  791 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2628  2 case BIT_OR:
 2629    ;
 2630  2 break;
 2631  789 default:
 2632  789 jj_la1[90] = jj_gen;
 2633  789 break label_23;
 2634    }
 2635  2 jj_consume_token(BIT_OR);
 2636  2 right = BitwiseXorExpression();
 2637  2 left = new BitwiseOrExpression(_loc(left), left, right);
 2638    }
 2639  789 {if (true) return left;}
 2640  0 throw new Error("Missing return statement in function");
 2641    }
 2642   
 2643  791 final public Expression BitwiseXorExpression() throws ParseException {
 2644  791 Expression left; Expression right;
 2645  791 left = BitwiseAndExpression();
 2646  791 label_24:
 2647    while (true) {
 2648  792 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2649  1 case XOR:
 2650    ;
 2651  1 break;
 2652  791 default:
 2653  791 jj_la1[91] = jj_gen;
 2654  791 break label_24;
 2655    }
 2656  1 jj_consume_token(XOR);
 2657  1 right = BitwiseAndExpression();
 2658  1 left = new BitwiseXorExpression(_loc(left), left, right);
 2659    }
 2660  791 {if (true) return left;}
 2661  0 throw new Error("Missing return statement in function");
 2662    }
 2663   
 2664  792 final public Expression BitwiseAndExpression() throws ParseException {
 2665  792 Expression left; Expression right;
 2666  792 left = EqualityExpression();
 2667  792 label_25:
 2668    while (true) {
 2669  794 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2670  2 case BIT_AND:
 2671    ;
 2672  2 break;
 2673  792 default:
 2674  792 jj_la1[92] = jj_gen;
 2675  792 break label_25;
 2676    }
 2677  2 jj_consume_token(BIT_AND);
 2678  2 right = EqualityExpression();
 2679  2 left = new BitwiseAndExpression(_loc(left), left, right);
 2680    }
 2681  792 {if (true) return left;}
 2682  0 throw new Error("Missing return statement in function");
 2683    }
 2684   
 2685  794 final public Expression EqualityExpression() throws ParseException {
 2686  794 Expression left; Expression right;
 2687  794 left = ComparisonExpression();
 2688  794 label_26:
 2689    while (true) {
 2690  806 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2691  9 case EQ:
 2692  3 case NE:
 2693    ;
 2694  12 break;
 2695  794 default:
 2696  794 jj_la1[93] = jj_gen;
 2697  794 break label_26;
 2698    }
 2699  12 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2700  9 case EQ:
 2701  9 jj_consume_token(EQ);
 2702  9 right = ComparisonExpression();
 2703  9 left = new EqualsExpression(_loc(left), left, right);
 2704  9 break;
 2705  3 case NE:
 2706  3 jj_consume_token(NE);
 2707  3 right = ComparisonExpression();
 2708  3 left = new NotEqualExpression(_loc(left), left, right);
 2709  3 break;
 2710  0 default:
 2711  0 jj_la1[94] = jj_gen;
 2712  0 jj_consume_token(-1);
 2713  0 throw new ParseException();
 2714    }
 2715    }
 2716  794 {if (true) return left;}
 2717  0 throw new Error("Missing return statement in function");
 2718    }
 2719   
 2720  806 final public Expression ComparisonExpression() throws ParseException {
 2721  806 Expression left; Expression right; Type type;
 2722  806 left = ShiftBinaryExpression();
 2723  806 label_27:
 2724    while (true) {
 2725  834 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2726  1 case INSTANCEOF:
 2727  3 case GT:
 2728  21 case LT:
 2729  2 case LE:
 2730  1 case GE:
 2731    ;
 2732  28 break;
 2733  806 default:
 2734  806 jj_la1[95] = jj_gen;
 2735  806 break label_27;
 2736    }
 2737  28 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2738  21 case LT:
 2739  21 jj_consume_token(LT);
 2740  21 right = ShiftBinaryExpression();
 2741  21 left = new LessThanExpression(_loc(left), left, right);
 2742  21 break;
 2743  2 case LE:
 2744  2 jj_consume_token(LE);
 2745  2 right = ShiftBinaryExpression();
 2746  2 left = new LessThanOrEqualExpression(_loc(left), left, right);
 2747  2 break;
 2748  3 case GT:
 2749  3 jj_consume_token(GT);
 2750  3 right = ShiftBinaryExpression();
 2751  3 left = new GreaterThanExpression(_loc(left), left, right);
 2752  3 break;
 2753  1 case GE:
 2754  1 jj_consume_token(GE);
 2755  1 right = ShiftBinaryExpression();
 2756  1 left = new GreaterThanOrEqualExpression(_loc(left), left, right);
 2757  1 break;
 2758  1 case INSTANCEOF:
 2759  1 jj_consume_token(INSTANCEOF);
 2760  1 type = Type();
 2761  1 left = new InstanceofExpression(_loc(left), left, type);
 2762  1 break;
 2763  0 default:
 2764  0 jj_la1[96] = jj_gen;
 2765  0 jj_consume_token(-1);
 2766  0 throw new ParseException();
 2767    }
 2768    }
 2769  806 {if (true) return left;}
 2770  0 throw new Error("Missing return statement in function");
 2771    }
 2772   
 2773  833 final public Expression ShiftBinaryExpression() throws ParseException {
 2774  833 Expression left; Expression right; Token rshift;
 2775  833 left = AdditiveExpression();
 2776  833 label_28:
 2777    while (true) {
 2778  836 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2779  2 case LSHIFT:
 2780  1 case RSSHIFT1:
 2781  0 case RUSHIFT1:
 2782    ;
 2783  3 break;
 2784  833 default:
 2785  833 jj_la1[97] = jj_gen;
 2786  833 break label_28;
 2787    }
 2788  3 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2789  2 case LSHIFT:
 2790  2 jj_consume_token(LSHIFT);
 2791  2 right = AdditiveExpression();
 2792  2 left = new LeftShiftExpression(_loc(left), left, right);
 2793  2 break;
 2794  1 case RSSHIFT1:
 2795  0 case RUSHIFT1:
 2796  1 rshift = RightShiftOp();
 2797  1 right = AdditiveExpression();
 2798  1 if (rshift.kind == RSSHIFT1) { left = new RightSignedShiftExpression(_loc(left), left, right); }
 2799  0 else { left = new RightUnsignedShiftExpression(_loc(left), left, right); }
 2800  1 break;
 2801  0 default:
 2802  0 jj_la1[98] = jj_gen;
 2803  0 jj_consume_token(-1);
 2804  0 throw new ParseException();
 2805    }
 2806    }
 2807  833 {if (true) return left;}
 2808  0 throw new Error("Missing return statement in function");
 2809    }
 2810   
 2811  836 final public Expression AdditiveExpression() throws ParseException {
 2812  836 Expression left; Expression right;
 2813  836 left = MultiplicativeExpression();
 2814  836 label_29:
 2815    while (true) {
 2816  873 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2817  36 case PLUS:
 2818  1 case MINUS:
 2819    ;
 2820  37 break;
 2821  836 default:
 2822  836 jj_la1[99] = jj_gen;
 2823  836 break label_29;
 2824    }
 2825  37 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2826  36 case PLUS:
 2827  36 jj_consume_token(PLUS);
 2828  36 right = MultiplicativeExpression();
 2829  36 left = new PlusExpression(_loc(left), left, right);
 2830  36 break;
 2831  1 case MINUS:
 2832  1 jj_consume_token(MINUS);
 2833  1 right = MultiplicativeExpression();
 2834  1 left = new MinusExpression(_loc(left), left, right);
 2835  1 break;
 2836  0 default:
 2837  0 jj_la1[100] = jj_gen;
 2838  0 jj_consume_token(-1);
 2839  0 throw new ParseException();
 2840    }
 2841    }
 2842  836 {if (true) return left;}
 2843  0 throw new Error("Missing return statement in function");
 2844    }
 2845   
 2846  873 final public Expression MultiplicativeExpression() throws ParseException {
 2847  873 Expression left; Expression right;
 2848  873 left = UnaryExpression();
 2849  873 label_30:
 2850    while (true) {
 2851  884 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2852  8 case STAR:
 2853  2 case SLASH:
 2854  1 case REM:
 2855    ;
 2856  11 break;
 2857  873 default:
 2858  873 jj_la1[101] = jj_gen;
 2859  873 break label_30;
 2860    }
 2861  11 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2862  8 case STAR:
 2863  8 jj_consume_token(STAR);
 2864  8 right = UnaryExpression();
 2865  8 left = new MultiplyExpression(_loc(left), left, right);
 2866  8 break;
 2867  2 case SLASH:
 2868  2 jj_consume_token(SLASH);
 2869  2 right = UnaryExpression();
 2870  2 left = new DivideExpression(_loc(left), left, right);
 2871  2 break;
 2872  1 case REM:
 2873  1 jj_consume_token(REM);
 2874  1 right = UnaryExpression();
 2875  1 left = new ModExpression(_loc(left), left, right);
 2876  1 break;
 2877  0 default:
 2878  0 jj_la1[102] = jj_gen;
 2879  0 jj_consume_token(-1);
 2880  0 throw new ParseException();
 2881    }
 2882    }
 2883  873 {if (true) return left;}
 2884  0 throw new Error("Missing return statement in function");
 2885    }
 2886   
 2887  900 final public Expression UnaryExpression() throws ParseException {
 2888  900 Expression value; Token first = getToken(1);
 2889  900 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2890  0 case INCR:
 2891  0 jj_consume_token(INCR);
 2892  0 value = UnaryExpression();
 2893  0 {if (true) return new PositivePrefixIncrementExpression(_loc(first), value);}
 2894  0 break;
 2895  0 case DECR:
 2896  0 jj_consume_token(DECR);
 2897  0 value = UnaryExpression();
 2898  0 {if (true) return new NegativePrefixIncrementExpression(_loc(first), value);}
 2899  0 break;
 2900  4 case PLUS:
 2901  4 jj_consume_token(PLUS);
 2902  4 value = UnaryExpression();
 2903  4 {if (true) return new PositiveExpression(_loc(first), value);}
 2904  0 break;
 2905  3 case MINUS:
 2906  3 jj_consume_token(MINUS);
 2907  3 value = UnaryExpression();
 2908  3 {if (true) return new NegativeExpression(_loc(first), value);}
 2909  0 break;
 2910  893 default:
 2911  893 jj_la1[103] = jj_gen;
 2912  893 value = UnaryExpressionNotPlusMinus();
 2913  893 {if (true) return value;}
 2914    }
 2915  0 throw new Error("Missing return statement in function");
 2916    }
 2917   
 2918  898 final public Expression UnaryExpressionNotPlusMinus() throws ParseException {
 2919  898 Expression value; Token first = getToken(1);
 2920  898 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2921  2 case TILDE:
 2922  2 jj_consume_token(TILDE);
 2923  2 value = UnaryExpression();
 2924  2 {if (true) return new BitwiseNotExpression(_loc(first), value);}
 2925  0 break;
 2926  1 case BANG:
 2927  1 jj_consume_token(BANG);
 2928  1 value = UnaryExpression();
 2929  1 {if (true) return new NotExpression(_loc(first), value);}
 2930  0 break;
 2931  895 default:
 2932  895 jj_la1[104] = jj_gen;
 2933  895 if (jj_2_28(2147483647)) {
 2934  11 value = CastExpression();
 2935  11 {if (true) return value;}
 2936    } else {
 2937  884 value = PostfixIncrementExpression();
 2938  884 {if (true) return value;}
 2939    }
 2940    }
 2941  0 throw new Error("Missing return statement in function");
 2942    }
 2943   
 2944    /* "CastLookahead()" is lifted directly from the Java1.5.jj grammar. */
 2945    // This production is to determine lookahead only. The LOOKAHEAD specifications
 2946    // below are not used, but they are there just to indicate that we know about
 2947    // this.
 2948  0 final public void CastLookahead() throws ParseException {
 2949  0 if (jj_2_29(2)) {
 2950  0 jj_consume_token(LPAREN);
 2951  0 PrimitiveType();
 2952  0 } else if (jj_2_30(2147483647)) {
 2953  0 jj_consume_token(LPAREN);
 2954  0 Type();
 2955  0 jj_consume_token(LBRACKET);
 2956  0 jj_consume_token(RBRACKET);
 2957    } else {
 2958  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2959  0 case LPAREN:
 2960  0 jj_consume_token(LPAREN);
 2961  0 Type();
 2962  0 jj_consume_token(RPAREN);
 2963  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 2964  0 case TILDE:
 2965  0 jj_consume_token(TILDE);
 2966  0 break;
 2967  0 case BANG:
 2968  0 jj_consume_token(BANG);
 2969  0 break;
 2970  0 case LPAREN:
 2971  0 jj_consume_token(LPAREN);
 2972  0 break;
 2973  0 case IDENTIFIER:
 2974  0 jj_consume_token(IDENTIFIER);
 2975  0 break;
 2976  0 case THIS:
 2977  0 jj_consume_token(THIS);
 2978  0 break;
 2979  0 case SUPER:
 2980  0 jj_consume_token(SUPER);
 2981  0 break;
 2982  0 case NEW:
 2983  0 jj_consume_token(NEW);
 2984  0 break;
 2985  0 case FALSE:
 2986  0 case NULL:
 2987  0 case TRUE:
 2988  0 case DECIMAL_LITERAL:
 2989  0 case HEX_LITERAL:
 2990  0 case OCTAL_LITERAL:
 2991  0 case LONG_DECIMAL_LITERAL:
 2992  0 case LONG_HEX_LITERAL:
 2993  0 case LONG_OCTAL_LITERAL:
 2994  0 case DOUBLE_FLOATING_POINT_LITERAL:
 2995  0 case FLOATING_POINT_LITERAL:
 2996  0 case CHARACTER_LITERAL:
 2997  0 case STRING_LITERAL:
 2998  0 LexicalLiteral();
 2999  0 break;
 3000  0 default:
 3001  0 jj_la1[105] = jj_gen;
 3002  0 jj_consume_token(-1);
 3003  0 throw new ParseException();
 3004    }
 3005  0 break;
 3006  0 default:
 3007  0 jj_la1[106] = jj_gen;
 3008  0 jj_consume_token(-1);
 3009  0 throw new ParseException();
 3010    }
 3011    }
 3012    }
 3013   
 3014  11 final public Expression CastExpression() throws ParseException {
 3015  11 Type type; Expression value; Token first = getToken(1);
 3016  11 jj_consume_token(LPAREN);
 3017  11 if (jj_2_31(2147483647)) {
 3018  6 type = PrimitiveType();
 3019  6 jj_consume_token(RPAREN);
 3020  6 value = UnaryExpression();
 3021    } else {
 3022  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3023  0 case BOOLEAN:
 3024  0 case BYTE:
 3025  0 case CHAR:
 3026  0 case DOUBLE:
 3027  0 case FLOAT:
 3028  0 case INT:
 3029  0 case LONG:
 3030  0 case SHORT:
 3031  5 case IDENTIFIER:
 3032  5 type = Type();
 3033  5 jj_consume_token(RPAREN);
 3034  5 value = UnaryExpressionNotPlusMinus();
 3035  5 break;
 3036  0 default:
 3037  0 jj_la1[107] = jj_gen;
 3038  0 jj_consume_token(-1);
 3039  0 throw new ParseException();
 3040    }
 3041    }
 3042  11 {if (true) return new CastExpression(_loc(first), type, value);}
 3043  0 throw new Error("Missing return statement in function");
 3044    }
 3045   
 3046  884 final public Expression PostfixIncrementExpression() throws ParseException {
 3047  884 Expression value;
 3048  884 value = Primary();
 3049  884 label_31:
 3050    while (true) {
 3051  892 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3052  6 case INCR:
 3053  2 case DECR:
 3054    ;
 3055  8 break;
 3056  884 default:
 3057  884 jj_la1[108] = jj_gen;
 3058  884 break label_31;
 3059    }
 3060  8 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3061  6 case INCR:
 3062  6 jj_consume_token(INCR);
 3063  6 value = new PositivePostfixIncrementExpression(_loc(value), value);
 3064  6 break;
 3065  2 case DECR:
 3066  2 jj_consume_token(DECR);
 3067  2 value = new NegativePostfixIncrementExpression(_loc(value), value);
 3068  2 break;
 3069  0 default:
 3070  0 jj_la1[109] = jj_gen;
 3071  0 jj_consume_token(-1);
 3072  0 throw new ParseException();
 3073    }
 3074    }
 3075  884 {if (true) return value;}
 3076  0 throw new Error("Missing return statement in function");
 3077    }
 3078   
 3079  884 final public Primary Primary() throws ParseException {
 3080  884 Primary value;
 3081  884 value = PrimaryPrefix();
 3082  884 label_32:
 3083    while (true) {
 3084  1012 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3085  9 case LBRACKET:
 3086  119 case DOT:
 3087    ;
 3088  128 break;
 3089  884 default:
 3090  884 jj_la1[110] = jj_gen;
 3091  884 break label_32;
 3092    }
 3093  128 value = PrimarySuffix(value);
 3094    }
 3095  884 {if (true) return value;}
 3096  0 throw new Error("Missing return statement in function");
 3097    }
 3098   
 3099  884 final public Primary PrimaryPrefix() throws ParseException {
 3100  884 Primary value; Expression nestedValue; ReturnTypeI type; Word name; ParenthesizedExpressionList args; Token first = getToken(1);
 3101  884 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3102  0 case BOOLEAN:
 3103  0 case BYTE:
 3104  0 case CHAR:
 3105  0 case DOUBLE:
 3106  9 case FALSE:
 3107  0 case FLOAT:
 3108  0 case INT:
 3109  0 case LONG:
 3110  91 case NEW:
 3111  6 case NULL:
 3112  0 case SHORT:
 3113  5 case SUPER:
 3114  5 case THIS:
 3115  14 case TRUE:
 3116  1 case VOID:
 3117  205 case DECIMAL_LITERAL:
 3118  0 case HEX_LITERAL:
 3119  23 case OCTAL_LITERAL:
 3120  0 case LONG_DECIMAL_LITERAL:
 3121  0 case LONG_HEX_LITERAL:
 3122  0 case LONG_OCTAL_LITERAL:
 3123  7 case DOUBLE_FLOATING_POINT_LITERAL:
 3124  0 case FLOATING_POINT_LITERAL:
 3125  7 case CHARACTER_LITERAL:
 3126  66 case STRING_LITERAL:
 3127  359 case IDENTIFIER:
 3128  19 case LPAREN:
 3129  817 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3130  9 case FALSE:
 3131  6 case NULL:
 3132  14 case TRUE:
 3133  205 case DECIMAL_LITERAL:
 3134  0 case HEX_LITERAL:
 3135  23 case OCTAL_LITERAL:
 3136  0 case LONG_DECIMAL_LITERAL:
 3137  0 case LONG_HEX_LITERAL:
 3138  0 case LONG_OCTAL_LITERAL:
 3139  7 case DOUBLE_FLOATING_POINT_LITERAL:
 3140  0 case FLOATING_POINT_LITERAL:
 3141  7 case CHARACTER_LITERAL:
 3142  66 case STRING_LITERAL:
 3143  337 value = LexicalLiteral();
 3144  337 {if (true) return value;}
 3145  0 break;
 3146  91 case NEW:
 3147  91 value = SimpleInstantiation();
 3148  91 {if (true) return value;}
 3149  0 break;
 3150  19 case LPAREN:
 3151  19 jj_consume_token(LPAREN);
 3152  19 nestedValue = Expression();
 3153  19 jj_consume_token(RPAREN);
 3154  19 {if (true) return new Parenthesized(_loc(first), nestedValue);}
 3155  0 break;
 3156  370 default:
 3157  370 jj_la1[113] = jj_gen;
 3158  370 if (jj_2_34(2147483647)) {
 3159  1 type = ReturnType();
 3160  1 jj_consume_token(DOT);
 3161  1 jj_consume_token(CLASS);
 3162  1 {if (true) return new ClassLiteral(_loc(type), type);}
 3163    } else {
 3164  369 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3165  5 case THIS:
 3166  5 jj_consume_token(THIS);
 3167  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3168  0 case LPAREN:
 3169  0 args = ParenthesizedExpressionList();
 3170  0 {if (true) return new SimpleThisConstructorInvocation(_loc(first), args);}
 3171  0 break;
 3172  5 default:
 3173  5 jj_la1[111] = jj_gen;
 3174    ;
 3175    }
 3176  5 {if (true) return new SimpleThisReference(_loc(first));}
 3177  0 break;
 3178  5 case SUPER:
 3179  5 jj_consume_token(SUPER);
 3180  5 if (jj_2_32(2147483647)) {
 3181  3 {if (true) return new SimpleSuperReference(_loc(first));}
 3182  2 } else if (jj_2_33(2147483647)) {
 3183  2 args = ParenthesizedExpressionList();
 3184  2 {if (true) return new SimpleSuperConstructorInvocation(_loc(first), args);}
 3185    } else {
 3186  0 _errorChar('.');
 3187    }
 3188  0 break;
 3189  359 case IDENTIFIER:
 3190  359 name = Word();
 3191  359 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3192  18 case LPAREN:
 3193  18 args = ParenthesizedExpressionList();
 3194  18 {if (true) return new SimpleMethodInvocation(_loc(name), name, args);}
 3195  0 break;
 3196  341 default:
 3197  341 jj_la1[112] = jj_gen;
 3198    ;
 3199    }
 3200  341 {if (true) return new SimpleNameReference(_loc(name), name);}
 3201  0 break;
 3202  0 default:
 3203  0 jj_la1[114] = jj_gen;
 3204  0 jj_consume_token(-1);
 3205  0 throw new ParseException();
 3206    }
 3207    }
 3208    }
 3209  0 break;
 3210  67 default:
 3211  67 jj_la1[115] = jj_gen;
 3212    ;
 3213    }
 3214  67 {if (true) return new EmptyExpression(_loc(first));}
 3215  0 throw new Error("Missing return statement in function");
 3216    }
 3217   
 3218  128 final public Primary PrimarySuffix(Primary prefix) throws ParseException {
 3219  128 Primary value; Word name; ParenthesizedExpressionList args; Expression index;
 3220  128 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3221  9 case LBRACKET:
 3222  9 jj_consume_token(LBRACKET);
 3223  9 index = Expression();
 3224  9 jj_consume_token(RBRACKET);
 3225  9 {if (true) return new ArrayAccess(_loc(prefix), prefix, index);}
 3226  0 break;
 3227  119 case DOT:
 3228  119 jj_consume_token(DOT);
 3229  119 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3230  3 case NEW:
 3231  3 value = ComplexInstantiation(prefix);
 3232  3 {if (true) return value;}
 3233  0 break;
 3234  0 case THIS:
 3235  0 jj_consume_token(THIS);
 3236  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3237  0 case LPAREN:
 3238  0 args = ParenthesizedExpressionList();
 3239  0 {if (true) return new ComplexThisConstructorInvocation(_loc(prefix), prefix, args);}
 3240  0 break;
 3241  0 default:
 3242  0 jj_la1[116] = jj_gen;
 3243    ;
 3244    }
 3245  0 {if (true) return new ComplexThisReference(_loc(prefix), prefix);}
 3246  0 break;
 3247  1 case SUPER:
 3248  1 jj_consume_token(SUPER);
 3249  1 if (jj_2_35(2147483647)) {
 3250  0 {if (true) return new ComplexSuperReference(_loc(prefix), prefix);}
 3251  1 } else if (jj_2_36(2147483647)) {
 3252  1 args = ParenthesizedExpressionList();
 3253  1 {if (true) return new ComplexSuperConstructorInvocation(_loc(prefix), prefix, args);}
 3254    } else {
 3255  0 _errorChar('.');
 3256    }
 3257  0 break;
 3258  115 case IDENTIFIER:
 3259  115 name = Word();
 3260  115 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3261  69 case LPAREN:
 3262  69 args = ParenthesizedExpressionList();
 3263  69 {if (true) return new ComplexMethodInvocation(_loc(prefix), prefix, name, args);}
 3264  0 break;
 3265  46 default:
 3266  46 jj_la1[117] = jj_gen;
 3267    ;
 3268    }
 3269  46 {if (true) return new ComplexNameReference(_loc(prefix), prefix, name);}
 3270  0 break;
 3271  0 default:
 3272  0 jj_la1[118] = jj_gen;
 3273  0 jj_consume_token(-1);
 3274  0 throw new ParseException();
 3275    }
 3276  0 break;
 3277  0 default:
 3278  0 jj_la1[119] = jj_gen;
 3279  0 jj_consume_token(-1);
 3280  0 throw new ParseException();
 3281    }
 3282  0 throw new Error("Missing return statement in function");
 3283    }
 3284   
 3285  337 final public LexicalLiteral LexicalLiteral() throws ParseException {
 3286  337 Token t; LexicalLiteral literal; Token first = getToken(1);
 3287  337 try {
 3288  337 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3289  205 case DECIMAL_LITERAL:
 3290  0 case HEX_LITERAL:
 3291  23 case OCTAL_LITERAL:
 3292  0 case LONG_DECIMAL_LITERAL:
 3293  0 case LONG_HEX_LITERAL:
 3294  0 case LONG_OCTAL_LITERAL:
 3295  228 literal = IntegerLiteral();
 3296  228 {if (true) return literal;}
 3297  0 break;
 3298  7 case DOUBLE_FLOATING_POINT_LITERAL:
 3299  0 case FLOATING_POINT_LITERAL:
 3300  7 literal = FloatLiteral();
 3301  7 {if (true) return literal;}
 3302  0 break;
 3303  7 case CHARACTER_LITERAL:
 3304  7 t = jj_consume_token(CHARACTER_LITERAL);
 3305  7 {if (true) return new CharLiteral(_loc(t), CharConverter.unescapeChar(_stripQuotes(t.image)));}
 3306  0 break;
 3307  66 case STRING_LITERAL:
 3308  66 t = jj_consume_token(STRING_LITERAL);
 3309  66 {if (true) return new StringLiteral(_loc(t), CharConverter.unescapeString(_stripQuotes(t.image)));}
 3310  0 break;
 3311  9 case FALSE:
 3312  14 case TRUE:
 3313  23 literal = BooleanLiteral();
 3314  23 {if (true) return literal;}
 3315  0 break;
 3316  6 case NULL:
 3317  6 jj_consume_token(NULL);
 3318  6 {if (true) return new NullLiteral(_loc(first));}
 3319  0 break;
 3320  0 default:
 3321  0 jj_la1[120] = jj_gen;
 3322  0 jj_consume_token(-1);
 3323  0 throw new ParseException();
 3324    }
 3325    } catch (ParseException pe) {
 3326  0 _throwParseException(pe, "This is an illegal literal!");
 3327    }
 3328  0 throw new Error("Missing return statement in function");
 3329    }
 3330   
 3331    /**
 3332    * Differentiates between array allocations and anonymous inner class definitions
 3333    */
 3334  91 final public Instantiation SimpleInstantiation() throws ParseException {
 3335  91 PrimitiveType tempPrimitive;
 3336  91 ReferenceType tempReference;
 3337  91 Instantiation temp;
 3338  91 BracedBody body = null;
 3339  91 ParenthesizedExpressionList arguments;
 3340  91 Token first = getToken(1);
 3341  91 try {
 3342  91 if (jj_2_37(2)) {
 3343  16 jj_consume_token(NEW);
 3344  16 tempPrimitive = PrimitiveType();
 3345  16 temp = SimpleArrayInstantiationTail(tempPrimitive);
 3346    } else {
 3347  75 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3348  75 case NEW:
 3349  75 jj_consume_token(NEW);
 3350  75 tempReference = ClassOrInterfaceType();
 3351  75 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3352  4 case LBRACKET:
 3353  4 temp = SimpleArrayInstantiationTail(tempReference);
 3354  4 break;
 3355  71 case LPAREN:
 3356  71 arguments = ParenthesizedExpressionList();
 3357  71 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3358  6 case LBRACE:
 3359  6 body = BracedBody();
 3360  6 break;
 3361  65 default:
 3362  65 jj_la1[121] = jj_gen;
 3363    ;
 3364    }
 3365  71 if (body == null) {
 3366  65 temp = new SimpleNamedClassInstantiation(_loc(first),
 3367    tempReference,
 3368    arguments);
 3369    }
 3370    else {
 3371  6 temp = new SimpleAnonymousClassInstantiation(_loc(first),
 3372    tempReference,
 3373    arguments,
 3374    body);
 3375    }
 3376  71 break;
 3377  0 default:
 3378  0 jj_la1[122] = jj_gen;
 3379  0 jj_consume_token(-1);
 3380  0 throw new ParseException();
 3381    }
 3382  75 break;
 3383  0 default:
 3384  0 jj_la1[123] = jj_gen;
 3385  0 jj_consume_token(-1);
 3386  0 throw new ParseException();
 3387    }
 3388    }
 3389  91 {if (true) return temp;}
 3390    } catch (ParseException pe) {
 3391  0 _throwParseException(pe, "This cannot appear in an allocation expression!");
 3392    }
 3393  0 throw new Error("Missing return statement in function");
 3394    }
 3395   
 3396    // an array allocation either has at least one dimension expression
 3397    // or it has an initializer. can't have both.
 3398  20 final public ArrayInstantiation SimpleArrayInstantiationTail(Type elementType) throws ParseException {
 3399  20 LinkedList<Expression> dimensions = new LinkedList<Expression>();
 3400  20 ArrayType arrayType = null;
 3401  20 Expression exp;
 3402  20 ArrayInitializer initializer;
 3403  20 Token first = getToken(1);
 3404  20 if (jj_2_40(2147483647)) {
 3405  15 label_33:
 3406    while (true) {
 3407  19 jj_consume_token(LBRACKET);
 3408  19 exp = Expression();
 3409  19 jj_consume_token(RBRACKET);
 3410  19 if (arrayType == null) {
 3411  15 arrayType = new ArrayType(_loc(elementType), elementType.getName() + "[]", elementType);
 3412    }
 3413    else {
 3414  4 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3415    }
 3416   
 3417  19 dimensions.add(exp);
 3418  19 if (jj_2_38(2147483647)) {
 3419    ;
 3420    } else {
 3421  15 break label_33;
 3422    }
 3423    }
 3424  15 label_34:
 3425    while (true) {
 3426  18 if (jj_2_39(2)) {
 3427    ;
 3428    } else {
 3429  15 break label_34;
 3430    }
 3431  3 jj_consume_token(LBRACKET);
 3432  3 jj_consume_token(RBRACKET);
 3433  3 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3434    }
 3435  15 {if (true) return new SimpleUninitializedArrayInstantiation(_loc(elementType),
 3436    arrayType,
 3437    new DimensionExpressionList(_loc(first),
 3438    dimensions.toArray(new Expression[dimensions.size()])));}
 3439    } else {
 3440  5 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3441  5 case LBRACKET:
 3442  5 label_35:
 3443    while (true) {
 3444  7 jj_consume_token(LBRACKET);
 3445  7 jj_consume_token(RBRACKET);
 3446  7 if (arrayType == null) {
 3447  5 arrayType = new ArrayType(_loc(elementType), elementType.getName() + "[]", elementType);
 3448    }
 3449    else {
 3450  2 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3451    }
 3452  7 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3453  2 case LBRACKET:
 3454    ;
 3455  2 break;
 3456  5 default:
 3457  5 jj_la1[124] = jj_gen;
 3458  5 break label_35;
 3459    }
 3460    }
 3461  5 initializer = ArrayInitializer();
 3462  5 {if (true) return new SimpleInitializedArrayInstantiation(_loc(elementType),
 3463    arrayType,
 3464    initializer);}
 3465  0 break;
 3466  0 default:
 3467  0 jj_la1[125] = jj_gen;
 3468  0 jj_consume_token(-1);
 3469  0 throw new ParseException();
 3470    }
 3471    }
 3472  0 throw new Error("Missing return statement in function");
 3473    }
 3474   
 3475    /** Differentiates between array allocations and anonymous inner class definitions
 3476    * @param prefix The Primary before the new. (e.g. a.new Foo())
 3477    */
 3478  3 final public Instantiation ComplexInstantiation(Primary prefix) throws ParseException {
 3479  3 PrimitiveType tempPrimitive;
 3480  3 ReferenceType tempReference;
 3481  3 Instantiation temp;
 3482  3 BracedBody body = null;
 3483  3 ParenthesizedExpressionList arguments;
 3484  3 Token first = getToken(1);
 3485  3 try {
 3486  3 if (jj_2_41(2)) {
 3487  0 jj_consume_token(NEW);
 3488  0 tempPrimitive = PrimitiveType();
 3489  0 temp = ComplexArrayInstantiationTail(prefix, tempPrimitive);
 3490    } else {
 3491  3 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3492  3 case NEW:
 3493  3 jj_consume_token(NEW);
 3494  3 tempReference = ClassOrInterfaceType();
 3495  3 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3496  0 case LBRACKET:
 3497  0 temp = ComplexArrayInstantiationTail(prefix, tempReference);
 3498  0 break;
 3499  3 case LPAREN:
 3500  3 arguments = ParenthesizedExpressionList();
 3501  3 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3502  1 case LBRACE:
 3503  1 body = BracedBody();
 3504  1 break;
 3505  2 default:
 3506  2 jj_la1[126] = jj_gen;
 3507    ;
 3508    }
 3509  3 if (body == null) {
 3510  2 temp = new ComplexNamedClassInstantiation(_loc(prefix),
 3511    prefix,
 3512    tempReference,
 3513    arguments);
 3514    }
 3515    else {
 3516  1 temp = new ComplexAnonymousClassInstantiation(_loc(prefix),
 3517    prefix,
 3518    tempReference,
 3519    arguments,
 3520    body);
 3521    }
 3522  3 break;
 3523  0 default:
 3524  0 jj_la1[127] = jj_gen;
 3525  0 jj_consume_token(-1);
 3526  0 throw new ParseException();
 3527    }
 3528  3 break;
 3529  0 default:
 3530  0 jj_la1[128] = jj_gen;
 3531  0 jj_consume_token(-1);
 3532  0 throw new ParseException();
 3533    }
 3534    }
 3535  3 {if (true) return temp;}
 3536    } catch (ParseException pe) {
 3537  0 _throwParseException(pe, "This cannot appear in an allocation expression!");
 3538    }
 3539  0 throw new Error("Missing return statement in function");
 3540    }
 3541   
 3542    // an array allocation either has at least one dimension expression
 3543    // or it has an initializer. can't have both.
 3544  0 final public ArrayInstantiation ComplexArrayInstantiationTail(Primary prefix, Type elementType) throws ParseException {
 3545  0 LinkedList<Expression> dimensions = new LinkedList<Expression>();
 3546  0 ArrayType arrayType = null;
 3547  0 Expression exp;
 3548  0 ArrayInitializer initializer;
 3549  0 Token first = getToken(1);
 3550  0 if (jj_2_44(2147483647)) {
 3551  0 label_36:
 3552    while (true) {
 3553  0 jj_consume_token(LBRACKET);
 3554  0 exp = Expression();
 3555  0 jj_consume_token(RBRACKET);
 3556  0 if (arrayType == null) {
 3557  0 arrayType = new ArrayType(_loc(elementType), elementType.getName() + "[]", elementType);
 3558    }
 3559    else {
 3560  0 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3561    }
 3562   
 3563  0 dimensions.add(exp);
 3564  0 if (jj_2_42(2147483647)) {
 3565    ;
 3566    } else {
 3567  0 break label_36;
 3568    }
 3569    }
 3570  0 label_37:
 3571    while (true) {
 3572  0 if (jj_2_43(2)) {
 3573    ;
 3574    } else {
 3575  0 break label_37;
 3576    }
 3577  0 jj_consume_token(LBRACKET);
 3578  0 jj_consume_token(RBRACKET);
 3579  0 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3580    }
 3581  0 {if (true) return new ComplexUninitializedArrayInstantiation(_loc(prefix),
 3582    prefix,
 3583    arrayType,
 3584    new DimensionExpressionList(_loc(first),
 3585    dimensions.toArray(new Expression[dimensions.size()])));}
 3586    } else {
 3587  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3588  0 case LBRACKET:
 3589  0 label_38:
 3590    while (true) {
 3591  0 jj_consume_token(LBRACKET);
 3592  0 jj_consume_token(RBRACKET);
 3593  0 if (arrayType == null) {
 3594  0 arrayType = new ArrayType(_loc(elementType), elementType.getName() + "[]", elementType);
 3595    }
 3596    else {
 3597  0 arrayType = new ArrayType(_loc(arrayType), arrayType.getName() + "[]", arrayType);
 3598    }
 3599  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3600  0 case LBRACKET:
 3601    ;
 3602  0 break;
 3603  0 default:
 3604  0 jj_la1[129] = jj_gen;
 3605  0 break label_38;
 3606    }
 3607    }
 3608  0 initializer = ArrayInitializer();
 3609  0 {if (true) return new ComplexInitializedArrayInstantiation(_loc(prefix),
 3610    prefix,
 3611    arrayType,
 3612    initializer);}
 3613  0 break;
 3614  0 default:
 3615  0 jj_la1[130] = jj_gen;
 3616  0 jj_consume_token(-1);
 3617  0 throw new ParseException();
 3618    }
 3619    }
 3620  0 throw new Error("Missing return statement in function");
 3621    }
 3622   
 3623    //Instantiation SimpleInstantiation() :
 3624    //{ Type type; ParenthesizedExpressionList args; BracedBody body; DimensionExpressionList dimensions;
 3625    // ArrayInitializer initializer; Token first = getToken(1); }
 3626    //{
 3627    // <NEW> type = Type()
 3628    // (
 3629    // /* Lookahead to ensure at least one set of brackets follows */
 3630    // LOOKAHEAD(<LBRACKET>) dimensions = DimensionExpressionList()
 3631    // { return new SimpleUninitializedArrayInstantiation(_loc(first), type, dimensions); }
 3632    //
 3633    // | initializer = ArrayInitializer()
 3634    // { return new SimpleInitializedArrayInstantiation(_loc(first), type, initializer); }
 3635    //
 3636    // | args = ParenthesizedExpressionList()
 3637    // [
 3638    // body = BracedBody() { return new SimpleAnonymousClassInstantiation(_loc(first), type, args, body); }
 3639    // ]
 3640    // { return new SimpleNamedClassInstantiation(_loc(first), type, args); }
 3641    // )
 3642    //}
 3643    //
 3644    //Instantiation ComplexInstantiation(Primary prefix) :
 3645    //{ Type type; ParenthesizedExpressionList args; BracedBody body; DimensionExpressionList dimensions; ArrayInitializer initializer; }
 3646    //{
 3647    // <NEW> type = Type()
 3648    // (
 3649    // /* Lookahead to ensure at least one set of brackets follows */
 3650    // LOOKAHEAD(<LBRACKET>) dimensions = DimensionExpressionList()
 3651    // { return new ComplexUninitializedArrayInstantiation(_loc(prefix), prefix, type, dimensions); }
 3652    //
 3653    // | initializer = ArrayInitializer()
 3654    // { return new ComplexInitializedArrayInstantiation(_loc(prefix), prefix, type, initializer); }
 3655    //
 3656    // | args = ParenthesizedExpressionList()
 3657    // [
 3658    // body = BracedBody() { return new ComplexAnonymousClassInstantiation(_loc(prefix), prefix, type, args, body); }
 3659    // ]
 3660    // { return new ComplexNamedClassInstantiation(_loc(prefix), prefix, type, args); }
 3661    // )
 3662    //}
 3663   
 3664    /* TODO: This probably doesn't successfully handle overflow, especially
 3665    * for Integer.MIN_VALUE. Testing of overflow should probably not
 3666    * be the responsibility of the parser--instead, IntegerLiterals should
 3667    * contain BigIntegers.
 3668    */
 3669  228 final public LexicalLiteral IntegerLiteral() throws ParseException {
 3670  228 Token token; BigInteger value; int maxBitLength; Token first = getToken(1);
 3671  228 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3672  205 case DECIMAL_LITERAL:
 3673  0 case HEX_LITERAL:
 3674  23 case OCTAL_LITERAL:
 3675  228 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3676  205 case DECIMAL_LITERAL:
 3677  205 token = jj_consume_token(DECIMAL_LITERAL);
 3678  205 value = new BigInteger(token.image, 10); maxBitLength = 31;
 3679  205 break;
 3680  23 case OCTAL_LITERAL:
 3681  23 token = jj_consume_token(OCTAL_LITERAL);
 3682  23 value = new BigInteger(token.image, 8); maxBitLength = 32; /* it's always positive so use of sign bit ok */
 3683  23 break;
 3684  0 case HEX_LITERAL:
 3685  0 token = jj_consume_token(HEX_LITERAL);
 3686  0 /* need to strip 0x */ value = new BigInteger(token.image.substring(2), 16); maxBitLength = 32; /* it's always positive so use of sign bit ok */
 3687  0 break;
 3688  0 default:
 3689  0 jj_la1[131] = jj_gen;
 3690  0 jj_consume_token(-1);
 3691  0 throw new ParseException();
 3692    }
 3693  228 if (value.bitLength() <= maxBitLength) { {if (true) return new IntegerLiteral(_loc(first), value.intValue());} }
 3694  0 else { {if (true) throw new RuntimeException("Integer literal too big: " + token.image);} }
 3695  0 break;
 3696  0 case LONG_DECIMAL_LITERAL:
 3697  0 case LONG_HEX_LITERAL:
 3698  0 case LONG_OCTAL_LITERAL:
 3699  0 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3700  0 case LONG_DECIMAL_LITERAL:
 3701  0 token = jj_consume_token(LONG_DECIMAL_LITERAL);
 3702  0 value = new BigInteger(_stripL(token.image), 10); maxBitLength = 63;
 3703  0 break;
 3704  0 case LONG_OCTAL_LITERAL:
 3705  0 token = jj_consume_token(LONG_OCTAL_LITERAL);
 3706  0 value = new BigInteger(_stripL(token.image), 8); maxBitLength = 64; /* it's always positive so use of sign bit ok */
 3707  0 break;
 3708  0 case LONG_HEX_LITERAL:
 3709  0 token = jj_consume_token(LONG_HEX_LITERAL);
 3710  0 value = new BigInteger(_stripL(token.image.substring(2)), 16); maxBitLength = 64; /* it's always positive so use of sign bit ok */
 3711  0 break;
 3712  0 default:
 3713  0 jj_la1[132] = jj_gen;
 3714  0 jj_consume_token(-1);
 3715  0 throw new ParseException();
 3716    }
 3717  0 if (value.bitLength() <= maxBitLength) { {if (true) return new LongLiteral(_loc(first), value.longValue());} }
 3718  0 else { {if (true) throw new RuntimeException("Long literal too big: " + token.image);} }
 3719  0 break;
 3720  0 default:
 3721  0 jj_la1[133] = jj_gen;
 3722  0 jj_consume_token(-1);
 3723  0 throw new ParseException();
 3724    }
 3725  0 throw new Error("Missing return statement in function");
 3726    }
 3727   
 3728  7 final public LexicalLiteral FloatLiteral() throws ParseException {
 3729  7 Token t;
 3730  7 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3731  7 case DOUBLE_FLOATING_POINT_LITERAL:
 3732  7 t = jj_consume_token(DOUBLE_FLOATING_POINT_LITERAL);
 3733  7 try {
 3734  7 double value = Double.parseDouble(t.image);
 3735  7 {if (true) return new DoubleLiteral(_loc(t), value);}
 3736    }
 3737    catch (NumberFormatException e) {
 3738  0 {if (true) throw new RuntimeException("Invalid double constant: " + t.image + ". Exception: " + e);}
 3739    }
 3740  0 break;
 3741  0 case FLOATING_POINT_LITERAL:
 3742  0 t = jj_consume_token(FLOATING_POINT_LITERAL);
 3743  0 try {
 3744  0 float value = Float.parseFloat(t.image);
 3745  0 {if (true) return new FloatLiteral(_loc(t), value);}
 3746    }
 3747    catch (NumberFormatException e) {
 3748  0 {if (true) throw new RuntimeException("Invalid float constant: " + t.image + ". Exception: " + e);}
 3749    }
 3750  0 break;
 3751  0 default:
 3752  0 jj_la1[134] = jj_gen;
 3753  0 jj_consume_token(-1);
 3754  0 throw new ParseException();
 3755    }
 3756  0 throw new Error("Missing return statement in function");
 3757    }
 3758   
 3759  23 final public BooleanLiteral BooleanLiteral() throws ParseException {
 3760  23 Token first = getToken(1);
 3761  23 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3762  14 case TRUE:
 3763  14 jj_consume_token(TRUE);
 3764  14 {if (true) return new BooleanLiteral(_loc(first), true);}
 3765  0 break;
 3766  9 case FALSE:
 3767  9 jj_consume_token(FALSE);
 3768  9 {if (true) return new BooleanLiteral(_loc(first), false);}
 3769  0 break;
 3770  0 default:
 3771  0 jj_la1[135] = jj_gen;
 3772  0 jj_consume_token(-1);
 3773  0 throw new ParseException();
 3774    }
 3775  0 throw new Error("Missing return statement in function");
 3776    }
 3777   
 3778    /*
 3779    * Misc helpers
 3780    */
 3781  1303 final public Word Word() throws ParseException {
 3782  1303 Token text; Token first = getToken(1);
 3783  1303 text = jj_consume_token(IDENTIFIER);
 3784  1303 {if (true) return new Word(_loc(first), text.image);}
 3785  0 throw new Error("Missing return statement in function");
 3786    }
 3787   
 3788  1 final public Token RightShiftOp() throws ParseException {
 3789  1 Token t;
 3790  1 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3791  1 case RSSHIFT1:
 3792  1 t = jj_consume_token(RSSHIFT1);
 3793  1 jj_consume_token(RSSHIFT2);
 3794  1 {if (true) return t;}
 3795  0 break;
 3796  0 case RUSHIFT1:
 3797  0 t = jj_consume_token(RUSHIFT1);
 3798  0 jj_consume_token(RUSHIFT2);
 3799  0 jj_consume_token(RUSHIFT3);
 3800  0 {if (true) return t;}
 3801  0 break;
 3802  0 default:
 3803  0 jj_la1[136] = jj_gen;
 3804  0 jj_consume_token(-1);
 3805  0 throw new ParseException();
 3806    }
 3807  0 throw new Error("Missing return statement in function");
 3808    }
 3809   
 3810  164 final public ParenthesizedExpressionList ParenthesizedExpressionList() throws ParseException {
 3811  164 ExpressionList list; Token first = getToken(1);
 3812  164 jj_consume_token(LPAREN);
 3813  164 list = UnparenthesizedExpressionList();
 3814  164 jj_consume_token(RPAREN);
 3815  164 {if (true) return new ParenthesizedExpressionList(_loc(first), list.getExpressions());}
 3816  0 throw new Error("Missing return statement in function");
 3817    }
 3818   
 3819  173 final public UnparenthesizedExpressionList UnparenthesizedExpressionList() throws ParseException {
 3820  173 Vector<Expression> list = new Vector<Expression>(); Expression expression; Token first = getToken(1);
 3821  173 expression = Expression();
 3822  173 list.add(expression);
 3823  173 label_39:
 3824    while (true) {
 3825  202 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
 3826  29 case COMMA:
 3827    ;
 3828  29 break;
 3829  173 default:
 3830  173 jj_la1[137] = jj_gen;
 3831  173 break label_39;
 3832    }
 3833  29 jj_consume_token(COMMA);
 3834  29 expression = Expression();
 3835  29 list.add(expression);
 3836    }
 3837    /* If the list contains only an EmptyExpression, it's actually an empty list. */
 3838  173 if (list.size() == 1 && list.get(0) instanceof EmptyExpression) {
 3839  67 {if (true) return new UnparenthesizedExpressionList(_loc(first), new Expression[0]);}
 3840    }
 3841    else {
 3842  106 {if (true) return new UnparenthesizedExpressionList(_loc(first), list.toArray(new Expression[list.size()]));}
 3843    }
 3844  0 throw new Error("Missing return statement in function");
 3845    }
 3846   
 3847  183 final private boolean jj_2_1(int xla) {
 3848  183 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3849  183 try { return !jj_3_1(); }
 3850  0 catch(LookaheadSuccess ls) { return true; }
 3851  183 finally { jj_save(0, xla); }
 3852    }
 3853   
 3854  14 final private boolean jj_2_2(int xla) {
 3855  14 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3856  14 try { return !jj_3_2(); }
 3857  0 catch(LookaheadSuccess ls) { return true; }
 3858  14 finally { jj_save(1, xla); }
 3859    }
 3860   
 3861  65 final private boolean jj_2_3(int xla) {
 3862  65 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3863  65 try { return !jj_3_3(); }
 3864  33 catch(LookaheadSuccess ls) { return true; }
 3865  65 finally { jj_save(2, xla); }
 3866    }
 3867   
 3868  815 final private boolean jj_2_4(int xla) {
 3869  815 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3870  815 try { return !jj_3_4(); }
 3871  0 catch(LookaheadSuccess ls) { return true; }
 3872  815 finally { jj_save(3, xla); }
 3873    }
 3874   
 3875  786 final private boolean jj_2_5(int xla) {
 3876  786 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3877  786 try { return !jj_3_5(); }
 3878  0 catch(LookaheadSuccess ls) { return true; }
 3879  786 finally { jj_save(4, xla); }
 3880    }
 3881   
 3882  781 final private boolean jj_2_6(int xla) {
 3883  781 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3884  781 try { return !jj_3_6(); }
 3885  6 catch(LookaheadSuccess ls) { return true; }
 3886  781 finally { jj_save(5, xla); }
 3887    }
 3888   
 3889  775 final private boolean jj_2_7(int xla) {
 3890  775 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3891  775 try { return !jj_3_7(); }
 3892  0 catch(LookaheadSuccess ls) { return true; }
 3893  775 finally { jj_save(6, xla); }
 3894    }
 3895   
 3896  588 final private boolean jj_2_8(int xla) {
 3897  588 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3898  588 try { return !jj_3_8(); }
 3899  0 catch(LookaheadSuccess ls) { return true; }
 3900  588 finally { jj_save(7, xla); }
 3901    }
 3902   
 3903  557 final private boolean jj_2_9(int xla) {
 3904  557 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3905  557 try { return !jj_3_9(); }
 3906  0 catch(LookaheadSuccess ls) { return true; }
 3907  557 finally { jj_save(8, xla); }
 3908    }
 3909   
 3910  184 final private boolean jj_2_10(int xla) {
 3911  184 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3912  184 try { return !jj_3_10(); }
 3913  0 catch(LookaheadSuccess ls) { return true; }
 3914  184 finally { jj_save(9, xla); }
 3915    }
 3916   
 3917  476 final private boolean jj_2_11(int xla) {
 3918  476 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3919  476 try { return !jj_3_11(); }
 3920  0 catch(LookaheadSuccess ls) { return true; }
 3921  476 finally { jj_save(10, xla); }
 3922    }
 3923   
 3924  502 final private boolean jj_2_12(int xla) {
 3925  502 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3926  502 try { return !jj_3_12(); }
 3927  0 catch(LookaheadSuccess ls) { return true; }
 3928  502 finally { jj_save(11, xla); }
 3929    }
 3930   
 3931  167 final private boolean jj_2_13(int xla) {
 3932  167 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3933  167 try { return !jj_3_13(); }
 3934  10 catch(LookaheadSuccess ls) { return true; }
 3935  167 finally { jj_save(12, xla); }
 3936    }
 3937   
 3938  0 final private boolean jj_2_14(int xla) {
 3939  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3940  0 try { return !jj_3_14(); }
 3941  0 catch(LookaheadSuccess ls) { return true; }
 3942  0 finally { jj_save(13, xla); }
 3943    }
 3944   
 3945  320 final private boolean jj_2_15(int xla) {
 3946  320 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3947  320 try { return !jj_3_15(); }
 3948  0 catch(LookaheadSuccess ls) { return true; }
 3949  320 finally { jj_save(14, xla); }
 3950    }
 3951   
 3952  333 final private boolean jj_2_16(int xla) {
 3953  333 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3954  333 try { return !jj_3_16(); }
 3955  13 catch(LookaheadSuccess ls) { return true; }
 3956  333 finally { jj_save(15, xla); }
 3957    }
 3958   
 3959  13 final private boolean jj_2_17(int xla) {
 3960  13 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3961  13 try { return !jj_3_17(); }
 3962  0 catch(LookaheadSuccess ls) { return true; }
 3963  13 finally { jj_save(16, xla); }
 3964    }
 3965   
 3966  6 final private boolean jj_2_18(int xla) {
 3967  6 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3968  6 try { return !jj_3_18(); }
 3969  0 catch(LookaheadSuccess ls) { return true; }
 3970  6 finally { jj_save(17, xla); }
 3971    }
 3972   
 3973  0 final private boolean jj_2_19(int xla) {
 3974  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3975  0 try { return !jj_3_19(); }
 3976  0 catch(LookaheadSuccess ls) { return true; }
 3977  0 finally { jj_save(18, xla); }
 3978    }
 3979   
 3980  385 final private boolean jj_2_20(int xla) {
 3981  385 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3982  385 try { return !jj_3_20(); }
 3983  0 catch(LookaheadSuccess ls) { return true; }
 3984  385 finally { jj_save(19, xla); }
 3985    }
 3986   
 3987  351 final private boolean jj_2_21(int xla) {
 3988  351 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3989  351 try { return !jj_3_21(); }
 3990  1 catch(LookaheadSuccess ls) { return true; }
 3991  351 finally { jj_save(20, xla); }
 3992    }
 3993   
 3994  130 final private boolean jj_2_22(int xla) {
 3995  130 jj_la = xla; jj_lastpos = jj_scanpos = token;
 3996  130 try { return !jj_3_22(); }
 3997  0 catch(LookaheadSuccess ls) { return true; }
 3998  130 finally { jj_save(21, xla); }
 3999    }
 4000   
 4001  5 final private boolean jj_2_23(int xla) {
 4002  5 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4003  5 try { return !jj_3_23(); }
 4004  0 catch(LookaheadSuccess ls) { return true; }
 4005  5 finally { jj_save(22, xla); }
 4006    }
 4007   
 4008  5 final private boolean jj_2_24(int xla) {
 4009  5 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4010  5 try { return !jj_3_24(); }
 4011  0 catch(LookaheadSuccess ls) { return true; }
 4012  5 finally { jj_save(23, xla); }
 4013    }
 4014   
 4015  144 final private boolean jj_2_25(int xla) {
 4016  144 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4017  144 try { return !jj_3_25(); }
 4018  0 catch(LookaheadSuccess ls) { return true; }
 4019  144 finally { jj_save(24, xla); }
 4020    }
 4021   
 4022  33 final private boolean jj_2_26(int xla) {
 4023  33 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4024  33 try { return !jj_3_26(); }
 4025  20 catch(LookaheadSuccess ls) { return true; }
 4026  33 finally { jj_save(25, xla); }
 4027    }
 4028   
 4029  0 final private boolean jj_2_27(int xla) {
 4030  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4031  0 try { return !jj_3_27(); }
 4032  0 catch(LookaheadSuccess ls) { return true; }
 4033  0 finally { jj_save(26, xla); }
 4034    }
 4035   
 4036  895 final private boolean jj_2_28(int xla) {
 4037  895 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4038  895 try { return !jj_3_28(); }
 4039  0 catch(LookaheadSuccess ls) { return true; }
 4040  895 finally { jj_save(27, xla); }
 4041    }
 4042   
 4043  0 final private boolean jj_2_29(int xla) {
 4044  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4045  0 try { return !jj_3_29(); }
 4046  0 catch(LookaheadSuccess ls) { return true; }
 4047  0 finally { jj_save(28, xla); }
 4048    }
 4049   
 4050  0 final private boolean jj_2_30(int xla) {
 4051  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4052  0 try { return !jj_3_30(); }
 4053  0 catch(LookaheadSuccess ls) { return true; }
 4054  0 finally { jj_save(29, xla); }
 4055    }
 4056   
 4057  11 final private boolean jj_2_31(int xla) {
 4058  11 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4059  11 try { return !jj_3_31(); }
 4060  0 catch(LookaheadSuccess ls) { return true; }
 4061  11 finally { jj_save(30, xla); }
 4062    }
 4063   
 4064  5 final private boolean jj_2_32(int xla) {
 4065  5 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4066  5 try { return !jj_3_32(); }
 4067  0 catch(LookaheadSuccess ls) { return true; }
 4068  5 finally { jj_save(31, xla); }
 4069    }
 4070   
 4071  2 final private boolean jj_2_33(int xla) {
 4072  2 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4073  2 try { return !jj_3_33(); }
 4074  0 catch(LookaheadSuccess ls) { return true; }
 4075  2 finally { jj_save(32, xla); }
 4076    }
 4077   
 4078  370 final private boolean jj_2_34(int xla) {
 4079  370 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4080  370 try { return !jj_3_34(); }
 4081  0 catch(LookaheadSuccess ls) { return true; }
 4082  370 finally { jj_save(33, xla); }
 4083    }
 4084   
 4085  1 final private boolean jj_2_35(int xla) {
 4086  1 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4087  1 try { return !jj_3_35(); }
 4088  0 catch(LookaheadSuccess ls) { return true; }
 4089  1 finally { jj_save(34, xla); }
 4090    }
 4091   
 4092  1 final private boolean jj_2_36(int xla) {
 4093  1 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4094  1 try { return !jj_3_36(); }
 4095  0 catch(LookaheadSuccess ls) { return true; }
 4096  1 finally { jj_save(35, xla); }
 4097    }
 4098   
 4099  91 final private boolean jj_2_37(int xla) {
 4100  91 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4101  91 try { return !jj_3_37(); }
 4102  16 catch(LookaheadSuccess ls) { return true; }
 4103  91 finally { jj_save(36, xla); }
 4104    }
 4105   
 4106  19 final private boolean jj_2_38(int xla) {
 4107  19 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4108  19 try { return !jj_3_38(); }
 4109  0 catch(LookaheadSuccess ls) { return true; }
 4110  19 finally { jj_save(37, xla); }
 4111    }
 4112   
 4113  18 final private boolean jj_2_39(int xla) {
 4114  18 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4115  18 try { return !jj_3_39(); }
 4116  3 catch(LookaheadSuccess ls) { return true; }
 4117  18 finally { jj_save(38, xla); }
 4118    }
 4119   
 4120  20 final private boolean jj_2_40(int xla) {
 4121  20 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4122  20 try { return !jj_3_40(); }
 4123  0 catch(LookaheadSuccess ls) { return true; }
 4124  20 finally { jj_save(39, xla); }
 4125    }
 4126   
 4127  3 final private boolean jj_2_41(int xla) {
 4128  3 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4129  3 try { return !jj_3_41(); }
 4130  0 catch(LookaheadSuccess ls) { return true; }
 4131  3 finally { jj_save(40, xla); }
 4132    }
 4133   
 4134  0 final private boolean jj_2_42(int xla) {
 4135  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4136  0 try { return !jj_3_42(); }
 4137  0 catch(LookaheadSuccess ls) { return true; }
 4138  0 finally { jj_save(41, xla); }
 4139    }
 4140   
 4141  0 final private boolean jj_2_43(int xla) {
 4142  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4143  0 try { return !jj_3_43(); }
 4144  0 catch(LookaheadSuccess ls) { return true; }
 4145  0 finally { jj_save(42, xla); }
 4146    }
 4147   
 4148  0 final private boolean jj_2_44(int xla) {
 4149  0 jj_la = xla; jj_lastpos = jj_scanpos = token;
 4150  0 try { return !jj_3_44(); }
 4151  0 catch(LookaheadSuccess ls) { return true; }
 4152  0 finally { jj_save(43, xla); }
 4153    }
 4154   
 4155  9 final private boolean jj_3R_190() {
 4156  9 if (jj_scan_token(DO)) return true;
 4157  0 if (jj_3R_158()) return true;
 4158  0 Token xsp;
 4159  0 xsp = jj_scanpos;
 4160  0 if (jj_scan_token(63)) {
 4161  0 jj_scanpos = xsp;
 4162  0 if (jj_3R_317()) return true;
 4163    }
 4164  0 xsp = jj_scanpos;
 4165  0 if (jj_scan_token(78)) {
 4166  0 jj_scanpos = xsp;
 4167  0 if (jj_3R_318()) return true;
 4168    }
 4169  0 if (jj_3R_88()) return true;
 4170  0 xsp = jj_scanpos;
 4171  0 if (jj_scan_token(79)) {
 4172  0 jj_scanpos = xsp;
 4173  0 if (jj_3R_319()) return true;
 4174    }
 4175  0 xsp = jj_scanpos;
 4176  0 if (jj_scan_token(84)) {
 4177  0 jj_scanpos = xsp;
 4178  0 if (jj_3R_320()) return true;
 4179    }
 4180  0 return false;
 4181    }
 4182   
 4183  9 final private boolean jj_3R_189() {
 4184  9 if (jj_scan_token(WHILE)) return true;
 4185  0 Token xsp;
 4186  0 xsp = jj_scanpos;
 4187  0 if (jj_scan_token(78)) {
 4188  0 jj_scanpos = xsp;
 4189  0 if (jj_3R_315()) return true;
 4190    }
 4191  0 if (jj_3R_88()) return true;
 4192  0 xsp = jj_scanpos;
 4193  0 if (jj_scan_token(79)) {
 4194  0 jj_scanpos = xsp;
 4195  0 if (jj_3R_316()) return true;
 4196    }
 4197  0 if (jj_3R_158()) return true;
 4198  0 return false;
 4199    }
 4200   
 4201  1 final private boolean jj_3R_293() {
 4202  1 if (jj_3R_76()) return true;
 4203  0 return false;
 4204    }
 4205   
 4206  0 final private boolean jj_3R_313() {
 4207  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4208  0 return false;
 4209    }
 4210   
 4211  1 final private boolean jj_3R_288() {
 4212  0 if (jj_3R_270()) return true;
 4213  1 Token xsp;
 4214  1 xsp = jj_scanpos;
 4215  1 if (jj_3R_293()) jj_scanpos = xsp;
 4216  1 return false;
 4217    }
 4218   
 4219  0 final private boolean jj_3R_312() {
 4220  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4221  0 return false;
 4222    }
 4223   
 4224  1 final private boolean jj_3R_287() {
 4225  1 if (jj_3R_286()) return true;
 4226  0 return false;
 4227    }
 4228   
 4229  0 final private boolean jj_3R_314() {
 4230  0 if (jj_scan_token(ELSE)) return true;
 4231  0 if (jj_3R_158()) return true;
 4232  0 return false;
 4233    }
 4234   
 4235  1 final private boolean jj_3R_281() {
 4236  0 if (jj_scan_token(NEW)) return true;
 4237  0 if (jj_3R_49()) return true;
 4238  1 Token xsp;
 4239  1 xsp = jj_scanpos;
 4240  1 if (jj_3R_287()) {
 4241  1 jj_scanpos = xsp;
 4242  0 if (jj_3R_288()) return true;
 4243    }
 4244  1 return false;
 4245    }
 4246   
 4247  4 final private boolean jj_3_41() {
 4248  0 if (jj_scan_token(NEW)) return true;
 4249  4 if (jj_3R_48()) return true;
 4250  0 if (jj_3R_286()) return true;
 4251  0 return false;
 4252    }
 4253   
 4254  9 final private boolean jj_3R_188() {
 4255  9 if (jj_scan_token(IF)) return true;
 4256  0 Token xsp;
 4257  0 xsp = jj_scanpos;
 4258  0 if (jj_scan_token(78)) {
 4259  0 jj_scanpos = xsp;
 4260  0 if (jj_3R_312()) return true;
 4261    }
 4262  0 if (jj_3R_88()) return true;
 4263  0 xsp = jj_scanpos;
 4264  0 if (jj_scan_token(79)) {
 4265  0 jj_scanpos = xsp;
 4266  0 if (jj_3R_313()) return true;
 4267    }
 4268  0 if (jj_3R_158()) return true;
 4269  0 xsp = jj_scanpos;
 4270  0 if (jj_3R_314()) jj_scanpos = xsp;
 4271  0 return false;
 4272    }
 4273   
 4274  1 final private boolean jj_3R_271() {
 4275  1 Token xsp;
 4276  1 xsp = jj_scanpos;
 4277  1 if (jj_3_41()) {
 4278  1 jj_scanpos = xsp;
 4279  0 if (jj_3R_281()) return true;
 4280    }
 4281  1 return false;
 4282    }
 4283   
 4284  4063 final private boolean jj_3R_56() {
 4285  4063 Token xsp;
 4286  4063 xsp = jj_scanpos;
 4287  4063 if (jj_scan_token(47)) {
 4288  3813 jj_scanpos = xsp;
 4289  3813 if (jj_scan_token(46)) {
 4290  3798 jj_scanpos = xsp;
 4291  3798 if (jj_scan_token(45)) {
 4292  3770 jj_scanpos = xsp;
 4293  3770 if (jj_scan_token(51)) {
 4294  3679 jj_scanpos = xsp;
 4295  3679 if (jj_scan_token(13)) {
 4296  3652 jj_scanpos = xsp;
 4297  3652 if (jj_scan_token(29)) {
 4298  3616 jj_scanpos = xsp;
 4299  3616 if (jj_scan_token(58)) {
 4300  3616 jj_scanpos = xsp;
 4301  3616 if (jj_scan_token(62)) {
 4302  3616 jj_scanpos = xsp;
 4303  3616 if (jj_scan_token(41)) {
 4304  3616 jj_scanpos = xsp;
 4305  3616 if (jj_scan_token(54)) {
 4306  3608 jj_scanpos = xsp;
 4307  3608 if (jj_scan_token(50)) return true;
 4308    }
 4309    }
 4310    }
 4311    }
 4312    }
 4313    }
 4314    }
 4315    }
 4316    }
 4317    }
 4318  454 return false;
 4319    }
 4320   
 4321  0 final private boolean jj_3R_347() {
 4322  0 if (jj_scan_token(_DEFAULT)) return true;
 4323  0 if (jj_scan_token(COLON)) return true;
 4324  0 if (jj_3R_90()) return true;
 4325  0 return false;
 4326    }
 4327   
 4328  0 final private boolean jj_3R_309() {
 4329  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4330  0 return false;
 4331    }
 4332   
 4333  3609 final private boolean jj_3R_43() {
 4334  3609 Token xsp;
 4335  3609 while (true) {
 4336  4063 xsp = jj_scanpos;
 4337  3608 if (jj_3R_56()) { jj_scanpos = xsp; break; }
 4338    }
 4339  3608 return false;
 4340    }
 4341   
 4342  0 final private boolean jj_3R_308() {
 4343  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4344  0 return false;
 4345    }
 4346   
 4347  0 final private boolean jj_3R_346() {
 4348  0 if (jj_scan_token(CASE)) return true;
 4349  0 if (jj_3R_88()) return true;
 4350  0 if (jj_scan_token(COLON)) return true;
 4351  0 if (jj_3R_90()) return true;
 4352  0 return false;
 4353    }
 4354   
 4355  0 final private boolean jj_3R_337() {
 4356  0 Token xsp;
 4357  0 xsp = jj_scanpos;
 4358  0 if (jj_3R_346()) {
 4359  0 jj_scanpos = xsp;
 4360  0 if (jj_3R_347()) return true;
 4361    }
 4362  0 return false;
 4363    }
 4364   
 4365  0 final private boolean jj_3R_311() {
 4366  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4367  0 return false;
 4368    }
 4369   
 4370  65 final private boolean jj_3_3() {
 4371  23 if (jj_scan_token(DOT)) return true;
 4372  9 if (jj_3R_42()) return true;
 4373  0 return false;
 4374    }
 4375   
 4376  4 final private boolean jj_3R_290() {
 4377  4 if (jj_scan_token(LBRACKET)) return true;
 4378  0 if (jj_scan_token(RBRACKET)) return true;
 4379  0 return false;
 4380    }
 4381   
 4382  0 final private boolean jj_3R_310() {
 4383  0 if (jj_3R_337()) return true;
 4384  0 return false;
 4385    }
 4386   
 4387  4 final private boolean jj_3R_283() {
 4388  4 Token xsp;
 4389  4 if (jj_3R_290()) return true;
 4390  0 while (true) {
 4391  0 xsp = jj_scanpos;
 4392  0 if (jj_3R_290()) { jj_scanpos = xsp; break; }
 4393    }
 4394  0 if (jj_3R_87()) return true;
 4395  0 return false;
 4396    }
 4397   
 4398  9 final private boolean jj_3R_187() {
 4399  9 if (jj_scan_token(SWITCH)) return true;
 4400  0 Token xsp;
 4401  0 xsp = jj_scanpos;
 4402  0 if (jj_scan_token(78)) {
 4403  0 jj_scanpos = xsp;
 4404  0 if (jj_3R_308()) return true;
 4405    }
 4406  0 if (jj_3R_88()) return true;
 4407  0 if (jj_scan_token(RPAREN)) return true;
 4408  0 xsp = jj_scanpos;
 4409  0 if (jj_scan_token(80)) {
 4410  0 jj_scanpos = xsp;
 4411  0 if (jj_3R_309()) return true;
 4412    }
 4413  0 while (true) {
 4414  0 xsp = jj_scanpos;
 4415  0 if (jj_3R_310()) { jj_scanpos = xsp; break; }
 4416    }
 4417  0 xsp = jj_scanpos;
 4418  0 if (jj_scan_token(81)) {
 4419  0 jj_scanpos = xsp;
 4420  0 if (jj_3R_311()) return true;
 4421    }
 4422  0 return false;
 4423    }
 4424   
 4425  19 final private boolean jj_3_39() {
 4426  16 if (jj_scan_token(LBRACKET)) return true;
 4427  0 if (jj_scan_token(RBRACKET)) return true;
 4428  0 return false;
 4429    }
 4430   
 4431  19 final private boolean jj_3_38() {
 4432  13 if (jj_scan_token(LBRACKET)) return true;
 4433  2 if (jj_3R_52()) return true;
 4434  4 return false;
 4435    }
 4436   
 4437  6 final private boolean jj_3R_198() {
 4438  0 if (jj_3R_88()) return true;
 4439  6 if (jj_scan_token(SEMICOLON)) return true;
 4440  0 return false;
 4441    }
 4442   
 4443  199 final private boolean jj_3R_60() {
 4444  137 if (jj_3R_78()) return true;
 4445  62 return false;
 4446    }
 4447   
 4448  20 final private boolean jj_3_40() {
 4449  0 if (jj_scan_token(LBRACKET)) return true;
 4450  5 if (jj_3R_52()) return true;
 4451  15 return false;
 4452    }
 4453   
 4454  6 final private boolean jj_3R_289() {
 4455  5 if (jj_scan_token(LBRACKET)) return true;
 4456  0 if (jj_3R_88()) return true;
 4457  0 if (jj_scan_token(RBRACKET)) return true;
 4458  1 return false;
 4459    }
 4460   
 4461  810 final private boolean jj_3R_58() {
 4462  801 if (jj_3R_76()) return true;
 4463  3 return false;
 4464    }
 4465   
 4466  5 final private boolean jj_3R_282() {
 4467  5 Token xsp;
 4468  4 if (jj_3R_289()) return true;
 4469  1 while (true) {
 4470  1 xsp = jj_scanpos;
 4471  1 if (jj_3R_289()) { jj_scanpos = xsp; break; }
 4472    }
 4473  1 while (true) {
 4474  1 xsp = jj_scanpos;
 4475  1 if (jj_3_39()) { jj_scanpos = xsp; break; }
 4476    }
 4477  1 return false;
 4478    }
 4479   
 4480  5 final private boolean jj_3R_277() {
 4481  5 Token xsp;
 4482  5 xsp = jj_scanpos;
 4483  5 if (jj_3R_282()) {
 4484  4 jj_scanpos = xsp;
 4485  4 if (jj_3R_283()) return true;
 4486    }
 4487  1 return false;
 4488    }
 4489   
 4490  360 final private boolean jj_3R_51() {
 4491  246 if (jj_3R_42()) return true;
 4492  113 if (jj_scan_token(COLON)) return true;
 4493  0 if (jj_3R_158()) return true;
 4494  0 return false;
 4495    }
 4496   
 4497  130 final private boolean jj_3_22() {
 4498  12 if (jj_3R_52()) return true;
 4499  118 return false;
 4500    }
 4501   
 4502  588 final private boolean jj_3R_46() {
 4503  0 if (jj_3R_43()) return true;
 4504  369 if (jj_scan_token(IDENTIFIER)) return true;
 4505  0 if (jj_3R_61()) return true;
 4506  219 Token xsp;
 4507  219 xsp = jj_scanpos;
 4508  219 if (jj_scan_token(57)) {
 4509  219 jj_scanpos = xsp;
 4510  188 if (jj_scan_token(80)) return true;
 4511    }
 4512  31 return false;
 4513    }
 4514   
 4515  6 final private boolean jj_3R_181() {
 4516  6 if (jj_3R_199()) return true;
 4517  0 return false;
 4518    }
 4519   
 4520  6 final private boolean jj_3R_180() {
 4521  6 if (jj_3R_198()) return true;
 4522  0 return false;
 4523    }
 4524   
 4525  6 final private boolean jj_3R_179() {
 4526  6 if (jj_3R_197()) return true;
 4527  0 return false;
 4528    }
 4529   
 4530  787 final private boolean jj_3R_59() {
 4531  786 if (jj_3R_77()) return true;
 4532  1 return false;
 4533    }
 4534   
 4535  6 final private boolean jj_3R_178() {
 4536  6 if (jj_3R_196()) return true;
 4537  0 return false;
 4538    }
 4539   
 4540  787 final private boolean jj_3R_45() {
 4541  0 if (jj_3R_43()) return true;
 4542  787 Token xsp;
 4543  787 xsp = jj_scanpos;
 4544  786 if (jj_3R_59()) jj_scanpos = xsp;
 4545  228 if (jj_3R_55()) return true;
 4546  143 if (jj_scan_token(IDENTIFIER)) return true;
 4547  217 if (jj_scan_token(LPAREN)) return true;
 4548  199 xsp = jj_scanpos;
 4549  199 if (jj_3R_60()) {
 4550  137 jj_scanpos = xsp;
 4551  0 if (jj_scan_token(79)) return true;
 4552    }
 4553  199 return false;
 4554    }
 4555   
 4556  6 final private boolean jj_3R_177() {
 4557  6 if (jj_3R_195()) return true;
 4558  0 return false;
 4559    }
 4560   
 4561  9 final private boolean jj_3R_176() {
 4562  6 if (jj_3R_194()) return true;
 4563  3 return false;
 4564    }
 4565   
 4566  4 final private boolean jj_3R_284() {
 4567  1 if (jj_3R_76()) return true;
 4568  3 return false;
 4569    }
 4570   
 4571  9 final private boolean jj_3R_175() {
 4572  9 if (jj_3R_193()) return true;
 4573  0 return false;
 4574    }
 4575   
 4576  9 final private boolean jj_3R_174() {
 4577  9 if (jj_3R_192()) return true;
 4578  0 return false;
 4579    }
 4580   
 4581  4 final private boolean jj_3R_279() {
 4582  0 if (jj_3R_270()) return true;
 4583  4 Token xsp;
 4584  4 xsp = jj_scanpos;
 4585  1 if (jj_3R_284()) jj_scanpos = xsp;
 4586  4 return false;
 4587    }
 4588   
 4589  9 final private boolean jj_3R_173() {
 4590  9 if (jj_3R_191()) return true;
 4591  0 return false;
 4592    }
 4593   
 4594  5 final private boolean jj_3R_278() {
 4595  4 if (jj_3R_277()) return true;
 4596  1 return false;
 4597    }
 4598   
 4599  9 final private boolean jj_3R_172() {
 4600  9 if (jj_3R_190()) return true;
 4601  0 return false;
 4602    }
 4603   
 4604  9 final private boolean jj_3R_171() {
 4605  9 if (jj_3R_189()) return true;
 4606  0 return false;
 4607    }
 4608   
 4609  385 final private boolean jj_3_20() {
 4610  351 if (jj_scan_token(LBRACE)) return true;
 4611  34 return false;
 4612    }
 4613   
 4614  9 final private boolean jj_3R_170() {
 4615  9 if (jj_3R_188()) return true;
 4616  0 return false;
 4617    }
 4618   
 4619  17 final private boolean jj_3R_260() {
 4620  12 if (jj_scan_token(NEW)) return true;
 4621  0 if (jj_3R_49()) return true;
 4622  5 Token xsp;
 4623  5 xsp = jj_scanpos;
 4624  5 if (jj_3R_278()) {
 4625  4 jj_scanpos = xsp;
 4626  0 if (jj_3R_279()) return true;
 4627    }
 4628  5 return false;
 4629    }
 4630   
 4631  9 final private boolean jj_3R_169() {
 4632  9 if (jj_3R_187()) return true;
 4633  0 return false;
 4634    }
 4635   
 4636  360 final private boolean jj_3_21() {
 4637  359 if (jj_3R_51()) return true;
 4638  0 return false;
 4639    }
 4640   
 4641  108 final private boolean jj_3_37() {
 4642  12 if (jj_scan_token(NEW)) return true;
 4643  80 if (jj_3R_48()) return true;
 4644  0 if (jj_3R_277()) return true;
 4645  0 return false;
 4646    }
 4647   
 4648  9 final private boolean jj_3R_168() {
 4649  9 if (jj_3R_58()) return true;
 4650  0 return false;
 4651    }
 4652   
 4653  17 final private boolean jj_3R_257() {
 4654  17 Token xsp;
 4655  17 xsp = jj_scanpos;
 4656  17 if (jj_3_37()) {
 4657  17 jj_scanpos = xsp;
 4658  12 if (jj_3R_260()) return true;
 4659    }
 4660  5 return false;
 4661    }
 4662   
 4663  9 final private boolean jj_3R_158() {
 4664  9 Token xsp;
 4665  9 xsp = jj_scanpos;
 4666  9 if (jj_3R_168()) {
 4667  9 jj_scanpos = xsp;
 4668  9 if (jj_3_21()) {
 4669  9 jj_scanpos = xsp;
 4670  9 if (jj_3R_169()) {
 4671  9 jj_scanpos = xsp;
 4672  9 if (jj_3R_170()) {
 4673  9 jj_scanpos = xsp;
 4674  9 if (jj_3R_171()) {
 4675  9 jj_scanpos = xsp;
 4676  9 if (jj_3R_172()) {
 4677  9 jj_scanpos = xsp;
 4678  9 if (jj_3R_173()) {
 4679  9 jj_scanpos = xsp;
 4680  9 if (jj_3R_174()) {
 4681  9 jj_scanpos = xsp;
 4682  9 if (jj_3R_175()) {
 4683  9 jj_scanpos = xsp;
 4684  9 if (jj_3R_176()) {
 4685  6 jj_scanpos = xsp;
 4686  6 if (jj_3R_177()) {
 4687  6 jj_scanpos = xsp;
 4688  6 if (jj_3R_178()) {
 4689  6 jj_scanpos = xsp;
 4690  6 if (jj_3R_179()) {
 4691  6 jj_scanpos = xsp;
 4692  6 if (jj_3R_180()) {
 4693  6 jj_scanpos = xsp;
 4694  6 if (jj_3R_181()) return true;
 4695    }
 4696    }
 4697    }
 4698    }
 4699    }
 4700    }
 4701    }
 4702    }
 4703    }
 4704    }
 4705    }
 4706    }
 4707    }
 4708    }
 4709  3 return false;
 4710    }
 4711   
 4712  1 final private boolean jj_3R_109() {
 4713  1 if (jj_scan_token(EXTENDS)) return true;
 4714  0 if (jj_3R_49()) return true;
 4715  0 return false;
 4716    }
 4717   
 4718  231 final private boolean jj_3R_105() {
 4719  226 if (jj_scan_token(NULL)) return true;
 4720  4 return false;
 4721    }
 4722   
 4723  239 final private boolean jj_3R_104() {
 4724  231 if (jj_3R_114()) return true;
 4725  8 return false;
 4726    }
 4727   
 4728  257 final private boolean jj_3R_103() {
 4729  239 if (jj_scan_token(STRING_LITERAL)) return true;
 4730  18 return false;
 4731    }
 4732   
 4733  0 final private boolean jj_3R_184() {
 4734  0 if (jj_3R_82()) return true;
 4735  0 return false;
 4736    }
 4737   
 4738  259 final private boolean jj_3R_102() {
 4739  257 if (jj_scan_token(CHARACTER_LITERAL)) return true;
 4740  0 return false;
 4741    }
 4742   
 4743  261 final private boolean jj_3R_101() {
 4744  259 if (jj_3R_113()) return true;
 4745  0 return false;
 4746    }
 4747   
 4748  16 final private boolean jj_3R_41() {
 4749  16 Token xsp;
 4750  16 xsp = jj_scanpos;
 4751  16 if (jj_scan_token(51)) {
 4752  16 jj_scanpos = xsp;
 4753  16 if (jj_scan_token(13)) {
 4754  16 jj_scanpos = xsp;
 4755  16 if (jj_scan_token(29)) {
 4756  16 jj_scanpos = xsp;
 4757  16 if (jj_scan_token(47)) {
 4758  14 jj_scanpos = xsp;
 4759  14 if (jj_scan_token(46)) {
 4760  14 jj_scanpos = xsp;
 4761  14 if (jj_scan_token(45)) return true;
 4762    }
 4763    }
 4764    }
 4765    }
 4766    }
 4767  2 return false;
 4768    }
 4769   
 4770  1 final private boolean jj_3R_91() {
 4771  0 if (jj_3R_108()) return true;
 4772  1 Token xsp;
 4773  1 xsp = jj_scanpos;
 4774  1 if (jj_3R_109()) jj_scanpos = xsp;
 4775  1 return false;
 4776    }
 4777   
 4778  337 final private boolean jj_3R_100() {
 4779  261 if (jj_3R_112()) return true;
 4780  63 return false;
 4781    }
 4782   
 4783  14 final private boolean jj_3_2() {
 4784  14 Token xsp;
 4785  14 while (true) {
 4786  16 xsp = jj_scanpos;
 4787  14 if (jj_3R_41()) { jj_scanpos = xsp; break; }
 4788    }
 4789  0 if (jj_scan_token(INTERFACE)) return true;
 4790  14 return false;
 4791    }
 4792   
 4793  337 final private boolean jj_3R_86() {
 4794  337 Token xsp;
 4795  337 xsp = jj_scanpos;
 4796  337 if (jj_3R_100()) {
 4797  261 jj_scanpos = xsp;
 4798  259 if (jj_3R_101()) {
 4799  259 jj_scanpos = xsp;
 4800  257 if (jj_3R_102()) {
 4801  257 jj_scanpos = xsp;
 4802  257 if (jj_3R_103()) {
 4803  239 jj_scanpos = xsp;
 4804  239 if (jj_3R_104()) {
 4805  231 jj_scanpos = xsp;
 4806  226 if (jj_3R_105()) return true;
 4807    }
 4808    }
 4809    }
 4810    }
 4811    }
 4812  93 return false;
 4813    }
 4814   
 4815  0 final private boolean jj_3R_276() {
 4816  0 if (jj_3R_270()) return true;
 4817  0 return false;
 4818    }
 4819   
 4820  207 final private boolean jj_3R_40() {
 4821  207 Token xsp;
 4822  207 xsp = jj_scanpos;
 4823  207 if (jj_scan_token(13)) {
 4824  202 jj_scanpos = xsp;
 4825  202 if (jj_scan_token(29)) {
 4826  202 jj_scanpos = xsp;
 4827  202 if (jj_scan_token(47)) {
 4828  183 jj_scanpos = xsp;
 4829  183 if (jj_scan_token(50)) return true;
 4830    }
 4831    }
 4832    }
 4833  24 return false;
 4834    }
 4835   
 4836  1 final private boolean jj_3_36() {
 4837  0 if (jj_scan_token(LPAREN)) return true;
 4838  1 return false;
 4839    }
 4840   
 4841  1 final private boolean jj_3_35() {
 4842  1 if (jj_scan_token(DOT)) return true;
 4843  0 return false;
 4844    }
 4845   
 4846  183 final private boolean jj_3_1() {
 4847  183 Token xsp;
 4848  183 while (true) {
 4849  207 xsp = jj_scanpos;
 4850  183 if (jj_3R_40()) { jj_scanpos = xsp; break; }
 4851    }
 4852  14 if (jj_scan_token(CLASS)) return true;
 4853  169 return false;
 4854    }
 4855   
 4856  24 final private boolean jj_3R_160() {
 4857  7 if (jj_3R_82()) return true;
 4858  17 return false;
 4859    }
 4860   
 4861  0 final private boolean jj_3R_269() {
 4862  0 if (jj_3R_42()) return true;
 4863  0 Token xsp;
 4864  0 xsp = jj_scanpos;
 4865  0 if (jj_3R_276()) jj_scanpos = xsp;
 4866  0 return false;
 4867    }
 4868   
 4869  18 final private boolean jj_3R_93() {
 4870  18 Token xsp;
 4871  18 xsp = jj_scanpos;
 4872  18 if (jj_scan_token(88)) {
 4873  10 jj_scanpos = xsp;
 4874  10 if (jj_scan_token(113)) {
 4875  10 jj_scanpos = xsp;
 4876  10 if (jj_scan_token(114)) {
 4877  10 jj_scanpos = xsp;
 4878  10 if (jj_scan_token(115)) {
 4879  10 jj_scanpos = xsp;
 4880  10 if (jj_scan_token(116)) {
 4881  10 jj_scanpos = xsp;
 4882  10 if (jj_scan_token(117)) return true;
 4883    }
 4884    }
 4885    }
 4886    }
 4887    }
 4888  8 return false;
 4889    }
 4890   
 4891  0 final private boolean jj_3R_275() {
 4892  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 4893  0 return false;
 4894    }
 4895   
 4896  0 final private boolean jj_3R_274() {
 4897  0 if (jj_3R_270()) return true;
 4898  0 return false;
 4899    }
 4900   
 4901  0 final private boolean jj_3R_273() {
 4902  0 return false;
 4903    }
 4904   
 4905  0 final private boolean jj_3R_268() {
 4906  0 if (jj_scan_token(SUPER)) return true;
 4907  0 Token xsp;
 4908  0 xsp = jj_scanpos;
 4909  0 if (jj_3R_273()) {
 4910  0 jj_scanpos = xsp;
 4911  0 if (jj_3R_274()) {
 4912  0 jj_scanpos = xsp;
 4913  0 if (jj_3R_275()) return true;
 4914    }
 4915    }
 4916  0 return false;
 4917    }
 4918   
 4919  0 final private boolean jj_3R_272() {
 4920  0 if (jj_3R_270()) return true;
 4921  0 return false;
 4922    }
 4923   
 4924  1 final private boolean jj_3R_92() {
 4925  1 if (jj_scan_token(COMMA)) return true;
 4926  0 if (jj_3R_91()) return true;
 4927  0 return false;
 4928    }
 4929   
 4930  0 final private boolean jj_3R_267() {
 4931  0 if (jj_scan_token(THIS)) return true;
 4932  0 Token xsp;
 4933  0 xsp = jj_scanpos;
 4934  0 if (jj_3R_272()) jj_scanpos = xsp;
 4935  0 return false;
 4936    }
 4937   
 4938  804 final private boolean jj_3R_77() {
 4939  803 if (jj_scan_token(LT)) return true;
 4940  0 if (jj_3R_91()) return true;
 4941  1 Token xsp;
 4942  1 while (true) {
 4943  1 xsp = jj_scanpos;
 4944  1 if (jj_3R_92()) { jj_scanpos = xsp; break; }
 4945    }
 4946  0 if (jj_3R_93()) return true;
 4947  1 return false;
 4948    }
 4949   
 4950  1 final private boolean jj_3R_266() {
 4951  0 if (jj_3R_271()) return true;
 4952  1 return false;
 4953    }
 4954   
 4955  0 final private boolean jj_3_19() {
 4956  0 if (jj_3R_50()) return true;
 4957  0 return false;
 4958    }
 4959   
 4960  2 final private boolean jj_3R_89() {
 4961  2 if (jj_3R_86()) return true;
 4962  0 return false;
 4963    }
 4964   
 4965  23 final private boolean jj_3R_256() {
 4966  22 if (jj_scan_token(DOT)) return true;
 4967  1 Token xsp;
 4968  1 xsp = jj_scanpos;
 4969  1 if (jj_3R_266()) {
 4970  0 jj_scanpos = xsp;
 4971  0 if (jj_3R_267()) {
 4972  0 jj_scanpos = xsp;
 4973  0 if (jj_3R_268()) {
 4974  0 jj_scanpos = xsp;
 4975  0 if (jj_3R_269()) return true;
 4976    }
 4977    }
 4978    }
 4979  1 return false;
 4980    }
 4981   
 4982  23 final private boolean jj_3R_247() {
 4983  23 Token xsp;
 4984  23 xsp = jj_scanpos;
 4985  23 if (jj_3R_255()) {
 4986  23 jj_scanpos = xsp;
 4987  22 if (jj_3R_256()) return true;
 4988    }
 4989  1 return false;
 4990    }
 4991   
 4992  23 final private boolean jj_3R_255() {
 4993  23 if (jj_scan_token(LBRACKET)) return true;
 4994  0 if (jj_3R_88()) return true;
 4995  0 if (jj_scan_token(RBRACKET)) return true;
 4996  0 return false;
 4997    }
 4998   
 4999  2 final private boolean jj_3_33() {
 5000  0 if (jj_scan_token(LPAREN)) return true;
 5001  2 return false;
 5002    }
 5003   
 5004  5 final private boolean jj_3_32() {
 5005  2 if (jj_scan_token(DOT)) return true;
 5006  3 return false;
 5007    }
 5008   
 5009  1 final private boolean jj_3R_265() {
 5010  1 if (jj_3R_270()) return true;
 5011  0 return false;
 5012    }
 5013   
 5014  6 final private boolean jj_3_18() {
 5015  6 if (jj_3R_50()) return true;
 5016  0 return false;
 5017    }
 5018   
 5019  0 final private boolean jj_3R_183() {
 5020  0 if (jj_3R_50()) return true;
 5021  0 return false;
 5022    }
 5023   
 5024  17 final private boolean jj_3R_161() {
 5025  17 if (jj_scan_token(COMMA)) return true;
 5026  0 Token xsp;
 5027  0 xsp = jj_scanpos;
 5028  0 if (jj_3R_183()) {
 5029  0 jj_scanpos = xsp;
 5030  0 if (jj_3R_184()) return true;
 5031    }
 5032  0 return false;
 5033    }
 5034   
 5035  12 final private boolean jj_3R_254() {
 5036  11 if (jj_3R_42()) return true;
 5037  1 Token xsp;
 5038  1 xsp = jj_scanpos;
 5039  1 if (jj_3R_265()) jj_scanpos = xsp;
 5040  1 return false;
 5041    }
 5042   
 5043  0 final private boolean jj_3R_264() {
 5044  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 5045  0 return false;
 5046    }
 5047   
 5048  0 final private boolean jj_3R_263() {
 5049  0 if (jj_3R_270()) return true;
 5050  0 return false;
 5051    }
 5052   
 5053  0 final private boolean jj_3R_262() {
 5054  0 return false;
 5055    }
 5056   
 5057  24 final private boolean jj_3R_159() {
 5058  24 if (jj_3R_50()) return true;
 5059  0 return false;
 5060    }
 5061   
 5062  370 final private boolean jj_3_34() {
 5063  10 if (jj_3R_55()) return true;
 5064  358 if (jj_scan_token(DOT)) return true;
 5065  1 if (jj_scan_token(CLASS)) return true;
 5066  1 return false;
 5067    }
 5068   
 5069  1455 final private boolean jj_3R_84() {
 5070  1427 if (jj_scan_token(LT)) return true;
 5071  24 Token xsp;
 5072  24 xsp = jj_scanpos;
 5073  24 if (jj_3R_159()) {
 5074  24 jj_scanpos = xsp;
 5075  7 if (jj_3R_160()) return true;
 5076    }
 5077  17 while (true) {
 5078  17 xsp = jj_scanpos;
 5079  17 if (jj_3R_161()) { jj_scanpos = xsp; break; }
 5080    }
 5081  10 if (jj_3R_93()) return true;
 5082  7 return false;
 5083    }
 5084   
 5085  12 final private boolean jj_3R_253() {
 5086  12 if (jj_scan_token(SUPER)) return true;
 5087  0 Token xsp;
 5088  0 xsp = jj_scanpos;
 5089  0 if (jj_3R_262()) {
 5090  0 jj_scanpos = xsp;
 5091  0 if (jj_3R_263()) {
 5092  0 jj_scanpos = xsp;
 5093  0 if (jj_3R_264()) return true;
 5094    }
 5095    }
 5096  0 return false;
 5097    }
 5098   
 5099  0 final private boolean jj_3R_261() {
 5100  0 if (jj_3R_270()) return true;
 5101  0 return false;
 5102    }
 5103   
 5104  13 final private boolean jj_3_17() {
 5105  13 if (jj_scan_token(LT)) return true;
 5106  0 return false;
 5107    }
 5108   
 5109  12 final private boolean jj_3R_252() {
 5110  12 if (jj_scan_token(THIS)) return true;
 5111  0 Token xsp;
 5112  0 xsp = jj_scanpos;
 5113  0 if (jj_3R_261()) jj_scanpos = xsp;
 5114  0 return false;
 5115    }
 5116   
 5117  12 final private boolean jj_3R_251() {
 5118  11 if (jj_3R_55()) return true;
 5119  1 if (jj_scan_token(DOT)) return true;
 5120  0 if (jj_scan_token(CLASS)) return true;
 5121  0 return false;
 5122    }
 5123   
 5124  12 final private boolean jj_3R_250() {
 5125  12 if (jj_scan_token(LPAREN)) return true;
 5126  0 if (jj_3R_88()) return true;
 5127  0 if (jj_scan_token(RPAREN)) return true;
 5128  0 return false;
 5129    }
 5130   
 5131  17 final private boolean jj_3R_249() {
 5132  12 if (jj_3R_257()) return true;
 5133  5 return false;
 5134    }
 5135   
 5136  309 final private boolean jj_3R_144() {
 5137  309 if (jj_3R_84()) return true;
 5138  0 return false;
 5139    }
 5140   
 5141  40 final private boolean jj_3R_246() {
 5142  40 Token xsp;
 5143  40 xsp = jj_scanpos;
 5144  40 if (jj_3R_248()) {
 5145  17 jj_scanpos = xsp;
 5146  17 if (jj_3R_249()) {
 5147  12 jj_scanpos = xsp;
 5148  12 if (jj_3R_250()) {
 5149  12 jj_scanpos = xsp;
 5150  12 if (jj_3R_251()) {
 5151  12 jj_scanpos = xsp;
 5152  12 if (jj_3R_252()) {
 5153  12 jj_scanpos = xsp;
 5154  12 if (jj_3R_253()) {
 5155  12 jj_scanpos = xsp;
 5156  11 if (jj_3R_254()) return true;
 5157    }
 5158    }
 5159    }
 5160    }
 5161    }
 5162    }
 5163  11 return false;
 5164    }
 5165   
 5166  40 final private boolean jj_3R_248() {
 5167  17 if (jj_3R_86()) return true;
 5168  5 return false;
 5169    }
 5170   
 5171  320 final private boolean jj_3_15() {
 5172  314 if (jj_scan_token(LT)) return true;
 5173  6 return false;
 5174    }
 5175   
 5176  40 final private boolean jj_3R_242() {
 5177  40 Token xsp;
 5178  40 xsp = jj_scanpos;
 5179  11 if (jj_3R_246()) jj_scanpos = xsp;
 5180  22 return false;
 5181    }
 5182   
 5183  1784 final private boolean jj_3_16() {
 5184  1455 if (jj_scan_token(DOT)) return true;
 5185  1 if (jj_scan_token(IDENTIFIER)) return true;
 5186  309 Token xsp;
 5187  309 xsp = jj_scanpos;
 5188  309 if (jj_3R_144()) jj_scanpos = xsp;
 5189  309 return false;
 5190    }
 5191   
 5192  30 final private boolean jj_3R_65() {
 5193  7 if (jj_3R_82()) return true;
 5194  23 return false;
 5195    }
 5196   
 5197  23 final private boolean jj_3R_243() {
 5198  22 if (jj_3R_247()) return true;
 5199  1 return false;
 5200    }
 5201   
 5202  1146 final private boolean jj_3R_64() {
 5203  1135 if (jj_3R_84()) return true;
 5204  7 return false;
 5205    }
 5206   
 5207  40 final private boolean jj_3R_240() {
 5208  0 if (jj_3R_242()) return true;
 5209  22 Token xsp;
 5210  22 while (true) {
 5211  23 xsp = jj_scanpos;
 5212  22 if (jj_3R_243()) { jj_scanpos = xsp; break; }
 5213    }
 5214  22 return false;
 5215    }
 5216   
 5217  809 final private boolean jj_3R_97() {
 5218  809 if (jj_3R_108()) return true;
 5219  0 return false;
 5220    }
 5221   
 5222  1957 final private boolean jj_3R_49() {
 5223  809 if (jj_scan_token(IDENTIFIER)) return true;
 5224  1146 Token xsp;
 5225  1146 xsp = jj_scanpos;
 5226  1135 if (jj_3R_64()) jj_scanpos = xsp;
 5227  1142 while (true) {
 5228  1451 xsp = jj_scanpos;
 5229  1136 if (jj_3_16()) { jj_scanpos = xsp; break; }
 5230    }
 5231  1136 return false;
 5232    }
 5233   
 5234  22 final private boolean jj_3R_245() {
 5235  22 if (jj_scan_token(DECR)) return true;
 5236  0 return false;
 5237    }
 5238   
 5239  22 final private boolean jj_3R_241() {
 5240  22 Token xsp;
 5241  22 xsp = jj_scanpos;
 5242  22 if (jj_3R_244()) {
 5243  22 jj_scanpos = xsp;
 5244  22 if (jj_3R_245()) return true;
 5245    }
 5246  0 return false;
 5247    }
 5248   
 5249  22 final private boolean jj_3R_244() {
 5250  22 if (jj_scan_token(INCR)) return true;
 5251  0 return false;
 5252    }
 5253   
 5254  11 final private boolean jj_3_31() {
 5255  5 if (jj_3R_48()) return true;
 5256  0 if (jj_scan_token(RPAREN)) return true;
 5257  6 return false;
 5258    }
 5259   
 5260  40 final private boolean jj_3R_239() {
 5261  0 if (jj_3R_240()) return true;
 5262  22 Token xsp;
 5263  22 while (true) {
 5264  22 xsp = jj_scanpos;
 5265  22 if (jj_3R_241()) { jj_scanpos = xsp; break; }
 5266    }
 5267  22 return false;
 5268    }
 5269   
 5270  0 final private boolean jj_3R_259() {
 5271  0 if (jj_3R_47()) return true;
 5272  0 if (jj_scan_token(RPAREN)) return true;
 5273  0 if (jj_3R_233()) return true;
 5274  0 return false;
 5275    }
 5276   
 5277  0 final private boolean jj_3R_258() {
 5278  0 if (jj_3R_48()) return true;
 5279  0 if (jj_scan_token(RPAREN)) return true;
 5280  0 if (jj_3R_221()) return true;
 5281  0 return false;
 5282    }
 5283   
 5284  810 final private boolean jj_3R_108() {
 5285  809 if (jj_scan_token(IDENTIFIER)) return true;
 5286  1 return false;
 5287    }
 5288   
 5289  0 final private boolean jj_3_30() {
 5290  0 if (jj_scan_token(LPAREN)) return true;
 5291  0 if (jj_3R_47()) return true;
 5292  0 if (jj_scan_token(LBRACKET)) return true;
 5293  0 return false;
 5294    }
 5295   
 5296  40 final private boolean jj_3R_238() {
 5297  40 if (jj_scan_token(LPAREN)) return true;
 5298  0 Token xsp;
 5299  0 xsp = jj_scanpos;
 5300  0 if (jj_3R_258()) {
 5301  0 jj_scanpos = xsp;
 5302  0 if (jj_3R_259()) return true;
 5303    }
 5304  0 return false;
 5305    }
 5306   
 5307  889 final private boolean jj_3R_73() {
 5308  865 if (jj_scan_token(LPAREN)) return true;
 5309  14 if (jj_3R_47()) return true;
 5310  3 if (jj_scan_token(RPAREN)) return true;
 5311  7 Token xsp;
 5312  7 xsp = jj_scanpos;
 5313  7 if (jj_scan_token(91)) {
 5314  7 jj_scanpos = xsp;
 5315  7 if (jj_scan_token(90)) {
 5316  7 jj_scanpos = xsp;
 5317  7 if (jj_scan_token(78)) {
 5318  7 jj_scanpos = xsp;
 5319  7 if (jj_scan_token(77)) {
 5320  3 jj_scanpos = xsp;
 5321  3 if (jj_scan_token(55)) {
 5322  3 jj_scanpos = xsp;
 5323  3 if (jj_scan_token(52)) {
 5324  3 jj_scanpos = xsp;
 5325  3 if (jj_scan_token(42)) {
 5326  2 jj_scanpos = xsp;
 5327  2 if (jj_3R_89()) return true;
 5328    }
 5329    }
 5330    }
 5331    }
 5332    }
 5333    }
 5334    }
 5335  5 return false;
 5336    }
 5337   
 5338  889 final private boolean jj_3R_72() {
 5339  865 if (jj_scan_token(LPAREN)) return true;
 5340  14 if (jj_3R_47()) return true;
 5341  10 if (jj_scan_token(LBRACKET)) return true;
 5342  0 if (jj_scan_token(RBRACKET)) return true;
 5343  0 return false;
 5344    }
 5345   
 5346  895 final private boolean jj_3_29() {
 5347  865 if (jj_scan_token(LPAREN)) return true;
 5348  24 if (jj_3R_48()) return true;
 5349  6 return false;
 5350    }
 5351   
 5352  895 final private boolean jj_3R_54() {
 5353  895 Token xsp;
 5354  895 xsp = jj_scanpos;
 5355  895 if (jj_3_29()) {
 5356  889 jj_scanpos = xsp;
 5357  889 if (jj_3R_72()) {
 5358  889 jj_scanpos = xsp;
 5359  884 if (jj_3R_73()) return true;
 5360    }
 5361    }
 5362  11 return false;
 5363    }
 5364   
 5365  23 final private boolean jj_3R_66() {
 5366  23 if (jj_scan_token(LBRACKET)) return true;
 5367  0 if (jj_scan_token(RBRACKET)) return true;
 5368  0 return false;
 5369    }
 5370   
 5371  895 final private boolean jj_3_28() {
 5372  884 if (jj_3R_54()) return true;
 5373  11 return false;
 5374    }
 5375   
 5376  30 final private boolean jj_3_14() {
 5377  30 if (jj_3R_48()) return true;
 5378  0 return false;
 5379    }
 5380   
 5381  30 final private boolean jj_3R_50() {
 5382  30 Token xsp;
 5383  30 xsp = jj_scanpos;
 5384  30 if (jj_3_14()) {
 5385  30 jj_scanpos = xsp;
 5386  7 if (jj_3R_65()) return true;
 5387    }
 5388  23 if (jj_3R_66()) return true;
 5389  0 while (true) {
 5390  0 xsp = jj_scanpos;
 5391  0 if (jj_3R_66()) { jj_scanpos = xsp; break; }
 5392    }
 5393  0 return false;
 5394    }
 5395   
 5396  40 final private boolean jj_3R_237() {
 5397  0 if (jj_3R_239()) return true;
 5398  22 return false;
 5399    }
 5400   
 5401  40 final private boolean jj_3R_236() {
 5402  40 if (jj_3R_238()) return true;
 5403  0 return false;
 5404    }
 5405   
 5406  40 final private boolean jj_3R_235() {
 5407  40 if (jj_scan_token(BANG)) return true;
 5408  0 if (jj_3R_221()) return true;
 5409  0 return false;
 5410    }
 5411   
 5412  40 final private boolean jj_3R_233() {
 5413  40 Token xsp;
 5414  40 xsp = jj_scanpos;
 5415  40 if (jj_3R_234()) {
 5416  40 jj_scanpos = xsp;
 5417  40 if (jj_3R_235()) {
 5418  40 jj_scanpos = xsp;
 5419  40 if (jj_3R_236()) {
 5420  40 jj_scanpos = xsp;
 5421  0 if (jj_3R_237()) return true;
 5422    }
 5423    }
 5424    }
 5425  22 return false;
 5426    }
 5427   
 5428  40 final private boolean jj_3R_234() {
 5429  40 if (jj_scan_token(TILDE)) return true;
 5430  0 if (jj_3R_221()) return true;
 5431  0 return false;
 5432    }
 5433   
 5434  1951 final private boolean jj_3_13() {
 5435  809 if (jj_3R_49()) return true;
 5436  1130 return false;
 5437    }
 5438   
 5439  1784 final private boolean jj_3R_82() {
 5440  1784 Token xsp;
 5441  1784 xsp = jj_scanpos;
 5442  1784 if (jj_3_13()) {
 5443  809 jj_scanpos = xsp;
 5444  809 if (jj_3R_97()) return true;
 5445    }
 5446  973 return false;
 5447    }
 5448   
 5449  40 final private boolean jj_3R_229() {
 5450  0 if (jj_3R_233()) return true;
 5451  22 return false;
 5452    }
 5453   
 5454  1730 final private boolean jj_3R_62() {
 5455  795 if (jj_3R_82()) return true;
 5456  933 return false;
 5457    }
 5458   
 5459  40 final private boolean jj_3R_228() {
 5460  40 if (jj_scan_token(MINUS)) return true;
 5461  0 if (jj_3R_221()) return true;
 5462  0 return false;
 5463    }
 5464   
 5465  40 final private boolean jj_3R_227() {
 5466  40 if (jj_scan_token(PLUS)) return true;
 5467  0 if (jj_3R_221()) return true;
 5468  0 return false;
 5469    }
 5470   
 5471  40 final private boolean jj_3R_226() {
 5472  40 if (jj_scan_token(DECR)) return true;
 5473  0 if (jj_3R_221()) return true;
 5474  0 return false;
 5475    }
 5476   
 5477  40 final private boolean jj_3R_221() {
 5478  40 Token xsp;
 5479  40 xsp = jj_scanpos;
 5480  40 if (jj_3R_225()) {
 5481  40 jj_scanpos = xsp;
 5482  40 if (jj_3R_226()) {
 5483  40 jj_scanpos = xsp;
 5484  40 if (jj_3R_227()) {
 5485  40 jj_scanpos = xsp;
 5486  40 if (jj_3R_228()) {
 5487  40 jj_scanpos = xsp;
 5488  0 if (jj_3R_229()) return true;
 5489    }
 5490    }
 5491    }
 5492    }
 5493  22 return false;
 5494    }
 5495   
 5496  40 final private boolean jj_3R_225() {
 5497  40 if (jj_scan_token(INCR)) return true;
 5498  0 if (jj_3R_221()) return true;
 5499  0 return false;
 5500    }
 5501   
 5502  11 final private boolean jj_3R_83() {
 5503  11 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 5504  0 return false;
 5505    }
 5506   
 5507  22 final private boolean jj_3R_232() {
 5508  22 if (jj_scan_token(REM)) return true;
 5509  0 if (jj_3R_221()) return true;
 5510  0 return false;
 5511    }
 5512   
 5513  22 final private boolean jj_3R_231() {
 5514  22 if (jj_scan_token(SLASH)) return true;
 5515  0 if (jj_3R_221()) return true;
 5516  0 return false;
 5517    }
 5518   
 5519  22 final private boolean jj_3R_222() {
 5520  22 Token xsp;
 5521  22 xsp = jj_scanpos;
 5522  22 if (jj_3R_230()) {
 5523  22 jj_scanpos = xsp;
 5524  22 if (jj_3R_231()) {
 5525  22 jj_scanpos = xsp;
 5526  22 if (jj_3R_232()) return true;
 5527    }
 5528    }
 5529  0 return false;
 5530    }
 5531   
 5532  22 final private boolean jj_3R_230() {
 5533  22 if (jj_scan_token(STAR)) return true;
 5534  0 if (jj_3R_221()) return true;
 5535  0 return false;
 5536    }
 5537   
 5538  2865 final private boolean jj_3R_48() {
 5539  2865 Token xsp;
 5540  2865 xsp = jj_scanpos;
 5541  2865 if (jj_scan_token(14)) {
 5542  2806 jj_scanpos = xsp;
 5543  2806 if (jj_scan_token(19)) {
 5544  2747 jj_scanpos = xsp;
 5545  2747 if (jj_scan_token(16)) {
 5546  2747 jj_scanpos = xsp;
 5547  2747 if (jj_scan_token(49)) {
 5548  2747 jj_scanpos = xsp;
 5549  2747 if (jj_scan_token(38)) {
 5550  2120 jj_scanpos = xsp;
 5551  2120 if (jj_scan_token(40)) {
 5552  2120 jj_scanpos = xsp;
 5553  2120 if (jj_scan_token(31)) {
 5554  2110 jj_scanpos = xsp;
 5555  2054 if (jj_scan_token(25)) return true;
 5556    }
 5557    }
 5558    }
 5559    }
 5560    }
 5561    }
 5562    }
 5563  792 return false;
 5564    }
 5565   
 5566  40 final private boolean jj_3R_217() {
 5567  0 if (jj_3R_221()) return true;
 5568  22 Token xsp;
 5569  22 while (true) {
 5570  22 xsp = jj_scanpos;
 5571  22 if (jj_3R_222()) { jj_scanpos = xsp; break; }
 5572    }
 5573  22 return false;
 5574    }
 5575   
 5576  502 final private boolean jj_3_12() {
 5577  476 if (jj_scan_token(LBRACKET)) return true;
 5578  26 return false;
 5579    }
 5580   
 5581  22 final private boolean jj_3R_224() {
 5582  22 if (jj_scan_token(MINUS)) return true;
 5583  0 if (jj_3R_217()) return true;
 5584  0 return false;
 5585    }
 5586   
 5587  22 final private boolean jj_3R_218() {
 5588  22 Token xsp;
 5589  22 xsp = jj_scanpos;
 5590  22 if (jj_3R_223()) {
 5591  22 jj_scanpos = xsp;
 5592  22 if (jj_3R_224()) return true;
 5593    }
 5594  0 return false;
 5595    }
 5596   
 5597  22 final private boolean jj_3R_223() {
 5598  22 if (jj_scan_token(PLUS)) return true;
 5599  0 if (jj_3R_217()) return true;
 5600  0 return false;
 5601    }
 5602   
 5603  40 final private boolean jj_3R_210() {
 5604  0 if (jj_3R_217()) return true;
 5605  22 Token xsp;
 5606  22 while (true) {
 5607  22 xsp = jj_scanpos;
 5608  22 if (jj_3R_218()) { jj_scanpos = xsp; break; }
 5609    }
 5610  22 return false;
 5611    }
 5612   
 5613  1458 final private boolean jj_3R_63() {
 5614  1398 if (jj_scan_token(LBRACKET)) return true;
 5615  60 Token xsp;
 5616  60 xsp = jj_scanpos;
 5617  60 if (jj_scan_token(83)) {
 5618  11 jj_scanpos = xsp;
 5619  0 if (jj_3R_83()) return true;
 5620    }
 5621  60 return false;
 5622    }
 5623   
 5624  2674 final private boolean jj_3_11() {
 5625  1891 if (jj_3R_48()) return true;
 5626  780 return false;
 5627    }
 5628   
 5629  2198 final private boolean jj_3R_47() {
 5630  2198 Token xsp;
 5631  2198 xsp = jj_scanpos;
 5632  2198 if (jj_3_11()) {
 5633  1730 jj_scanpos = xsp;
 5634  795 if (jj_3R_62()) return true;
 5635    }
 5636  1398 while (true) {
 5637  1458 xsp = jj_scanpos;
 5638  1398 if (jj_3R_63()) { jj_scanpos = xsp; break; }
 5639    }
 5640  1398 return false;
 5641    }
 5642   
 5643  22 final private boolean jj_3R_220() {
 5644  22 if (jj_3R_85()) return true;
 5645  0 if (jj_3R_210()) return true;
 5646  0 return false;
 5647    }
 5648   
 5649  22 final private boolean jj_3R_211() {
 5650  22 Token xsp;
 5651  22 xsp = jj_scanpos;
 5652  22 if (jj_3R_219()) {
 5653  22 jj_scanpos = xsp;
 5654  22 if (jj_3R_220()) return true;
 5655    }
 5656  0 return false;
 5657    }
 5658   
 5659  22 final private boolean jj_3R_219() {
 5660  22 if (jj_scan_token(LSHIFT)) return true;
 5661  0 if (jj_3R_210()) return true;
 5662  0 return false;
 5663    }
 5664   
 5665  40 final private boolean jj_3R_206() {
 5666  0 if (jj_3R_210()) return true;
 5667  22 Token xsp;
 5668  22 while (true) {
 5669  22 xsp = jj_scanpos;
 5670  22 if (jj_3R_211()) { jj_scanpos = xsp; break; }
 5671    }
 5672  22 return false;
 5673    }
 5674   
 5675  22 final private boolean jj_3R_216() {
 5676  22 if (jj_scan_token(INSTANCEOF)) return true;
 5677  0 if (jj_3R_47()) return true;
 5678  0 return false;
 5679    }
 5680   
 5681  22 final private boolean jj_3R_215() {
 5682  22 if (jj_scan_token(GE)) return true;
 5683  0 if (jj_3R_206()) return true;
 5684  0 return false;
 5685    }
 5686   
 5687  22 final private boolean jj_3R_214() {
 5688  22 if (jj_scan_token(GT)) return true;
 5689  0 if (jj_3R_206()) return true;
 5690  0 return false;
 5691    }
 5692   
 5693  22 final private boolean jj_3R_213() {
 5694  22 if (jj_scan_token(LE)) return true;
 5695  0 if (jj_3R_206()) return true;
 5696  0 return false;
 5697    }
 5698   
 5699  22 final private boolean jj_3R_207() {
 5700  22 Token xsp;
 5701  22 xsp = jj_scanpos;
 5702  22 if (jj_3R_212()) {
 5703  22 jj_scanpos = xsp;
 5704  22 if (jj_3R_213()) {
 5705  22 jj_scanpos = xsp;
 5706  22 if (jj_3R_214()) {
 5707  22 jj_scanpos = xsp;
 5708  22 if (jj_3R_215()) {
 5709  22 jj_scanpos = xsp;
 5710  22 if (jj_3R_216()) return true;
 5711    }
 5712    }
 5713    }
 5714    }
 5715  0 return false;
 5716    }
 5717   
 5718  22 final private boolean jj_3R_212() {
 5719  22 if (jj_scan_token(LT)) return true;
 5720  0 if (jj_3R_206()) return true;
 5721  0 return false;
 5722    }
 5723   
 5724  801 final private boolean jj_3R_57() {
 5725  785 if (jj_scan_token(STATIC)) return true;
 5726  16 return false;
 5727    }
 5728   
 5729  801 final private boolean jj_3R_44() {
 5730  801 Token xsp;
 5731  801 xsp = jj_scanpos;
 5732  785 if (jj_3R_57()) jj_scanpos = xsp;
 5733  792 if (jj_3R_58()) return true;
 5734  3 return false;
 5735    }
 5736   
 5737  40 final private boolean jj_3R_204() {
 5738  0 if (jj_3R_206()) return true;
 5739  22 Token xsp;
 5740  22 while (true) {
 5741  22 xsp = jj_scanpos;
 5742  22 if (jj_3R_207()) { jj_scanpos = xsp; break; }
 5743    }
 5744  22 return false;
 5745    }
 5746   
 5747  22 final private boolean jj_3R_209() {
 5748  22 if (jj_scan_token(NE)) return true;
 5749  0 if (jj_3R_204()) return true;
 5750  0 return false;
 5751    }
 5752   
 5753  22 final private boolean jj_3R_205() {
 5754  22 Token xsp;
 5755  22 xsp = jj_scanpos;
 5756  22 if (jj_3R_208()) {
 5757  22 jj_scanpos = xsp;
 5758  22 if (jj_3R_209()) return true;
 5759    }
 5760  0 return false;
 5761    }
 5762   
 5763  22 final private boolean jj_3R_208() {
 5764  22 if (jj_scan_token(EQ)) return true;
 5765  0 if (jj_3R_204()) return true;
 5766  0 return false;
 5767    }
 5768   
 5769  40 final private boolean jj_3R_202() {
 5770  0 if (jj_3R_204()) return true;
 5771  22 Token xsp;
 5772  22 while (true) {
 5773  22 xsp = jj_scanpos;
 5774  22 if (jj_3R_205()) { jj_scanpos = xsp; break; }
 5775    }
 5776  22 return false;
 5777    }
 5778   
 5779  22 final private boolean jj_3R_203() {
 5780  22 if (jj_scan_token(BIT_AND)) return true;
 5781  0 if (jj_3R_202()) return true;
 5782  0 return false;
 5783    }
 5784   
 5785  0 final private boolean jj_3R_299() {
 5786  0 if (jj_scan_token(THROWS)) return true;
 5787  0 if (jj_3R_305()) return true;
 5788  0 return false;
 5789    }
 5790   
 5791  40 final private boolean jj_3R_200() {
 5792  0 if (jj_3R_202()) return true;
 5793  22 Token xsp;
 5794  22 while (true) {
 5795  22 xsp = jj_scanpos;
 5796  22 if (jj_3R_203()) { jj_scanpos = xsp; break; }
 5797    }
 5798  22 return false;
 5799    }
 5800   
 5801  22 final private boolean jj_3R_201() {
 5802  22 if (jj_scan_token(XOR)) return true;
 5803  0 if (jj_3R_200()) return true;
 5804  0 return false;
 5805    }
 5806   
 5807  9 final private boolean jj_3R_156() {
 5808  0 if (jj_3R_43()) return true;
 5809  9 if (jj_3R_42()) return true;
 5810  0 if (jj_3R_61()) return true;
 5811  0 Token xsp;
 5812  0 xsp = jj_scanpos;
 5813  0 if (jj_3R_299()) jj_scanpos = xsp;
 5814  0 if (jj_3R_76()) return true;
 5815  0 return false;
 5816    }
 5817   
 5818  40 final private boolean jj_3R_185() {
 5819  0 if (jj_3R_200()) return true;
 5820  22 Token xsp;
 5821  22 while (true) {
 5822  22 xsp = jj_scanpos;
 5823  22 if (jj_3R_201()) { jj_scanpos = xsp; break; }
 5824    }
 5825  22 return false;
 5826    }
 5827   
 5828  22 final private boolean jj_3R_186() {
 5829  22 if (jj_scan_token(BIT_OR)) return true;
 5830  0 if (jj_3R_185()) return true;
 5831  0 return false;
 5832    }
 5833   
 5834  40 final private boolean jj_3R_162() {
 5835  0 if (jj_3R_185()) return true;
 5836  22 Token xsp;
 5837  22 while (true) {
 5838  22 xsp = jj_scanpos;
 5839  22 if (jj_3R_186()) { jj_scanpos = xsp; break; }
 5840    }
 5841  22 return false;
 5842    }
 5843   
 5844  22 final private boolean jj_3R_163() {
 5845  22 if (jj_scan_token(SC_AND)) return true;
 5846  0 if (jj_3R_162()) return true;
 5847  0 return false;
 5848    }
 5849   
 5850  427 final private boolean jj_3R_94() {
 5851  427 if (jj_scan_token(FINAL)) return true;
 5852  0 return false;
 5853    }
 5854   
 5855  20 final private boolean jj_3R_69() {
 5856  20 if (jj_3R_48()) return true;
 5857  0 return false;
 5858    }
 5859   
 5860  40 final private boolean jj_3R_151() {
 5861  0 if (jj_3R_162()) return true;
 5862  22 Token xsp;
 5863  22 while (true) {
 5864  22 xsp = jj_scanpos;
 5865  22 if (jj_3R_163()) { jj_scanpos = xsp; break; }
 5866    }
 5867  22 return false;
 5868    }
 5869   
 5870  427 final private boolean jj_3R_78() {
 5871  427 Token xsp;
 5872  427 xsp = jj_scanpos;
 5873  427 if (jj_3R_94()) jj_scanpos = xsp;
 5874  271 if (jj_3R_47()) return true;
 5875  70 if (jj_3R_95()) return true;
 5876  86 return false;
 5877    }
 5878   
 5879  188 final private boolean jj_3R_81() {
 5880  188 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 5881  0 return false;
 5882    }
 5883   
 5884  22 final private boolean jj_3R_152() {
 5885  22 if (jj_scan_token(SC_OR)) return true;
 5886  0 if (jj_3R_151()) return true;
 5887  0 return false;
 5888    }
 5889   
 5890  305 final private boolean jj_3R_67() {
 5891  305 if (jj_3R_85()) return true;
 5892  0 return false;
 5893    }
 5894   
 5895  40 final private boolean jj_3R_124() {
 5896  0 if (jj_3R_151()) return true;
 5897  22 Token xsp;
 5898  22 while (true) {
 5899  22 xsp = jj_scanpos;
 5900  22 if (jj_3R_152()) { jj_scanpos = xsp; break; }
 5901    }
 5902  22 return false;
 5903    }
 5904   
 5905  181 final private boolean jj_3R_79() {
 5906  181 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 5907  0 return false;
 5908    }
 5909   
 5910  22 final private boolean jj_3R_125() {
 5911  22 if (jj_scan_token(HOOK)) return true;
 5912  0 if (jj_3R_88()) return true;
 5913  0 if (jj_scan_token(COLON)) return true;
 5914  0 if (jj_3R_115()) return true;
 5915  0 return false;
 5916    }
 5917   
 5918  24 final private boolean jj_3R_96() {
 5919  18 if (jj_scan_token(COMMA)) return true;
 5920  0 if (jj_3R_78()) return true;
 5921  6 return false;
 5922    }
 5923   
 5924  222 final private boolean jj_3R_80() {
 5925  204 if (jj_3R_78()) return true;
 5926  18 Token xsp;
 5927  18 while (true) {
 5928  24 xsp = jj_scanpos;
 5929  18 if (jj_3R_96()) { jj_scanpos = xsp; break; }
 5930    }
 5931  18 return false;
 5932    }
 5933   
 5934  40 final private boolean jj_3R_115() {
 5935  0 if (jj_3R_124()) return true;
 5936  22 Token xsp;
 5937  22 xsp = jj_scanpos;
 5938  22 if (jj_3R_125()) jj_scanpos = xsp;
 5939  22 return false;
 5940    }
 5941   
 5942  222 final private boolean jj_3R_61() {
 5943  222 Token xsp;
 5944  222 xsp = jj_scanpos;
 5945  222 if (jj_scan_token(78)) {
 5946  181 jj_scanpos = xsp;
 5947  0 if (jj_3R_79()) return true;
 5948    }
 5949  222 xsp = jj_scanpos;
 5950  204 if (jj_3R_80()) jj_scanpos = xsp;
 5951  222 xsp = jj_scanpos;
 5952  222 if (jj_scan_token(79)) {
 5953  188 jj_scanpos = xsp;
 5954  0 if (jj_3R_81()) return true;
 5955    }
 5956  222 return false;
 5957    }
 5958   
 5959  21 final private boolean jj_3R_137() {
 5960  21 if (jj_scan_token(XORASSIGN)) return true;
 5961  0 if (jj_3R_106()) return true;
 5962  0 return false;
 5963    }
 5964   
 5965  21 final private boolean jj_3R_136() {
 5966  21 if (jj_scan_token(ORASSIGN)) return true;
 5967  0 if (jj_3R_106()) return true;
 5968  0 return false;
 5969    }
 5970   
 5971  21 final private boolean jj_3R_135() {
 5972  21 if (jj_scan_token(ANDASSIGN)) return true;
 5973  0 if (jj_3R_106()) return true;
 5974  0 return false;
 5975    }
 5976   
 5977  21 final private boolean jj_3R_134() {
 5978  21 if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
 5979  0 if (jj_3R_106()) return true;
 5980  0 return false;
 5981    }
 5982   
 5983  21 final private boolean jj_3R_133() {
 5984  21 if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
 5985  0 if (jj_3R_106()) return true;
 5986  0 return false;
 5987    }
 5988   
 5989  21 final private boolean jj_3R_132() {
 5990  21 if (jj_scan_token(LSHIFTASSIGN)) return true;
 5991  0 if (jj_3R_106()) return true;
 5992  0 return false;
 5993    }
 5994   
 5995  21 final private boolean jj_3R_131() {
 5996  21 if (jj_scan_token(REMASSIGN)) return true;
 5997  0 if (jj_3R_106()) return true;
 5998  0 return false;
 5999    }
 6000   
 6001  21 final private boolean jj_3R_130() {
 6002  21 if (jj_scan_token(SLASHASSIGN)) return true;
 6003  0 if (jj_3R_106()) return true;
 6004  0 return false;
 6005    }
 6006   
 6007  21 final private boolean jj_3R_129() {
 6008  21 if (jj_scan_token(STARASSIGN)) return true;
 6009  0 if (jj_3R_106()) return true;
 6010  0 return false;
 6011    }
 6012   
 6013  21 final private boolean jj_3R_128() {
 6014  21 if (jj_scan_token(MINUSASSIGN)) return true;
 6015  0 if (jj_3R_106()) return true;
 6016  0 return false;
 6017    }
 6018   
 6019  21 final private boolean jj_3R_127() {
 6020  21 if (jj_scan_token(PLUSASSIGN)) return true;
 6021  0 if (jj_3R_106()) return true;
 6022  0 return false;
 6023    }
 6024   
 6025  1152 final private boolean jj_3R_75() {
 6026  258 if (jj_3R_47()) return true;
 6027  889 return false;
 6028    }
 6029   
 6030  22 final private boolean jj_3R_126() {
 6031  21 if (jj_scan_token(ASSIGN)) return true;
 6032  0 if (jj_3R_106()) return true;
 6033  1 return false;
 6034    }
 6035   
 6036  22 final private boolean jj_3R_116() {
 6037  22 Token xsp;
 6038  22 xsp = jj_scanpos;
 6039  22 if (jj_3R_126()) {
 6040  21 jj_scanpos = xsp;
 6041  21 if (jj_3R_127()) {
 6042  21 jj_scanpos = xsp;
 6043  21 if (jj_3R_128()) {
 6044  21 jj_scanpos = xsp;
 6045  21 if (jj_3R_129()) {
 6046  21 jj_scanpos = xsp;
 6047  21 if (jj_3R_130()) {
 6048  21 jj_scanpos = xsp;
 6049  21 if (jj_3R_131()) {
 6050  21 jj_scanpos = xsp;
 6051  21 if (jj_3R_132()) {
 6052  21 jj_scanpos = xsp;
 6053  21 if (jj_3R_133()) {
 6054  21 jj_scanpos = xsp;
 6055  21 if (jj_3R_134()) {
 6056  21 jj_scanpos = xsp;
 6057  21 if (jj_3R_135()) {
 6058  21 jj_scanpos = xsp;
 6059  21 if (jj_3R_136()) {
 6060  21 jj_scanpos = xsp;
 6061  21 if (jj_3R_137()) return true;
 6062    }
 6063    }
 6064    }
 6065    }
 6066    }
 6067    }
 6068    }
 6069    }
 6070    }
 6071    }
 6072    }
 6073  1 return false;
 6074    }
 6075   
 6076  1186 final private boolean jj_3R_74() {
 6077  1152 if (jj_scan_token(VOID)) return true;
 6078  34 return false;
 6079    }
 6080   
 6081  1186 final private boolean jj_3R_55() {
 6082  1186 Token xsp;
 6083  1186 xsp = jj_scanpos;
 6084  1186 if (jj_3R_74()) {
 6085  1152 jj_scanpos = xsp;
 6086  258 if (jj_3R_75()) return true;
 6087    }
 6088  923 return false;
 6089    }
 6090   
 6091  40 final private boolean jj_3R_106() {
 6092  0 if (jj_3R_115()) return true;
 6093  22 Token xsp;
 6094  22 xsp = jj_scanpos;
 6095  21 if (jj_3R_116()) jj_scanpos = xsp;
 6096  22 return false;
 6097    }
 6098   
 6099  0 final private boolean jj_3_27() {
 6100  0 if (jj_3R_52()) return true;
 6101  0 return false;
 6102    }
 6103   
 6104  0 final private boolean jj_3R_307() {
 6105  0 if (jj_scan_token(COMMA)) return true;
 6106  0 if (jj_3R_49()) return true;
 6107  0 return false;
 6108    }
 6109   
 6110  0 final private boolean jj_3R_305() {
 6111  0 if (jj_3R_49()) return true;
 6112  0 Token xsp;
 6113  0 while (true) {
 6114  0 xsp = jj_scanpos;
 6115  0 if (jj_3R_307()) { jj_scanpos = xsp; break; }
 6116    }
 6117  0 return false;
 6118    }
 6119   
 6120  295 final private boolean jj_3R_68() {
 6121  207 if (jj_3R_86()) return true;
 6122  88 return false;
 6123    }
 6124   
 6125  39 final private boolean jj_3R_88() {
 6126  0 if (jj_3R_106()) return true;
 6127  21 return false;
 6128    }
 6129   
 6130  0 final private boolean jj_3R_296() {
 6131  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 6132  0 return false;
 6133    }
 6134   
 6135  0 final private boolean jj_3R_182() {
 6136  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 6137  0 return false;
 6138    }
 6139   
 6140  9 final private boolean jj_3R_157() {
 6141  0 if (jj_3R_43()) return true;
 6142  9 if (jj_3R_167()) return true;
 6143  0 return false;
 6144    }
 6145   
 6146  305 final private boolean jj_3R_52() {
 6147  305 Token xsp;
 6148  305 xsp = jj_scanpos;
 6149  305 if (jj_scan_token(87)) {
 6150  305 jj_scanpos = xsp;
 6151  305 if (jj_scan_token(118)) {
 6152  305 jj_scanpos = xsp;
 6153  305 if (jj_scan_token(119)) {
 6154  305 jj_scanpos = xsp;
 6155  305 if (jj_scan_token(120)) {
 6156  305 jj_scanpos = xsp;
 6157  305 if (jj_scan_token(121)) {
 6158  305 jj_scanpos = xsp;
 6159  305 if (jj_scan_token(125)) {
 6160  305 jj_scanpos = xsp;
 6161  305 if (jj_scan_token(126)) {
 6162  305 jj_scanpos = xsp;
 6163  305 if (jj_scan_token(127)) {
 6164  305 jj_scanpos = xsp;
 6165  305 if (jj_scan_token(128)) {
 6166  305 jj_scanpos = xsp;
 6167  305 if (jj_scan_token(122)) {
 6168  305 jj_scanpos = xsp;
 6169  305 if (jj_scan_token(123)) {
 6170  305 jj_scanpos = xsp;
 6171  305 if (jj_scan_token(124)) {
 6172  305 jj_scanpos = xsp;
 6173  305 if (jj_scan_token(92)) {
 6174  305 jj_scanpos = xsp;
 6175  305 if (jj_scan_token(98)) {
 6176  305 jj_scanpos = xsp;
 6177  305 if (jj_scan_token(99)) {
 6178  305 jj_scanpos = xsp;
 6179  305 if (jj_scan_token(107)) {
 6180  305 jj_scanpos = xsp;
 6181  305 if (jj_scan_token(108)) {
 6182  305 jj_scanpos = xsp;
 6183  305 if (jj_scan_token(106)) {
 6184  305 jj_scanpos = xsp;
 6185  305 if (jj_scan_token(94)) {
 6186  305 jj_scanpos = xsp;
 6187  305 if (jj_scan_token(97)) {
 6188  305 jj_scanpos = xsp;
 6189  305 if (jj_scan_token(89)) {
 6190  305 jj_scanpos = xsp;
 6191  305 if (jj_scan_token(95)) {
 6192  305 jj_scanpos = xsp;
 6193  305 if (jj_scan_token(88)) {
 6194  305 jj_scanpos = xsp;
 6195  305 if (jj_scan_token(96)) {
 6196  305 jj_scanpos = xsp;
 6197  305 if (jj_scan_token(37)) {
 6198  305 jj_scanpos = xsp;
 6199  305 if (jj_scan_token(110)) {
 6200  305 jj_scanpos = xsp;
 6201  305 if (jj_3R_67()) {
 6202  305 jj_scanpos = xsp;
 6203  305 if (jj_scan_token(102)) {
 6204  305 jj_scanpos = xsp;
 6205  305 if (jj_scan_token(103)) {
 6206  305 jj_scanpos = xsp;
 6207  305 if (jj_scan_token(104)) {
 6208  305 jj_scanpos = xsp;
 6209  305 if (jj_scan_token(105)) {
 6210  305 jj_scanpos = xsp;
 6211  305 if (jj_scan_token(109)) {
 6212  305 jj_scanpos = xsp;
 6213  305 if (jj_scan_token(100)) {
 6214  305 jj_scanpos = xsp;
 6215  305 if (jj_scan_token(101)) {
 6216  305 jj_scanpos = xsp;
 6217  305 if (jj_scan_token(91)) {
 6218  304 jj_scanpos = xsp;
 6219  304 if (jj_scan_token(90)) {
 6220  304 jj_scanpos = xsp;
 6221  304 if (jj_scan_token(78)) {
 6222  295 jj_scanpos = xsp;
 6223  295 if (jj_3R_68()) {
 6224  207 jj_scanpos = xsp;
 6225  207 if (jj_scan_token(42)) {
 6226  191 jj_scanpos = xsp;
 6227  191 if (jj_scan_token(55)) {
 6228  191 jj_scanpos = xsp;
 6229  191 if (jj_scan_token(52)) {
 6230  187 jj_scanpos = xsp;
 6231  187 if (jj_scan_token(77)) {
 6232  20 jj_scanpos = xsp;
 6233  20 if (jj_3R_69()) return true;
 6234    }
 6235    }
 6236    }
 6237    }
 6238    }
 6239    }
 6240    }
 6241    }
 6242    }
 6243    }
 6244    }
 6245    }
 6246    }
 6247    }
 6248    }
 6249    }
 6250    }
 6251    }
 6252    }
 6253    }
 6254    }
 6255    }
 6256    }
 6257    }
 6258    }
 6259    }
 6260    }
 6261    }
 6262    }
 6263    }
 6264    }
 6265    }
 6266    }
 6267    }
 6268    }
 6269    }
 6270    }
 6271    }
 6272    }
 6273    }
 6274    }
 6275    }
 6276  285 return false;
 6277    }
 6278   
 6279  34 final private boolean jj_3_26() {
 6280  14 if (jj_scan_token(COMMA)) return true;
 6281  0 if (jj_3R_53()) return true;
 6282  0 return false;
 6283    }
 6284   
 6285  27 final private boolean jj_3R_87() {
 6286  24 if (jj_scan_token(LBRACE)) return true;
 6287  0 if (jj_3R_53()) return true;
 6288  1 Token xsp;
 6289  1 while (true) {
 6290  1 xsp = jj_scanpos;
 6291  1 if (jj_3_26()) { jj_scanpos = xsp; break; }
 6292    }
 6293  1 xsp = jj_scanpos;
 6294  1 if (jj_scan_token(85)) jj_scanpos = xsp;
 6295  1 xsp = jj_scanpos;
 6296  1 if (jj_scan_token(81)) {
 6297  0 jj_scanpos = xsp;
 6298  0 if (jj_3R_182()) return true;
 6299    }
 6300  1 return false;
 6301    }
 6302   
 6303  3 final private boolean jj_3R_298() {
 6304  3 if (jj_scan_token(THROWS)) return true;
 6305  0 if (jj_3R_305()) return true;
 6306  0 return false;
 6307    }
 6308   
 6309  24 final private boolean jj_3R_71() {
 6310  0 if (jj_3R_88()) return true;
 6311  6 return false;
 6312    }
 6313   
 6314  184 final private boolean jj_3_10() {
 6315  184 if (jj_scan_token(LBRACKET)) return true;
 6316  0 return false;
 6317    }
 6318   
 6319  27 final private boolean jj_3R_70() {
 6320  24 if (jj_3R_87()) return true;
 6321  1 return false;
 6322    }
 6323   
 6324  27 final private boolean jj_3R_53() {
 6325  27 Token xsp;
 6326  27 xsp = jj_scanpos;
 6327  27 if (jj_3R_70()) {
 6328  24 jj_scanpos = xsp;
 6329  0 if (jj_3R_71()) return true;
 6330    }
 6331  7 return false;
 6332    }
 6333   
 6334  3 final private boolean jj_3R_297() {
 6335  3 if (jj_scan_token(LBRACKET)) return true;
 6336  0 if (jj_scan_token(RBRACKET)) return true;
 6337  0 return false;
 6338    }
 6339   
 6340  0 final private boolean jj_3R_345() {
 6341  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 6342  0 return false;
 6343    }
 6344   
 6345  5 final private boolean jj_3R_285() {
 6346  5 if (jj_scan_token(COMMA)) return true;
 6347  0 if (jj_3R_88()) return true;
 6348  0 return false;
 6349    }
 6350   
 6351  5 final private boolean jj_3R_280() {
 6352  0 if (jj_3R_88()) return true;
 6353  5 Token xsp;
 6354  5 while (true) {
 6355  5 xsp = jj_scanpos;
 6356  5 if (jj_3R_285()) { jj_scanpos = xsp; break; }
 6357    }
 6358  5 return false;
 6359    }
 6360   
 6361  17 final private boolean jj_3R_166() {
 6362  17 if (jj_3R_77()) return true;
 6363  0 return false;
 6364    }
 6365   
 6366  86 final private boolean jj_3R_111() {
 6367  80 if (jj_scan_token(ASSIGN)) return true;
 6368  0 if (jj_3R_53()) return true;
 6369  6 return false;
 6370    }
 6371   
 6372  17 final private boolean jj_3R_155() {
 6373  0 if (jj_3R_43()) return true;
 6374  17 Token xsp;
 6375  17 xsp = jj_scanpos;
 6376  17 if (jj_3R_166()) jj_scanpos = xsp;
 6377  9 if (jj_3R_55()) return true;
 6378  0 if (jj_3R_42()) return true;
 6379  0 if (jj_3R_61()) return true;
 6380  3 while (true) {
 6381  3 xsp = jj_scanpos;
 6382  3 if (jj_3R_297()) { jj_scanpos = xsp; break; }
 6383    }
 6384  3 xsp = jj_scanpos;
 6385  3 if (jj_3R_298()) jj_scanpos = xsp;
 6386  3 return false;
 6387    }
 6388   
 6389  86 final private boolean jj_3R_110() {
 6390  86 if (jj_scan_token(LBRACKET)) return true;
 6391  0 if (jj_scan_token(RBRACKET)) return true;
 6392  0 return false;
 6393    }
 6394   
 6395  6 final private boolean jj_3R_270() {
 6396  1 if (jj_scan_token(LPAREN)) return true;
 6397  0 if (jj_3R_280()) return true;
 6398  0 if (jj_scan_token(RPAREN)) return true;
 6399  5 return false;
 6400    }
 6401   
 6402  156 final private boolean jj_3R_95() {
 6403  70 if (jj_3R_42()) return true;
 6404  86 Token xsp;
 6405  86 while (true) {
 6406  86 xsp = jj_scanpos;
 6407  86 if (jj_3R_110()) { jj_scanpos = xsp; break; }
 6408    }
 6409  86 xsp = jj_scanpos;
 6410  80 if (jj_3R_111()) jj_scanpos = xsp;
 6411  86 return false;
 6412    }
 6413   
 6414  327 final private boolean jj_3R_99() {
 6415  327 if (jj_scan_token(RUSHIFT1)) return true;
 6416  0 if (jj_scan_token(RUSHIFT2)) return true;
 6417  0 if (jj_scan_token(RUSHIFT3)) return true;
 6418  0 return false;
 6419    }
 6420   
 6421  557 final private boolean jj_3_9() {
 6422  0 if (jj_3R_43()) return true;
 6423  228 if (jj_3R_47()) return true;
 6424  112 if (jj_scan_token(IDENTIFIER)) return true;
 6425  217 return false;
 6426    }
 6427   
 6428  588 final private boolean jj_3_8() {
 6429  557 if (jj_3R_46()) return true;
 6430  31 return false;
 6431    }
 6432   
 6433  787 final private boolean jj_3_7() {
 6434  588 if (jj_3R_45()) return true;
 6435  199 return false;
 6436    }
 6437   
 6438  327 final private boolean jj_3R_98() {
 6439  327 if (jj_scan_token(RSSHIFT1)) return true;
 6440  0 if (jj_scan_token(RSSHIFT2)) return true;
 6441  0 return false;
 6442    }
 6443   
 6444  327 final private boolean jj_3R_85() {
 6445  327 Token xsp;
 6446  327 xsp = jj_scanpos;
 6447  327 if (jj_3R_98()) {
 6448  327 jj_scanpos = xsp;
 6449  327 if (jj_3R_99()) return true;
 6450    }
 6451  0 return false;
 6452    }
 6453   
 6454  786 final private boolean jj_3_5() {
 6455  0 if (jj_3R_43()) return true;
 6456  781 if (jj_scan_token(INTERFACE)) return true;
 6457  5 return false;
 6458    }
 6459   
 6460  815 final private boolean jj_3_4() {
 6461  0 if (jj_3R_43()) return true;
 6462  786 if (jj_scan_token(CLASS)) return true;
 6463  29 return false;
 6464    }
 6465   
 6466  582 final private boolean jj_3R_42() {
 6467  345 if (jj_scan_token(IDENTIFIER)) return true;
 6468  204 return false;
 6469    }
 6470   
 6471  9 final private boolean jj_3R_143() {
 6472  6 if (jj_3R_158()) return true;
 6473  3 return false;
 6474    }
 6475   
 6476  9 final private boolean jj_3R_142() {
 6477  9 if (jj_3R_157()) return true;
 6478  0 Token xsp;
 6479  0 xsp = jj_scanpos;
 6480  0 if (jj_scan_token(84)) {
 6481  0 jj_scanpos = xsp;
 6482  0 if (jj_3R_296()) return true;
 6483    }
 6484  0 return false;
 6485    }
 6486   
 6487  9 final private boolean jj_3R_141() {
 6488  9 if (jj_3R_156()) return true;
 6489  0 return false;
 6490    }
 6491   
 6492  17 final private boolean jj_3R_140() {
 6493  9 if (jj_3R_155()) return true;
 6494  3 return false;
 6495    }
 6496   
 6497  801 final private boolean jj_3_6() {
 6498  792 if (jj_3R_44()) return true;
 6499  3 return false;
 6500    }
 6501   
 6502  20 final private boolean jj_3R_139() {
 6503  20 if (jj_3R_154()) return true;
 6504  0 return false;
 6505    }
 6506   
 6507  21 final private boolean jj_3R_138() {
 6508  20 if (jj_3R_153()) return true;
 6509  0 return false;
 6510    }
 6511   
 6512  234 final private boolean jj_3R_123() {
 6513  231 if (jj_scan_token(FALSE)) return true;
 6514  3 return false;
 6515    }
 6516   
 6517  239 final private boolean jj_3R_122() {
 6518  234 if (jj_scan_token(TRUE)) return true;
 6519  5 return false;
 6520    }
 6521   
 6522  239 final private boolean jj_3R_114() {
 6523  239 Token xsp;
 6524  239 xsp = jj_scanpos;
 6525  239 if (jj_3R_122()) {
 6526  234 jj_scanpos = xsp;
 6527  231 if (jj_3R_123()) return true;
 6528    }
 6529  8 return false;
 6530    }
 6531   
 6532  21 final private boolean jj_3R_117() {
 6533  21 Token xsp;
 6534  21 xsp = jj_scanpos;
 6535  20 if (jj_3R_138()) {
 6536  20 jj_scanpos = xsp;
 6537  20 if (jj_3R_139()) {
 6538  20 jj_scanpos = xsp;
 6539  20 if (jj_3_6()) {
 6540  17 jj_scanpos = xsp;
 6541  17 if (jj_3R_140()) {
 6542  9 jj_scanpos = xsp;
 6543  9 if (jj_3R_141()) {
 6544  9 jj_scanpos = xsp;
 6545  9 if (jj_3R_142()) {
 6546  9 jj_scanpos = xsp;
 6547  6 if (jj_3R_143()) return true;
 6548    }
 6549    }
 6550    }
 6551    }
 6552    }
 6553    }
 6554  9 return false;
 6555    }
 6556   
 6557  0 final private boolean jj_3R_306() {
 6558  0 if (jj_scan_token(COMMA)) return true;
 6559  0 if (jj_3R_95()) return true;
 6560  0 return false;
 6561    }
 6562   
 6563  21 final private boolean jj_3R_107() {
 6564  6 if (jj_3R_117()) return true;
 6565  9 return false;
 6566    }
 6567   
 6568  0 final private boolean jj_3R_342() {
 6569  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 6570  0 return false;
 6571    }
 6572   
 6573  12 final private boolean jj_3R_90() {
 6574  12 Token xsp;
 6575  12 while (true) {
 6576  21 xsp = jj_scanpos;
 6577  6 if (jj_3R_107()) { jj_scanpos = xsp; break; }
 6578    }
 6579  6 return false;
 6580    }
 6581   
 6582  259 final private boolean jj_3R_121() {
 6583  259 if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
 6584  0 return false;
 6585    }
 6586   
 6587  0 final private boolean jj_3R_344() {
 6588  0 if (true) { jj_la = 0; jj_scanpos = jj_lastpos; return false;}
 6589  0 return false;
 6590    }
 6591   
 6592  9 final private boolean jj_3R_167() {
 6593  9 if (jj_3R_47()) return true;
 6594  0 if (jj_3R_95()) return true;
 6595  0 Token xsp;
 6596  0 while (true) {
 6597  0 xsp = jj_scanpos;
 6598  0 if (jj_3R_306()) { jj_scanpos = xsp; break; }
 6599    }
 6600  0 return false;
 6601    }
 6602   
 6603  815 final private boolean jj_3R_76() {
 6604  803 if (jj_scan_token(LBRACE)) return true;
 6605  0 if (jj_3R_90()) return true;
 6606  0 if (jj_scan_token(RBRACE)) return true;
 6607  6 return false;
 6608    }
 6609   
 6610  261 final private boolean jj_3R_120() {
 6611  259 if (jj_scan_token(DOUBLE_FLOATING_POINT_LITERAL)) return true;
 6612  0 return false;
 6613    }
 6614   
 6615  261 final private boolean jj_3R_113() {
 6616  261 Token xsp;
 6617  261 xsp = jj_scanpos;
 6618  259 if (jj_3R_120()) {
 6619  259 jj_scanpos = xsp;
 6620  259 if (jj_3R_121()) return true;
 6621    }
 6622  0 return false;
 6623    }
 6624   
 6625  6 final private boolean jj_3R_199() {
 6626  6 if (jj_scan_token(SEMICOLON)) return true;
 6627  0 return false;
 6628    }
 6629   
 6630  261 final private boolean jj_3R_150() {
 6631  261 if (jj_scan_token(LONG_HEX_LITERAL)) return true;
 6632  0 return false;
 6633    }
 6634   
 6635  261 final private boolean jj_3R_149() {
 6636  261 if (jj_scan_token(LONG_OCTAL_LITERAL)) return true;
 6637  0 return false;
 6638    }
 6639   
 6640  20 final private boolean jj_3R_154() {
 6641  0 if (jj_3R_43()) return true;
 6642  20 if (jj_3R_165()) return true;
 6643  0 return false;
 6644    }
 6645   
 6646  261 final private boolean jj_3R_148() {
 6647  261 if (jj_scan_token(LONG_DECIMAL_LITERAL)) return