/* * Cobertura - http://cobertura.sourceforge.net/ * * This file was taken from JavaNCSS * http://www.kclee.com/clemens/java/javancss/ * Copyright (C) 2000 Chr. Clemens Lee <clemens a.t kclee d.o.t com> * * Cobertura is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, * or (at your option) any later version. * * Cobertura is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cobertura; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ /* * * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING * * WARNING TO COBERTURA DEVELOPERS * * DO NOT MODIFY THIS FILE! * * MODIFY THE FILES UNDER THE JAVANCSS DIRECTORY LOCATED AT THE ROOT OF THE COBERTURA PROJECT. * * FOLLOW THE PROCEDURE FOR MERGING THE LATEST JAVANCSS INTO COBERTURA LOCATED AT * javancss/coberturaREADME.txt * * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING */ /* Generated By:JavaCC: Do not edit this line. JavaParser15.java */ package net.sourceforge.cobertura.javancss.parser.java15; import net.sourceforge.cobertura.javancss.FunctionMetric; import net.sourceforge.cobertura.javancss.PackageMetric; import net.sourceforge.cobertura.javancss.parser.JavaParserInterface; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static net.sourceforge.cobertura.javancss.parser.java15.JavaParser15Constants.*; /** * Grammar to parse Java version 1.5 * * @author Sreenivasa Viswanadha - Simplified and enhanced for 1.5 */ public class JavaParser15 implements JavaParserInterface { private List<FunctionMetric> _vFunctions = new ArrayList<FunctionMetric>(); private List _vImports = new ArrayList(); private Map<String, PackageMetric> _htPackage = new HashMap<String, PackageMetric>(); public void parse() throws Exception { compilationUnit(); } public List<FunctionMetric> getFunction() { return _vFunctions; } /** * @return The empty package consists of the name ".". */ public Map<String, PackageMetric> getPackage() { return _htPackage; } public List getImports() { return _vImports; } /** * if javancss is used with cat *.java a long * input stream might get generated, so line * number information in case of an parse exception * is not very useful. */ public String getLastFunction() { return ""; } /** * Class to hold modifiers. */ static public final class ModifierSet { /* Definitions of the bits in the modifiers field. */ public static final int PUBLIC = 0x0001; public static final int PROTECTED = 0x0002; public static final int PRIVATE = 0x0004; public static final int ABSTRACT = 0x0008; public static final int STATIC = 0x0010; public static final int FINAL = 0x0020; public static final int SYNCHRONIZED = 0x0040; public static final int NATIVE = 0x0080; public static final int TRANSIENT = 0x0100; public static final int VOLATILE = 0x0200; public static final int STRICTFP = 0x1000; } public static void main(String args[]) { JavaParser15 parser; if (args.length == 0) { System.out.println("Java Parser Version 1.5: Reading from standard input . . ."); parser = new JavaParser15(System.in); } else if (args.length == 1) { System.out.println("Java Parser Version 1.5: Reading from file " + args[0] + " . . ."); try { parser = new JavaParser15(new java.io.FileInputStream(args[0])); } catch (java.io.FileNotFoundException e) { System.out.println("Java Parser Version 1.5: File " + args[0] + " not found."); return; } } else { System.out.println("Java Parser Version 1.5: Usage is one of:"); System.out.println(" java javancss.parser.java15.JavaParser15 < inputfile"); System.out.println("OR"); System.out.println(" java javancss.parser.java15.JavaParser15 inputfile"); return; } try { parser.compilationUnit(); System.out.println("Java Parser Version 1.1: Java program parsed successfully."); } catch (ParseException e) { System.out.println(e.getMessage()); System.out.println("Java Parser Version 1.1: Encountered errors during parse."); } } /** * ************************************** * THE JAVA LANGUAGE GRAMMAR STARTS HERE * * *************************************** */ /* * Program structuring syntax follows. */ final public void compilationUnit() throws ParseException { if (jj_2_1(2147483647)) { PackageDeclaration(); } while (currentTokenType() == IMPORT) { ImportDeclaration(); } boolean stop = false; while (!stop) { switch (currentTokenType()) { case ABSTRACT: case CLASS: case ENUM: case FINAL: case INTERFACE: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case SEMICOLON: case AT: break; default: stop = true; } TypeDeclaration(); } switch (currentTokenType()) { case 127: jj_consume_token(127); break; default: } switch (currentTokenType()) { case STUFF_TO_IGNORE: jj_consume_token(STUFF_TO_IGNORE); break; default: } jj_consume_token(0); } final public void PackageDeclaration() throws ParseException { Modifiers(); jj_consume_token(PACKAGE); Name(); jj_consume_token(SEMICOLON); } final public void ImportDeclaration() throws ParseException { jj_consume_token(IMPORT); switch (currentTokenType()) { case STATIC: jj_consume_token(STATIC); break; default: } Name(); switch (currentTokenType()) { case DOT: jj_consume_token(DOT); jj_consume_token(STAR); break; default: } jj_consume_token(SEMICOLON); } /* * Modifiers. We match all modifiers in a single rule to reduce the chances of * syntax errors for simple modifier mistakes. It will also enable us to give * better error messages. */ final public int Modifiers() throws ParseException { int modifiers = 0; while (!jj_2_2(2)) { switch (currentTokenType()) { case PUBLIC: jj_consume_token(PUBLIC); modifiers |= ModifierSet.PUBLIC; break; case STATIC: jj_consume_token(STATIC); modifiers |= ModifierSet.STATIC; break; case PROTECTED: jj_consume_token(PROTECTED); modifiers |= ModifierSet.PROTECTED; break; case PRIVATE: jj_consume_token(PRIVATE); modifiers |= ModifierSet.PRIVATE; break; case FINAL: jj_consume_token(FINAL); modifiers |= ModifierSet.FINAL; break; case ABSTRACT: jj_consume_token(ABSTRACT); modifiers |= ModifierSet.ABSTRACT; break; case SYNCHRONIZED: jj_consume_token(SYNCHRONIZED); modifiers |= ModifierSet.SYNCHRONIZED; break; case NATIVE: jj_consume_token(NATIVE); modifiers |= ModifierSet.NATIVE; break; case TRANSIENT: jj_consume_token(TRANSIENT); modifiers |= ModifierSet.TRANSIENT; break; case VOLATILE: jj_consume_token(VOLATILE); modifiers |= ModifierSet.VOLATILE; break; case STRICTFP: jj_consume_token(STRICTFP); modifiers |= ModifierSet.STRICTFP; break; case AT: Annotation(); break; default: jj_consume_token(-1); throw new ParseException(); } } return modifiers; } /* * Declaration syntax follows. */ final public void TypeDeclaration() throws ParseException { switch (currentTokenType()) { case SEMICOLON: jj_consume_token(SEMICOLON); break; case ABSTRACT: case CLASS: case ENUM: case FINAL: case INTERFACE: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case AT: switch (currentTokenType()) { case CLASS: case INTERFACE: ClassOrInterfaceDeclaration(); break; case ENUM: EnumDeclaration(); break; case AT: AnnotationTypeDeclaration(); break; default: jj_consume_token(-1); throw new ParseException(); } break; default: jj_consume_token(-1); throw new ParseException(); } } final public void ClassOrInterfaceDeclaration() throws ParseException { boolean isInterface = false; switch (currentTokenType()) { case CLASS: jj_consume_token(CLASS); break; case INTERFACE: jj_consume_token(INTERFACE); isInterface = true; break; default: jj_consume_token(-1); throw new ParseException(); } jj_consume_token(IDENTIFIER); switch (currentTokenType()) { case LT: TypeParameters(); break; default: } switch (currentTokenType()) { case EXTENDS: ExtendsList(isInterface); break; default: } switch (currentTokenType()) { case IMPLEMENTS: ImplementsList(isInterface); break; default: } ClassOrInterfaceBody(isInterface); } final public void ExtendsList(boolean isInterface) throws ParseException { boolean extendsMoreThanOne = false; jj_consume_token(EXTENDS); ClassOrInterfaceType(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); ClassOrInterfaceType(); extendsMoreThanOne = true; } if (extendsMoreThanOne && !isInterface) { throw new ParseException("A class cannot extend more than one other class"); } } final public void ImplementsList(boolean isInterface) throws ParseException { jj_consume_token(IMPLEMENTS); ClassOrInterfaceType(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); ClassOrInterfaceType(); } if (isInterface) { throw new ParseException("An interface cannot implement other interfaces"); } } final public void EnumDeclaration() throws ParseException { jj_consume_token(ENUM); jj_consume_token(IDENTIFIER); switch (currentTokenType()) { case IMPLEMENTS: ImplementsList(false); break; default: } EnumBody(); } private static boolean isIdentifier(int type) { switch (type) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case INT: case INTERFACE: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOID: case VOLATILE: case IDENTIFIER: case LBRACE: case SEMICOLON: case AT: case LT: return true; default: return false; } } final public void EnumBody() throws ParseException { jj_consume_token(LBRACE); switch (currentTokenType()) { case ABSTRACT: case FINAL: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case IDENTIFIER: case AT: EnumConstant(); while (!jj_2_3(2)) { jj_consume_token(COMMA); EnumConstant(); } break; default: } switch (currentTokenType()) { case COMMA: jj_consume_token(COMMA); break; default: } switch (currentTokenType()) { case SEMICOLON: jj_consume_token(SEMICOLON); while (isIdentifier(currentTokenType())) { ClassOrInterfaceBodyDeclaration(false); } break; default: } jj_consume_token(RBRACE); } final public void EnumConstant() throws ParseException { Modifiers(); jj_consume_token(IDENTIFIER); switch (currentTokenType()) { case LPAREN: Arguments(); break; default: } switch (currentTokenType()) { case LBRACE: ClassOrInterfaceBody(false); break; default: } } final public void TypeParameters() throws ParseException { jj_consume_token(LT); // Add support for diamond operator if ((currentTokenType()) != GT) { TypeParameter(); while ((currentTokenType()) == COMMA) { jj_consume_token(COMMA); TypeParameter(); } } jj_consume_token(GT); } final public void TypeParameter() throws ParseException { jj_consume_token(IDENTIFIER); switch (currentTokenType()) { case EXTENDS: TypeBound(); break; default: } } final public void TypeBound() throws ParseException { jj_consume_token(EXTENDS); ClassOrInterfaceType(); while (currentTokenType() == BIT_AND) { jj_consume_token(BIT_AND); ClassOrInterfaceType(); } } final public void ClassOrInterfaceBody(boolean isInterface) throws ParseException { jj_consume_token(LBRACE); boolean shouldContinue = true; while (shouldContinue) { switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case INT: case INTERFACE: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOID: case VOLATILE: case IDENTIFIER: case LBRACE: case SEMICOLON: case AT: case LT: break; default: shouldContinue = false; } if (shouldContinue) { ClassOrInterfaceBodyDeclaration(isInterface); } } jj_consume_token(RBRACE); } final public void ClassOrInterfaceBodyDeclaration(boolean isInterface) throws ParseException { // boolean isNestedInterface = false; if (jj_2_6(2)) { Initializer(); if (isInterface) { throw new ParseException("An interface cannot have initializers"); } } else { switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case INT: case INTERFACE: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOID: case VOLATILE: case IDENTIFIER: case AT: case LT: switch (currentTokenType()) { case CLASS: case INTERFACE: ClassOrInterfaceDeclaration(); break; case ENUM: EnumDeclaration(); break; default: if (jj_2_4(2147483647)) { ConstructorDeclaration(); } else if (jj_2_5(2147483647)) { FieldDeclaration(); } else { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: case VOID: case IDENTIFIER: case LT: MethodDeclaration(); break; default: jj_consume_token(-1); throw new ParseException(); } } } break; case SEMICOLON: jj_consume_token(SEMICOLON); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void FieldDeclaration() throws ParseException { Type(); VariableDeclarator(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); VariableDeclarator(); } jj_consume_token(SEMICOLON); } final public void VariableDeclarator() throws ParseException { VariableDeclaratorId(); switch (currentTokenType()) { case ASSIGN: jj_consume_token(ASSIGN); VariableInitializer(); break; default: } } final public void VariableDeclaratorId() throws ParseException { jj_consume_token(IDENTIFIER); while (currentTokenType() == LBRACKET) { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } } final public void VariableInitializer() throws ParseException { switch (currentTokenType()) { case LBRACE: ArrayInitializer(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: Expression(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void ArrayInitializer() throws ParseException { jj_consume_token(LBRACE); switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case LBRACE: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: VariableInitializer(); while (!jj_2_7(2)) { jj_consume_token(COMMA); VariableInitializer(); } break; default: } switch (currentTokenType()) { case COMMA: jj_consume_token(COMMA); break; default: } jj_consume_token(RBRACE); } final public void MethodDeclaration() throws ParseException { switch (currentTokenType()) { case LT: TypeParameters(); break; default: } ResultType(); MethodDeclarator(); switch (currentTokenType()) { case THROWS: jj_consume_token(THROWS); NameList(); break; default: } switch (currentTokenType()) { case LBRACE: Block(); break; case SEMICOLON: jj_consume_token(SEMICOLON); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void MethodDeclarator() throws ParseException { jj_consume_token(IDENTIFIER); FormalParameters(); while (currentTokenType() == LBRACKET) { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } } final public void FormalParameters() throws ParseException { jj_consume_token(LPAREN); switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FINAL: case FLOAT: case INT: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case IDENTIFIER: case AT: FormalParameter(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); FormalParameter(); } break; default: } jj_consume_token(RPAREN); } final public void FormalParameter() throws ParseException { Modifiers(); Type(); switch (currentTokenType()) { case ELLIPSIS: jj_consume_token(ELLIPSIS); break; default: } VariableDeclaratorId(); } private static boolean isKeyword(int type) { switch (type) { case ABSTRACT: case ASSERT: case BOOLEAN: case BREAK: // case BYTE: case CHAR: case CLASS: case CONTINUE: case DO: case DOUBLE: case FALSE: case FINAL: case FLOAT: case FOR: case IF: case INT: case INTERFACE: case LONG: case NATIVE: case NEW: case NULL: case PRIVATE: case PROTECTED: case PUBLIC: case RETURN: case SHORT: case STATIC: case STRICTFP: case SUPER: case SWITCH: case SYNCHRONIZED: case THIS: case THROW: case TRANSIENT: case TRUE: case TRY: case VOID: case VOLATILE: case WHILE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case LBRACE: case SEMICOLON: case AT: case INCR: case DECR: return true; default: return false; } } final public void ConstructorDeclaration() throws ParseException { switch (currentTokenType()) { case LT: TypeParameters(); break; default: } jj_consume_token(IDENTIFIER); FormalParameters(); switch (currentTokenType()) { case THROWS: jj_consume_token(THROWS); NameList(); break; default: } jj_consume_token(LBRACE); if (jj_2_8(2147483647)) { ExplicitConstructorInvocation(); } while (isKeyword(currentTokenType())) { BlockStatement(); } jj_consume_token(RBRACE); } final public void ExplicitConstructorInvocation() throws ParseException { while (currentTokenType() == IDENTIFIER) { jj_consume_token(IDENTIFIER); jj_consume_token(DOT); } if (jj_2_9(2)) { jj_consume_token(THIS); jj_consume_token(DOT); } switch (currentTokenType()) { case LT: TypeArguments(); break; default: } switch (currentTokenType()) { case THIS: jj_consume_token(THIS); break; case SUPER: jj_consume_token(SUPER); break; default: jj_consume_token(-1); throw new ParseException(); } Arguments(); jj_consume_token(SEMICOLON); } final public void Initializer() throws ParseException { switch (currentTokenType()) { case STATIC: jj_consume_token(STATIC); break; default: } Block(); } /* * Type, name and expression syntax follows. */ final public void Type() throws ParseException { if (jj_2_10(2)) { ReferenceType(); } else { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: PrimitiveType(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void ReferenceType() throws ParseException { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: PrimitiveType(); do { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } while (jj_2_11(2)); break; case IDENTIFIER: ClassOrInterfaceType(); while (!jj_2_12(2)) { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } break; default: jj_consume_token(-1); throw new ParseException(); } } final public void ClassOrInterfaceType() throws ParseException { jj_consume_token(IDENTIFIER); if (jj_2_13(2)) { TypeArguments(); } while (!jj_2_14(2)) { jj_consume_token(DOT); jj_consume_token(IDENTIFIER); if (jj_2_15(2)) { TypeArguments(); } } } final public void TypeArguments() throws ParseException { jj_consume_token(LT); TypeArgument(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); TypeArgument(); } jj_consume_token(GT); } final public void TypeArgument() throws ParseException { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: case IDENTIFIER: ReferenceType(); break; case HOOK: jj_consume_token(HOOK); switch (currentTokenType()) { case EXTENDS: case SUPER: WildcardBounds(); break; default: } break; default: jj_consume_token(-1); throw new ParseException(); } } final public void WildcardBounds() throws ParseException { switch (currentTokenType()) { case EXTENDS: jj_consume_token(EXTENDS); ReferenceType(); break; case SUPER: jj_consume_token(SUPER); ReferenceType(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void PrimitiveType() throws ParseException { switch (currentTokenType()) { case BOOLEAN: jj_consume_token(BOOLEAN); break; case CHAR: jj_consume_token(CHAR); break; case BYTE: jj_consume_token(BYTE); break; case SHORT: jj_consume_token(SHORT); break; case INT: jj_consume_token(INT); break; case LONG: jj_consume_token(LONG); break; case FLOAT: jj_consume_token(FLOAT); break; case DOUBLE: jj_consume_token(DOUBLE); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void ResultType() throws ParseException { switch (currentTokenType()) { case VOID: jj_consume_token(VOID); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: case IDENTIFIER: Type(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void Name() throws ParseException { jj_consume_token(IDENTIFIER); while (!jj_2_16(2)) { jj_consume_token(DOT); jj_consume_token(IDENTIFIER); } } final public void NameList() throws ParseException { Name(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); Name(); } } /* * Expression syntax follows. */ final public void Expression() throws ParseException { ConditionalExpression(); if (jj_2_17(2)) { AssignmentOperator(); Expression(); } } final public void AssignmentOperator() throws ParseException { switch (currentTokenType()) { case ASSIGN: jj_consume_token(ASSIGN); break; case STARASSIGN: jj_consume_token(STARASSIGN); break; case SLASHASSIGN: jj_consume_token(SLASHASSIGN); break; case REMASSIGN: jj_consume_token(REMASSIGN); break; case PLUSASSIGN: jj_consume_token(PLUSASSIGN); break; case MINUSASSIGN: jj_consume_token(MINUSASSIGN); break; case LSHIFTASSIGN: jj_consume_token(LSHIFTASSIGN); break; case RSIGNEDSHIFTASSIGN: jj_consume_token(RSIGNEDSHIFTASSIGN); break; case RUNSIGNEDSHIFTASSIGN: jj_consume_token(RUNSIGNEDSHIFTASSIGN); break; case ANDASSIGN: jj_consume_token(ANDASSIGN); break; case XORASSIGN: jj_consume_token(XORASSIGN); break; case ORASSIGN: jj_consume_token(ORASSIGN); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void ConditionalExpression() throws ParseException { ConditionalOrExpression(); switch (currentTokenType()) { case HOOK: jj_consume_token(HOOK); Expression(); jj_consume_token(COLON); Expression(); break; default: } } final public void ConditionalOrExpression() throws ParseException { ConditionalAndExpression(); while (currentTokenType() == SC_OR) { jj_consume_token(SC_OR); ConditionalAndExpression(); } } final public void ConditionalAndExpression() throws ParseException { InclusiveOrExpression(); while (currentTokenType() == SC_AND) { jj_consume_token(SC_AND); InclusiveOrExpression(); } } final public void InclusiveOrExpression() throws ParseException { ExclusiveOrExpression(); while (currentTokenType() == BIT_OR) { jj_consume_token(BIT_OR); ExclusiveOrExpression(); } } final public void ExclusiveOrExpression() throws ParseException { AndExpression(); while (currentTokenType() == XOR) { jj_consume_token(XOR); AndExpression(); } } final public void AndExpression() throws ParseException { EqualityExpression(); while (currentTokenType() == BIT_AND) { jj_consume_token(BIT_AND); EqualityExpression(); } } final public void EqualityExpression() throws ParseException { InstanceOfExpression(); while (currentTokenType() == EQ || currentTokenType() == NE) { switch (currentTokenType()) { case EQ: jj_consume_token(EQ); break; case NE: jj_consume_token(NE); break; default: jj_consume_token(-1); throw new ParseException(); } InstanceOfExpression(); } } final public void InstanceOfExpression() throws ParseException { RelationalExpression(); switch (currentTokenType()) { case INSTANCEOF: jj_consume_token(INSTANCEOF); Type(); break; default: } } private static boolean isComparison(int tokenType) { return tokenType == LT || tokenType == GT || tokenType == LE || tokenType == GE; } final public void RelationalExpression() throws ParseException { ShiftExpression(); while (isComparison(currentTokenType())) { switch (currentTokenType()) { case LT: jj_consume_token(LT); break; case GT: jj_consume_token(GT); break; case LE: jj_consume_token(LE); break; case GE: jj_consume_token(GE); break; default: jj_consume_token(-1); throw new ParseException(); } ShiftExpression(); } } final public void ShiftExpression() throws ParseException { AdditiveExpression(); while (!jj_2_18(1)) { switch (currentTokenType()) { case LSHIFT: jj_consume_token(LSHIFT); break; default: if (jj_2_19(1)) { RSIGNEDSHIFT(); } else if (jj_2_20(1)) { RUNSIGNEDSHIFT(); } else { jj_consume_token(-1); throw new ParseException(); } } AdditiveExpression(); } } final public void AdditiveExpression() throws ParseException { MultiplicativeExpression(); while (currentTokenType() == PLUS || currentTokenType() == MINUS) { switch (currentTokenType()) { case PLUS: jj_consume_token(PLUS); break; case MINUS: jj_consume_token(MINUS); break; default: jj_consume_token(-1); throw new ParseException(); } MultiplicativeExpression(); } } final public void MultiplicativeExpression() throws ParseException { UnaryExpression(); while (currentTokenType() == STAR || currentTokenType() == SLASH || currentTokenType() == REM) { switch (currentTokenType()) { case STAR: jj_consume_token(STAR); break; case SLASH: jj_consume_token(SLASH); break; case REM: jj_consume_token(REM); break; default: jj_consume_token(-1); throw new ParseException(); } UnaryExpression(); } } final public void UnaryExpression() throws ParseException { switch (currentTokenType()) { case PLUS: case MINUS: switch (currentTokenType()) { case PLUS: jj_consume_token(PLUS); break; case MINUS: jj_consume_token(MINUS); break; default: jj_consume_token(-1); throw new ParseException(); } UnaryExpression(); break; case INCR: PreIncrementExpression(); break; case DECR: PreDecrementExpression(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: UnaryExpressionNotPlusMinus(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void PreIncrementExpression() throws ParseException { jj_consume_token(INCR); PrimaryExpression(); } final public void PreDecrementExpression() throws ParseException { jj_consume_token(DECR); PrimaryExpression(); } final public void UnaryExpressionNotPlusMinus() throws ParseException { switch (currentTokenType()) { case BANG: case TILDE: switch (currentTokenType()) { case TILDE: jj_consume_token(TILDE); break; case BANG: jj_consume_token(BANG); break; default: jj_consume_token(-1); throw new ParseException(); } UnaryExpression(); break; default: if (jj_2_21(2147483647)) { CastExpression(); } else { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: PostfixExpression(); break; default: jj_consume_token(-1); throw new ParseException(); } } } } // This production is to determine lookahead only. The LOOKAHEAD specifications // below are not used, but they are there just to indicate that we know about // this. // final public void CastLookahead() throws ParseException { // if (jj_2_22(2)) { // jj_consume_token(LPAREN); // PrimitiveType(); // } else if (jj_2_23(2147483647)) { // jj_consume_token(LPAREN); // Type(); // jj_consume_token(LBRACKET); // jj_consume_token(RBRACKET); // } else { // switch (currentTokenType()) { // case LPAREN: // jj_consume_token(LPAREN); // Type(); // jj_consume_token(RPAREN); // switch (currentTokenType()) { // case TILDE: // jj_consume_token(TILDE); // break; // case BANG: // jj_consume_token(BANG); // break; // case LPAREN: // jj_consume_token(LPAREN); // break; // case IDENTIFIER: // jj_consume_token(IDENTIFIER); // break; // case THIS: // jj_consume_token(THIS); // break; // case SUPER: // jj_consume_token(SUPER); // break; // case NEW: // jj_consume_token(NEW); // break; // case FALSE: // case NULL: // case TRUE: // case INTEGER_LITERAL: // case FLOATING_POINT_LITERAL: // case CHARACTER_LITERAL: // case STRING_LITERAL: // Literal(); // break; // default: // jj_consume_token(-1); // throw new ParseException(); // } // break; // default: // jj_consume_token(-1); // throw new ParseException(); // } // } // } final public void PostfixExpression() throws ParseException { PrimaryExpression(); switch (currentTokenType()) { case INCR: case DECR: switch (currentTokenType()) { case INCR: jj_consume_token(INCR); break; case DECR: jj_consume_token(DECR); break; default: jj_consume_token(-1); throw new ParseException(); } break; default: } } final public void CastExpression() throws ParseException { if (jj_2_24(2147483647)) { jj_consume_token(LPAREN); Type(); jj_consume_token(RPAREN); UnaryExpression(); } else { switch (currentTokenType()) { case LPAREN: jj_consume_token(LPAREN); Type(); jj_consume_token(RPAREN); UnaryExpressionNotPlusMinus(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void PrimaryExpression() throws ParseException { PrimaryPrefix(); while (!jj_2_25(2)) { PrimarySuffix(); } } final public void MemberSelector() throws ParseException { jj_consume_token(DOT); TypeArguments(); jj_consume_token(IDENTIFIER); } final public void PrimaryPrefix() throws ParseException { switch (currentTokenType()) { case FALSE: case NULL: case TRUE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: Literal(); break; default: if (jj_2_26(2147483647)) { while (currentTokenType() == IDENTIFIER) { jj_consume_token(IDENTIFIER); jj_consume_token(DOT); } jj_consume_token(THIS); } else { switch (currentTokenType()) { case SUPER: jj_consume_token(SUPER); jj_consume_token(DOT); jj_consume_token(IDENTIFIER); break; case LPAREN: jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); break; case NEW: AllocationExpression(); break; default: if (jj_2_27(2147483647)) { ResultType(); jj_consume_token(DOT); jj_consume_token(CLASS); } else { switch (currentTokenType()) { case IDENTIFIER: Name(); break; default: jj_consume_token(-1); throw new ParseException(); } } } } } } final public void PrimarySuffix() throws ParseException { if (jj_2_28(2147483647)) { jj_consume_token(DOT); jj_consume_token(SUPER); } else if (jj_2_29(2147483647)) { jj_consume_token(DOT); jj_consume_token(THIS); } else if (jj_2_30(2)) { jj_consume_token(DOT); AllocationExpression(); } else if (jj_2_31(3)) { MemberSelector(); } else { switch (currentTokenType()) { case LBRACKET: jj_consume_token(LBRACKET); Expression(); jj_consume_token(RBRACKET); break; case DOT: jj_consume_token(DOT); jj_consume_token(IDENTIFIER); break; case LPAREN: Arguments(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void Literal() throws ParseException { switch (currentTokenType()) { case INTEGER_LITERAL: jj_consume_token(INTEGER_LITERAL); break; case FLOATING_POINT_LITERAL: jj_consume_token(FLOATING_POINT_LITERAL); break; case CHARACTER_LITERAL: jj_consume_token(CHARACTER_LITERAL); break; case STRING_LITERAL: jj_consume_token(STRING_LITERAL); break; case FALSE: case TRUE: BooleanLiteral(); break; case NULL: NullLiteral(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void BooleanLiteral() throws ParseException { switch (currentTokenType()) { case TRUE: jj_consume_token(TRUE); break; case FALSE: jj_consume_token(FALSE); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void NullLiteral() throws ParseException { jj_consume_token(NULL); } final public void Arguments() throws ParseException { jj_consume_token(LPAREN); switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: ArgumentList(); break; default: } jj_consume_token(RPAREN); } final public void ArgumentList() throws ParseException { Expression(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); Expression(); } } final public void AllocationExpression() throws ParseException { if (jj_2_32(2)) { jj_consume_token(NEW); PrimitiveType(); ArrayDimsAndInits(); } else { switch (currentTokenType()) { case NEW: jj_consume_token(NEW); ClassOrInterfaceType(); switch (currentTokenType()) { case LT: TypeArguments(); break; default: } switch (currentTokenType()) { case LBRACKET: ArrayDimsAndInits(); break; case LPAREN: Arguments(); switch (currentTokenType()) { case LBRACE: ClassOrInterfaceBody(false); break; default: } break; default: jj_consume_token(-1); throw new ParseException(); } break; default: jj_consume_token(-1); throw new ParseException(); } } } /* * The third LOOKAHEAD specification below is to parse to PrimarySuffix * if there is an expression between the "[...]". */ final public void ArrayDimsAndInits() throws ParseException { if (jj_2_35(2)) { do { jj_consume_token(LBRACKET); Expression(); jj_consume_token(RBRACKET); } while (!jj_2_33(2)); while (!jj_2_34(2)) { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } } else { switch (currentTokenType()) { case LBRACKET: do { jj_consume_token(LBRACKET); jj_consume_token(RBRACKET); } while ((currentTokenType()) == LBRACKET); ArrayInitializer(); break; default: jj_consume_token(-1); throw new ParseException(); } } } /* * Statement syntax follows. */ final public void Statement() throws ParseException { if (jj_2_36(2)) { LabeledStatement(); } else { switch (currentTokenType()) { case ASSERT: AssertStatement(); break; case LBRACE: Block(); break; case SEMICOLON: EmptyStatement(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case INCR: case DECR: StatementExpression(); jj_consume_token(SEMICOLON); break; case SWITCH: SwitchStatement(); break; case IF: IfStatement(); break; case WHILE: WhileStatement(); break; case DO: DoStatement(); break; case FOR: ForStatement(); break; case BREAK: BreakStatement(); break; case CONTINUE: ContinueStatement(); break; case RETURN: ReturnStatement(); break; case THROW: ThrowStatement(); break; case SYNCHRONIZED: SynchronizedStatement(); break; case TRY: TryStatement(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void AssertStatement() throws ParseException { jj_consume_token(ASSERT); Expression(); switch (currentTokenType()) { case COLON: jj_consume_token(COLON); Expression(); break; default: } jj_consume_token(SEMICOLON); } final public void LabeledStatement() throws ParseException { jj_consume_token(IDENTIFIER); jj_consume_token(COLON); Statement(); } final public void Block() throws ParseException { jj_consume_token(LBRACE); while (isKeyword(currentTokenType())) { BlockStatement(); } jj_consume_token(RBRACE); } final public void BlockStatement() throws ParseException { if (jj_2_37(2147483647)) { LocalVariableDeclaration(); jj_consume_token(SEMICOLON); } else { switch (currentTokenType()) { case ASSERT: case BOOLEAN: case BREAK: case BYTE: case CHAR: case CONTINUE: case DO: case DOUBLE: case FALSE: case FLOAT: case FOR: case IF: case INT: case LONG: case NEW: case NULL: case RETURN: case SHORT: case SUPER: case SWITCH: case SYNCHRONIZED: case THIS: case THROW: case TRUE: case TRY: case VOID: case WHILE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case LBRACE: case SEMICOLON: case INCR: case DECR: Statement(); break; case CLASS: case INTERFACE: ClassOrInterfaceDeclaration(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void LocalVariableDeclaration() throws ParseException { Modifiers(); Type(); VariableDeclarator(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); VariableDeclarator(); } } final public void EmptyStatement() throws ParseException { jj_consume_token(SEMICOLON); } final public void StatementExpression() throws ParseException { switch (currentTokenType()) { case INCR: PreIncrementExpression(); break; case DECR: PreDecrementExpression(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: PrimaryExpression(); switch (currentTokenType()) { case ASSIGN: case INCR: case DECR: case PLUSASSIGN: case MINUSASSIGN: case STARASSIGN: case SLASHASSIGN: case ANDASSIGN: case ORASSIGN: case XORASSIGN: case REMASSIGN: case LSHIFTASSIGN: case RSIGNEDSHIFTASSIGN: case RUNSIGNEDSHIFTASSIGN: switch (currentTokenType()) { case INCR: jj_consume_token(INCR); break; case DECR: jj_consume_token(DECR); break; case ASSIGN: case PLUSASSIGN: case MINUSASSIGN: case STARASSIGN: case SLASHASSIGN: case ANDASSIGN: case ORASSIGN: case XORASSIGN: case REMASSIGN: case LSHIFTASSIGN: case RSIGNEDSHIFTASSIGN: case RUNSIGNEDSHIFTASSIGN: AssignmentOperator(); Expression(); break; default: jj_consume_token(-1); throw new ParseException(); } break; default: } break; default: jj_consume_token(-1); throw new ParseException(); } } final public void SwitchStatement() throws ParseException { jj_consume_token(SWITCH); jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); jj_consume_token(LBRACE); while (currentTokenType() == CASE || currentTokenType() == DEFAULT) { SwitchLabel(); while (isKeyword(currentTokenType())) { BlockStatement(); } } jj_consume_token(RBRACE); } final public void SwitchLabel() throws ParseException { switch (currentTokenType()) { case CASE: jj_consume_token(CASE); Expression(); jj_consume_token(COLON); break; case _DEFAULT: jj_consume_token(_DEFAULT); jj_consume_token(COLON); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void IfStatement() throws ParseException { jj_consume_token(IF); jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); Statement(); switch (currentTokenType()) { case ELSE: jj_consume_token(ELSE); Statement(); break; default: } } final public void WhileStatement() throws ParseException { jj_consume_token(WHILE); jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); Statement(); } final public void DoStatement() throws ParseException { jj_consume_token(DO); Statement(); jj_consume_token(WHILE); jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); jj_consume_token(SEMICOLON); } final public void ForStatement() throws ParseException { jj_consume_token(FOR); jj_consume_token(LPAREN); if (jj_2_38(2147483647)) { Modifiers(); Type(); jj_consume_token(IDENTIFIER); jj_consume_token(COLON); Expression(); } else { switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FINAL: case FLOAT: case INT: case LONG: case NATIVE: case NEW: case NULL: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SUPER: case SYNCHRONIZED: case THIS: case TRANSIENT: case TRUE: case VOID: case VOLATILE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case SEMICOLON: case AT: case INCR: case DECR: switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FINAL: case FLOAT: case INT: case LONG: case NATIVE: case NEW: case NULL: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SUPER: case SYNCHRONIZED: case THIS: case TRANSIENT: case TRUE: case VOID: case VOLATILE: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case AT: case INCR: case DECR: ForInit(); break; default: } jj_consume_token(SEMICOLON); switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: Expression(); break; default: } jj_consume_token(SEMICOLON); switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case INCR: case DECR: ForUpdate(); break; default: } break; default: jj_consume_token(-1); throw new ParseException(); } } jj_consume_token(RPAREN); Statement(); } final public void ForInit() throws ParseException { if (jj_2_39(2147483647)) { LocalVariableDeclaration(); } else { switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case INCR: case DECR: StatementExpressionList(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void StatementExpressionList() throws ParseException { StatementExpression(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); StatementExpression(); } } final public void ForUpdate() throws ParseException { StatementExpressionList(); } final public void BreakStatement() throws ParseException { jj_consume_token(BREAK); switch (currentTokenType()) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: } jj_consume_token(SEMICOLON); } final public void ContinueStatement() throws ParseException { jj_consume_token(CONTINUE); switch (currentTokenType()) { case IDENTIFIER: jj_consume_token(IDENTIFIER); break; default: } jj_consume_token(SEMICOLON); } final public void ReturnStatement() throws ParseException { jj_consume_token(RETURN); switch (currentTokenType()) { case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: Expression(); break; default: } jj_consume_token(SEMICOLON); } final public void ThrowStatement() throws ParseException { jj_consume_token(THROW); Expression(); jj_consume_token(SEMICOLON); } final public void SynchronizedStatement() throws ParseException { jj_consume_token(SYNCHRONIZED); jj_consume_token(LPAREN); Expression(); jj_consume_token(RPAREN); Block(); } final public void TryStatement() throws ParseException { jj_consume_token(TRY); Block(); while (currentTokenType() == CATCH) { jj_consume_token(CATCH); jj_consume_token(LPAREN); FormalParameter(); jj_consume_token(RPAREN); Block(); } switch (currentTokenType()) { case FINALLY: jj_consume_token(FINALLY); Block(); break; default: } } /* We use productions to match >>>, >> and > so that we can keep the * type declaration syntax with generics clean */ final public void RUNSIGNEDSHIFT() throws ParseException { if (getToken(1).kind == GT && ((Token.GTToken) getToken(1)).realKind == RUNSIGNEDSHIFT) { } else { jj_consume_token(-1); throw new ParseException(); } jj_consume_token(GT); jj_consume_token(GT); jj_consume_token(GT); } final public void RSIGNEDSHIFT() throws ParseException { if (getToken(1).kind == GT && ((Token.GTToken) getToken(1)).realKind == RSIGNEDSHIFT) { } else { jj_consume_token(-1); throw new ParseException(); } jj_consume_token(GT); jj_consume_token(GT); } /* Annotation syntax follows. */ final public void Annotation() throws ParseException { if (jj_2_40(2147483647)) { NormalAnnotation(); } else if (jj_2_41(2147483647)) { SingleMemberAnnotation(); } else { switch (currentTokenType()) { case AT: MarkerAnnotation(); break; default: jj_consume_token(-1); throw new ParseException(); } } } final public void NormalAnnotation() throws ParseException { jj_consume_token(AT); Name(); jj_consume_token(LPAREN); switch (currentTokenType()) { case IDENTIFIER: MemberValuePairs(); break; default: } jj_consume_token(RPAREN); } final public void MarkerAnnotation() throws ParseException { jj_consume_token(AT); Name(); } final public void SingleMemberAnnotation() throws ParseException { jj_consume_token(AT); Name(); jj_consume_token(LPAREN); MemberValue(); jj_consume_token(RPAREN); } final public void MemberValuePairs() throws ParseException { MemberValuePair(); while (currentTokenType() == COMMA) { jj_consume_token(COMMA); MemberValuePair(); } } final public void MemberValuePair() throws ParseException { jj_consume_token(IDENTIFIER); jj_consume_token(ASSIGN); MemberValue(); } final public void MemberValue() throws ParseException { switch (currentTokenType()) { case AT: Annotation(); break; case LBRACE: MemberValueArrayInitializer(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FALSE: case FLOAT: case INT: case LONG: case NEW: case NULL: case SHORT: case SUPER: case THIS: case TRUE: case VOID: case INTEGER_LITERAL: case FLOATING_POINT_LITERAL: case CHARACTER_LITERAL: case STRING_LITERAL: case IDENTIFIER: case LPAREN: case BANG: case TILDE: case INCR: case DECR: case PLUS: case MINUS: ConditionalExpression(); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void MemberValueArrayInitializer() throws ParseException { jj_consume_token(LBRACE); MemberValue(); while (!jj_2_42(2)) { jj_consume_token(COMMA); MemberValue(); } switch (currentTokenType()) { case COMMA: jj_consume_token(COMMA); break; default: } jj_consume_token(RBRACE); } /* Annotation Types. */ final public void AnnotationTypeDeclaration() throws ParseException { jj_consume_token(AT); jj_consume_token(INTERFACE); jj_consume_token(IDENTIFIER); AnnotationTypeBody(); } private static boolean isVariableType(int type) { switch (type) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case INT: case INTERFACE: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case IDENTIFIER: case SEMICOLON: case AT: return true; default: return false; } } final public void AnnotationTypeBody() throws ParseException { jj_consume_token(LBRACE); while (isVariableType(currentTokenType())) { AnnotationTypeMemberDeclaration(); } jj_consume_token(RBRACE); } final public void AnnotationTypeMemberDeclaration() throws ParseException { switch (currentTokenType()) { case ABSTRACT: case BOOLEAN: case BYTE: case CHAR: case CLASS: case DOUBLE: case ENUM: case FINAL: case FLOAT: case INT: case INTERFACE: case LONG: case NATIVE: case PRIVATE: case PROTECTED: case PUBLIC: case SHORT: case STATIC: case STRICTFP: case SYNCHRONIZED: case TRANSIENT: case VOLATILE: case IDENTIFIER: case AT: if (jj_2_43(2147483647)) { Type(); jj_consume_token(IDENTIFIER); jj_consume_token(LPAREN); jj_consume_token(RPAREN); switch (currentTokenType()) { case _DEFAULT: DefaultValue(); break; default: } jj_consume_token(SEMICOLON); } else { switch (currentTokenType()) { case CLASS: case INTERFACE: ClassOrInterfaceDeclaration(); break; case ENUM: EnumDeclaration(); break; case AT: AnnotationTypeDeclaration(); break; case BOOLEAN: case BYTE: case CHAR: case DOUBLE: case FLOAT: case INT: case LONG: case SHORT: case IDENTIFIER: FieldDeclaration(); break; default: jj_consume_token(-1); throw new ParseException(); } } break; case SEMICOLON: jj_consume_token(SEMICOLON); break; default: jj_consume_token(-1); throw new ParseException(); } } final public void DefaultValue() throws ParseException { jj_consume_token(_DEFAULT); MemberValue(); } private boolean jj_2_1(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_1(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_2(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_2(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_3(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_3(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_4(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_4(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_5(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_5(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_6(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_6(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_7(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_7(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_8(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_8(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_9(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_9(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_10(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_10(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_11(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_11(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_12(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_12(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_13(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_13(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_14(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_14(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_15(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_15(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_16(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_16(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_17(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_17(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_18(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_18(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_19(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_19(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_20(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_20(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_21(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_21(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_24(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_24(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_25(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_25(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_26(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_26(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_27(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_27(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_28(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_28(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_29(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_29(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_30(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_30(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_31(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_31(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_32(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_32(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_33(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_33(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_34(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_34(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_35(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_35(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_36(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_36(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_37(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_37(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_38(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_38(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_39(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_39(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_40(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_40(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_41(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_41(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_42(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_42(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_2_43(int xla) { jj_la = xla; jj_lastpos = jj_scanpos = token; try { return !jj_3_43(); } catch (LookaheadSuccess ls) { return true; } } private boolean jj_3R_124() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3_13()) jj_scanpos = xsp; while (true) { xsp = jj_scanpos; if (jj_3_14()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_99() { if (jj_3R_124()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_12()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_98() { if (jj_3R_78()) return true; Token xsp; if (jj_3_11()) return true; while (true) { xsp = jj_scanpos; if (jj_3_11()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_71() { Token xsp; xsp = jj_scanpos; if (jj_3R_98()) { jj_scanpos = xsp; if (jj_3R_99()) return true; } return false; } private boolean jj_3_9() { return jj_scan_token(THIS) || jj_scan_token(DOT); } private boolean jj_3R_263() { return jj_scan_token(THROWS) || jj_3R_277(); } private boolean jj_3R_91() { return jj_3R_78(); } private boolean jj_3_10() { return jj_3R_71(); } private boolean jj_3R_66() { Token xsp; xsp = jj_scanpos; if (jj_3_10()) { jj_scanpos = xsp; if (jj_3R_91()) return true; } return false; } private boolean jj_3R_68() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(51)) jj_scanpos = xsp; return jj_3R_92(); } private boolean jj_3_8() { return jj_3R_70(); } private boolean jj_3R_96() { return jj_3R_72(); } private boolean jj_3R_280() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_95() { return jj_scan_token(IDENTIFIER) || jj_scan_token(DOT); } private boolean jj_3R_285() { return jj_scan_token(COMMA) || jj_3R_284(); } private boolean jj_3R_70() { Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_95()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; if (jj_3_9()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_96()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_scan_token(56)) { jj_scanpos = xsp; if (jj_scan_token(53)) return true; } return jj_3R_97() || jj_scan_token(SEMICOLON); } private boolean jj_3R_265() { return jj_3R_134(); } private boolean jj_3R_264() { return jj_3R_70(); } private boolean jj_3R_261() { return jj_3R_90(); } private boolean jj_3R_253() { Token xsp; xsp = jj_scanpos; if (jj_3R_261()) jj_scanpos = xsp; if (jj_scan_token(IDENTIFIER)) return true; if (jj_3R_262()) return true; xsp = jj_scanpos; if (jj_3R_263()) jj_scanpos = xsp; if (jj_scan_token(LBRACE)) return true; xsp = jj_scanpos; if (jj_3R_264()) jj_scanpos = xsp; while (true) { xsp = jj_scanpos; if (jj_3R_265()) { jj_scanpos = xsp; break; } } return jj_scan_token(RBRACE); } private boolean jj_3R_270() { return jj_scan_token(THROWS) || jj_3R_277(); } private boolean jj_3_7() { return jj_scan_token(COMMA) || jj_3R_69(); } private boolean jj_3R_284() { if (jj_3R_85()) return true; if (jj_3R_66()) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(123)) { jj_scanpos = xsp; } return jj_3R_278(); } private boolean jj_3R_276() { if (jj_3R_284()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_285()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_262() { if (jj_scan_token(LPAREN)) { return true; } Token xsp; xsp = jj_scanpos; if (jj_3R_276()) { jj_scanpos = xsp; } return jj_scan_token(RPAREN); } private boolean jj_3R_269() { if (jj_scan_token(IDENTIFIER)) return true; if (jj_3R_262()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_280()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3_43() { return jj_3R_66() || jj_scan_token(IDENTIFIER) || jj_scan_token(LPAREN); } private boolean jj_3R_271() { return jj_3R_92(); } private boolean jj_3R_268() { return jj_3R_90(); } private boolean jj_3R_255() { Token xsp; xsp = jj_scanpos; if (jj_3R_268()) jj_scanpos = xsp; if (jj_3R_81()) return true; if (jj_3R_269()) return true; xsp = jj_scanpos; if (jj_3R_270()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_271()) { jj_scanpos = xsp; if (jj_scan_token(85)) return true; } return false; } private boolean jj_3R_243() { if (jj_3R_69()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_7()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_279() { return jj_scan_token(ASSIGN) || jj_3R_69(); } private boolean jj_3R_267() { return jj_scan_token(COMMA) || jj_3R_266(); } private boolean jj_3R_287() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_122() { if (jj_scan_token(LBRACE)) { return true; } Token xsp; xsp = jj_scanpos; if (jj_3R_243()) { jj_scanpos = xsp; } xsp = jj_scanpos; if (jj_scan_token(86)) { jj_scanpos = xsp; } return jj_scan_token(RBRACE); } private boolean jj_3_42() { return jj_scan_token(COMMA) || jj_3R_88(); } private boolean jj_3R_67() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_94() { return jj_3R_74(); } private boolean jj_3R_93() { return jj_3R_122(); } private boolean jj_3R_69() { Token xsp; xsp = jj_scanpos; if (jj_3R_93()) { jj_scanpos = xsp; if (jj_3R_94()) return true; } return false; } private boolean jj_3R_278() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_287()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_266() { if (jj_3R_278()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_279()) jj_scanpos = xsp; return false; } private boolean jj_3R_129() { if (jj_scan_token(LBRACE)) return true; if (jj_3R_88()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_42()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; if (jj_scan_token(86)) { jj_scanpos = xsp; } return jj_scan_token(RBRACE); } private boolean jj_3R_156() { return jj_scan_token(COMMA) || jj_3R_155(); } private boolean jj_3_5() { if (jj_3R_66()) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_67()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; if (jj_scan_token(86)) { jj_scanpos = xsp; if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(85)) return true; } } return false; } private boolean jj_3R_65() { return jj_3R_90(); } private boolean jj_3R_115() { return jj_3R_101(); } private boolean jj_3R_254() { if (jj_3R_66()) return true; if (jj_3R_266()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_267()) { jj_scanpos = xsp; break; } } return jj_scan_token(SEMICOLON); } private boolean jj_3_4() { Token xsp; xsp = jj_scanpos; if (jj_3R_65()) jj_scanpos = xsp; return jj_scan_token(IDENTIFIER) || jj_scan_token(LPAREN); } private boolean jj_3R_114() { return jj_3R_129(); } private boolean jj_3R_113() { return jj_3R_89(); } private boolean jj_3R_88() { Token xsp; xsp = jj_scanpos; if (jj_3R_113()) { jj_scanpos = xsp; if (jj_3R_114()) { jj_scanpos = xsp; if (jj_3R_115()) return true; } } return false; } private boolean jj_3R_251() { return jj_3R_255(); } private boolean jj_3R_155() { return jj_scan_token(IDENTIFIER) || jj_scan_token(ASSIGN) || jj_3R_88(); } private boolean jj_3R_148() { return jj_scan_token(BIT_AND) || jj_3R_124(); } private boolean jj_3R_250() { return jj_3R_254(); } private boolean jj_3R_249() { return jj_3R_253(); } private boolean jj_3R_248() { return jj_3R_252(); } private boolean jj_3R_147() { if (jj_3R_155()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_156()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_247() { return jj_3R_151(); } private boolean jj_3R_139() { return jj_3R_147(); } private boolean jj_3R_87() { return jj_scan_token(IDENTIFIER) || jj_scan_token(ASSIGN); } private boolean jj_3R_289() { return jj_3R_242(); } private boolean jj_3R_131() { return jj_scan_token(AT) || jj_3R_86() || jj_scan_token(LPAREN) || jj_3R_88() || jj_scan_token(RPAREN); } private boolean jj_3R_246() { if (jj_3R_85()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_247()) { jj_scanpos = xsp; if (jj_3R_248()) { jj_scanpos = xsp; if (jj_3R_249()) { jj_scanpos = xsp; if (jj_3R_250()) { jj_scanpos = xsp; if (jj_3R_251()) return true; } } } } return false; } private boolean jj_3R_132() { return jj_scan_token(AT) || jj_3R_86(); } private boolean jj_3_6() { return jj_3R_68(); } private boolean jj_3R_245() { Token xsp; xsp = jj_scanpos; if (jj_3_6()) { jj_scanpos = xsp; if (jj_3R_246()) { jj_scanpos = xsp; if (jj_scan_token(85)) return true; } } return false; } private boolean jj_3_41() { return jj_scan_token(AT) || jj_3R_86() || jj_scan_token(LPAREN); } private boolean jj_3R_244() { return jj_3R_245(); } private boolean jj_3R_130() { if (jj_scan_token(AT)) return true; if (jj_3R_86()) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_139()) jj_scanpos = xsp; return jj_scan_token(RPAREN); } private boolean jj_3R_120() { return jj_scan_token(COMMA) || jj_3R_119(); } private boolean jj_3_40() { if (jj_scan_token(AT)) return true; if (jj_3R_86()) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_87()) { jj_scanpos = xsp; if (jj_scan_token(80)) return true; } return false; } private boolean jj_3R_133() { return jj_3R_140(); } private boolean jj_3R_288() { return jj_3R_97(); } private boolean jj_3R_242() { if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_244()) { jj_scanpos = xsp; break; } } return jj_scan_token(RBRACE); } private boolean jj_3R_118() { return jj_3R_132(); } private boolean jj_3R_117() { return jj_3R_131(); } private boolean jj_3R_140() { if (jj_scan_token(EXTENDS)) return true; if (jj_3R_124()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_148()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_116() { return jj_3R_130(); } private boolean jj_3R_102() { return false; } private boolean jj_3R_89() { Token xsp; xsp = jj_scanpos; if (jj_3R_116()) { jj_scanpos = xsp; if (jj_3R_117()) { jj_scanpos = xsp; if (jj_3R_118()) return true; } } return false; } private boolean jj_3R_119() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_133()) jj_scanpos = xsp; return false; } private boolean jj_3_3() { return jj_scan_token(COMMA) || jj_3R_64(); } private boolean jj_3R_103() { return false; } private boolean jj_3R_90() { if (jj_scan_token(LT)) return true; if (jj_3R_119()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_120()) { jj_scanpos = xsp; break; } } return jj_scan_token(GT); } private boolean jj_3R_75() { jj_lookingAhead = true; jj_semLA = getToken(1).kind == GT && ((Token.GTToken) getToken(1)).realKind == RSIGNEDSHIFT; jj_lookingAhead = false; return !jj_semLA || jj_3R_102() || jj_scan_token(GT); } private boolean jj_3R_283() { return jj_3R_245(); } private boolean jj_3R_64() { if (jj_3R_85()) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_288()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_289()) jj_scanpos = xsp; return false; } private boolean jj_3R_76() { jj_lookingAhead = true; jj_semLA = getToken(1).kind == GT && ((Token.GTToken) getToken(1)).realKind == RUNSIGNEDSHIFT; jj_lookingAhead = false; return !jj_semLA || jj_3R_103() || jj_scan_token(GT) || jj_scan_token(GT) || jj_scan_token(GT); } private boolean jj_3R_275() { if (jj_scan_token(SEMICOLON)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_283()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_274() { if (jj_3R_64()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_3()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_260() { if (jj_scan_token(LBRACE)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_274()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_scan_token(86)) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_275()) jj_scanpos = xsp; return jj_scan_token(RBRACE); } private boolean jj_3R_298() { return jj_scan_token(FINALLY) || jj_3R_92(); } private boolean jj_3R_297() { return jj_scan_token(CATCH) || jj_scan_token(LPAREN) || jj_3R_284() || jj_scan_token(RPAREN) || jj_3R_92(); } private boolean jj_3R_259() { return jj_3R_273(); } private boolean jj_3R_187() { if (jj_scan_token(TRY)) return true; if (jj_3R_92()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_297()) { jj_scanpos = xsp; break; } } xsp = jj_scanpos; if (jj_3R_298()) jj_scanpos = xsp; return false; } private boolean jj_3R_252() { if (jj_scan_token(ENUM)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_259()) jj_scanpos = xsp; return jj_3R_260(); } private boolean jj_3R_282() { return jj_scan_token(COMMA) || jj_3R_124(); } private boolean jj_3R_186() { return jj_scan_token(SYNCHRONIZED) || jj_scan_token(LPAREN) || jj_3R_74() || jj_scan_token(RPAREN) || jj_3R_92(); } private boolean jj_3R_296() { return jj_3R_74(); } private boolean jj_3R_273() { if (jj_scan_token(IMPLEMENTS)) return true; if (jj_3R_124()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_282()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_185() { return jj_scan_token(THROW) || jj_3R_74() || jj_scan_token(SEMICOLON); } private boolean jj_3R_304() { return jj_3R_309(); } private boolean jj_3R_281() { return jj_scan_token(COMMA) || jj_3R_124(); } private boolean jj_3R_313() { return jj_scan_token(COMMA) || jj_3R_176(); } private boolean jj_3R_184() { if (jj_scan_token(RETURN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_296()) jj_scanpos = xsp; return jj_scan_token(SEMICOLON); } private boolean jj_3R_272() { if (jj_scan_token(EXTENDS)) return true; if (jj_3R_124()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_281()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_171() { return jj_scan_token(INTERFACE); } private boolean jj_3R_183() { if (jj_scan_token(CONTINUE)) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(76)) { jj_scanpos = xsp; } return jj_scan_token(SEMICOLON); } private boolean jj_3R_258() { return jj_3R_273(); } private boolean jj_3R_257() { return jj_3R_272(); } private boolean jj_3R_256() { return jj_3R_90(); } private boolean jj_3R_182() { if (jj_scan_token(BREAK)) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(76)) jj_scanpos = xsp; return jj_scan_token(SEMICOLON); } private boolean jj_3R_151() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(20)) { jj_scanpos = xsp; if (jj_3R_171()) return true; } if (jj_scan_token(IDENTIFIER)) return true; xsp = jj_scanpos; if (jj_3R_256()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_257()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_258()) jj_scanpos = xsp; return jj_3R_242(); } private boolean jj_3R_309() { return jj_3R_312(); } private boolean jj_3R_303() { return jj_3R_74(); } private boolean jj_3_39() { return jj_3R_85() || jj_3R_66() || jj_scan_token(IDENTIFIER); } private boolean jj_3R_312() { if (jj_3R_176()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_313()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_293() { return jj_scan_token(ELSE) || jj_3R_150(); } private boolean jj_3R_311() { return jj_3R_312(); } private boolean jj_3_38() { return jj_3R_85() || jj_3R_66() || jj_scan_token(IDENTIFIER) || jj_scan_token(COLON); } private boolean jj_3R_310() { return jj_3R_149(); } private boolean jj_3R_308() { Token xsp; xsp = jj_scanpos; if (jj_3R_310()) { jj_scanpos = xsp; if (jj_3R_311()) return true; } return false; } private boolean jj_3R_302() { return jj_3R_308(); } private boolean jj_3R_295() { Token xsp; xsp = jj_scanpos; if (jj_3R_302()) jj_scanpos = xsp; if (jj_scan_token(SEMICOLON)) return true; xsp = jj_scanpos; if (jj_3R_303()) jj_scanpos = xsp; if (jj_scan_token(SEMICOLON)) return true; xsp = jj_scanpos; if (jj_3R_304()) jj_scanpos = xsp; return false; } private boolean jj_3R_294() { return jj_3R_85() || jj_3R_66() || jj_scan_token(IDENTIFIER) || jj_scan_token(COLON) || jj_3R_74(); } private boolean jj_3R_181() { if (jj_scan_token(FOR)) return true; if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_294()) { jj_scanpos = xsp; if (jj_3R_295()) return true; } return jj_scan_token(RPAREN) || jj_3R_150(); } private boolean jj_3R_63() { return jj_3R_89(); } private boolean jj_3R_62() { return jj_scan_token(STRICTFP); } private boolean jj_3R_61() { return jj_scan_token(VOLATILE); } private boolean jj_3R_180() { return jj_scan_token(DO) || jj_3R_150() || jj_scan_token(WHILE) || jj_scan_token(LPAREN) || jj_3R_74() || jj_scan_token(RPAREN) || jj_scan_token(SEMICOLON); } private boolean jj_3R_60() { return jj_scan_token(TRANSIENT); } private boolean jj_3R_59() { return jj_scan_token(NATIVE); } private boolean jj_3R_58() { return jj_scan_token(SYNCHRONIZED); } private boolean jj_3R_179() { return jj_scan_token(WHILE) || jj_scan_token(LPAREN) || jj_3R_74() || jj_scan_token(RPAREN) || jj_3R_150(); } private boolean jj_3R_57() { return jj_scan_token(ABSTRACT); } private boolean jj_3R_56() { return jj_scan_token(FINAL); } private boolean jj_3R_301() { return jj_3R_134(); } private boolean jj_3R_55() { return jj_scan_token(PRIVATE); } private boolean jj_3R_178() { if (jj_scan_token(IF)) return true; if (jj_scan_token(LPAREN)) return true; if (jj_3R_74()) return true; if (jj_scan_token(RPAREN)) return true; if (jj_3R_150()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_293()) jj_scanpos = xsp; return false; } private boolean jj_3R_54() { return jj_scan_token(PROTECTED); } private boolean jj_3R_53() { return jj_scan_token(STATIC); } private boolean jj_3R_52() { return jj_scan_token(PUBLIC); } private boolean jj_3_2() { Token xsp; xsp = jj_scanpos; if (jj_3R_52()) { jj_scanpos = xsp; if (jj_3R_53()) { jj_scanpos = xsp; if (jj_3R_54()) { jj_scanpos = xsp; if (jj_3R_55()) { jj_scanpos = xsp; if (jj_3R_56()) { jj_scanpos = xsp; if (jj_3R_57()) { jj_scanpos = xsp; if (jj_3R_58()) { jj_scanpos = xsp; if (jj_3R_59()) { jj_scanpos = xsp; if (jj_3R_60()) { jj_scanpos = xsp; if (jj_3R_61()) { jj_scanpos = xsp; if (jj_3R_62()) { jj_scanpos = xsp; if (jj_3R_63()) return true; } } } } } } } } } } } return false; } private boolean jj_3R_307() { return jj_scan_token(_DEFAULT) || jj_scan_token(COLON); } private boolean jj_3R_85() { Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_2()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_306() { return jj_scan_token(CASE) || jj_3R_74() || jj_scan_token(COLON); } private boolean jj_3R_300() { Token xsp; xsp = jj_scanpos; if (jj_3R_306()) { jj_scanpos = xsp; if (jj_3R_307()) return true; } return false; } private boolean jj_3R_290() { return jj_scan_token(COMMA) || jj_3R_266(); } private boolean jj_3R_292() { if (jj_3R_300()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_301()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_177() { if (jj_scan_token(SWITCH)) return true; if (jj_scan_token(LPAREN)) return true; if (jj_3R_74()) return true; if (jj_scan_token(RPAREN)) return true; if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_292()) { jj_scanpos = xsp; break; } } return jj_scan_token(RBRACE); } private boolean jj_3R_305() { return jj_3R_73() || jj_3R_74(); } private boolean jj_3R_299() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(101)) { jj_scanpos = xsp; if (jj_scan_token(102)) { jj_scanpos = xsp; if (jj_3R_305()) return true; } } return false; } private boolean jj_3R_194() { if (jj_3R_199()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_299()) jj_scanpos = xsp; return false; } private boolean jj_3R_51() { return jj_3R_89(); } private boolean jj_3R_193() { return jj_3R_198(); } private boolean jj_3_1() { Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_51()) { jj_scanpos = xsp; break; } } return jj_scan_token(PACKAGE); } private boolean jj_3R_176() { Token xsp; xsp = jj_scanpos; if (jj_3R_192()) { jj_scanpos = xsp; if (jj_3R_193()) { jj_scanpos = xsp; if (jj_3R_194()) return true; } } return false; } private boolean jj_3R_192() { return jj_3R_197(); } private boolean jj_3_37() { return jj_3R_85() || jj_3R_66() || jj_scan_token(IDENTIFIER); } private boolean jj_3R_149() { if (jj_3R_85()) return true; if (jj_3R_66()) return true; if (jj_3R_266()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_290()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_291() { return jj_scan_token(COLON) || jj_3R_74(); } private boolean jj_3R_143() { return jj_3R_151(); } private boolean jj_3R_142() { return jj_3R_150(); } private boolean jj_3R_141() { return jj_3R_149() || jj_scan_token(SEMICOLON); } private boolean jj_3R_134() { Token xsp; xsp = jj_scanpos; if (jj_3R_141()) { jj_scanpos = xsp; if (jj_3R_142()) { jj_scanpos = xsp; if (jj_3R_143()) return true; } } return false; } private boolean jj_3R_121() { return jj_3R_134(); } private boolean jj_3R_92() { if (jj_scan_token(LBRACE)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_121()) { jj_scanpos = xsp; break; } } return jj_scan_token(RBRACE); } private boolean jj_3R_84() { return jj_scan_token(IDENTIFIER) || jj_scan_token(COLON) || jj_3R_150(); } private boolean jj_3R_175() { if (jj_scan_token(ASSERT)) return true; if (jj_3R_74()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_291()) jj_scanpos = xsp; return jj_scan_token(SEMICOLON); } private boolean jj_3R_170() { return jj_3R_187(); } private boolean jj_3R_169() { return jj_3R_186(); } private boolean jj_3_34() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_168() { return jj_3R_185(); } private boolean jj_3R_167() { return jj_3R_184(); } private boolean jj_3R_166() { return jj_3R_183(); } private boolean jj_3R_165() { return jj_3R_182(); } private boolean jj_3R_164() { return jj_3R_181(); } private boolean jj_3R_163() { return jj_3R_180(); } private boolean jj_3R_162() { return jj_3R_179(); } private boolean jj_3R_161() { return jj_3R_178(); } private boolean jj_3R_160() { return jj_3R_177(); } private boolean jj_3R_159() { return jj_3R_176() || jj_scan_token(SEMICOLON); } private boolean jj_3R_158() { return jj_3R_92(); } private boolean jj_3R_157() { return jj_3R_175(); } private boolean jj_3R_236() { return jj_3R_72(); } private boolean jj_3_36() { return jj_3R_84(); } private boolean jj_3R_150() { Token xsp; xsp = jj_scanpos; if (jj_3_36()) { jj_scanpos = xsp; if (jj_3R_157()) { jj_scanpos = xsp; if (jj_3R_158()) { jj_scanpos = xsp; if (jj_scan_token(85)) { jj_scanpos = xsp; if (jj_3R_159()) { jj_scanpos = xsp; if (jj_3R_160()) { jj_scanpos = xsp; if (jj_3R_161()) { jj_scanpos = xsp; if (jj_3R_162()) { jj_scanpos = xsp; if (jj_3R_163()) { jj_scanpos = xsp; if (jj_3R_164()) { jj_scanpos = xsp; if (jj_3R_165()) { jj_scanpos = xsp; if (jj_3R_166()) { jj_scanpos = xsp; if (jj_3R_167()) { jj_scanpos = xsp; if (jj_3R_168()) { jj_scanpos = xsp; if (jj_3R_169()) { jj_scanpos = xsp; if (jj_3R_170()) return true; } } } } } } } } } } } } } } } return false; } private boolean jj_3R_240() { return jj_3R_242(); } private boolean jj_3R_241() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3_33() { return jj_scan_token(LBRACKET) || jj_3R_74() || jj_scan_token(RBRACKET); } private boolean jj_3R_239() { Token xsp; if (jj_3R_241()) return true; while (true) { xsp = jj_scanpos; if (jj_3R_241()) { jj_scanpos = xsp; break; } } return jj_3R_122(); } private boolean jj_3_35() { Token xsp; if (jj_3_33()) return true; while (true) { xsp = jj_scanpos; if (jj_3_33()) { jj_scanpos = xsp; break; } } while (true) { xsp = jj_scanpos; if (jj_3_34()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_235() { Token xsp; xsp = jj_scanpos; if (jj_3_35()) { jj_scanpos = xsp; if (jj_3R_239()) return true; } return false; } private boolean jj_3R_238() { if (jj_3R_97()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_240()) jj_scanpos = xsp; return false; } private boolean jj_3R_144() { return jj_scan_token(COMMA) || jj_3R_74(); } private boolean jj_3R_237() { return jj_3R_235(); } private boolean jj_3R_112() { if (jj_scan_token(NEW)) return true; if (jj_3R_124()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_236()) jj_scanpos = xsp; xsp = jj_scanpos; if (jj_3R_237()) { jj_scanpos = xsp; if (jj_3R_238()) return true; } return false; } private boolean jj_3R_82() { Token xsp; xsp = jj_scanpos; if (jj_3_32()) { jj_scanpos = xsp; if (jj_3R_112()) return true; } return false; } private boolean jj_3_32() { return jj_scan_token(NEW) || jj_3R_78() || jj_3R_235(); } private boolean jj_3R_136() { if (jj_3R_74()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_144()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_123() { return jj_3R_136(); } private boolean jj_3R_97() { if (jj_scan_token(LPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_123()) jj_scanpos = xsp; return jj_scan_token(RPAREN); } private boolean jj_3R_154() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(60)) { jj_scanpos = xsp; if (jj_scan_token(29)) return true; } return false; } private boolean jj_3R_146() { return jj_3R_154(); } private boolean jj_3R_128() { return jj_3R_138(); } private boolean jj_3R_138() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(65)) { jj_scanpos = xsp; if (jj_scan_token(69)) { jj_scanpos = xsp; if (jj_scan_token(74)) { jj_scanpos = xsp; if (jj_scan_token(75)) { jj_scanpos = xsp; if (jj_3R_146()) { jj_scanpos = xsp; if (jj_scan_token(44)) return true; } } } } } return false; } private boolean jj_3R_110() { return jj_3R_97(); } private boolean jj_3R_109() { return jj_scan_token(DOT) || jj_scan_token(IDENTIFIER); } private boolean jj_3_29() { return jj_scan_token(DOT) || jj_scan_token(THIS); } private boolean jj_3R_108() { return jj_scan_token(LBRACKET) || jj_3R_74() || jj_scan_token(RBRACKET); } private boolean jj_3_28() { return jj_scan_token(DOT) || jj_scan_token(SUPER) || jj_scan_token(DOT); } private boolean jj_3_31() { return jj_3R_83(); } private boolean jj_3_30() { return jj_scan_token(DOT) || jj_3R_82(); } private boolean jj_3R_107() { return jj_scan_token(DOT) || jj_scan_token(THIS); } private boolean jj_3_27() { return jj_3R_81() || jj_scan_token(DOT) || jj_scan_token(CLASS); } private boolean jj_3R_106() { return jj_scan_token(DOT) || jj_scan_token(SUPER); } private boolean jj_3R_79() { Token xsp; xsp = jj_scanpos; if (jj_3R_106()) { jj_scanpos = xsp; if (jj_3R_107()) { jj_scanpos = xsp; if (jj_3_30()) { jj_scanpos = xsp; if (jj_3_31()) { jj_scanpos = xsp; if (jj_3R_108()) { jj_scanpos = xsp; if (jj_3R_109()) { jj_scanpos = xsp; if (jj_3R_110()) return true; } } } } } } return false; } private boolean jj_3R_80() { return jj_scan_token(IDENTIFIER) || jj_scan_token(DOT); } private boolean jj_3R_211() { return jj_3R_86(); } private boolean jj_3_26() { Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_80()) { jj_scanpos = xsp; break; } } return jj_scan_token(THIS); } private boolean jj_3R_210() { return jj_3R_81() || jj_scan_token(DOT) || jj_scan_token(CLASS); } private boolean jj_3R_209() { return jj_3R_82(); } private boolean jj_3R_208() { return jj_scan_token(LPAREN) || jj_3R_74() || jj_scan_token(RPAREN); } private boolean jj_3_25() { return jj_3R_79(); } private boolean jj_3R_207() { return jj_scan_token(SUPER) || jj_scan_token(DOT) || jj_scan_token(IDENTIFIER); } private boolean jj_3R_214() { return jj_scan_token(IDENTIFIER) || jj_scan_token(DOT); } private boolean jj_3R_206() { Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_214()) { jj_scanpos = xsp; break; } } return jj_scan_token(THIS); } private boolean jj_3R_202() { Token xsp; xsp = jj_scanpos; if (jj_3R_205()) { jj_scanpos = xsp; if (jj_3R_206()) { jj_scanpos = xsp; if (jj_3R_207()) { jj_scanpos = xsp; if (jj_3R_208()) { jj_scanpos = xsp; if (jj_3R_209()) { jj_scanpos = xsp; if (jj_3R_210()) { jj_scanpos = xsp; if (jj_3R_211()) return true; } } } } } } return false; } private boolean jj_3R_205() { return jj_3R_138(); } private boolean jj_3R_234() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(101)) { jj_scanpos = xsp; if (jj_scan_token(102)) return true; } return false; } private boolean jj_3R_83() { return jj_scan_token(DOT) || jj_3R_72() || jj_scan_token(IDENTIFIER); } private boolean jj_3_24() { return jj_scan_token(LPAREN) || jj_3R_78(); } private boolean jj_3R_199() { if (jj_3R_202()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_25()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_233() { return jj_scan_token(LPAREN) || jj_3R_66() || jj_scan_token(RPAREN) || jj_3R_224(); } private boolean jj_3R_230() { Token xsp; xsp = jj_scanpos; if (jj_3R_232()) { jj_scanpos = xsp; if (jj_3R_233()) return true; } return false; } private boolean jj_3R_232() { return jj_scan_token(LPAREN) || jj_3R_66() || jj_scan_token(RPAREN) || jj_3R_218(); } private boolean jj_3R_231() { if (jj_3R_199()) { return true; } Token xsp; xsp = jj_scanpos; if (jj_3R_234()) jj_scanpos = xsp; return false; } private boolean jj_3R_105() { if (jj_scan_token(LPAREN)) return true; if (jj_3R_66()) return true; if (jj_scan_token(RPAREN)) return true; Token xsp; xsp = jj_scanpos; if (jj_scan_token(92)) { jj_scanpos = xsp; if (jj_scan_token(91)) { jj_scanpos = xsp; if (jj_scan_token(79)) { jj_scanpos = xsp; if (jj_scan_token(76)) { jj_scanpos = xsp; if (jj_scan_token(56)) { jj_scanpos = xsp; if (jj_scan_token(53)) { jj_scanpos = xsp; if (jj_scan_token(43)) { jj_scanpos = xsp; if (jj_3R_128()) return true; } } } } } } } return false; } private boolean jj_3R_104() { return jj_scan_token(LPAREN) || jj_3R_66() || jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3_22() { return jj_scan_token(LPAREN) || jj_3R_78(); } private boolean jj_3R_77() { Token xsp; xsp = jj_scanpos; if (jj_3_22()) { jj_scanpos = xsp; if (jj_3R_104()) { jj_scanpos = xsp; if (jj_3R_105()) return true; } } return false; } private boolean jj_3_21() { return jj_3R_77(); } private boolean jj_3_20() { return jj_3R_76(); } private boolean jj_3R_228() { return jj_3R_231(); } private boolean jj_3R_227() { return jj_3R_230(); } private boolean jj_3R_224() { Token xsp; xsp = jj_scanpos; if (jj_3R_226()) { jj_scanpos = xsp; if (jj_3R_227()) { jj_scanpos = xsp; if (jj_3R_228()) return true; } } return false; } private boolean jj_3R_226() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(92)) { jj_scanpos = xsp; if (jj_scan_token(91)) return true; } return jj_3R_218(); } private boolean jj_3R_198() { return jj_scan_token(DECR) || jj_3R_199(); } private boolean jj_3R_225() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(103)) { jj_scanpos = xsp; if (jj_scan_token(104)) return true; } return jj_3R_216(); } private boolean jj_3_19() { return jj_3R_75(); } private boolean jj_3R_229() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(105)) { jj_scanpos = xsp; if (jj_scan_token(106)) { jj_scanpos = xsp; if (jj_scan_token(110)) return true; } } return jj_3R_218(); } private boolean jj_3R_197() { return jj_scan_token(INCR) || jj_3R_199(); } private boolean jj_3R_223() { return jj_3R_224(); } private boolean jj_3_18() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(111)) { jj_scanpos = xsp; if (jj_3_19()) { jj_scanpos = xsp; if (jj_3_20()) return true; } } return jj_3R_213(); } private boolean jj_3R_222() { return jj_3R_198(); } private boolean jj_3R_221() { return jj_3R_197(); } private boolean jj_3R_218() { Token xsp; xsp = jj_scanpos; if (jj_3R_220()) { jj_scanpos = xsp; if (jj_3R_221()) { jj_scanpos = xsp; if (jj_3R_222()) { jj_scanpos = xsp; if (jj_3R_223()) return true; } } } return false; } private boolean jj_3R_220() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(103)) { jj_scanpos = xsp; if (jj_scan_token(104)) return true; } return jj_3R_218(); } private boolean jj_3R_219() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(90)) { jj_scanpos = xsp; if (jj_scan_token(126)) { jj_scanpos = xsp; if (jj_scan_token(96)) { jj_scanpos = xsp; if (jj_scan_token(97)) return true; } } } return jj_3R_204(); } private boolean jj_3R_217() { return jj_scan_token(INSTANCEOF) || jj_3R_66(); } private boolean jj_3R_216() { if (jj_3R_218()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_229()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_215() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(95)) { jj_scanpos = xsp; if (jj_scan_token(98)) return true; } return jj_3R_196(); } private boolean jj_3R_213() { if (jj_3R_216()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_225()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_204() { if (jj_3R_213()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_18()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_212() { return jj_scan_token(BIT_AND) || jj_3R_191(); } private boolean jj_3R_201() { if (jj_3R_204()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_219()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_200() { return jj_scan_token(BIT_OR) || jj_3R_153(); } private boolean jj_3R_196() { if (jj_3R_201()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_217()) jj_scanpos = xsp; return false; } private boolean jj_3R_203() { return jj_scan_token(XOR) || jj_3R_174(); } private boolean jj_3R_195() { return jj_scan_token(SC_AND) || jj_3R_145(); } private boolean jj_3R_191() { if (jj_3R_196()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_215()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_190() { return jj_scan_token(SC_OR) || jj_3R_137(); } private boolean jj_3R_174() { if (jj_3R_191()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_212()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_173() { return jj_scan_token(HOOK) || jj_3R_74() || jj_scan_token(COLON) || jj_3R_74(); } private boolean jj_3R_153() { if (jj_3R_174()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_203()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_145() { if (jj_3R_153()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_200()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_137() { if (jj_3R_145()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_195()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_127() { if (jj_3R_137()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_190()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_101() { if (jj_3R_127()) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_173()) jj_scanpos = xsp; return false; } private boolean jj_3R_73() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(89)) { jj_scanpos = xsp; if (jj_scan_token(114)) { jj_scanpos = xsp; if (jj_scan_token(115)) { jj_scanpos = xsp; if (jj_scan_token(119)) { jj_scanpos = xsp; if (jj_scan_token(112)) { jj_scanpos = xsp; if (jj_scan_token(113)) { jj_scanpos = xsp; if (jj_scan_token(120)) { jj_scanpos = xsp; if (jj_scan_token(121)) { jj_scanpos = xsp; if (jj_scan_token(122)) { jj_scanpos = xsp; if (jj_scan_token(116)) { jj_scanpos = xsp; if (jj_scan_token(118)) { jj_scanpos = xsp; if (jj_scan_token(117)) return true; } } } } } } } } } } } return false; } private boolean jj_3_17() { return jj_3R_73() || jj_3R_74(); } private boolean jj_3R_74() { if (jj_3R_101()) return true; Token xsp; xsp = jj_scanpos; if (jj_3_17()) jj_scanpos = xsp; return false; } private boolean jj_3R_286() { return jj_scan_token(COMMA) || jj_3R_86(); } private boolean jj_3R_277() { if (jj_3R_86()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_286()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3_16() { return jj_scan_token(DOT) || jj_scan_token(IDENTIFIER); } private boolean jj_3R_86() { if (jj_scan_token(IDENTIFIER)) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3_16()) { jj_scanpos = xsp; break; } } return false; } private boolean jj_3R_111() { return jj_3R_66(); } private boolean jj_3R_81() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(62)) { jj_scanpos = xsp; if (jj_3R_111()) return true; } return false; } private boolean jj_3_15() { return jj_3R_72(); } private boolean jj_3R_78() { Token xsp; xsp = jj_scanpos; if (jj_scan_token(14)) { jj_scanpos = xsp; if (jj_scan_token(19)) { jj_scanpos = xsp; if (jj_scan_token(16)) { jj_scanpos = xsp; if (jj_scan_token(50)) { jj_scanpos = xsp; if (jj_scan_token(39)) { jj_scanpos = xsp; if (jj_scan_token(41)) { jj_scanpos = xsp; if (jj_scan_token(32)) { jj_scanpos = xsp; if (jj_scan_token(25)) return true; } } } } } } } return false; } private boolean jj_3R_135() { return jj_scan_token(COMMA) || jj_3R_100(); } private boolean jj_3_12() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_189() { return jj_scan_token(SUPER) || jj_3R_71(); } private boolean jj_3R_152() { return jj_3R_172(); } private boolean jj_3R_172() { Token xsp; xsp = jj_scanpos; if (jj_3R_188()) { jj_scanpos = xsp; if (jj_3R_189()) return true; } return false; } private boolean jj_3R_188() { return jj_scan_token(EXTENDS) || jj_3R_71(); } private boolean jj_3R_126() { if (jj_scan_token(HOOK)) return true; Token xsp; xsp = jj_scanpos; if (jj_3R_152()) jj_scanpos = xsp; return false; } private boolean jj_3_13() { return jj_3R_72(); } private boolean jj_3R_125() { return jj_3R_71(); } private boolean jj_3R_100() { Token xsp; xsp = jj_scanpos; if (jj_3R_125()) { jj_scanpos = xsp; if (jj_3R_126()) return true; } return false; } private boolean jj_3_11() { return jj_scan_token(LBRACKET) || jj_scan_token(RBRACKET); } private boolean jj_3R_72() { if (jj_scan_token(LT)) return true; if (jj_3R_100()) return true; Token xsp; while (true) { xsp = jj_scanpos; if (jj_3R_135()) { jj_scanpos = xsp; break; } } return jj_scan_token(GT); } private boolean jj_3_14() { if (jj_scan_token(DOT)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; if (jj_3_15()) jj_scanpos = xsp; return false; } /** * Generated Token Manager. */ public JavaParser15TokenManager token_source; JavaCharStream jj_input_stream; /** * Current token. */ public Token token; /** * Next token. */ public Token jj_nt; private int jj_ntk; private Token jj_scanpos, jj_lastpos; private int jj_la; /** * Whether we are looking ahead. */ private boolean jj_lookingAhead = false; private boolean jj_semLA; /** * Constructor with InputStream. */ public JavaParser15(java.io.InputStream stream) { this(stream, null); } /** * Constructor with InputStream and supplied encoding */ public JavaParser15(java.io.InputStream stream, String encoding) { try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch (java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source = new JavaParser15TokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; } /** * Reinitialise. */ public void ReInit(java.io.InputStream stream) { ReInit(stream, null); } /** * Reinitialise. */ public void ReInit(java.io.InputStream stream, String encoding) { try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch (java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; } /** * Constructor. */ public JavaParser15(java.io.Reader stream) { jj_input_stream = new JavaCharStream(stream, 1, 1); token_source = new JavaParser15TokenManager(jj_input_stream); token = new Token(); jj_ntk = -1; } /** * Reinitialise. */ public void ReInit(java.io.Reader stream) { jj_input_stream.ReInit(stream, 1, 1); token_source.ReInit(jj_input_stream); token = new Token(); jj_ntk = -1; } /** * Reinitialise. */ public void ReInit(JavaParser15TokenManager tm) { token_source = tm; token = new Token(); jj_ntk = -1; } private Token jj_consume_token(int kind) throws ParseException { Token oldToken; if ((oldToken = token).next != null) token = token.next; else token = token.next = token_source.getNextToken(); jj_ntk = -1; if (token.kind == kind) { return token; } token = oldToken; throw generateParseException(); } private int currentTokenType() { return (jj_ntk == -1) ? jj_ntk() : jj_ntk; } static private final class LookaheadSuccess extends java.lang.Error { } final private LookaheadSuccess jj_ls = new LookaheadSuccess(); private boolean jj_scan_token(int kind) { if (jj_scanpos == jj_lastpos) { jj_la--; if (jj_scanpos.next == null) { jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); } else { jj_lastpos = jj_scanpos = jj_scanpos.next; } } else { jj_scanpos = jj_scanpos.next; } if (jj_scanpos.kind != kind) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; return false; } /** * Get the specific Token. */ final public Token getToken(int index) { Token t = jj_lookingAhead ? jj_scanpos : token; for (int i = 0; i < index; i++) { if (t.next != null) { t = t.next; } else { t = t.next = token_source.getNextToken(); } } return t; } private int jj_ntk() { if ((jj_nt = token.next) == null) { return (jj_ntk = (token.next = token_source.getNextToken()).kind); } else { return (jj_ntk = jj_nt.kind); } } /** * Generate ParseException. */ public ParseException generateParseException() { Token errortok = token.next; int line = errortok.beginLine, column = errortok.beginColumn; String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image; return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess); } }