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; }