/*
* 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);
}
}