package io.devnulllabs.openjava.tools.parser;
import java.lang.reflect.Method;
import java.util.Hashtable;
import java.util.Vector;
import io.devnulllabs.openjava.mop.ClassEnvironment;
import io.devnulllabs.openjava.mop.ClosedEnvironment;
import io.devnulllabs.openjava.mop.Environment;
import io.devnulllabs.openjava.mop.FileEnvironment;
import io.devnulllabs.openjava.mop.OJSystem;
import io.devnulllabs.openjava.ptree.AllocationExpression;
import io.devnulllabs.openjava.ptree.ArrayAccess;
import io.devnulllabs.openjava.ptree.ArrayAllocationExpression;
import io.devnulllabs.openjava.ptree.ArrayInitializer;
import io.devnulllabs.openjava.ptree.AssignmentExpression;
import io.devnulllabs.openjava.ptree.BinaryExpression;
import io.devnulllabs.openjava.ptree.Block;
import io.devnulllabs.openjava.ptree.BreakStatement;
import io.devnulllabs.openjava.ptree.CaseGroup;
import io.devnulllabs.openjava.ptree.CaseGroupList;
import io.devnulllabs.openjava.ptree.CastExpression;
import io.devnulllabs.openjava.ptree.CatchBlock;
import io.devnulllabs.openjava.ptree.CatchList;
import io.devnulllabs.openjava.ptree.ClassDeclaration;
import io.devnulllabs.openjava.ptree.ClassDeclarationList;
import io.devnulllabs.openjava.ptree.ClassLiteral;
import io.devnulllabs.openjava.ptree.CompilationUnit;
import io.devnulllabs.openjava.ptree.ConditionalExpression;
import io.devnulllabs.openjava.ptree.ConstructorDeclaration;
import io.devnulllabs.openjava.ptree.ConstructorInvocation;
import io.devnulllabs.openjava.ptree.ContinueStatement;
import io.devnulllabs.openjava.ptree.DoWhileStatement;
import io.devnulllabs.openjava.ptree.EmptyStatement;
import io.devnulllabs.openjava.ptree.Expression;
import io.devnulllabs.openjava.ptree.ExpressionList;
import io.devnulllabs.openjava.ptree.ExpressionStatement;
import io.devnulllabs.openjava.ptree.FieldAccess;
import io.devnulllabs.openjava.ptree.FieldDeclaration;
import io.devnulllabs.openjava.ptree.ForStatement;
import io.devnulllabs.openjava.ptree.IfStatement;
import io.devnulllabs.openjava.ptree.InstanceofExpression;
import io.devnulllabs.openjava.ptree.LabeledStatement;
import io.devnulllabs.openjava.ptree.Literal;
import io.devnulllabs.openjava.ptree.MemberDeclaration;
import io.devnulllabs.openjava.ptree.MemberDeclarationList;
import io.devnulllabs.openjava.ptree.MemberInitializer;
import io.devnulllabs.openjava.ptree.MethodCall;
import io.devnulllabs.openjava.ptree.MethodDeclaration;
import io.devnulllabs.openjava.ptree.ModifierList;
import io.devnulllabs.openjava.ptree.Parameter;
import io.devnulllabs.openjava.ptree.ParameterList;
import io.devnulllabs.openjava.ptree.ParseTree;
import io.devnulllabs.openjava.ptree.ReturnStatement;
import io.devnulllabs.openjava.ptree.SelfAccess;
import io.devnulllabs.openjava.ptree.Statement;
import io.devnulllabs.openjava.ptree.StatementList;
import io.devnulllabs.openjava.ptree.SwitchStatement;
import io.devnulllabs.openjava.ptree.SynchronizedStatement;
import io.devnulllabs.openjava.ptree.ThrowStatement;
import io.devnulllabs.openjava.ptree.TryStatement;
import io.devnulllabs.openjava.ptree.TypeName;
import io.devnulllabs.openjava.ptree.UnaryExpression;
import io.devnulllabs.openjava.ptree.Variable;
import io.devnulllabs.openjava.ptree.VariableDeclaration;
import io.devnulllabs.openjava.ptree.VariableDeclarator;
import io.devnulllabs.openjava.ptree.VariableInitializer;
import io.devnulllabs.openjava.ptree.WhileStatement;
import io.devnulllabs.openjava.syntax.SyntaxRule;
import io.devnulllabs.openjava.syntax.TokenSource;
import io.devnulllabs.openjava.tools.DebugOut;
public class Parser implements ParserConstants {
/**
* Allocates a new parser object who gets tokens from the given parser
* object.
*
* @param parser this is used to get tokens via getToken()
* or getNextToken()
.
*/
public Parser( Parser parser ) {
this( (ParserTokenManager) new CustomTokenManager( parser, OJSystem.env ) );
}
public Parser( TokenSource token_src ) {
this( new TokenSourceAdapter( token_src ) );
}
private final String getComment() {
Token token = getToken( 1 ).specialToken;
return ((token == null) ? null : token.image);
}
private final static int makeInt( String str ) {
if (str.length() == 1) {
return Integer.valueOf( str ).intValue();
} else if (str.startsWith( "0x" ) || str.startsWith( "0X" )) {
return Integer.valueOf( str.substring( 2 ), 16 ).intValue();
} else if (str.startsWith( "0" )) {
return Integer.valueOf( str.substring( 1 ), 8 ).intValue();
}
return Integer.valueOf( str ).intValue();
}
private final static long makeLong( String str ) {
if (str.length() == 1) {
return Long.valueOf( str ).longValue();
} else if (str.startsWith( "0x" ) || str.startsWith( "0X" )) {
str = str.substring( 2 );
if (str.endsWith( "l" ) || str.endsWith( "L" )) {
str = str.substring( 0, str.length() - 1 );
}
return Long.valueOf( str, 16 ).longValue();
} else if (str.startsWith( "0" )) {
str = str.substring( 1 );
if (str.endsWith( "l" ) || str.endsWith( "L" )) {
str = str.substring( 0, str.length() - 1 );
}
return Long.valueOf( str, 8 ).longValue();
}
return Long.valueOf( str ).longValue();
}
/**
* Detects class or interface name and metaclass
*/
private final ClassEnvironment setClassEnvironment( Environment base_env )
throws ParseException
{
int ptr = 1;
for (; roughModifierCheck( getToken( ptr ) ) ; ++ptr) ;
Token c_or_i = getToken( ptr++ );
if (c_or_i.kind != CLASS && c_or_i.kind != INTERFACE) {
throw new ParseException( "'class' or 'interface' expected : "
+ c_or_i.image );
}
Token cname = getToken( ptr++ );
if (cname.kind != IDENTIFIER) {
throw new ParseException( "class name expected : "
+ c_or_i.image );
}
String classname = cname.image;
ClassEnvironment result = new ClassEnvironment(base_env, classname);
Token inst = getToken(ptr++);
if (inst.kind != INSTANTIATES) {
ptr++;
} else {
IntAndObj tmp = consumeMetaclassName(ptr); ptr = tmp.ptr;
String meta = base_env.toQualifiedName((String) tmp.obj);
OJSystem.metabind(result.toQualifiedName(classname), meta);
}
return result;
}
private IntAndObj consumeMetaclassName( int ptr ) throws ParseException {
Token token = getToken( ptr++ );
if (token.kind != IDENTIFIER) {
throw new ParseException( "metaclass name exptected : "
+ token.image );
}
StringBuffer buf = new StringBuffer( token.image );
while (getToken( ptr ).kind == DOT
&& getToken( ptr + 1 ).kind == IDENTIFIER) {
buf.append( "." ).append( getToken( ptr + 1 ).image );
ptr += 2;
}
return new IntAndObj( ptr, buf.toString() );
}
/**
* This is used to check io.devnulllabs.openjava user modifier semantically.
*/
private final boolean OpenJavaModifierLookahead( Environment env ) {
return modifierCheck( env, getToken( 1 ) );
}
/**
* This is used to check OpenJava user modifier semantically.
*/
private final boolean ModifierLookahead( Environment env ) {
return modifierCheck( env, getToken( 1 ) );
}
boolean DeclSuffixLookahead( Environment env ) {
String typename = env.currentClassName();
String keyword = consumeKeyword( 1 );
if (keyword == null) return false;
Class meta = toExecutable( env, typename );
return invokeOJClass_isRegisteredKeyword( meta, keyword );
}
boolean TypeSuffixLookahead( Environment env, String typename ) {
String keyword = consumeKeyword( 1 );
if (keyword == null) return false;
Class meta = toExecutable( env, typename );
return invokeOJClass_isRegisteredKeyword( meta, keyword );
}
private static final boolean modifierCheck( Environment env, Token t ) {
if (pureModifierCheck( t )) return true;
if (t.kind != IDENTIFIER) return false;
Class meta = toExecutable( env, env.currentClassName() );
if (meta == null) return false;
return invokeOJClass_isRegisteredModifier( meta, t.image );
}
private String consumeKeyword( int ptr ) {
Token token = getToken( ptr );
if (token.kind != IDENTIFIER) return null;
return token.image;
}
static final Class toExecutable( Environment env, String typename ) {
String qname = env.toQualifiedName( typename );
return OJSystem.getMetabind( qname );
}
static boolean invokeOJClass_isRegisteredKeyword( Class meta,
String keyword )
{
try {
Method m = meta.getMethod( "isRegisteredKeyword",
new Class[]{ String . class} );
Boolean b = (Boolean) m.invoke( null, new Object[]{ keyword } );
return b.booleanValue();
} catch ( Exception e ) {}
return false;
}
static SyntaxRule invokeOJClass_getDeclSuffixRule(Environment env,
Class meta,
String keyword)
{
SyntaxRule result = null;
try {
Method m = meta.getMethod("getDeclSuffixRule",
new Class[]{ Environment.class,
String.class });
result = (SyntaxRule) m.invoke(null, new Object[]{ env, keyword });
} catch (Exception e) {} /* ignore if the method not provided */
if (result != null) return result;
try {
Method m = meta.getMethod("getDeclSuffixRule",
new Class[]{ String.class });
result = (SyntaxRule) m.invoke(null, new Object[]{ keyword });
} catch (Exception e) {} /* ignore if the method not provided */
return result;
}
static SyntaxRule invokeOJClass_getTypeSuffixRule(Environment env,
Class meta,
String keyword)
{
SyntaxRule result = null;
try {
Method m = meta.getMethod("getTypeSuffixRule",
new Class[]{ Environment.class,
String.class });
result = (SyntaxRule) m.invoke(null, new Object[]{ env, keyword });
} catch (Exception e) {} /* ignore if the method not provided */
if (result != null) return result;
try {
Method m = meta.getMethod("getTypeSuffixRule",
new Class[]{ String.class});
result = (SyntaxRule) m.invoke(null, new Object[]{ keyword });
} catch (Exception e) {} /* ignore if the method not provided */
return result;
}
static boolean invokeOJClass_isRegisteredModifier( Class meta,
String keyword )
{
try {
Method m = meta.getMethod( "isRegisteredModifier",
new Class[]{ String . class} );
Boolean b = (Boolean) m.invoke( null, new Object[]{ keyword } );
return b.booleanValue();
} catch ( Exception e ) {}
return false;
}
/**
* This is used to check constructors semantically.
*/
private final boolean ConstructorDeclarationLookahead(
ClassEnvironment env ) {
int ptr;
for (ptr = 1; modifierCheck( env, getToken( ptr ) ) ; ++ptr) ;
String simplename = Environment.toSimpleName( env.currentClassName() );
//if (! getToken( ptr ).image.equals( simplename )
// || getToken( ptr + 1 ).kind != LPAREN) {
// return false;
//}
//return true;
return (getToken(ptr + 1).kind == LPAREN);
}
/**
* This will used to check local variable declaration semantically.
*/
private final boolean LocalVariableDeclarationLookahead(
Environment env ) {
int ptr;
for (ptr = 1; modifierCheck( env, getToken( ptr ) ) ; ++ptr) ;
int old_ptr = ptr;
ptr = consumePureResultType( old_ptr );
if (ptr != old_ptr && getToken( ptr ).kind == IDENTIFIER) {
return true;
}
return false;
}
private final boolean roughModifierCheck( Token t ) {
if (pureModifierCheck( t )) return true;
return (t.kind == IDENTIFIER);
}
private static final boolean pureModifierCheck( Token t ) {
switch (t.kind) {
case ABSTRACT : case FINAL : case PUBLIC : case PRIVATE :
case PROTECTED : case STATIC : case TRANSIENT : case VOLATILE :
case NATIVE : case SYNCHRONIZED :
return true;
}
return false;
}
private final boolean ConstructorInvocationLookahead() {
int ptr = 1;
while (getToken(ptr).kind != EOF) {
if (getToken(ptr).kind == SUPER
&& getToken(ptr + 1).kind == LPAREN) {
return true;
}
if (getToken(ptr).kind == SEMICOLON) return false;
if (getToken(ptr).kind == RBRACE) return false;
++ptr;
}
return false;
}
private final boolean AssignmentLookahead() {
int ptr = 1;
switch (getToken( ptr ).kind) {
case LPAREN :
ptr = consumeParenPair( ptr );
break;
case IDENTIFIER :
case THIS :
case SUPER :
ptr++;
break;
default :
return false;
}
for (boolean cont = true; cont;) {
switch (getToken( ptr ).kind) {
case LPAREN :
ptr = consumeParenPair( ptr );
break;
case LBRACKET :
ptr = consumeBracketPair( ptr );
break;
case DOT :
ptr++;
if (getToken( ptr ).kind != IDENTIFIER) return false;
ptr++;
break;
default :
cont = false;
}
}
return assignmentOperatorCheck( getToken( ptr ) );
}
private final int consumeParenPair( int ptr ) {
int nest = 1;
for (++ptr; nest > 0; ptr++) {
if (getToken( ptr ).kind == LPAREN) nest++;
if (getToken( ptr ).kind == RPAREN) nest--;
}
return ptr;
}
private final int consumeBracketPair( int ptr ) {
int nest = 1;
for (++ptr; nest > 0; ptr++) {
if (getToken( ptr ).kind == LBRACKET) nest++;
if (getToken( ptr ).kind == RBRACKET) nest--;
}
return ptr;
}
private static final boolean assignmentOperatorCheck( Token t ) {
if (t.kind == ASSIGN) return true;
if (t.kind == PLUSASSIGN) return true;
if (t.kind == MINUSASSIGN) return true;
if (t.kind == STARASSIGN) return true;
if (t.kind == SLASHASSIGN) return true;
if (t.kind == ANDASSIGN) return true;
if (t.kind == ORASSIGN) return true;
if (t.kind == XORASSIGN) return true;
if (t.kind == REMASSIGN) return true;
if (t.kind == LSHIFTASSIGN) return true;
if (t.kind == RSIGNEDSHIFTASSIGN) return true;
if (t.kind == RUNSIGNEDSHIFTASSIGN) return true;
return false;
}
private final boolean ClassLiteralLookahead() {
int ptr = 1;
ptr = consumePureResultType( ptr );
if (ptr == 1) return false;
/** here should be user suffix check **/
if (getToken( ptr ).kind != DOT) return false;
if (getToken( ptr + 1 ).kind != CLASS) return false;
return true;
}
private final int consumePureResultType( int ptr ) {
Token token = getToken( ptr );
if (primitiveTypeCheck( token )) {
ptr++;
} else if (token.kind == IDENTIFIER) {
ptr++;
while (getToken( ptr ).kind == DOT
&& getToken( ptr + 1 ).kind == IDENTIFIER) {
ptr += 2;
}
} else {
return ptr;
}
while (getToken( ptr ).kind == LBRACKET
&& getToken( ptr + 1 ).kind == RBRACKET) {
ptr += 2;
}
return ptr;
}
private final boolean primitiveTypeCheck( Token t ) {
if (t.kind == BOOLEAN || t.kind == CHAR || t.kind == BYTE
|| t.kind == SHORT || t.kind == INT || t.kind == LONG
|| t.kind == FLOAT || t.kind == DOUBLE || t.kind == VOID) {
return true;
}
return false;
}
void debug_message1() throws ParseException {
DebugOut.println( "debug1 : " + getToken( 0 ).image
+ " , " + getToken( 1 ).image );
}
ParseTree UserDeclSuffix(Environment env, String keyword) throws ParseException {
String typename = env.currentClassName();
Class meta = toExecutable(env, typename);
SyntaxRule rule = invokeOJClass_getDeclSuffixRule(env, meta, keyword);
CustomTokenManager token_mgr = new CustomTokenManager(this, env);
token_mgr.assume();
ParseTree result = rule.consume(token_mgr);
token_mgr.fix();
return result;
}
ParseTree UserTypeSuffix(Environment env, String typename, String keyword) throws ParseException {
Class meta = toExecutable(env, typename);
SyntaxRule rule = invokeOJClass_getTypeSuffixRule(env, meta, keyword);
CustomTokenManager token_mgr = new CustomTokenManager(this, env);
token_mgr.assume();
ParseTree result = rule.consume(token_mgr);
token_mgr.fix();
return result;
}
void E() throws ParseException {
}
/*****************************************
* Syntactical Descriptions *
*****************************************/
/*
* Program structuring syntax follows.
*/
final public CompilationUnit CompilationUnit(Environment base_env) throws ParseException {
CompilationUnit result;
FileEnvironment env = new FileEnvironment( base_env );
String p1;
String[] p2;
ClassDeclarationList p3;
/**/DebugOut.println( "#CompilationUnit()" );
String comment = getComment();
p1 = PackageDeclarationOpt();
p2 = ImportDeclarationListOpt();
env.setPackage( p1 );
for (int i = 0; i < p2.length; ++i) {
if (CompilationUnit.isOnDemandImport( p2[i] )) {
String pack_cls = CompilationUnit.trimOnDemand( p2[i] );
env.importPackage( pack_cls );
} else {
env.importClass( p2[i] );
}
}
label_1:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
jj_la1[0] = jj_gen;
break label_1;
}
jj_consume_token(SEMICOLON);
}
p3 = TypeDeclarationListOpt(env);
jj_consume_token(0);
result = new CompilationUnit( p1, p2, p3 );
result.setComment( comment );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public String PackageDeclarationOpt() throws ParseException {
String p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case PACKAGE:
jj_consume_token(PACKAGE);
p1 = Name();
jj_consume_token(SEMICOLON);
{if (true) return p1;}
break;
default:
jj_la1[1] = jj_gen;
E();
{if (true) return null;}
}
throw new Error("Missing return statement in function");
}
final public String[] ImportDeclarationListOpt() throws ParseException {
String[] result;
String p1;
Vector v = new Vector();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IMPORT:
label_2:
while (true) {
p1 = ImportDeclaration();
v.addElement( p1 );
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IMPORT:
;
break;
default:
jj_la1[2] = jj_gen;
break label_2;
}
}
result = new String[v.size()];
for (int i = 0; i < result.length; ++i) {
result[i] = (String) v.elementAt( i );
}
{if (true) return result;}
break;
default:
jj_la1[3] = jj_gen;
E();
{if (true) return new String[0];}
}
throw new Error("Missing return statement in function");
}
final public String ImportDeclaration() throws ParseException {
String p1;
StringBuffer strbuf = new StringBuffer();
jj_consume_token(IMPORT);
Identifier();
strbuf.append( getToken( 0 ).image );
label_3:
while (true) {
if (jj_2_1(2)) {
;
} else {
break label_3;
}
jj_consume_token(DOT);
Identifier();
strbuf.append( "." + getToken( 0 ).image );
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DOT:
jj_consume_token(DOT);
jj_consume_token(STAR);
strbuf.append( ".*" );
break;
default:
jj_la1[4] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
{if (true) return strbuf.toString();}
throw new Error("Missing return statement in function");
}
final public ClassDeclarationList TypeDeclarationListOpt(Environment env) throws ParseException {
ClassEnvironment newenv;
ClassDeclarationList result = new ClassDeclarationList();
ClassDeclaration p1;
if ((getToken( 1 ).kind != RBRACE
&& getToken( 1 ).kind != EOF)) {
label_4:
while (true) {
newenv = setClassEnvironment( env );
p1 = TypeDeclaration(newenv);
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
jj_la1[5] = jj_gen;
break label_5;
}
jj_consume_token(SEMICOLON);
}
result.add( p1 );
if ((getToken( 1 ).kind != RBRACE
&& getToken( 1 ).kind != EOF)) {
;
} else {
break label_4;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration TypeDeclaration(ClassEnvironment env) throws ParseException {
ClassDeclaration result;
ClassDeclaration p1;
Token ctoken = getToken( 1 ).specialToken;
String comment = getComment();
if (jj_2_2(2147483647)) {
p1 = ClassDeclaration(env);
} else {
p1 = InterfaceDeclaration(env);
}
result = p1;
result.setComment( comment );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public String Identifier() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
jj_consume_token(IDENTIFIER);
{if (true) return getToken( 0 ).image;}
break;
case METACLASS:
jj_consume_token(METACLASS);
{if (true) return "metaclass";}
break;
default:
jj_la1[6] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public String[] MetaclassesOpt(Environment env) throws ParseException {
String[] result;
String p1;
String p2;
Vector v = new Vector();
String qname;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
jj_consume_token(METACLASS);
p1 = Name();
qname = env.toQualifiedName( p1 );
v.addElement( qname );
/****/DebugOut.print( "metaclass " + qname );
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
jj_consume_token(COMMA);
p2 = Name();
qname = env.toQualifiedName( p2 );
/****/DebugOut.print( ", " + qname );
break;
default:
jj_la1[7] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COLON:
jj_consume_token(COLON);
break;
case SEMICOLON:
jj_consume_token(SEMICOLON);
break;
default:
jj_la1[8] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
/****/DebugOut.println( " :" );
result = new String[v.size()];
for (int i = 0; i < result.length; ++i) {
result[i] = (String) v.elementAt( i );
}
{if (true) return result;}
break;
default:
jj_la1[9] = jj_gen;
E();
{if (true) return new String[0];}
}
throw new Error("Missing return statement in function");
}
final public String InstantiatesPhraseOpt(ClassEnvironment env) throws ParseException {
String p1 = null;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INSTANTIATES:
jj_consume_token(INSTANTIATES);
p1 = Name();
{if (true) return p1;}
break;
default:
jj_la1[10] = jj_gen;
E();
{if (true) return p1;}
}
throw new Error("Missing return statement in function");
}
final public String OpenJavaModifier() throws ParseException {
String result;
jj_consume_token(IDENTIFIER);
result = getToken( 0 ).image;
DebugOut.println( "user modifier detected : " + result );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Hashtable OpenJavaDeclSuffixListOpt(Environment env) throws ParseException {
Hashtable result = new Hashtable();
String p1;
ParseTree p2;
if (DeclSuffixLookahead( env )) {
label_6:
while (true) {
p1 = Identifier();
p2 = UserDeclSuffix(env, p1);
DebugOut.println( "decl suffix : " + p1 + " " + p2 );
result.put( p1, p2 );
if (DeclSuffixLookahead( env )) {
;
} else {
break label_6;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public Hashtable OpenJavaTypeSuffixListOpt(Environment env, String typename) throws ParseException {
Hashtable result = new Hashtable();
String p1;
ParseTree p2;
if (TypeSuffixLookahead( env, typename )) {
label_7:
while (true) {
p1 = Identifier();
p2 = UserTypeSuffix(env, typename, p1);
DebugOut.println( "type suffix : " + p1 + " " + p2 );
result.put( p1, p2 );
if (TypeSuffixLookahead( env, typename )) {
;
} else {
break label_7;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public int Modifier() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ABSTRACT:
jj_consume_token(ABSTRACT);
{if (true) return ModifierList.ABSTRACT;}
break;
case FINAL:
jj_consume_token(FINAL);
{if (true) return ModifierList.FINAL;}
break;
case PUBLIC:
jj_consume_token(PUBLIC);
{if (true) return ModifierList.PUBLIC;}
break;
case PRIVATE:
jj_consume_token(PRIVATE);
{if (true) return ModifierList.PRIVATE;}
break;
case PROTECTED:
jj_consume_token(PROTECTED);
{if (true) return ModifierList.PROTECTED;}
break;
case STATIC:
jj_consume_token(STATIC);
{if (true) return ModifierList.STATIC;}
break;
case TRANSIENT:
jj_consume_token(TRANSIENT);
{if (true) return ModifierList.TRANSIENT;}
break;
case VOLATILE:
jj_consume_token(VOLATILE);
{if (true) return ModifierList.VOLATILE;}
break;
case NATIVE:
jj_consume_token(NATIVE);
{if (true) return ModifierList.NATIVE;}
break;
case SYNCHRONIZED:
jj_consume_token(SYNCHRONIZED);
{if (true) return ModifierList.SYNCHRONIZED;}
break;
default:
jj_la1[11] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
/*
* Declaration syntax follows.
*/
final public ClassDeclaration ClassDeclaration(ClassEnvironment env) throws ParseException {
ModifierList p1;
ClassDeclaration p2;
DebugOut.println( "#ClassDeclaration()" );
p1 = ClassModifiersOpt(env);
p2 = UnmodifiedClassDeclaration(env);
p2.setModifiers( p1 );
{if (true) return p2;}
throw new Error("Missing return statement in function");
}
final public ModifierList ClassModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if ((getToken( 1 ).kind != CLASS)) {
label_8:
while (true) {
if (jj_2_3(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_8;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration UnmodifiedClassDeclaration(ClassEnvironment env) throws ParseException {
ClassDeclaration result;
String p1;
TypeName[] p2;
TypeName[] p3;
MemberDeclarationList p4;
String mm;
Hashtable sf;
jj_consume_token(CLASS);
p1 = Identifier();
mm = InstantiatesPhraseOpt(env);
p2 = ExtendsPhraseOpt(env);
p3 = ImplementsPhraseOpt(env);
sf = OpenJavaDeclSuffixListOpt(env);
p4 = ClassBody(env);
result = new ClassDeclaration( null, p1, p2, p3, p4 );
result.setSuffixes( sf );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public TypeName[] ExtendsPhraseOpt(Environment env) throws ParseException {
TypeName[] p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EXTENDS:
jj_consume_token(EXTENDS);
p1 = TypeNameList(env);
{if (true) return p1;}
break;
default:
jj_la1[12] = jj_gen;
E();
{if (true) return null;}
}
throw new Error("Missing return statement in function");
}
final public TypeName[] ImplementsPhraseOpt(Environment env) throws ParseException {
TypeName[] p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IMPLEMENTS:
jj_consume_token(IMPLEMENTS);
p1 = TypeNameList(env);
{if (true) return p1;}
break;
default:
jj_la1[13] = jj_gen;
E();
{if (true) return null;}
}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList ClassBody(ClassEnvironment env) throws ParseException {
MemberDeclarationList p1;
DebugOut.println( "#ClassBody()" );
jj_consume_token(LBRACE);
label_9:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
jj_la1[14] = jj_gen;
break label_9;
}
jj_consume_token(SEMICOLON);
}
p1 = ClassBodyDeclarationListOpt(env);
jj_consume_token(RBRACE);
{if (true) return p1;}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList ClassBodyDeclarationListOpt(ClassEnvironment env) throws ParseException {
MemberDeclarationList result = new MemberDeclarationList();
MemberDeclarationList p1;
if ((getToken( 1 ).kind != RBRACE)) {
label_10:
while (true) {
p1 = ClassBodyDeclaration(env);
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SEMICOLON:
;
break;
default:
jj_la1[15] = jj_gen;
break label_11;
}
jj_consume_token(SEMICOLON);
}
result.addAll( p1 );
if ((getToken( 1 ).kind != RBRACE)) {
;
} else {
break label_10;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration NestedTypeDeclaration(ClassEnvironment env) throws ParseException {
ClassDeclaration result;
ClassDeclaration p1;
Token ctoken = getToken( 1 ).specialToken;
String comment = getComment();
if (jj_2_4(2147483647)) {
p1 = NestedClassDeclaration(env);
} else {
p1 = NestedInterfaceDeclaration(env);
}
result = p1;
result.setComment( comment );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration NestedClassDeclaration(ClassEnvironment env) throws ParseException {
ModifierList p1;
ClassDeclaration p2;
DebugOut.println( "#NestedClassDeclaration()" );
p1 = NestedClassModifiersOpt(env);
p2 = UnmodifiedClassDeclaration(env);
p2.setModifiers( p1 );
{if (true) return p2;}
throw new Error("Missing return statement in function");
}
final public ModifierList NestedClassModifiersOpt(ClassEnvironment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if ((getToken( 1 ).kind != CLASS)) {
label_12:
while (true) {
if (jj_2_5(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_12;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList ClassBodyDeclaration(ClassEnvironment env) throws ParseException {
ClassEnvironment newenv;
MemberDeclarationList result;
MemberDeclaration p1;
MemberDeclarationList p2;
if (jj_2_6(2147483647)) {
p1 = MemberInitializer(env);
result = new MemberDeclarationList( p1 );
{if (true) return result;}
} else if (jj_2_7(2147483647)) {
newenv = setClassEnvironment( env );
p1 = NestedTypeDeclaration(newenv);
result = new MemberDeclarationList( p1 );
{if (true) return result;}
} else if (ConstructorDeclarationLookahead( env )) {
p1 = ConstructorDeclaration(env);
result = new MemberDeclarationList( p1 );
{if (true) return result;}
} else {
p2 = MethodOrFieldDeclaration(env);
{if (true) return p2;}
}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList MethodOrFieldDeclaration(Environment base_env) throws ParseException {
Environment env = new ClosedEnvironment( base_env );
MemberDeclarationList result = new MemberDeclarationList();
ModifierList p1;
TypeName p2;
String p3;
ParameterList p4;
int p5;
TypeName[] p6;
StatementList p7;
VariableDeclarator p8;
Hashtable sf;
Token ctoken = getToken( 1 ).specialToken;
String comment = getComment();
p1 = MemberModifiersOpt(base_env);
p2 = Type(base_env);
if (jj_2_8(2147483647)) {
p3 = Identifier();
p4 = FormalParameters(env);
p5 = EmptyBracketsOpt();
p6 = ThrowsPhraseOpt(base_env);
sf = OpenJavaDeclSuffixListOpt(env);
p7 = MethodBody(env);
p2.addDimension( p5 );
MethodDeclaration mthd
= new MethodDeclaration( p1, p2, p3, p4, p6, p7 );
mthd.setSuffixes( sf );
mthd.setComment( comment );
result.add( mthd );
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p8 = VariableDeclarator(base_env);
FieldDeclaration fld1 = new FieldDeclaration( p1, p2, p8 );
fld1.setComment( comment );
result.add( fld1 );
label_13:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[16] = jj_gen;
break label_13;
}
jj_consume_token(COMMA);
p8 = VariableDeclarator(env);
FieldDeclaration fld2 = new FieldDeclaration( p1, p2, p8 );
fld2.setComment( comment );
result.add( fld2 );
}
jj_consume_token(SEMICOLON);
break;
default:
jj_la1[17] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public TypeName[] ThrowsPhraseOpt(Environment env) throws ParseException {
TypeName[] p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case THROWS:
jj_consume_token(THROWS);
p1 = TypeNameList(env);
{if (true) return p1;}
break;
default:
jj_la1[18] = jj_gen;
E();
{if (true) return null;}
}
throw new Error("Missing return statement in function");
}
final public StatementList MethodBody(Environment env) throws ParseException {
StatementList p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p1 = BlockedBody(env);
{if (true) return p1;}
break;
case SEMICOLON:
jj_consume_token(SEMICOLON);
{if (true) return null;}
break;
default:
jj_la1[19] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public ModifierList MemberModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if (modifierCheck( env, getToken( 1 ) )) {
label_14:
while (true) {
if (jj_2_9(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_14;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration InterfaceDeclaration(ClassEnvironment env) throws ParseException {
ModifierList p1;
ClassDeclaration p2;
DebugOut.println( "#InterfaceDeclaration()" );
p1 = InterfaceModifiersOpt(env);
p2 = UnmodifiedInterfaceDeclaration(env);
p2.setModifiers( p1 );
{if (true) return p2;}
throw new Error("Missing return statement in function");
}
final public ModifierList InterfaceModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if ((getToken( 1 ).kind != INTERFACE)) {
label_15:
while (true) {
if (jj_2_10(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_15;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration NestedInterfaceDeclaration(ClassEnvironment env) throws ParseException {
ModifierList p1;
ClassDeclaration p2;
DebugOut.println( "#NestedInterfaceDeclaration()" );
p1 = NestedInterfaceModifiersOpt(env);
p2 = UnmodifiedInterfaceDeclaration(env);
p2.setModifiers( p1 );
{if (true) return p2;}
throw new Error("Missing return statement in function");
}
final public ModifierList NestedInterfaceModifiersOpt(ClassEnvironment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if ((getToken( 1 ).kind != INTERFACE)) {
label_16:
while (true) {
if (jj_2_11(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_16;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ClassDeclaration UnmodifiedInterfaceDeclaration(ClassEnvironment env) throws ParseException {
ClassDeclaration result;
String p1;
TypeName[] p2;
MemberDeclarationList p3;
String mm;
Hashtable sf;
jj_consume_token(INTERFACE);
p1 = Identifier();
mm = InstantiatesPhraseOpt(env);
p2 = ExtendsPhraseOpt(env);
sf = OpenJavaDeclSuffixListOpt(env);
p3 = InterfaceBody(env);
result = new ClassDeclaration( null, p1, p2, null, p3, false );
result.setSuffixes( sf );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList InterfaceBody(ClassEnvironment env) throws ParseException {
MemberDeclarationList p1;
jj_consume_token(LBRACE);
p1 = InterfaceBodyDeclarationListOpt(env);
jj_consume_token(RBRACE);
{if (true) return p1;}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList InterfaceBodyDeclarationListOpt(ClassEnvironment env) throws ParseException {
MemberDeclarationList result = new MemberDeclarationList();
MemberDeclarationList p1;
if ((getToken( 1 ).kind != RBRACE)) {
label_17:
while (true) {
p1 = InterfaceBodyDeclaration(env);
result.addAll( p1 );
if ((getToken( 1 ).kind != RBRACE)) {
;
} else {
break label_17;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public MemberDeclarationList InterfaceBodyDeclaration(ClassEnvironment env) throws ParseException {
ClassEnvironment newenv;
MemberDeclarationList result;
ClassDeclaration p1;
MemberDeclarationList p2;
if (jj_2_12(2147483647)) {
newenv = setClassEnvironment( env );
p1 = NestedTypeDeclaration(newenv);
result = new MemberDeclarationList( p1 );
{if (true) return result;}
} else {
p2 = MethodOrFieldDeclaration(env);
{if (true) return p2;}
}
throw new Error("Missing return statement in function");
}
final public VariableDeclarator VariableDeclarator(Environment env) throws ParseException {
String p1;
int p2;
VariableInitializer p3 = null;
p1 = Identifier();
p2 = EmptyBracketsOpt();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ASSIGN:
jj_consume_token(ASSIGN);
p3 = VariableInitializer(env);
break;
default:
jj_la1[20] = jj_gen;
;
}
{if (true) return new VariableDeclarator( p1, p2, p3 );}
throw new Error("Missing return statement in function");
}
final public int EmptyBracketsOpt() throws ParseException {
int result = 0;
if (jj_2_14(2147483647)) {
label_18:
while (true) {
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
result++;
if (jj_2_13(2)) {
;
} else {
break label_18;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public VariableInitializer VariableInitializer(Environment env) throws ParseException {
VariableInitializer p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p1 = ArrayInitializer(env);
{if (true) return p1;}
break;
default:
jj_la1[21] = jj_gen;
if (jj_2_15(1)) {
p1 = Expression(env);
{if (true) return p1;}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
throw new Error("Missing return statement in function");
}
final public ArrayInitializer ArrayInitializer(Environment env) throws ParseException {
ArrayInitializer result = new ArrayInitializer();
VariableInitializer p1;
jj_consume_token(LBRACE);
if ((getToken( 1 ).kind != RBRACE
&& getToken( 1 ).kind != COMMA)) {
p1 = VariableInitializer(env);
result.add( p1 );
label_19:
while (true) {
if ((getToken( 1 ).kind == COMMA
&& getToken( 2 ).kind != RBRACE)) {
;
} else {
break label_19;
}
jj_consume_token(COMMA);
p1 = VariableInitializer(env);
result.add( p1 );
}
} else {
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
jj_consume_token(COMMA);
result.omitRemainder( true );
break;
default:
jj_la1[22] = jj_gen;
;
}
jj_consume_token(RBRACE);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ParameterList FormalParameters(Environment env) throws ParseException {
ParameterList result = new ParameterList();
Parameter p1;
DebugOut.println( "#FormalParameters()" );
jj_consume_token(LPAREN);
if ((getToken( 1 ).kind != RPAREN)) {
p1 = FormalParameter(env);
result.add( p1 );
label_20:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[23] = jj_gen;
break label_20;
}
jj_consume_token(COMMA);
p1 = FormalParameter(env);
result.add( p1 );
}
} else {
;
}
jj_consume_token(RPAREN);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Parameter FormalParameter(Environment env) throws ParseException {
ModifierList p1;
TypeName p2;
String p3;
int p4;
DebugOut.println( "#FormalParameter()" );
p1 = FormalParameterModifiersOpt(env);
p2 = Type(env);
p3 = Identifier();
p4 = EmptyBracketsOpt();
p2.addDimension( p4 );
/* binds the parameter variable as the null type */
env.bindVariable(p3, OJSystem.NULLTYPE);
{if (true) return new Parameter( p1, p2, p3 );}
throw new Error("Missing return statement in function");
}
final public ModifierList FormalParameterModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if (modifierCheck( env, getToken( 1 ) )) {
label_21:
while (true) {
if (jj_2_16(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_21;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ConstructorDeclaration ConstructorDeclaration(Environment base_env) throws ParseException {
Environment env = new ClosedEnvironment( base_env );
ConstructorDeclaration result;
ModifierList p1;
String p2;
ParameterList p3;
TypeName[] p4;
ConstructorInvocation p5;
StatementList p6;
Hashtable sf;
DebugOut.println( "#ConstructorDeclaration()" );
p1 = ConstructorModifiersOpt(base_env);
p2 = Identifier();
p3 = FormalParameters(env);
p4 = ThrowsPhraseOpt(base_env);
sf = OpenJavaDeclSuffixListOpt(env);
jj_consume_token(LBRACE);
p5 = ExplicitConstructorInvocationOpt(env);
p6 = BlockOrStatementListOpt(env);
jj_consume_token(RBRACE);
result = new ConstructorDeclaration( p1, p2, p3, p4, p5, p6 );
result.setSuffixes( sf );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ModifierList ConstructorModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if (jj_2_17(2147483647)) {
p1 = Modifier();
result.add( p1 );
label_22:
while (true) {
if (OpenJavaModifierLookahead( env )) {
;
} else {
break label_22;
}
p2 = OpenJavaModifier();
result.add( p2 );
}
{if (true) return result;}
} else if (OpenJavaModifierLookahead( env )) {
label_23:
while (true) {
p2 = OpenJavaModifier();
result.add( p2 );
if (OpenJavaModifierLookahead( env )) {
;
} else {
break label_23;
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ABSTRACT:
case FINAL:
case NATIVE:
case PRIVATE:
case PROTECTED:
case PUBLIC:
case STATIC:
case SYNCHRONIZED:
case TRANSIENT:
case VOLATILE:
p1 = Modifier();
result.add( p1 );
label_24:
while (true) {
if (OpenJavaModifierLookahead( env )) {
;
} else {
break label_24;
}
p2 = OpenJavaModifier();
result.add( p2 );
}
break;
default:
jj_la1[24] = jj_gen;
;
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public ConstructorInvocation ExplicitConstructorInvocationOpt(Environment env) throws ParseException {
ExpressionList p1;
Expression p2 = null;
DebugOut.println( "#ExplicitConstructorInvocationOpt()" );
if (jj_2_18(2147483647)) {
jj_consume_token(THIS);
p1 = Arguments(env);
jj_consume_token(SEMICOLON);
{if (true) return new ConstructorInvocation( p1 );}
} else if (ConstructorInvocationLookahead()) {
if ((getToken( 1 ).kind != SUPER)) {
p2 = PrimaryExpression(env);
jj_consume_token(DOT);
} else {
;
}
jj_consume_token(SUPER);
p1 = Arguments(env);
jj_consume_token(SEMICOLON);
{if (true) return new ConstructorInvocation( p1, p2 );}
} else {
E();
{if (true) return null;}
}
throw new Error("Missing return statement in function");
}
final public MemberInitializer MemberInitializer(Environment env) throws ParseException {
MemberInitializer result;
StatementList p1;
boolean is_static = false;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case STATIC:
jj_consume_token(STATIC);
is_static = true;
break;
default:
jj_la1[25] = jj_gen;
;
}
p1 = BlockedBody(env);
if (is_static) {
result = new MemberInitializer( p1, true );
} else {
result = new MemberInitializer( p1 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
/*
* Type, name and expression syntax follows.
*/
final public TypeName Type(Environment env) throws ParseException {
TypeName result;
String p1;
Hashtable p2;
int p3;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SHORT:
case VOID:
p1 = PrimitiveType();
break;
case METACLASS:
case IDENTIFIER:
p1 = Name();
break;
default:
jj_la1[26] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = OpenJavaTypeSuffixListOpt(env, p1);
p3 = EmptyBracketsOpt();
result = new TypeName( p1, p3, p2 );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public String PrimitiveType() throws ParseException {
String result;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
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;
case VOID:
jj_consume_token(VOID);
break;
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
result = getToken( 0 ).image;
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public String Name() throws ParseException {
String p1;
StringBuffer strbuf = null;
p1 = Identifier();
strbuf = new StringBuffer( p1 );
label_25:
while (true) {
if (jj_2_19(2)) {
;
} else {
break label_25;
}
jj_consume_token(DOT);
p1 = Identifier();
strbuf.append( "." + p1 );
}
{if (true) return strbuf.toString();}
throw new Error("Missing return statement in function");
}
final public TypeName TypeName(Environment env) throws ParseException {
TypeName result;
String p1;
Hashtable p2;
p1 = Name();
p2 = OpenJavaTypeSuffixListOpt(env, p1);
result = new TypeName( p1, p2 );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public TypeName[] TypeNameList(Environment env) throws ParseException {
TypeName[] result;
TypeName p1;
Vector v = new Vector();
p1 = TypeName(env);
v.addElement( p1 );
label_26:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[28] = jj_gen;
break label_26;
}
jj_consume_token(COMMA);
p1 = TypeName(env);
v.addElement( p1 );
}
result = new TypeName[v.size()];
for (int i = 0; i < result.length; ++i) {
result[i] = (TypeName) v.elementAt( i );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public TypeName[] TypeNameListOpt(Environment env) throws ParseException {
TypeName[] result;
TypeName p1;
Vector v = new Vector();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p1 = TypeName(env);
v.addElement( p1 );
label_27:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[29] = jj_gen;
break label_27;
}
jj_consume_token(COMMA);
p1 = TypeName(env);
v.addElement( p1 );
}
result = new TypeName[v.size()];
for (int i = 0; i < result.length; ++i) {
result[i] = (TypeName) v.elementAt( i );
}
{if (true) return result;}
break;
default:
jj_la1[30] = jj_gen;
E();
{if (true) return new TypeName[0];}
}
throw new Error("Missing return statement in function");
}
/*
* Expression syntax follows.
*/
final public Expression Expression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2 = null;
Expression p3 = null;
DebugOut.println( "#Expression()" );
p1 = ConditionalExpression(env);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ASSIGN:
case PLUSASSIGN:
case MINUSASSIGN:
case STARASSIGN:
case SLASHASSIGN:
case ANDASSIGN:
case ORASSIGN:
case XORASSIGN:
case REMASSIGN:
case LSHIFTASSIGN:
case RSIGNEDSHIFTASSIGN:
case RUNSIGNEDSHIFTASSIGN:
p2 = AssignmentOperator();
p3 = Expression(env);
break;
default:
jj_la1[31] = jj_gen;
;
}
if (p2 != null) {
result = new AssignmentExpression( p1, p2, p3 );
} else {
result = p1;
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public AssignmentExpression AssignmentExpression(Environment env) throws ParseException {
Expression p1;
String p2;
Expression p3;
DebugOut.println( "#AssignmentExpression()" );
p1 = PrimaryExpression(env);
p2 = AssignmentOperator();
p3 = Expression(env);
{if (true) return new AssignmentExpression( p1, p2, p3 );}
throw new Error("Missing return statement in function");
}
final public String AssignmentOperator() throws ParseException {
String result;
DebugOut.println( "#AssignmentOperator()" );
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
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_la1[32] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
result = getToken( 0 ).image;
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression ConditionalExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
Expression p2 = null;
Expression p3 = null;
p1 = ConditionalOrExpression(env);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case HOOK:
jj_consume_token(HOOK);
p2 = Expression(env);
jj_consume_token(COLON);
p3 = ConditionalExpression(env);
break;
default:
jj_la1[33] = jj_gen;
;
}
if (p2 != null) {
result = new ConditionalExpression( p1, p2, p3 );
} else {
result = p1;
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression ConditionalOrExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = ConditionalAndExpression(env);
result = p1;
label_28:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SC_OR:
;
break;
default:
jj_la1[34] = jj_gen;
break label_28;
}
jj_consume_token(SC_OR);
p2 = getToken( 0 ).image;
p3 = ConditionalAndExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression ConditionalAndExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = InclusiveOrExpression(env);
result = p1;
label_29:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SC_AND:
;
break;
default:
jj_la1[35] = jj_gen;
break label_29;
}
jj_consume_token(SC_AND);
p2 = getToken( 0 ).image;
p3 = InclusiveOrExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression InclusiveOrExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = ExclusiveOrExpression(env);
result = p1;
label_30:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case BIT_OR:
;
break;
default:
jj_la1[36] = jj_gen;
break label_30;
}
jj_consume_token(BIT_OR);
p2 = getToken( 0 ).image;
p3 = ExclusiveOrExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression ExclusiveOrExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = AndExpression(env);
result = p1;
label_31:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case XOR:
;
break;
default:
jj_la1[37] = jj_gen;
break label_31;
}
jj_consume_token(XOR);
p2 = getToken( 0 ).image;
p3 = AndExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression AndExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = EqualityExpression(env);
result = p1;
label_32:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case BIT_AND:
;
break;
default:
jj_la1[38] = jj_gen;
break label_32;
}
jj_consume_token(BIT_AND);
p2 = getToken( 0 ).image;
p3 = EqualityExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression EqualityExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
DebugOut.println( "#EqualityExpression()" );
p1 = InstanceofExpression(env);
result = p1;
label_33:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EQ:
case NE:
;
break;
default:
jj_la1[39] = jj_gen;
break label_33;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EQ:
jj_consume_token(EQ);
break;
case NE:
jj_consume_token(NE);
break;
default:
jj_la1[40] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = getToken( 0 ).image;
p3 = InstanceofExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression InstanceofExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
TypeName p2 = null;
p1 = RelationalExpression(env);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INSTANCEOF:
jj_consume_token(INSTANCEOF);
p2 = Type(env);
break;
default:
jj_la1[41] = jj_gen;
;
}
if (p2 != null) {
result = new InstanceofExpression( p1, p2 );
} else {
result = p1;
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression RelationalExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = ShiftExpression(env);
result = p1;
label_34:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case GT:
case LT:
case LE:
case GE:
;
break;
default:
jj_la1[42] = jj_gen;
break label_34;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
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_la1[43] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = getToken( 0 ).image;
p3 = ShiftExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression ShiftExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = AdditiveExpression(env);
result = p1;
label_35:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LSHIFT:
case RSIGNEDSHIFT:
case RUNSIGNEDSHIFT:
;
break;
default:
jj_la1[44] = jj_gen;
break label_35;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LSHIFT:
jj_consume_token(LSHIFT);
break;
case RSIGNEDSHIFT:
jj_consume_token(RSIGNEDSHIFT);
break;
case RUNSIGNEDSHIFT:
jj_consume_token(RUNSIGNEDSHIFT);
break;
default:
jj_la1[45] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = getToken( 0 ).image;
p3 = AdditiveExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression AdditiveExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = MultiplicativeExpression(env);
result = p1;
label_36:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case PLUS:
case MINUS:
;
break;
default:
jj_la1[46] = jj_gen;
break label_36;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case PLUS:
jj_consume_token(PLUS);
break;
case MINUS:
jj_consume_token(MINUS);
break;
default:
jj_la1[47] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = getToken( 0 ).image;
p3 = MultiplicativeExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression MultiplicativeExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
String p2;
Expression p3;
p1 = UnaryExpression(env);
result = p1;
label_37:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case STAR:
case SLASH:
case REM:
;
break;
default:
jj_la1[48] = jj_gen;
break label_37;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case STAR:
jj_consume_token(STAR);
break;
case SLASH:
jj_consume_token(SLASH);
break;
case REM:
jj_consume_token(REM);
break;
default:
jj_la1[49] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = getToken( 0 ).image;
p3 = UnaryExpression(env);
result = new BinaryExpression( result, p2, p3 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression UnaryExpression(Environment env) throws ParseException {
int p1;
Expression p2;
if (jj_2_20(2147483647)) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case PLUS:
jj_consume_token(PLUS);
p1 = UnaryExpression.PLUS;
break;
case MINUS:
jj_consume_token(MINUS);
p1 = UnaryExpression.MINUS;
break;
default:
jj_la1[50] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = UnaryExpression(env);
{if (true) return new UnaryExpression( p1, p2 );}
} else if (jj_2_21(2147483647)) {
p2 = PreIncrementExpression(env);
{if (true) return p2;}
} else if (jj_2_22(1)) {
p2 = UnaryExpressionNotPlusMinus(env);
{if (true) return p2;}
} else {
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public Expression PreIncrementExpression(Environment env) throws ParseException {
int p1;
Expression p2;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCR:
jj_consume_token(INCR);
p1 = UnaryExpression.PRE_INCREMENT;
break;
case DECR:
jj_consume_token(DECR);
p1 = UnaryExpression.PRE_DECREMENT;
break;
default:
jj_la1[51] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = PrimaryExpression(env);
{if (true) return new UnaryExpression( p1, p2 );}
throw new Error("Missing return statement in function");
}
final public Expression UnaryExpressionNotPlusMinus(Environment env) throws ParseException {
int p1;
Expression p2;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case BANG:
case TILDE:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TILDE:
jj_consume_token(TILDE);
p1 = UnaryExpression.BIT_NOT;
break;
case BANG:
jj_consume_token(BANG);
p1 = UnaryExpression.NOT;
break;
default:
jj_la1[52] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = UnaryExpression(env);
{if (true) return new UnaryExpression( p1, p2 );}
break;
default:
jj_la1[53] = jj_gen;
if (jj_2_23(2147483647)) {
p2 = CastExpression(env);
{if (true) return p2;}
} else if (jj_2_24(1)) {
p2 = PostfixExpression(env);
{if (true) return p2;}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
throw new Error("Missing return statement in function");
}
final public void CastLookahead(Environment env) throws ParseException {
if (jj_2_25(2)) {
jj_consume_token(LPAREN);
PrimitiveType();
} else if (jj_2_26(2147483647)) {
jj_consume_token(LPAREN);
Name();
jj_consume_token(LBRACKET);
jj_consume_token(RBRACKET);
} else if (jj_2_27(2147483647)) {
jj_consume_token(LPAREN);
Name();
jj_consume_token(RPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TILDE:
jj_consume_token(TILDE);
break;
case BANG:
jj_consume_token(BANG);
break;
case LPAREN:
jj_consume_token(LPAREN);
break;
case METACLASS:
case IDENTIFIER:
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 LONG_LITERAL:
case DOUBLE_FLOATING_POINT_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
Literal();
break;
default:
jj_la1[54] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LPAREN:
jj_consume_token(LPAREN);
Name();
Identifier();
break;
default:
jj_la1[55] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
final public Expression PostfixExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
int p2 = -1;
p1 = PrimaryExpression(env);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCR:
case DECR:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCR:
jj_consume_token(INCR);
p2 = UnaryExpression.POST_INCREMENT;
break;
case DECR:
jj_consume_token(DECR);
p2 = UnaryExpression.POST_DECREMENT;
break;
default:
jj_la1[56] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
jj_la1[57] = jj_gen;
;
}
if (p2 != -1) {
result = new UnaryExpression( p1, p2 );
} else {
result = p1;
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public CastExpression CastExpression(Environment env) throws ParseException {
TypeName p1;
Expression p2;
DebugOut.println( "#CastExpression()" );
if (jj_2_28(2147483647)) {
jj_consume_token(LPAREN);
p1 = Type(env);
jj_consume_token(RPAREN);
p2 = UnaryExpression(env);
{if (true) return new CastExpression( p1, p2 );}
} else if (jj_2_29(2147483647)) {
jj_consume_token(LPAREN);
p1 = Type(env);
jj_consume_token(RPAREN);
p2 = UnaryExpressionNotPlusMinus(env);
{if (true) return new CastExpression( p1, p2 );}
} else {
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public Expression SelfAccess(Environment env) throws ParseException {
Expression result;
String p1 = null;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p1 = Name();
jj_consume_token(DOT);
break;
default:
jj_la1[58] = jj_gen;
;
}
jj_consume_token(THIS);
if (p1 != null) {
result = SelfAccess.makeThis( p1 );
} else {
result = SelfAccess.constantThis();
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ClassLiteral ClassLiteral(Environment env) throws ParseException {
TypeName p1;
p1 = Type(env);
jj_consume_token(DOT);
jj_consume_token(CLASS);
{if (true) return new ClassLiteral( p1 );}
throw new Error("Missing return statement in function");
}
final public Expression PrimaryExpression(Environment env) throws ParseException {
Expression result;
Expression p1;
Expression p2;
Expression p3;
String p4;
ExpressionList p5;
p1 = PrimaryPrefix(env);
result = p1;
label_38:
while (true) {
if (jj_2_30(2147483647)) {
;
} else {
break label_38;
}
if (jj_2_31(2147483647)) {
jj_consume_token(DOT);
p2 = AllocationExpression(env);
AllocationExpression alloc = (AllocationExpression) p2;
alloc.setEncloser( result );
result = alloc;
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACKET:
jj_consume_token(LBRACKET);
p3 = Expression(env);
jj_consume_token(RBRACKET);
result = new ArrayAccess( result, p3 );
break;
case DOT:
jj_consume_token(DOT);
p4 = Identifier();
result = new FieldAccess( result, p4 );
break;
case LPAREN:
p5 = Arguments(env);
FieldAccess base = (FieldAccess) result;
Expression expr = base.getReferenceExpr();
String name = base.getName();
result = new MethodCall( expr, name, p5 );
break;
default:
jj_la1[59] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression PrimaryPrefix(Environment env) throws ParseException {
Expression p1;
String p2;
DebugOut.println( "#PrimaryPrefix()" );
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case FALSE:
case NULL:
case TRUE:
case INTEGER_LITERAL:
case LONG_LITERAL:
case DOUBLE_FLOATING_POINT_LITERAL:
case FLOATING_POINT_LITERAL:
case CHARACTER_LITERAL:
case STRING_LITERAL:
p1 = Literal();
{if (true) return p1;}
break;
default:
jj_la1[60] = jj_gen;
if (jj_2_32(2147483647)) {
p1 = SelfAccess(env);
{if (true) return p1;}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SUPER:
jj_consume_token(SUPER);
jj_consume_token(DOT);
p2 = Identifier();
{if (true) return new FieldAccess( SelfAccess.constantSuper(), p2 );}
break;
case LPAREN:
jj_consume_token(LPAREN);
p1 = Expression(env);
jj_consume_token(RPAREN);
{if (true) return p1;}
break;
case NEW:
p1 = AllocationExpression(env);
{if (true) return p1;}
break;
default:
jj_la1[61] = jj_gen;
if (ClassLiteralLookahead()) {
p1 = ClassLiteral(env);
{if (true) return p1;}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p1 = TempFieldAccess(env);
{if (true) return p1;}
break;
default:
jj_la1[62] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
throw new Error("Missing return statement in function");
}
final public FieldAccess TempFieldAccess(Environment env) throws ParseException {
FieldAccess result;
String p1;
StringBuffer strbuf = null;
p1 = Identifier();
label_39:
while (true) {
if (jj_2_33(2147483647)) {
;
} else {
break label_39;
}
jj_consume_token(DOT);
if (strbuf == null) {
strbuf = new StringBuffer( p1 );
} else {
strbuf.append( "." + p1 );
}
p1 = Identifier();
}
if (strbuf == null || strbuf.length() == 0) {
result = new FieldAccess( (Variable) null, p1 );
} else {
Variable var = new Variable( strbuf.toString() );
result = new FieldAccess( var, p1 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Literal Literal() throws ParseException {
String p1;
Literal p2;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INTEGER_LITERAL:
jj_consume_token(INTEGER_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.INTEGER, p1 );}
break;
case LONG_LITERAL:
jj_consume_token(LONG_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.LONG, p1 );}
break;
case FLOATING_POINT_LITERAL:
jj_consume_token(FLOATING_POINT_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.FLOAT, p1 );}
break;
case DOUBLE_FLOATING_POINT_LITERAL:
jj_consume_token(DOUBLE_FLOATING_POINT_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.DOUBLE, p1 );}
break;
case CHARACTER_LITERAL:
jj_consume_token(CHARACTER_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.CHARACTER, p1 );}
break;
case STRING_LITERAL:
jj_consume_token(STRING_LITERAL);
p1 = getToken( 0 ).image;
{if (true) return new Literal( Literal.STRING, p1 );}
break;
case TRUE:
jj_consume_token(TRUE);
{if (true) return Literal.constantTrue();}
break;
case FALSE:
jj_consume_token(FALSE);
{if (true) return Literal.constantFalse();}
break;
case NULL:
jj_consume_token(NULL);
{if (true) return Literal.constantNull();}
break;
default:
jj_la1[63] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public ExpressionList Arguments(Environment env) throws ParseException {
ExpressionList result = new ExpressionList();
Expression p1;
DebugOut.println( "#Arguments()" );
jj_consume_token(LPAREN);
if (jj_2_34(1)) {
p1 = Expression(env);
result.add( p1 );
label_40:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[64] = jj_gen;
break label_40;
}
jj_consume_token(COMMA);
p1 = Expression(env);
result.add( p1 );
}
} else {
;
}
jj_consume_token(RPAREN);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression AllocationExpression(Environment env) throws ParseException {
Expression result;
AllocationExpression aloc_result;
TypeName p1;
ArrayAllocationExpression p2;
ExpressionList p3;
MemberDeclarationList p4 = null;
DebugOut.println( "#AllocationExpression()" );
if (jj_2_36(2147483647)) {
jj_consume_token(NEW);
p1 = TypeWithoutDims(env);
p2 = ArrayDimsAndInits(env, p1);
result = p2;
{if (true) return result;}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case NEW:
jj_consume_token(NEW);
p1 = TypeWithoutDims(env);
if (jj_2_35(2147483647)) {
p2 = ArrayDimsAndInits(env, p1);
result = p2;
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LPAREN:
p3 = Arguments(env);
aloc_result = new AllocationExpression( p1, p3, p4 );
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p4 = ClassBody(new ClassEnvironment( env ));
aloc_result.setClassBody( p4 );
break;
default:
jj_la1[65] = jj_gen;
;
}
result = aloc_result;
break;
default:
jj_la1[66] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if (true) return result;}
break;
default:
jj_la1[67] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
throw new Error("Missing return statement in function");
}
final public TypeName TypeWithoutDims(Environment env) throws ParseException {
String p1;
Hashtable p2;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SHORT:
case VOID:
p1 = PrimitiveType();
break;
case METACLASS:
case IDENTIFIER:
p1 = Name();
break;
default:
jj_la1[68] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
p2 = OpenJavaTypeSuffixListOpt(env, p1);
{if (true) return new TypeName( p1, p2 );}
throw new Error("Missing return statement in function");
}
final public ArrayAllocationExpression ArrayDimsAndInits(Environment env, TypeName type) throws ParseException {
Expression p1;
int p2;
ArrayInitializer p3;
ExpressionList exprs = new ExpressionList();
if (jj_2_37(2147483647)) {
p2 = EmptyBracketsOpt();
p3 = ArrayInitializer(env);
for (int i = 0; i < p2; ++i) exprs.add( null );
{if (true) return new ArrayAllocationExpression( type, exprs, p3 );}
} else if (jj_2_38(2147483647)) {
label_41:
while (true) {
jj_consume_token(LBRACKET);
p1 = Expression(env);
exprs.add( p1 );
jj_consume_token(RBRACKET);
if ((getToken( 1 ).kind == LBRACKET
&& getToken( 2 ).kind != RBRACKET)) {
;
} else {
break label_41;
}
}
p2 = EmptyBracketsOpt();
for (int i = 0; i < p2; ++i) exprs.add( null );
{if (true) return new ArrayAllocationExpression( type, exprs );}
} else {
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public StatementList BlockedBody(Environment env) throws ParseException {
StatementList p1;
jj_consume_token(LBRACE);
p1 = BlockOrStatementListOpt(env);
jj_consume_token(RBRACE);
{if (true) return p1;}
throw new Error("Missing return statement in function");
}
/*
* Statement syntax follows.
*/
final public Statement Statement(Environment env) throws ParseException {
Statement p1;
if (jj_2_39(2147483647)) {
p1 = LabeledStatement(env);
{if (true) return p1;}
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p1 = Block(env);
{if (true) return p1;}
break;
case SEMICOLON:
p1 = EmptyStatement(env);
{if (true) return p1;}
break;
case SWITCH:
p1 = SwitchStatement(env);
{if (true) return p1;}
break;
case IF:
p1 = IfStatement(env);
{if (true) return p1;}
break;
case WHILE:
p1 = WhileStatement(env);
{if (true) return p1;}
break;
case DO:
p1 = DoWhileStatement(env);
{if (true) return p1;}
break;
case FOR:
p1 = ForStatement(env);
{if (true) return p1;}
break;
case BREAK:
p1 = BreakStatement(env);
{if (true) return p1;}
break;
case CONTINUE:
p1 = ContinueStatement(env);
{if (true) return p1;}
break;
case RETURN:
p1 = ReturnStatement(env);
{if (true) return p1;}
break;
case THROW:
p1 = ThrowStatement(env);
{if (true) return p1;}
break;
case SYNCHRONIZED:
p1 = SynchronizedStatement(env);
{if (true) return p1;}
break;
case TRY:
p1 = TryStatement(env);
{if (true) return p1;}
break;
default:
jj_la1[69] = jj_gen;
if (jj_2_40(1)) {
p1 = ExpressionStatement(env);
{if (true) return p1;}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
}
throw new Error("Missing return statement in function");
}
final public LabeledStatement LabeledStatement(Environment env) throws ParseException {
String p1;
Statement p2;
DebugOut.println( "#LabeledStatement()" );
p1 = Identifier();
jj_consume_token(COLON);
p2 = Statement(env);
{if (true) return new LabeledStatement( p1, p2 );}
throw new Error("Missing return statement in function");
}
final public Block Block(Environment env) throws ParseException {
StatementList p1;
DebugOut.println( "#Block()" );
jj_consume_token(LBRACE);
p1 = BlockOrStatementListOpt(env);
jj_consume_token(RBRACE);
{if (true) return new Block( p1 );}
throw new Error("Missing return statement in function");
}
final public StatementList BlockOrStatementListOpt(Environment env) throws ParseException {
StatementList result = new StatementList();
StatementList p1;
if ((getToken( 1 ).kind != RBRACE
&& getToken( 1 ).kind != EOF
&& getToken( 1 ).kind != CASE
&& getToken( 1 ).kind != _DEFAULT )) {
label_42:
while (true) {
p1 = BlockOrStatement(env);
result.addAll( p1 );
if ((getToken( 1 ).kind != RBRACE
&& getToken( 1 ).kind != EOF
&& getToken( 1 ).kind != CASE
&& getToken( 1 ).kind != _DEFAULT )) {
;
} else {
break label_42;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public StatementList BlockOrStatement(Environment env) throws ParseException {
Statement p1;
StatementList p2;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case CLASS:
p1 = UnmodifiedClassDeclaration(new ClassEnvironment( env ));
{if (true) return new StatementList( p1 );}
break;
default:
jj_la1[70] = jj_gen;
if (LocalVariableDeclarationLookahead( env )) {
p2 = LocalVariableDeclaration(env);
jj_consume_token(SEMICOLON);
{if (true) return p2;}
} else if (jj_2_41(1)) {
p1 = Statement(env);
{if (true) return new StatementList( p1 );}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
throw new Error("Missing return statement in function");
}
final public StatementList LocalVariableDeclaration(Environment env) throws ParseException {
StatementList result = new StatementList();
ModifierList p1;
TypeName p2;
VariableDeclarator p3;
TypeName tspec;
String vname;
VariableInitializer vinit;
DebugOut.println( "#LocalVariableDeclaration()" );
p1 = VariableModifiersOpt(env);
p2 = Type(env);
p3 = VariableDeclarator(env);
tspec = (TypeName) p2.makeRecursiveCopy();
tspec.addDimension( p3.getDimension() );
vname = p3.getVariable();
vinit = p3.getInitializer();
result.add( new VariableDeclaration( p1, tspec, vname, vinit ) );
label_43:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[71] = jj_gen;
break label_43;
}
jj_consume_token(COMMA);
p3 = VariableDeclarator(env);
tspec = (TypeName) p2.makeRecursiveCopy();
tspec.addDimension( p3.getDimension() );
vname = p3.getVariable();
vinit = p3.getInitializer();
result.add( new VariableDeclaration( p1, tspec, vname, vinit ) );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ModifierList VariableModifiersOpt(Environment env) throws ParseException {
ModifierList result = new ModifierList();
int p1;
String p2;
if (modifierCheck( env, getToken( 1 ) )) {
label_44:
while (true) {
if (jj_2_42(2147483647)) {
p1 = Modifier();
result.add( p1 );
} else if (OpenJavaModifierLookahead( env )) {
p2 = OpenJavaModifier();
result.add( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (ModifierLookahead( env )) {
;
} else {
break label_44;
}
}
{if (true) return result;}
} else {
E();
{if (true) return result;}
}
throw new Error("Missing return statement in function");
}
final public EmptyStatement EmptyStatement(Environment env) throws ParseException {
DebugOut.println( "#EmptyStatement()" );
jj_consume_token(SEMICOLON);
{if (true) return new EmptyStatement();}
throw new Error("Missing return statement in function");
}
final public ExpressionStatement ExpressionStatement(Environment env) throws ParseException {
Expression p1;
DebugOut.println( "#ExpressionStatement()" );
p1 = StatementExpression(env);
jj_consume_token(SEMICOLON);
{if (true) return new ExpressionStatement( p1 );}
throw new Error("Missing return statement in function");
}
final public Expression StatementExpression(Environment env) throws ParseException {
Expression p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INCR:
case DECR:
p1 = PreIncrementExpression(env);
{if (true) return p1;}
break;
default:
jj_la1[72] = jj_gen;
if (AssignmentLookahead()) {
p1 = AssignmentExpression(env);
{if (true) return p1;}
} else if (jj_2_43(1)) {
p1 = PostfixExpression(env);
{if (true) return p1;}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
throw new Error("Missing return statement in function");
}
final public SwitchStatement SwitchStatement(Environment env) throws ParseException {
Expression p1;
Expression p2;
StatementList p3;
CaseGroupList cplist = new CaseGroupList();
ExpressionList exprs;
DebugOut.println( "#SwitchStatement()" );
jj_consume_token(SWITCH);
jj_consume_token(LPAREN);
p1 = Expression(env);
jj_consume_token(RPAREN);
jj_consume_token(LBRACE);
label_45:
while (true) {
if (jj_2_44(2147483647)) {
;
} else {
break label_45;
}
exprs = new ExpressionList();
label_46:
while (true) {
p2 = SwitchLabel(env);
exprs.add( p2 );
if (jj_2_45(2147483647)) {
;
} else {
break label_46;
}
}
p3 = BlockOrStatementListOpt(env);
cplist.add( new CaseGroup( exprs, p3 ) );
}
jj_consume_token(RBRACE);
{if (true) return new SwitchStatement( p1, cplist );}
throw new Error("Missing return statement in function");
}
final public Expression SwitchLabel(Environment env) throws ParseException {
Expression p1;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case CASE:
jj_consume_token(CASE);
p1 = Expression(env);
jj_consume_token(COLON);
{if (true) return p1;}
break;
case _DEFAULT:
jj_consume_token(_DEFAULT);
jj_consume_token(COLON);
{if (true) return null;}
break;
default:
jj_la1[73] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
throw new Error("Missing return statement in function");
}
final public IfStatement IfStatement(Environment env) throws ParseException {
IfStatement result;
Expression p1;
StatementList p2;
Statement p3;
StatementList true_part;
StatementList false_part = null;
DebugOut.println( "#IfStatement()" );
jj_consume_token(IF);
jj_consume_token(LPAREN);
p1 = Expression(env);
jj_consume_token(RPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p2 = BlockedBody(env);
true_part = p2;
break;
default:
jj_la1[74] = jj_gen;
if (jj_2_46(1)) {
p3 = Statement(env);
true_part = new StatementList( p3 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ELSE:
jj_consume_token(ELSE);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p2 = BlockedBody(env);
false_part = p2;
break;
default:
jj_la1[75] = jj_gen;
if (jj_2_47(1)) {
p3 = Statement(env);
false_part = new StatementList( p3 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
break;
default:
jj_la1[76] = jj_gen;
;
}
{if (true) return new IfStatement( p1, true_part, false_part );}
throw new Error("Missing return statement in function");
}
final public WhileStatement WhileStatement(Environment env) throws ParseException {
Expression p1;
StatementList p2;
Statement p3;
StatementList body;
DebugOut.println( "#WhileStatement()" );
jj_consume_token(WHILE);
jj_consume_token(LPAREN);
p1 = Expression(env);
jj_consume_token(RPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p2 = BlockedBody(env);
body = p2;
break;
default:
jj_la1[77] = jj_gen;
if (jj_2_48(1)) {
p3 = Statement(env);
body = new StatementList( p3 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
{if (true) return new WhileStatement( p1, body );}
throw new Error("Missing return statement in function");
}
final public DoWhileStatement DoWhileStatement(Environment env) throws ParseException {
StatementList p1;
Statement p2;
Expression p3;
StatementList body;
DebugOut.println( "#DoWhileStatement()" );
jj_consume_token(DO);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p1 = BlockedBody(env);
body = p1;
break;
default:
jj_la1[78] = jj_gen;
if (jj_2_49(1)) {
p2 = Statement(env);
body = new StatementList( p2 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(WHILE);
jj_consume_token(LPAREN);
p3 = Expression(env);
jj_consume_token(RPAREN);
jj_consume_token(SEMICOLON);
{if (true) return new DoWhileStatement( body, p3 );}
throw new Error("Missing return statement in function");
}
final public ForStatement ForStatement(Environment env) throws ParseException {
ForStatement result;
TypeName p1 = null;
VariableDeclarator[] p2 = null;
ExpressionList p3 = null;
Expression p4 = null;
ExpressionList p5 = null;
StatementList p6;
Statement p7;
StatementList body;
DebugOut.println( "#ForStatement()" );
jj_consume_token(FOR);
jj_consume_token(LPAREN);
if ((getToken( 1 ).kind != SEMICOLON)) {
if (LocalVariableDeclarationLookahead( env )) {
p1 = Type(env);
p2 = VariableDeclaratorList(env);
} else if (jj_2_50(1)) {
p3 = StatementExpressionList(env);
} else {
jj_consume_token(-1);
throw new ParseException();
}
} else {
;
}
jj_consume_token(SEMICOLON);
if ((getToken( 1 ).kind != SEMICOLON)) {
p4 = Expression(env);
} else {
;
}
jj_consume_token(SEMICOLON);
if ((getToken( 1 ).kind != RPAREN)) {
p5 = StatementExpressionList(env);
} else {
;
}
jj_consume_token(RPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACE:
p6 = BlockedBody(env);
body = p6;
break;
default:
jj_la1[79] = jj_gen;
if (jj_2_51(1)) {
p7 = Statement(env);
body = new StatementList( p7 );
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
if (p1 != null) {
result = new ForStatement( p1, p2, p4, p5, body );
} else if (p3 != null) {
result = new ForStatement( p3, p4, p5, body );
} else {
result = new ForStatement( new ExpressionList(), p4, p5, body );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public VariableDeclarator[] VariableDeclaratorList(Environment env) throws ParseException {
VariableDeclarator[] result;
VariableDeclarator p1;
Vector v = new Vector();
DebugOut.println( "#LocalVariableDeclaration()" );
p1 = VariableDeclarator(env);
v.addElement( p1 );
label_47:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[80] = jj_gen;
break label_47;
}
jj_consume_token(COMMA);
p1 = VariableDeclarator(env);
v.addElement( p1 );
}
result = new VariableDeclarator[v.size()];
for (int i = 0; i < result.length; ++i) {
result[i] = (VariableDeclarator) v.elementAt( i );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ExpressionList StatementExpressionList(Environment env) throws ParseException {
ExpressionList result = new ExpressionList();
Expression p1;
p1 = StatementExpression(env);
result.add( p1 );
label_48:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[81] = jj_gen;
break label_48;
}
jj_consume_token(COMMA);
p1 = StatementExpression(env);
result.add( p1 );
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public BreakStatement BreakStatement(Environment env) throws ParseException {
BreakStatement result;
String p1 = null;
DebugOut.println( "#BreakStatement()" );
jj_consume_token(BREAK);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p1 = Identifier();
break;
default:
jj_la1[82] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
if (p1 != null) {
result = new BreakStatement( p1 );
} else {
result = new BreakStatement();
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ContinueStatement ContinueStatement(Environment env) throws ParseException {
ContinueStatement result;
String p1 = null;
DebugOut.println( "#ContinueStatement()" );
jj_consume_token(CONTINUE);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case METACLASS:
case IDENTIFIER:
p1 = Identifier();
break;
default:
jj_la1[83] = jj_gen;
;
}
jj_consume_token(SEMICOLON);
if (p1 != null) {
result = new ContinueStatement( p1 );
} else {
result = new ContinueStatement();
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ReturnStatement ReturnStatement(Environment env) throws ParseException {
ReturnStatement result;
Expression p1 = null;
DebugOut.println( "#ReturnStatement()" );
jj_consume_token(RETURN);
if ((getToken(1).kind != SEMICOLON)) {
p1 = Expression(env);
} else {
;
}
jj_consume_token(SEMICOLON);
if (p1 != null) {
result = new ReturnStatement( p1 );
} else {
result = new ReturnStatement();
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public ThrowStatement ThrowStatement(Environment env) throws ParseException {
Statement result;
Expression p1;
DebugOut.println( "#ThrowStatement()" );
jj_consume_token(THROW);
p1 = Expression(env);
jj_consume_token(SEMICOLON);
{if (true) return new ThrowStatement( p1 );}
throw new Error("Missing return statement in function");
}
final public SynchronizedStatement SynchronizedStatement(Environment env) throws ParseException {
Expression p1;
StatementList p2;
DebugOut.println( "#SynchronizedStatement()" );
jj_consume_token(SYNCHRONIZED);
jj_consume_token(LPAREN);
p1 = Expression(env);
jj_consume_token(RPAREN);
p2 = BlockedBody(env);
{if (true) return new SynchronizedStatement( p1, p2 );}
throw new Error("Missing return statement in function");
}
final public TryStatement TryStatement(Environment base_env) throws ParseException {
Environment env = new ClosedEnvironment( base_env );
TryStatement result;
StatementList p1;
Parameter p2;
StatementList p3;
StatementList p4 = null;
CatchList catches = new CatchList();
DebugOut.println( "#TryStatement()" );
jj_consume_token(TRY);
p1 = BlockedBody(env);
label_49:
while (true) {
if (jj_2_52(2147483647)) {
;
} else {
break label_49;
}
env = new ClosedEnvironment( base_env );
jj_consume_token(CATCH);
jj_consume_token(LPAREN);
p2 = FormalParameter(env);
jj_consume_token(RPAREN);
p3 = BlockedBody(env);
catches.add( new CatchBlock( p2, p3 ) );
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case FINALLY:
jj_consume_token(FINALLY);
p4 = BlockedBody(new ClosedEnvironment( base_env ));
break;
default:
jj_la1[84] = jj_gen;
;
}
result = new TryStatement( p1, catches, p4 );
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final private boolean jj_2_1(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_1();
jj_save(0, xla);
return retval;
}
final private boolean jj_2_2(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_2();
jj_save(1, xla);
return retval;
}
final private boolean jj_2_3(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_3();
jj_save(2, xla);
return retval;
}
final private boolean jj_2_4(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_4();
jj_save(3, xla);
return retval;
}
final private boolean jj_2_5(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_5();
jj_save(4, xla);
return retval;
}
final private boolean jj_2_6(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_6();
jj_save(5, xla);
return retval;
}
final private boolean jj_2_7(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_7();
jj_save(6, xla);
return retval;
}
final private boolean jj_2_8(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_8();
jj_save(7, xla);
return retval;
}
final private boolean jj_2_9(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_9();
jj_save(8, xla);
return retval;
}
final private boolean jj_2_10(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_10();
jj_save(9, xla);
return retval;
}
final private boolean jj_2_11(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_11();
jj_save(10, xla);
return retval;
}
final private boolean jj_2_12(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_12();
jj_save(11, xla);
return retval;
}
final private boolean jj_2_13(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_13();
jj_save(12, xla);
return retval;
}
final private boolean jj_2_14(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_14();
jj_save(13, xla);
return retval;
}
final private boolean jj_2_15(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_15();
jj_save(14, xla);
return retval;
}
final private boolean jj_2_16(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_16();
jj_save(15, xla);
return retval;
}
final private boolean jj_2_17(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_17();
jj_save(16, xla);
return retval;
}
final private boolean jj_2_18(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_18();
jj_save(17, xla);
return retval;
}
final private boolean jj_2_19(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_19();
jj_save(18, xla);
return retval;
}
final private boolean jj_2_20(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_20();
jj_save(19, xla);
return retval;
}
final private boolean jj_2_21(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_21();
jj_save(20, xla);
return retval;
}
final private boolean jj_2_22(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_22();
jj_save(21, xla);
return retval;
}
final private boolean jj_2_23(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_23();
jj_save(22, xla);
return retval;
}
final private boolean jj_2_24(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_24();
jj_save(23, xla);
return retval;
}
final private boolean jj_2_25(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_25();
jj_save(24, xla);
return retval;
}
final private boolean jj_2_26(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_26();
jj_save(25, xla);
return retval;
}
final private boolean jj_2_27(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_27();
jj_save(26, xla);
return retval;
}
final private boolean jj_2_28(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_28();
jj_save(27, xla);
return retval;
}
final private boolean jj_2_29(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_29();
jj_save(28, xla);
return retval;
}
final private boolean jj_2_30(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_30();
jj_save(29, xla);
return retval;
}
final private boolean jj_2_31(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_31();
jj_save(30, xla);
return retval;
}
final private boolean jj_2_32(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_32();
jj_save(31, xla);
return retval;
}
final private boolean jj_2_33(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_33();
jj_save(32, xla);
return retval;
}
final private boolean jj_2_34(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_34();
jj_save(33, xla);
return retval;
}
final private boolean jj_2_35(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_35();
jj_save(34, xla);
return retval;
}
final private boolean jj_2_36(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_36();
jj_save(35, xla);
return retval;
}
final private boolean jj_2_37(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_37();
jj_save(36, xla);
return retval;
}
final private boolean jj_2_38(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_38();
jj_save(37, xla);
return retval;
}
final private boolean jj_2_39(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_39();
jj_save(38, xla);
return retval;
}
final private boolean jj_2_40(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_40();
jj_save(39, xla);
return retval;
}
final private boolean jj_2_41(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_41();
jj_save(40, xla);
return retval;
}
final private boolean jj_2_42(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_42();
jj_save(41, xla);
return retval;
}
final private boolean jj_2_43(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_43();
jj_save(42, xla);
return retval;
}
final private boolean jj_2_44(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_44();
jj_save(43, xla);
return retval;
}
final private boolean jj_2_45(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_45();
jj_save(44, xla);
return retval;
}
final private boolean jj_2_46(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_46();
jj_save(45, xla);
return retval;
}
final private boolean jj_2_47(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_47();
jj_save(46, xla);
return retval;
}
final private boolean jj_2_48(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_48();
jj_save(47, xla);
return retval;
}
final private boolean jj_2_49(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_49();
jj_save(48, xla);
return retval;
}
final private boolean jj_2_50(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_50();
jj_save(49, xla);
return retval;
}
final private boolean jj_2_51(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_51();
jj_save(50, xla);
return retval;
}
final private boolean jj_2_52(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
boolean retval = !jj_3_52();
jj_save(51, xla);
return retval;
}
final private boolean jj_3R_133() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_31() {
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(NEW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_14() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_101() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_30() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_100()) {
jj_scanpos = xsp;
if (jj_3R_101()) {
jj_scanpos = xsp;
if (jj_3R_102()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_100() {
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_13() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_52() {
if (jj_scan_token(CATCH)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_132() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_135() {
if (jj_3R_166()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_86() {
if (jj_scan_token(INTERFACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_141() {
if (jj_3R_178()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_194() {
if (jj_scan_token(TRY)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_85() {
if (jj_scan_token(CLASS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_84() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_131()) {
jj_scanpos = xsp;
if (jj_3R_132()) {
jj_scanpos = xsp;
if (jj_3R_133()) {
jj_scanpos = xsp;
if (jj_3R_134()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_131() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_12() {
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_84()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
xsp = jj_scanpos;
if (jj_3R_85()) {
jj_scanpos = xsp;
if (jj_3R_86()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_207() {
if (jj_3R_141()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_220() {
if (jj_3R_228()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_193() {
if (jj_scan_token(SYNCHRONIZED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_177() {
if (jj_3R_198()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_54() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_176() {
if (jj_scan_token(NEW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_225() {
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_53() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_41() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_218() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_225()) jj_scanpos = xsp;
else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(THIS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_29() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_192() {
if (jj_scan_token(THROW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_87() {
if (jj_3R_135()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_28() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_98()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_175() {
if (jj_scan_token(SUPER)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_83() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_197() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_52() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_3() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_52()) {
jj_scanpos = xsp;
if (jj_3R_53()) {
jj_scanpos = xsp;
if (jj_3R_54()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_80() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_196() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_169() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_196()) {
jj_scanpos = xsp;
if (jj_3R_197()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_174() {
if (jj_scan_token(THIS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_82() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_191() {
if (jj_scan_token(RETURN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_79() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_173() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_81() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_11() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_78()) {
jj_scanpos = xsp;
if (jj_3R_79()) {
jj_scanpos = xsp;
if (jj_3R_80()) {
jj_scanpos = xsp;
if (jj_3R_81()) {
jj_scanpos = xsp;
if (jj_3R_82()) {
jj_scanpos = xsp;
if (jj_3R_83()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_78() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_172() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_182() {
if (jj_scan_token(LBRACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_97() {
if (jj_3R_141()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_171() {
if (jj_scan_token(BANG)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_27() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_190() {
if (jj_scan_token(CONTINUE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_26() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_170() {
if (jj_scan_token(TILDE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_140() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_181() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_147() {
if (jj_scan_token(LONG)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_139() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_170()) {
jj_scanpos = xsp;
if (jj_3R_171()) {
jj_scanpos = xsp;
if (jj_3R_172()) {
jj_scanpos = xsp;
if (jj_3R_173()) {
jj_scanpos = xsp;
if (jj_3R_174()) {
jj_scanpos = xsp;
if (jj_3R_175()) {
jj_scanpos = xsp;
if (jj_3R_176()) {
jj_scanpos = xsp;
if (jj_3R_177()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_138() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_146() {
if (jj_scan_token(INT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_25() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_98()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_96() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_25()) {
jj_scanpos = xsp;
if (jj_3R_138()) {
jj_scanpos = xsp;
if (jj_3R_139()) {
jj_scanpos = xsp;
if (jj_3R_140()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_23() {
if (jj_3R_96()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_77() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_40() {
if (jj_3R_104()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_189() {
if (jj_scan_token(BREAK)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_165() {
if (jj_3R_194()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_24() {
if (jj_3R_97()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_164() {
if (jj_3R_193()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_145() {
if (jj_scan_token(SHORT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_163() {
if (jj_3R_192()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_137() {
if (jj_3R_169()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_168() {
if (jj_scan_token(BANG)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_150() {
if (jj_scan_token(VOID)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_167() {
if (jj_scan_token(TILDE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_162() {
if (jj_3R_191()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_10() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_76()) {
jj_scanpos = xsp;
if (jj_3R_77()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_75() {
if (jj_scan_token(SYNCHRONIZED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_76() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_161() {
if (jj_3R_190()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_144() {
if (jj_scan_token(BYTE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_95() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_136()) {
jj_scanpos = xsp;
if (jj_3R_137()) {
jj_scanpos = xsp;
if (jj_3_24()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_136() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_167()) {
jj_scanpos = xsp;
if (jj_3R_168()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_160() {
if (jj_3R_189()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_110() {
if (jj_3R_151()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_19() {
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_159() {
if (jj_3R_188()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_149() {
if (jj_scan_token(DOUBLE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_99() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_19()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
return false;
}
final private boolean jj_3R_158() {
if (jj_3R_187()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_74() {
if (jj_scan_token(NATIVE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_223() {
if (jj_scan_token(DECR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_143() {
if (jj_scan_token(CHAR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_222() {
if (jj_scan_token(INCR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_157() {
if (jj_3R_186()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_71() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_94() {
if (jj_scan_token(DECR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_68() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_231() {
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_156() {
if (jj_3R_185()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_206() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_222()) {
jj_scanpos = xsp;
if (jj_3R_223()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_148() {
if (jj_scan_token(FLOAT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_39() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(COLON)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_155() {
if (jj_3R_184()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_21() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_93()) {
jj_scanpos = xsp;
if (jj_3R_94()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_93() {
if (jj_scan_token(INCR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_154() {
if (jj_3R_183()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_142() {
if (jj_scan_token(BOOLEAN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_73() {
if (jj_scan_token(VOLATILE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_92() {
if (jj_scan_token(MINUS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_153() {
if (jj_3R_182()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_98() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_142()) {
jj_scanpos = xsp;
if (jj_3R_143()) {
jj_scanpos = xsp;
if (jj_3R_144()) {
jj_scanpos = xsp;
if (jj_3R_145()) {
jj_scanpos = xsp;
if (jj_3R_146()) {
jj_scanpos = xsp;
if (jj_3R_147()) {
jj_scanpos = xsp;
if (jj_3R_148()) {
jj_scanpos = xsp;
if (jj_3R_149()) {
jj_scanpos = xsp;
if (jj_3R_150()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_70() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_22() {
if (jj_3R_95()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_152() {
if (jj_3R_181()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_67() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_105() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_152()) {
jj_scanpos = xsp;
if (jj_3R_153()) {
jj_scanpos = xsp;
if (jj_3R_154()) {
jj_scanpos = xsp;
if (jj_3R_155()) {
jj_scanpos = xsp;
if (jj_3R_156()) {
jj_scanpos = xsp;
if (jj_3R_157()) {
jj_scanpos = xsp;
if (jj_3R_158()) {
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_3_40()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_20() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_91()) {
jj_scanpos = xsp;
if (jj_3R_92()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_91() {
if (jj_scan_token(PLUS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_240() {
if (jj_3R_206()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_242() {
if (jj_scan_token(MINUS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_241() {
if (jj_scan_token(PLUS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_230() {
if (jj_3R_98()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_72() {
if (jj_scan_token(TRANSIENT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_69() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_228() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_230()) {
jj_scanpos = xsp;
if (jj_3R_231()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_66() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_9() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_66()) {
jj_scanpos = xsp;
if (jj_3R_67()) {
jj_scanpos = xsp;
if (jj_3R_68()) {
jj_scanpos = xsp;
if (jj_3R_69()) {
jj_scanpos = xsp;
if (jj_3R_70()) {
jj_scanpos = xsp;
if (jj_3R_71()) {
jj_scanpos = xsp;
if (jj_3R_72()) {
jj_scanpos = xsp;
if (jj_3R_73()) {
jj_scanpos = xsp;
if (jj_3R_74()) {
jj_scanpos = xsp;
if (jj_3R_75()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_239() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_241()) {
jj_scanpos = xsp;
if (jj_3R_242()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_238() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_239()) {
jj_scanpos = xsp;
if (jj_3R_240()) {
jj_scanpos = xsp;
if (jj_3_22()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_51() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_38() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_37() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(RBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_237() {
if (jj_3R_238()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_50() {
if (jj_3R_110()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_188() {
if (jj_scan_token(FOR)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_18() {
if (jj_scan_token(THIS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_236() {
if (jj_3R_237()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_116() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_115() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_90() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_35() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_49() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_235() {
if (jj_3R_236()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_114() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_36() {
if (jj_scan_token(NEW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_98()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_89() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_187() {
if (jj_scan_token(DO)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_227() {
if (jj_scan_token(NEW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_226() {
if (jj_scan_token(NEW)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_219() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_226()) {
jj_scanpos = xsp;
if (jj_3R_227()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_112() {
if (jj_scan_token(METACLASS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_17() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_88()) {
jj_scanpos = xsp;
if (jj_3R_89()) {
jj_scanpos = xsp;
if (jj_3R_90()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_88() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_234() {
if (jj_3R_235()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_48() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_51() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_113()) {
jj_scanpos = xsp;
if (jj_3R_114()) {
jj_scanpos = xsp;
if (jj_3R_115()) {
jj_scanpos = xsp;
if (jj_3R_116()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_50() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_111()) {
jj_scanpos = xsp;
if (jj_3R_112()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_111() {
if (jj_scan_token(IDENTIFIER)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_113() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_8() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_127() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_2() {
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_51()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
if (jj_scan_token(CLASS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_186() {
if (jj_scan_token(WHILE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_130() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_126() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_34() {
if (jj_3R_87()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_233() {
if (jj_3R_234()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_47() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_125() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_129() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_65() {
if (jj_scan_token(INTERFACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_46() {
if (jj_3R_105()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_217() {
if (jj_scan_token(NULL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_232() {
if (jj_3R_233()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_216() {
if (jj_scan_token(FALSE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_61() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_64() {
if (jj_scan_token(CLASS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_128() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_215() {
if (jj_scan_token(TRUE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_185() {
if (jj_scan_token(IF)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_58() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_63() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_124()) {
jj_scanpos = xsp;
if (jj_3R_125()) {
jj_scanpos = xsp;
if (jj_3R_126()) {
jj_scanpos = xsp;
if (jj_3R_127()) {
jj_scanpos = xsp;
if (jj_3R_128()) {
jj_scanpos = xsp;
if (jj_3R_129()) {
jj_scanpos = xsp;
if (jj_3R_130()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_124() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_214() {
if (jj_scan_token(STRING_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_7() {
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_63()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
xsp = jj_scanpos;
if (jj_3R_64()) {
jj_scanpos = xsp;
if (jj_3R_65()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_16() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_213() {
if (jj_scan_token(CHARACTER_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_62() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_6() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_62()) jj_scanpos = xsp;
else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(LBRACE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_212() {
if (jj_scan_token(DOUBLE_FLOATING_POINT_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_60() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_211() {
if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_109() {
if (jj_scan_token(_DEFAULT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_57() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_229() {
if (jj_3R_232()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_210() {
if (jj_scan_token(LONG_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_209() {
if (jj_scan_token(INTEGER_LITERAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_198() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_209()) {
jj_scanpos = xsp;
if (jj_3R_210()) {
jj_scanpos = xsp;
if (jj_3R_211()) {
jj_scanpos = xsp;
if (jj_3R_212()) {
jj_scanpos = xsp;
if (jj_3R_213()) {
jj_scanpos = xsp;
if (jj_3R_214()) {
jj_scanpos = xsp;
if (jj_3R_215()) {
jj_scanpos = xsp;
if (jj_3R_216()) {
jj_scanpos = xsp;
if (jj_3R_217()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_107() {
if (jj_scan_token(_DEFAULT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_1() {
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_45() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_108()) {
jj_scanpos = xsp;
if (jj_3R_109()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_108() {
if (jj_scan_token(CASE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_59() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_56() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_5() {
Token xsp;
xsp = jj_scanpos;
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()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_120() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_44() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_106()) {
jj_scanpos = xsp;
if (jj_3R_107()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_106() {
if (jj_scan_token(CASE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_224() {
if (jj_3R_229()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_33() {
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_123() {
if (jj_scan_token(PRIVATE)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_119() {
if (jj_scan_token(ABSTRACT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_184() {
if (jj_scan_token(SWITCH)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_221() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_118() {
if (jj_scan_token(STATIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_208() {
if (jj_3R_224()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_122() {
if (jj_scan_token(PROTECTED)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_43() {
if (jj_3R_97()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_180() {
if (jj_3R_207()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_121() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_205() {
if (jj_3R_221()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_55() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_117()) {
jj_scanpos = xsp;
if (jj_3R_118()) {
jj_scanpos = xsp;
if (jj_3R_119()) {
jj_scanpos = xsp;
if (jj_3R_120()) {
jj_scanpos = xsp;
if (jj_3R_121()) {
jj_scanpos = xsp;
if (jj_3R_122()) {
jj_scanpos = xsp;
if (jj_3R_123()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_117() {
if (jj_3R_50()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_179() {
if (jj_3R_206()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_151() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_179()) {
jj_scanpos = xsp;
lookingAhead = true;
jj_semLA = AssignmentLookahead();
lookingAhead = false;
if (!jj_semLA || jj_3R_180()) {
jj_scanpos = xsp;
if (jj_3_43()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_4() {
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_55()) { jj_scanpos = xsp; break; }
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
}
if (jj_scan_token(CLASS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_204() {
if (jj_3R_220()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_103() {
if (jj_3R_99()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(DOT)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_195() {
if (jj_3R_208()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_32() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_103()) jj_scanpos = xsp;
else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
if (jj_scan_token(THIS)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_203() {
if (jj_3R_219()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_202() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_104() {
if (jj_3R_151()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_201() {
if (jj_scan_token(SUPER)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_200() {
if (jj_3R_218()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_199() {
if (jj_3R_198()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_178() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_199()) {
jj_scanpos = xsp;
if (jj_3R_200()) {
jj_scanpos = xsp;
if (jj_3R_201()) {
jj_scanpos = xsp;
if (jj_3R_202()) {
jj_scanpos = xsp;
if (jj_3R_203()) {
jj_scanpos = xsp;
lookingAhead = true;
jj_semLA = ClassLiteralLookahead();
lookingAhead = false;
if (!jj_semLA || jj_3R_204()) {
jj_scanpos = xsp;
if (jj_3R_205()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
} else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_183() {
if (jj_scan_token(SEMICOLON)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_166() {
if (jj_3R_195()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_134() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_42() {
if (jj_scan_token(FINAL)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3R_102() {
if (jj_scan_token(LPAREN)) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
final private boolean jj_3_15() {
if (jj_3R_87()) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
return false;
}
public ParserTokenManager token_source;
JavaCharStream jj_input_stream;
public Token token, jj_nt;
private int jj_ntk;
private Token jj_scanpos, jj_lastpos;
private int jj_la;
public boolean lookingAhead = false;
private boolean jj_semLA;
private int jj_gen;
final private int[] jj_la1 = new int[85];
final private int[] jj_la1_0 = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20002000,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20002000,0x0,0x82094000,0x82094000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x10000000,0x0,0x0,0x0,0x0,0x82094000,0x1408000,0x100000,0x0,0x0,0x820000,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000,};
final private int[] jj_la1_1 = {0x0,0x1000,0x10,0x10,0x0,0x0,0x80000000,0x0,0x0,0x80000000,0x0,0x2224e200,0x0,0x8,0x0,0x0,0x0,0x80000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x2224e200,0x40000,0x90020140,0x10020140,0x0,0x0,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x84480c00,0x0,0x0,0x0,0x80000000,0x0,0x4000800,0x80400,0x80000000,0x4000800,0x0,0x0,0x0,0x400,0x90020140,0x48b10005,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x80000000,0x0,};
final private int[] jj_la1_2 = {0x100000,0x0,0x0,0x0,0x400000,0x100000,0x800,0x200000,0x20100000,0x0,0x1,0x0,0x0,0x0,0x100000,0x100000,0x200000,0x800,0x0,0x110000,0x800000,0x10000,0x200000,0x200000,0x0,0x0,0x800,0x0,0x200000,0x200000,0x800,0x800000,0x800000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x40000000,0x40000000,0x0,0x83000000,0x83000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0xc000000,0xc004ec6,0x4000,0x0,0x0,0x800,0x444000,0x6c6,0x4000,0x800,0x6c6,0x200000,0x10000,0x4000,0x0,0x800,0x110000,0x0,0x200000,0x0,0x0,0x10000,0x10000,0x0,0x10000,0x10000,0x10000,0x200000,0x200000,0x800,0x800,0x0,};
final private int[] jj_la1_3 = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffe0000,0xffe0000,0x0,0x4,0x8,0x800,0x1000,0x400,0x2,0x2,0x0,0x1,0x1,0x1c000,0x1c000,0xc0,0xc0,0x2300,0x2300,0xc0,0x30,0x0,0x0,0x0,0x0,0x30,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
final private JJCalls[] jj_2_rtns = new JJCalls[52];
private boolean jj_rescan = false;
private int jj_gc = 0;
public Parser(java.io.InputStream stream) {
jj_input_stream = new JavaCharStream(stream, 1, 1);
token_source = new ParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public void ReInit(java.io.InputStream stream) {
jj_input_stream.ReInit(stream, 1, 1);
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public Parser(java.io.Reader stream) {
jj_input_stream = new JavaCharStream(stream, 1, 1);
token_source = new ParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
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;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public Parser(ParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public void ReInit(ParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 85; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
final 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) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (int i = 0; i < jj_2_rtns.length; i++) {
JJCalls c = jj_2_rtns[i];
while (c != null) {
if (c.gen < jj_gen) c.first = null;
c = c.next;
}
}
}
return token;
}
token = oldToken;
jj_kind = kind;
throw generateParseException();
}
final 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_rescan) {
int i = 0; Token tok = token;
while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
if (tok != null) jj_add_error_token(kind, i);
}
return (jj_scanpos.kind != kind);
}
final public Token getNextToken() {
if (token.next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
final public Token getToken(int index) {
Token t = 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;
}
final 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);
}
private java.util.Vector jj_expentries = new java.util.Vector();
private int[] jj_expentry;
private int jj_kind = -1;
private int[] jj_lasttokens = new int[100];
private int jj_endpos;
private void jj_add_error_token(int kind, int pos) {
if (pos >= 100) return;
if (pos == jj_endpos + 1) {
jj_lasttokens[jj_endpos++] = kind;
} else if (jj_endpos != 0) {
jj_expentry = new int[jj_endpos];
for (int i = 0; i < jj_endpos; i++) {
jj_expentry[i] = jj_lasttokens[i];
}
boolean exists = false;
for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
int[] oldentry = (int[])(e.nextElement());
if (oldentry.length == jj_expentry.length) {
exists = true;
for (int i = 0; i < jj_expentry.length; i++) {
if (oldentry[i] != jj_expentry[i]) {
exists = false;
break;
}
}
if (exists) break;
}
}
if (!exists) jj_expentries.addElement(jj_expentry);
if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
}
}
final public ParseException generateParseException() {
jj_expentries.removeAllElements();
boolean[] la1tokens = new boolean[124];
for (int i = 0; i < 124; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (int i = 0; i < 85; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1< jj_gen) {
jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
switch (i) {
case 0: jj_3_1(); break;
case 1: jj_3_2(); break;
case 2: jj_3_3(); break;
case 3: jj_3_4(); break;
case 4: jj_3_5(); break;
case 5: jj_3_6(); break;
case 6: jj_3_7(); break;
case 7: jj_3_8(); break;
case 8: jj_3_9(); break;
case 9: jj_3_10(); break;
case 10: jj_3_11(); break;
case 11: jj_3_12(); break;
case 12: jj_3_13(); break;
case 13: jj_3_14(); break;
case 14: jj_3_15(); break;
case 15: jj_3_16(); break;
case 16: jj_3_17(); break;
case 17: jj_3_18(); break;
case 18: jj_3_19(); break;
case 19: jj_3_20(); break;
case 20: jj_3_21(); break;
case 21: jj_3_22(); break;
case 22: jj_3_23(); break;
case 23: jj_3_24(); break;
case 24: jj_3_25(); break;
case 25: jj_3_26(); break;
case 26: jj_3_27(); break;
case 27: jj_3_28(); break;
case 28: jj_3_29(); break;
case 29: jj_3_30(); break;
case 30: jj_3_31(); break;
case 31: jj_3_32(); break;
case 32: jj_3_33(); break;
case 33: jj_3_34(); break;
case 34: jj_3_35(); break;
case 35: jj_3_36(); break;
case 36: jj_3_37(); break;
case 37: jj_3_38(); break;
case 38: jj_3_39(); break;
case 39: jj_3_40(); break;
case 40: jj_3_41(); break;
case 41: jj_3_42(); break;
case 42: jj_3_43(); break;
case 43: jj_3_44(); break;
case 44: jj_3_45(); break;
case 45: jj_3_46(); break;
case 46: jj_3_47(); break;
case 47: jj_3_48(); break;
case 48: jj_3_49(); break;
case 49: jj_3_50(); break;
case 50: jj_3_51(); break;
case 51: jj_3_52(); break;
}
}
p = p.next;
} while (p != null);
}
jj_rescan = false;
}
final private void jj_save(int index, int xla) {
JJCalls p = jj_2_rtns[index];
while (p.gen > jj_gen) {
if (p.next == null) { p = p.next = new JJCalls(); break; }
p = p.next;
}
p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
}
static final class JJCalls {
int gen;
Token first;
int arg;
JJCalls next;
}
}
class IntAndObj
{
IntAndObj( int ptr, Object obj ) {
super(); this.ptr = ptr; this.obj = obj;
}
int ptr;
Object obj;
}