| /* Generated By:JavaCC: Do not edit this line. ASTParser.java */ |
| /* |
| * |
| * This file is part of Java 1.8 parser and Abstract Syntax Tree. |
| * |
| * Java 1.8 parser and Abstract Syntax Tree is free software: you can redistribute it and/or modify |
| * it under the terms of the GNU Lesser General Public License as published by |
| * the Free Software Foundation, either version 3 of the License, or |
| * (at your option) any later version. |
| * |
| * You should have received a copy of the GNU Lesser General Public License |
| * along with Java 1.8 parser and Abstract Syntax Tree. If not, see <http://www.gnu.org/licenses/>. |
| */ |
| package com.github.javaparser; |
| |
| import java.io.*; |
| import java.util.*; |
| import com.github.javaparser.ast.*; |
| import com.github.javaparser.ast.body.*; |
| import com.github.javaparser.ast.comments.*; |
| import com.github.javaparser.ast.expr.*; |
| import com.github.javaparser.ast.stmt.*; |
| import com.github.javaparser.ast.type.*; |
| |
| /** |
| * <p>This class was generated automatically by javacc, do not edit.</p> |
| */ |
| final class ASTParser implements ASTParserConstants { |
| |
| void reset(InputStream in, String encoding) { |
| ReInit(in, encoding); |
| } |
| |
| private List add(List list, Object obj) { |
| if (list == null) { |
| list = new LinkedList(); |
| } |
| list.add(obj); |
| return list; |
| } |
| |
| private List add(int pos, List list, Object obj) { |
| if (list == null) { |
| list = new LinkedList(); |
| } |
| list.add(pos, obj); |
| return list; |
| } |
| |
| private class Modifier { |
| |
| final int modifiers; |
| final List annotations; |
| final int beginLine; |
| final int beginColumn; |
| |
| public Modifier(int beginLine, int beginColumn, int modifiers, List annotations) { |
| this.beginLine = beginLine; |
| this.beginColumn = beginColumn; |
| this.modifiers = modifiers; |
| this.annotations = annotations; |
| } |
| } |
| |
| public int addModifier(int modifiers, int mod, Token token) { |
| if ((ModifierSet.hasModifier(modifiers, mod))) { |
| throwParseException(token, "Duplicated modifier"); |
| } |
| return ModifierSet.addModifier(modifiers, mod); |
| } |
| |
| private void throwParseException(Token token, String message) { |
| StringBuilder buf = new StringBuilder(); |
| buf.append(message); |
| buf.append(": \""); |
| buf.append(token.image); |
| buf.append("\" at line "); |
| buf.append(token.beginLine); |
| buf.append(", column "); |
| buf.append(token.beginColumn); |
| ParseException e = new ParseException(buf.toString()); |
| e.currentToken = token; |
| throw e; |
| } |
| |
| private Expression generateLambda(Expression ret, Statement lambdaBody) { |
| if (ret instanceof EnclosedExpr) { |
| Expression inner = ((EnclosedExpr) ret).getInner(); |
| if (inner != null && inner instanceof NameExpr) { |
| VariableDeclaratorId id = new VariableDeclaratorId(inner.getBeginLine(), inner.getBeginColumn(), inner.getEndLine(), inner.getEndColumn(), ((NameExpr)inner).getName(), 0); |
| List params = add(null, new Parameter(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), 0, null, new UnknownType(), false, id)); |
| ret = new LambdaExpr(ret.getBeginLine(), ret.getBeginColumn(), lambdaBody.getEndLine(), lambdaBody.getEndColumn(), params, lambdaBody, true); |
| } else { |
| ret = new LambdaExpr(ret.getBeginLine(), ret.getBeginColumn(), lambdaBody.getEndLine(), lambdaBody.getEndColumn(), null, lambdaBody, true); |
| } |
| } else if (ret instanceof NameExpr) { |
| VariableDeclaratorId id = new VariableDeclaratorId(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), ((NameExpr)ret).getName(), 0); |
| List params = add(null, new Parameter(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), 0, null, new UnknownType(), false, id)); |
| ret = new LambdaExpr(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), params, lambdaBody, false); |
| } else if (ret instanceof LambdaExpr) { |
| ((LambdaExpr) ret).setBody(lambdaBody); |
| ret.setEndLine(lambdaBody.getEndLine()); |
| ret.setEndColumn(lambdaBody.getEndColumn()); |
| } else { |
| throw new ParseException("Failed to parse lambda expression! Please create an issue at https://github.com/javaparser/javaparser/issues"); |
| } |
| return ret; |
| } |
| |
| static final class GTToken extends Token { |
| |
| int realKind = ASTParserConstants.GT; |
| |
| GTToken(int kind, String image) { |
| this.kind = kind; |
| this.image = image; |
| } |
| |
| public static Token newToken(int kind, String image) { |
| return new GTToken(kind, image); |
| } |
| } |
| |
| private Token last_special_token = null; |
| |
| /***************************************** |
| * THE JAVA LANGUAGE GRAMMAR STARTS HERE * |
| *****************************************/ |
| |
| /* |
| * Program structuring syntax follows. |
| */ |
| final public CompilationUnit CompilationUnit() { |
| PackageDeclaration pakage = null; |
| List imports = null; |
| ImportDeclaration in = null; |
| List types = null; |
| TypeDeclaration tn = null; |
| int line = -1; |
| int column = 0; |
| if (jj_2_1(2147483647)) { |
| pakage = PackageDeclaration(); |
| line = pakage.getBeginLine(); column = pakage.getBeginColumn(); |
| } else { |
| ; |
| } |
| label_1: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IMPORT: |
| ; |
| break; |
| default: |
| jj_la1[0] = jj_gen; |
| break label_1; |
| } |
| in = ImportDeclaration(); |
| if(line==-1){line = in.getBeginLine(); column = in.getBeginColumn();} imports = add(imports, in); |
| } |
| label_2: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case CLASS: |
| case ENUM: |
| case FINAL: |
| case INTERFACE: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOLATILE: |
| case SEMICOLON: |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[1] = jj_gen; |
| break label_2; |
| } |
| tn = TypeDeclaration(); |
| if(line==-1){line = tn.getBeginLine(); column = tn.getBeginColumn();} types = add(types, tn); |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case 0: |
| jj_consume_token(0); |
| break; |
| case 131: |
| jj_consume_token(131); |
| break; |
| default: |
| jj_la1[2] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return new CompilationUnit(line == -1 ? 0 : line, column, token.endLine, token.endColumn,pakage, imports, types);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public PackageDeclaration PackageDeclaration() { |
| List annotations = null; |
| AnnotationExpr ann; |
| NameExpr name; |
| int line; |
| int column; |
| label_3: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[3] = jj_gen; |
| break label_3; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| jj_consume_token(PACKAGE); |
| line=token.beginLine; column=token.beginColumn; |
| name = Name(); |
| jj_consume_token(SEMICOLON); |
| {if (true) return new PackageDeclaration(line, column, token.endLine, token.endColumn,annotations, name);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ImportDeclaration ImportDeclaration() { |
| NameExpr name; |
| boolean isStatic = false; |
| boolean isAsterisk = false; |
| int line; |
| int column; |
| jj_consume_token(IMPORT); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case STATIC: |
| jj_consume_token(STATIC); |
| isStatic = true; |
| break; |
| default: |
| jj_la1[4] = jj_gen; |
| ; |
| } |
| name = Name(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case DOT: |
| jj_consume_token(DOT); |
| jj_consume_token(STAR); |
| isAsterisk = true; |
| break; |
| default: |
| jj_la1[5] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new ImportDeclaration(line, column, token.endLine, token.endColumn,name, isStatic, isAsterisk);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Modifiers. We match all modifiers in a single rule to reduce the chances of |
| * syntax errors for simple modifier mistakes. It will also enable us to give |
| * better error messages. |
| */ |
| final public Modifier Modifiers() { |
| int beginLine = -1; |
| int beginColumn = -1; |
| int modifiers = 0; |
| List annotations = null; |
| AnnotationExpr ann; |
| label_4: |
| while (true) { |
| if (jj_2_2(2)) { |
| ; |
| } else { |
| break label_4; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case PUBLIC: |
| jj_consume_token(PUBLIC); |
| modifiers = addModifier(modifiers, ModifierSet.PUBLIC, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case STATIC: |
| jj_consume_token(STATIC); |
| modifiers = addModifier(modifiers, ModifierSet.STATIC, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case PROTECTED: |
| jj_consume_token(PROTECTED); |
| modifiers = addModifier(modifiers, ModifierSet.PROTECTED, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case PRIVATE: |
| jj_consume_token(PRIVATE); |
| modifiers = addModifier(modifiers, ModifierSet.PRIVATE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case FINAL: |
| jj_consume_token(FINAL); |
| modifiers = addModifier(modifiers, ModifierSet.FINAL, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case ABSTRACT: |
| jj_consume_token(ABSTRACT); |
| modifiers = addModifier(modifiers, ModifierSet.ABSTRACT, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case SYNCHRONIZED: |
| jj_consume_token(SYNCHRONIZED); |
| modifiers = addModifier(modifiers, ModifierSet.SYNCHRONIZED, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case NATIVE: |
| jj_consume_token(NATIVE); |
| modifiers = addModifier(modifiers, ModifierSet.NATIVE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case TRANSIENT: |
| jj_consume_token(TRANSIENT); |
| modifiers = addModifier(modifiers, ModifierSet.TRANSIENT, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case VOLATILE: |
| jj_consume_token(VOLATILE); |
| modifiers = addModifier(modifiers, ModifierSet.VOLATILE, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case STRICTFP: |
| jj_consume_token(STRICTFP); |
| modifiers = addModifier(modifiers, ModifierSet.STRICTFP, token); if(beginLine==-1) {beginLine=token.beginLine; beginColumn=token.beginColumn;} |
| break; |
| case AT: |
| ann = Annotation(); |
| annotations = add(annotations, ann); if(beginLine==-1) {beginLine=ann.getBeginLine(); beginColumn=ann.getBeginColumn();} |
| break; |
| default: |
| jj_la1[6] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return new Modifier(beginLine, beginColumn, modifiers, annotations);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Declaration syntax follows. |
| */ |
| final public TypeDeclaration TypeDeclaration() { |
| Modifier modifier; |
| TypeDeclaration ret; |
| |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case SEMICOLON: |
| jj_consume_token(SEMICOLON); |
| ret = new EmptyTypeDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn); |
| break; |
| case ABSTRACT: |
| case CLASS: |
| case ENUM: |
| case FINAL: |
| case INTERFACE: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOLATILE: |
| case AT: |
| modifier = Modifiers(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CLASS: |
| case INTERFACE: |
| ret = ClassOrInterfaceDeclaration(modifier); |
| break; |
| case ENUM: |
| ret = EnumDeclaration(modifier); |
| break; |
| case AT: |
| ret = AnnotationTypeDeclaration(modifier); |
| break; |
| default: |
| jj_la1[7] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| break; |
| default: |
| jj_la1[8] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ClassOrInterfaceDeclaration ClassOrInterfaceDeclaration(Modifier modifier) { |
| boolean isInterface = false; |
| NameExpr name; |
| List typePar = null; |
| List extList = null; |
| List impList = null; |
| List members; |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CLASS: |
| jj_consume_token(CLASS); |
| break; |
| case INTERFACE: |
| jj_consume_token(INTERFACE); |
| isInterface = true; |
| break; |
| default: |
| jj_la1[9] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| if (line == -1) {line=token.beginLine; column=token.beginColumn;} |
| name = Name(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typePar = TypeParameters(); |
| typePar.remove(0); |
| break; |
| default: |
| jj_la1[10] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EXTENDS: |
| extList = ExtendsList(isInterface); |
| break; |
| default: |
| jj_la1[11] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IMPLEMENTS: |
| impList = ImplementsList(isInterface); |
| break; |
| default: |
| jj_la1[12] = jj_gen; |
| ; |
| } |
| members = ClassOrInterfaceBody(isInterface); |
| ClassOrInterfaceDeclaration tmp = new ClassOrInterfaceDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, isInterface, null, typePar, extList, impList, members); |
| tmp.setNameExpr(name); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ExtendsList(boolean isInterface) { |
| boolean extendsMoreThanOne = false; |
| List ret = new LinkedList(); |
| ClassOrInterfaceType cit; |
| AnnotationExpr ann; |
| List annotations = null; |
| jj_consume_token(EXTENDS); |
| label_5: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[13] = jj_gen; |
| break label_5; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| cit = ClassOrInterfaceType(); |
| cit.setAnnotations(annotations); ret.add(cit); |
| label_6: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[14] = jj_gen; |
| break label_6; |
| } |
| jj_consume_token(COMMA); |
| cit = ClassOrInterfaceType(); |
| ret.add(cit); extendsMoreThanOne = true; |
| } |
| if (extendsMoreThanOne && !isInterface) |
| throwParseException(token, "A class cannot extend more than one other class"); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ImplementsList(boolean isInterface) { |
| List ret = new LinkedList(); |
| ClassOrInterfaceType cit; |
| AnnotationExpr ann; |
| List annotations = null; |
| jj_consume_token(IMPLEMENTS); |
| label_7: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[15] = jj_gen; |
| break label_7; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| cit = ClassOrInterfaceType(); |
| cit.setAnnotations(annotations); ret.add(cit); |
| label_8: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[16] = jj_gen; |
| break label_8; |
| } |
| jj_consume_token(COMMA); |
| cit = ClassOrInterfaceType(); |
| ret.add(cit); |
| } |
| if (isInterface) |
| throwParseException(token, "An interface cannot implement other interfaces"); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public EnumDeclaration EnumDeclaration(Modifier modifier) { |
| NameExpr name; |
| List impList = null; |
| EnumConstantDeclaration entry; |
| List entries = null; |
| BodyDeclaration member; |
| List members = null; |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| jj_consume_token(ENUM); |
| if (line == -1) {line=token.beginLine; column=token.beginColumn;} |
| name = Name(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IMPLEMENTS: |
| impList = ImplementsList(false); |
| break; |
| default: |
| jj_la1[17] = jj_gen; |
| ; |
| } |
| jj_consume_token(LBRACE); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| case AT: |
| entries = new LinkedList(); |
| entry = EnumConstantDeclaration(); |
| entries.add(entry); |
| label_9: |
| while (true) { |
| if (jj_2_3(2)) { |
| ; |
| } else { |
| break label_9; |
| } |
| jj_consume_token(COMMA); |
| entry = EnumConstantDeclaration(); |
| entries.add(entry); |
| } |
| break; |
| default: |
| jj_la1[18] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| jj_consume_token(COMMA); |
| break; |
| default: |
| jj_la1[19] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case SEMICOLON: |
| jj_consume_token(SEMICOLON); |
| label_10: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case _DEFAULT: |
| case DOUBLE: |
| case ENUM: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOID: |
| case VOLATILE: |
| case IDENTIFIER: |
| case LBRACE: |
| case SEMICOLON: |
| case AT: |
| case LT: |
| ; |
| break; |
| default: |
| jj_la1[20] = jj_gen; |
| break label_10; |
| } |
| member = ClassOrInterfaceBodyDeclaration(false); |
| members = add(members, member); |
| } |
| break; |
| default: |
| jj_la1[21] = jj_gen; |
| ; |
| } |
| jj_consume_token(RBRACE); |
| EnumDeclaration tmp = new EnumDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, null, impList, entries, members); |
| tmp.setNameExpr(name); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public EnumConstantDeclaration EnumConstantDeclaration() { |
| List annotations = null; |
| AnnotationExpr ann; |
| String name; |
| List args = null; |
| List classBody = null; |
| int line = -1; |
| int column = -1; |
| |
| label_11: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[22] = jj_gen; |
| break label_11; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); if(line==-1){line=ann.getBeginLine(); column=ann.getBeginColumn();} |
| } |
| jj_consume_token(IDENTIFIER); |
| name = token.image; if(line==-1){line=token.beginLine; column=token.beginColumn;} |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LPAREN: |
| args = Arguments(); |
| break; |
| default: |
| jj_la1[23] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACE: |
| classBody = ClassOrInterfaceBody(false); |
| break; |
| default: |
| jj_la1[24] = jj_gen; |
| ; |
| } |
| EnumConstantDeclaration tmp = new EnumConstantDeclaration(line, column, token.endLine, token.endColumn, annotations, name, args, classBody); |
| |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List TypeParameters() { |
| List ret = new LinkedList(); |
| TypeParameter tp; |
| List annotations = null; |
| AnnotationExpr ann; |
| jj_consume_token(LT); |
| ret.add(new int[]{token.beginLine, token.beginColumn}); |
| label_12: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[25] = jj_gen; |
| break label_12; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| tp = TypeParameter(); |
| ret.add(tp); tp.setAnnotations(annotations); annotations = null; |
| label_13: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[26] = jj_gen; |
| break label_13; |
| } |
| jj_consume_token(COMMA); |
| label_14: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[27] = jj_gen; |
| break label_14; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| tp = TypeParameter(); |
| ret.add(tp); tp.setAnnotations(annotations); annotations = null; |
| } |
| jj_consume_token(GT); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public TypeParameter TypeParameter() { |
| String name; |
| List typeBound = null; |
| int line; |
| int column; |
| jj_consume_token(IDENTIFIER); |
| name = token.image; line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EXTENDS: |
| typeBound = TypeBound(); |
| break; |
| default: |
| jj_la1[28] = jj_gen; |
| ; |
| } |
| {if (true) return new TypeParameter(line, column, token.endLine, token.endColumn,name, typeBound);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List TypeBound() { |
| List ret = new LinkedList(); |
| ClassOrInterfaceType cit; |
| AnnotationExpr ann; |
| List annotations = null; |
| jj_consume_token(EXTENDS); |
| label_15: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[29] = jj_gen; |
| break label_15; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| cit = ClassOrInterfaceType(); |
| cit.setAnnotations(annotations); ret.add(cit); annotations=null; |
| label_16: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BIT_AND: |
| ; |
| break; |
| default: |
| jj_la1[30] = jj_gen; |
| break label_16; |
| } |
| jj_consume_token(BIT_AND); |
| label_17: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[31] = jj_gen; |
| break label_17; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| cit = ClassOrInterfaceType(); |
| cit.setAnnotations(annotations); ret.add(cit); annotations=null; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ClassOrInterfaceBody(boolean isInterface) { |
| List ret = new LinkedList(); |
| BodyDeclaration member; |
| jj_consume_token(LBRACE); |
| label_18: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case _DEFAULT: |
| case DOUBLE: |
| case ENUM: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOID: |
| case VOLATILE: |
| case IDENTIFIER: |
| case LBRACE: |
| case SEMICOLON: |
| case AT: |
| case LT: |
| ; |
| break; |
| default: |
| jj_la1[32] = jj_gen; |
| break label_18; |
| } |
| member = ClassOrInterfaceBodyDeclaration(isInterface); |
| ret.add(member); |
| } |
| jj_consume_token(RBRACE); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public BodyDeclaration ClassOrInterfaceBodyDeclaration(boolean isInterface) { |
| boolean isNestedInterface = false; |
| Modifier modifier; |
| Modifier modifier2 = null; |
| int aux = 0; |
| BodyDeclaration ret; |
| boolean isDefault = false; |
| |
| if (jj_2_6(2)) { |
| ret = InitializerDeclaration(); |
| if (isInterface) |
| throwParseException(token, "An interface cannot have initializers"); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case _DEFAULT: |
| case DOUBLE: |
| case ENUM: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOID: |
| case VOLATILE: |
| case IDENTIFIER: |
| case AT: |
| case LT: |
| modifier = Modifiers(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case _DEFAULT: |
| jj_consume_token(_DEFAULT); |
| modifier2 = Modifiers(); |
| if(!isInterface) |
| { |
| throwParseException(token, "An interface cannot have default members"); |
| } |
| isDefault = true; |
| break; |
| default: |
| jj_la1[33] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CLASS: |
| case INTERFACE: |
| ret = ClassOrInterfaceDeclaration(modifier); |
| break; |
| case ENUM: |
| ret = EnumDeclaration(modifier); |
| break; |
| case AT: |
| ret = AnnotationTypeDeclaration(modifier); |
| break; |
| default: |
| jj_la1[34] = jj_gen; |
| if (jj_2_4(2147483647)) { |
| ret = ConstructorDeclaration(modifier); |
| } else if (jj_2_5(2147483647)) { |
| ret = FieldDeclaration(modifier); |
| } else { |
| 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: |
| case IDENTIFIER: |
| case LT: |
| ret = MethodDeclaration(modifier); |
| if(isDefault && ret!= null && ((MethodDeclaration)ret).getBody() == null) |
| { |
| throwParseException(token, "\"default\" methods must have a body"); |
| } |
| ((MethodDeclaration)ret).setDefault(isDefault); |
| if(modifier2!= null) |
| { |
| aux = modifier2.modifiers; |
| } |
| ((MethodDeclaration)ret).setModifiers(addModifier(modifier.modifiers, aux, token)); |
| break; |
| default: |
| jj_la1[35] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| } |
| if(isDefault && ! (ret instanceof MethodDeclaration)) |
| { |
| throwParseException(token, "Just methods can have the keyword \"default\"."); |
| } |
| break; |
| case SEMICOLON: |
| jj_consume_token(SEMICOLON); |
| ret = new EmptyMemberDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn); |
| break; |
| default: |
| jj_la1[36] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public FieldDeclaration FieldDeclaration(Modifier modifier) { |
| Type type; |
| List variables = new LinkedList(); |
| VariableDeclarator val; |
| // Modifiers are already matched in the caller |
| type = Type(); |
| val = VariableDeclarator(); |
| variables.add(val); |
| label_19: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[37] = jj_gen; |
| break label_19; |
| } |
| jj_consume_token(COMMA); |
| val = VariableDeclarator(); |
| variables.add(val); |
| } |
| jj_consume_token(SEMICOLON); |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| if (line == -1) { line=type.getBeginLine(); column=type.getBeginColumn(); } |
| {if (true) return new FieldDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, variables);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public VariableDeclarator VariableDeclarator() { |
| VariableDeclaratorId id; |
| Expression init = null; |
| id = VariableDeclaratorId(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ASSIGN: |
| jj_consume_token(ASSIGN); |
| init = VariableInitializer(); |
| break; |
| default: |
| jj_la1[38] = jj_gen; |
| ; |
| } |
| {if (true) return new VariableDeclarator(id.getBeginLine(), id.getBeginColumn(), token.endLine, token.endColumn, id, init);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public VariableDeclaratorId VariableDeclaratorId() { |
| String name; |
| int arrayCount = 0; |
| int line; |
| int column; |
| jj_consume_token(IDENTIFIER); |
| name = token.image; line=token.beginLine; column=token.beginColumn; |
| label_20: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACKET: |
| ; |
| break; |
| default: |
| jj_la1[39] = jj_gen; |
| break label_20; |
| } |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| arrayCount++; |
| } |
| {if (true) return new VariableDeclaratorId(line, column, token.endLine, token.endColumn,name, arrayCount);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression VariableInitializer() { |
| Expression ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACE: |
| ret = ArrayInitializer(); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| ret = Expression(); |
| break; |
| default: |
| jj_la1[40] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ArrayInitializerExpr ArrayInitializer() { |
| List values = null; |
| Expression val; |
| int line; |
| int column; |
| jj_consume_token(LBRACE); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case LBRACE: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| val = VariableInitializer(); |
| values = add(values, val); |
| label_21: |
| while (true) { |
| if (jj_2_7(2)) { |
| ; |
| } else { |
| break label_21; |
| } |
| jj_consume_token(COMMA); |
| val = VariableInitializer(); |
| values = add(values, val); |
| } |
| break; |
| default: |
| jj_la1[41] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| jj_consume_token(COMMA); |
| break; |
| default: |
| jj_la1[42] = jj_gen; |
| ; |
| } |
| jj_consume_token(RBRACE); |
| {if (true) return new ArrayInitializerExpr(line, column, token.endLine, token.endColumn,values);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public MethodDeclaration MethodDeclaration(Modifier modifier) { |
| List typeParameters = null; |
| Type type; |
| NameExpr name; |
| List parameters; |
| int arrayCount = 0; |
| List throws_ = null; |
| BlockStmt block = null; |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeParameters = TypeParameters(); |
| int[] lineCol=(int[])typeParameters.remove(0); if(line==-1){ line=lineCol[0]; column=lineCol[1];} |
| break; |
| default: |
| jj_la1[43] = jj_gen; |
| ; |
| } |
| type = ResultType(); |
| if(line==-1){line=type.getBeginLine(); column=type.getBeginColumn();} |
| name = Name(); |
| parameters = FormalParameters(); |
| label_22: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACKET: |
| ; |
| break; |
| default: |
| jj_la1[44] = jj_gen; |
| break label_22; |
| } |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| arrayCount++; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case THROWS: |
| jj_consume_token(THROWS); |
| throws_ = NameList(); |
| break; |
| default: |
| jj_la1[45] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACE: |
| block = Block(); |
| break; |
| case SEMICOLON: |
| jj_consume_token(SEMICOLON); |
| break; |
| default: |
| jj_la1[46] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| MethodDeclaration tmp = new MethodDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, typeParameters, type, null, parameters, arrayCount, throws_, block); |
| tmp.setNameExpr(name); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List FormalParameters() { |
| List ret = null; |
| Parameter par; |
| jj_consume_token(LPAREN); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOLATILE: |
| case IDENTIFIER: |
| case AT: |
| par = FormalParameter(); |
| ret = add(ret, par); |
| label_23: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[47] = jj_gen; |
| break label_23; |
| } |
| jj_consume_token(COMMA); |
| par = FormalParameter(); |
| ret = add(ret, par); |
| } |
| break; |
| default: |
| jj_la1[48] = jj_gen; |
| ; |
| } |
| jj_consume_token(RPAREN); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List FormalLambdaParameters() { |
| List ret = null; |
| Parameter par; |
| jj_consume_token(COMMA); |
| par = FormalParameter(); |
| ret = add(ret, par); |
| label_24: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[49] = jj_gen; |
| break label_24; |
| } |
| jj_consume_token(COMMA); |
| par = FormalParameter(); |
| ret = add(ret, par); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List InferredLambdaParameters() { |
| List ret = null; |
| VariableDeclaratorId id; |
| jj_consume_token(COMMA); |
| id = VariableDeclaratorId(); |
| ret = add(ret, new Parameter(id.getBeginLine(), id.getBeginColumn(), id.getEndLine(), id.getEndColumn(), 0, null, new UnknownType(), false, id)); |
| label_25: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[50] = jj_gen; |
| break label_25; |
| } |
| jj_consume_token(COMMA); |
| id = VariableDeclaratorId(); |
| ret = add(ret, new Parameter(id.getBeginLine(), id.getBeginColumn(), id.getEndLine(), id.getEndColumn(), 0, null, new UnknownType(), false, id)); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Parameter FormalParameter() { |
| Modifier modifier; |
| Type type; |
| boolean isVarArg = false; |
| VariableDeclaratorId id; |
| modifier = Modifiers(); |
| type = Type(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ELLIPSIS: |
| jj_consume_token(ELLIPSIS); |
| isVarArg = true; |
| break; |
| default: |
| jj_la1[51] = jj_gen; |
| ; |
| } |
| id = VariableDeclaratorId(); |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| if(line==-1){ line=type.getBeginLine(); column=type.getBeginColumn(); } |
| {if (true) return new Parameter(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, isVarArg, id);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ConstructorDeclaration ConstructorDeclaration(Modifier modifier) { |
| List typeParameters = null; |
| NameExpr name; |
| List parameters; |
| List throws_ = null; |
| ExplicitConstructorInvocationStmt exConsInv = null; |
| List stmts; |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| int bbLine = 0; |
| int bbColumn = 0; |
| int beLine = 0; |
| int beColumn = 0; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeParameters = TypeParameters(); |
| int[] lineCol=(int[])typeParameters.remove(0); if(line==-1){ line=lineCol[0]; column=lineCol[1];} |
| break; |
| default: |
| jj_la1[52] = jj_gen; |
| ; |
| } |
| // Modifiers matched in the caller |
| name = SimpleName(); |
| if(line==-1){line=token.beginLine; column=token.beginColumn;} |
| parameters = FormalParameters(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case THROWS: |
| jj_consume_token(THROWS); |
| throws_ = NameList(); |
| break; |
| default: |
| jj_la1[53] = jj_gen; |
| ; |
| } |
| jj_consume_token(LBRACE); |
| bbLine=token.beginLine; bbColumn=token.beginColumn; |
| if (jj_2_8(2147483647)) { |
| exConsInv = ExplicitConstructorInvocation(); |
| } else { |
| ; |
| } |
| stmts = Statements(); |
| jj_consume_token(RBRACE); |
| if (exConsInv != null) { |
| stmts = add(0, stmts, exConsInv); |
| } |
| ConstructorDeclaration tmp = new ConstructorDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, typeParameters, null, parameters, throws_, new BlockStmt(bbLine, bbColumn, token.endLine, token.endColumn, stmts)); |
| tmp.setNameExpr(name); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ExplicitConstructorInvocationStmt ExplicitConstructorInvocation() { |
| boolean isThis = false; |
| List args; |
| Expression expr = null; |
| List typeArgs = null; |
| int line = -1; |
| int column = 0; |
| if (jj_2_10(2147483647)) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case 132: |
| typeArgs = TypeArguments(); |
| int[] lineCol=(int[])typeArgs.remove(0); line=lineCol[0]; column=lineCol[1]; |
| break; |
| default: |
| jj_la1[54] = jj_gen; |
| ; |
| } |
| jj_consume_token(THIS); |
| if (line == -1) {line=token.beginLine; column=token.beginColumn;} isThis = true; |
| args = Arguments(); |
| jj_consume_token(SEMICOLON); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case LT: |
| case 132: |
| if (jj_2_9(2147483647)) { |
| expr = PrimaryExpressionWithoutSuperSuffix(); |
| jj_consume_token(DOT); |
| line=expr.getBeginLine(); column=expr.getBeginColumn(); |
| } else { |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case 132: |
| typeArgs = TypeArguments(); |
| int[] lineCol=(int[])typeArgs.remove(0); if (line == -1) {line=lineCol[0]; column=lineCol[1];} |
| break; |
| default: |
| jj_la1[55] = jj_gen; |
| ; |
| } |
| jj_consume_token(SUPER); |
| if (line == -1) {line=token.beginLine; column=token.beginColumn;} |
| args = Arguments(); |
| jj_consume_token(SEMICOLON); |
| break; |
| default: |
| jj_la1[56] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return new ExplicitConstructorInvocationStmt(line, column, token.endLine, token.endColumn,typeArgs, isThis, expr, args);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List Statements() { |
| List ret = null; |
| Statement stmt; |
| label_26: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case ASSERT: |
| case BOOLEAN: |
| case BREAK: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case CONTINUE: |
| case DO: |
| case DOUBLE: |
| case FALSE: |
| case FINAL: |
| case FLOAT: |
| case FOR: |
| case IF: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case NEW: |
| case NULL: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case RETURN: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SUPER: |
| case SWITCH: |
| case SYNCHRONIZED: |
| case THIS: |
| case THROW: |
| case TRANSIENT: |
| case TRUE: |
| case TRY: |
| case VOID: |
| case VOLATILE: |
| case WHILE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case LBRACE: |
| case SEMICOLON: |
| case AT: |
| case INCR: |
| case DECR: |
| ; |
| break; |
| default: |
| jj_la1[57] = jj_gen; |
| break label_26; |
| } |
| stmt = BlockStatement(); |
| ret = add(ret, stmt); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public InitializerDeclaration InitializerDeclaration() { |
| BlockStmt block; |
| int line = -1; |
| int column = 0; |
| boolean isStatic = false; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case STATIC: |
| jj_consume_token(STATIC); |
| isStatic = true; line=token.beginLine; column=token.beginColumn; |
| break; |
| default: |
| jj_la1[58] = jj_gen; |
| ; |
| } |
| block = Block(); |
| if(line==-1){line=block.getBeginLine(); column=block.getBeginColumn();} |
| {if (true) return new InitializerDeclaration(line, column, token.endLine, token.endColumn, isStatic, block);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Type, name and expression syntax follows. |
| */ |
| final public Type Type() { |
| Type ret; |
| if (jj_2_11(2)) { |
| ret = ReferenceType(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case SHORT: |
| ret = PrimitiveType(); |
| break; |
| default: |
| jj_la1[59] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ReferenceType ReferenceType() { |
| Type type; |
| int arrayCount = 0; |
| List annotations = null; |
| List accum= null; |
| AnnotationExpr ann; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case SHORT: |
| type = PrimitiveType(); |
| label_27: |
| while (true) { |
| label_28: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[60] = jj_gen; |
| break label_28; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| arrayCount++; accum = add(accum, annotations); annotations= null; |
| if (jj_2_12(2)) { |
| ; |
| } else { |
| break label_27; |
| } |
| } |
| break; |
| case IDENTIFIER: |
| type = ClassOrInterfaceType(); |
| label_29: |
| while (true) { |
| if (jj_2_13(2)) { |
| ; |
| } else { |
| break label_29; |
| } |
| label_30: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[61] = jj_gen; |
| break label_30; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| arrayCount++; accum = add(accum, annotations); annotations= null; |
| } |
| break; |
| default: |
| jj_la1[62] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return new ReferenceType(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type, arrayCount, null, accum);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ClassOrInterfaceType ClassOrInterfaceType() { |
| ClassOrInterfaceType ret; |
| String name; |
| List typeArgs = null; |
| int line; |
| int column; |
| List annotations = null; |
| AnnotationExpr ann; |
| jj_consume_token(IDENTIFIER); |
| line=token.beginLine; column=token.beginColumn; |
| name = token.image; |
| if (jj_2_14(2)) { |
| typeArgs = TypeArguments(); |
| typeArgs.remove(0); |
| } else { |
| ; |
| } |
| ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,null, name, typeArgs); |
| label_31: |
| while (true) { |
| if (jj_2_15(2)) { |
| ; |
| } else { |
| break label_31; |
| } |
| jj_consume_token(DOT); |
| label_32: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[63] = jj_gen; |
| break label_32; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| jj_consume_token(IDENTIFIER); |
| name = token.image; |
| if (jj_2_16(2)) { |
| typeArgs = TypeArguments(); |
| typeArgs.remove(0); |
| } else { |
| ; |
| } |
| ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,ret, name, typeArgs); ret.setAnnotations(annotations); annotations = null; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List TypeArguments() { |
| List ret = new LinkedList(); |
| Type type; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| jj_consume_token(LT); |
| ret.add(new int[]{token.beginLine, token.beginColumn}); |
| type = TypeArgument(); |
| ret.add(type); |
| label_33: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[64] = jj_gen; |
| break label_33; |
| } |
| jj_consume_token(COMMA); |
| type = TypeArgument(); |
| ret.add(type); |
| } |
| jj_consume_token(GT); |
| {if (true) return ret;} |
| break; |
| case 132: |
| jj_consume_token(132); |
| ret.add(null); |
| {if (true) return ret;} |
| break; |
| default: |
| jj_la1[65] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Type TypeArgument() { |
| Type ret; |
| List annotations = null; |
| AnnotationExpr ann; |
| label_34: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[66] = jj_gen; |
| break label_34; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| 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 IDENTIFIER: |
| ret = ReferenceType(); |
| break; |
| case HOOK: |
| ret = Wildcard(); |
| break; |
| default: |
| jj_la1[67] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret.setAnnotations(annotations); {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public WildcardType Wildcard() { |
| ReferenceType ext = null; |
| ReferenceType sup = null; |
| int line; |
| int column; |
| AnnotationExpr ann; |
| List annotations = null; |
| jj_consume_token(HOOK); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EXTENDS: |
| case SUPER: |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EXTENDS: |
| jj_consume_token(EXTENDS); |
| label_35: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[68] = jj_gen; |
| break label_35; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| ext = ReferenceType(); |
| ext.setAnnotations(annotations); |
| break; |
| case SUPER: |
| jj_consume_token(SUPER); |
| label_36: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[69] = jj_gen; |
| break label_36; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| sup = ReferenceType(); |
| sup.setAnnotations(annotations); |
| break; |
| default: |
| jj_la1[70] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| break; |
| default: |
| jj_la1[71] = jj_gen; |
| ; |
| } |
| {if (true) return new WildcardType(line, column, token.endLine, token.endColumn,ext, sup);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public PrimitiveType PrimitiveType() { |
| PrimitiveType ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| jj_consume_token(BOOLEAN); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Boolean); |
| break; |
| case CHAR: |
| jj_consume_token(CHAR); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Char); |
| break; |
| case BYTE: |
| jj_consume_token(BYTE); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Byte); |
| break; |
| case SHORT: |
| jj_consume_token(SHORT); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Short); |
| break; |
| case INT: |
| jj_consume_token(INT); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Int); |
| break; |
| case LONG: |
| jj_consume_token(LONG); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Long); |
| break; |
| case FLOAT: |
| jj_consume_token(FLOAT); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Float); |
| break; |
| case DOUBLE: |
| jj_consume_token(DOUBLE); |
| ret = new PrimitiveType(token.beginLine, token.beginColumn, token.endLine, token.endColumn, PrimitiveType.Primitive.Double); |
| break; |
| default: |
| jj_la1[72] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Type ResultType() { |
| Type ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case VOID: |
| jj_consume_token(VOID); |
| ret = new VoidType(token.beginLine, token.beginColumn, token.endLine, token.endColumn); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case SHORT: |
| case IDENTIFIER: |
| ret = Type(); |
| break; |
| default: |
| jj_la1[73] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public NameExpr Name() { |
| NameExpr ret; |
| jj_consume_token(IDENTIFIER); |
| ret = new NameExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); |
| label_37: |
| while (true) { |
| if (jj_2_17(2)) { |
| ; |
| } else { |
| break label_37; |
| } |
| jj_consume_token(DOT); |
| jj_consume_token(IDENTIFIER); |
| ret = new QualifiedNameExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, token.image); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ClassOrInterfaceTypeList() { |
| List ret = new LinkedList(); |
| ClassOrInterfaceType type; |
| List annotations= null; |
| AnnotationExpr ann; |
| label_38: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[74] = jj_gen; |
| break label_38; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| type = ClassOrInterfaceType(); |
| type.setAnnotations(annotations); ret.add(type); annotations=null; |
| label_39: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[75] = jj_gen; |
| break label_39; |
| } |
| jj_consume_token(COMMA); |
| label_40: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[76] = jj_gen; |
| break label_40; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| type = ClassOrInterfaceType(); |
| type.setAnnotations(annotations); ret.add(type); annotations=null; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public NameExpr SimpleName() { |
| NameExpr ret; |
| jj_consume_token(IDENTIFIER); |
| ret = new NameExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List NameList() { |
| List ret = new LinkedList(); |
| NameExpr name; |
| name = Name(); |
| ret.add(name); |
| label_41: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[77] = jj_gen; |
| break label_41; |
| } |
| jj_consume_token(COMMA); |
| name = Name(); |
| ret.add(name); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Expression syntax follows. |
| */ |
| final public Expression Expression() { |
| Expression ret; |
| AssignExpr.Operator op; |
| Expression value; |
| Statement lambdaBody = null; |
| List params = null; |
| List typeArgs = null; |
| VariableDeclaratorId id = null; |
| Expression inner = null; |
| ret = ConditionalExpression(); |
| 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: |
| case ARROW: |
| case DOUBLECOLON: |
| if (jj_2_18(2)) { |
| op = AssignmentOperator(); |
| value = Expression(); |
| ret = new AssignExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, value, op); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ARROW: |
| jj_consume_token(ARROW); |
| lambdaBody = LambdaBody(); |
| if (ret instanceof CastExpr) |
| { |
| inner = generateLambda(((CastExpr)ret).getExpr(), lambdaBody); |
| ((CastExpr)ret).setExpr(inner); |
| } |
| else if (ret instanceof ConditionalExpr){ |
| ConditionalExpr ce = (ConditionalExpr) ret; |
| if(ce.getElseExpr() != null){ |
| ce.setElseExpr(generateLambda(ce.getElseExpr(), lambdaBody)); |
| } |
| } |
| else |
| { |
| ret = generateLambda(ret, lambdaBody); |
| } |
| break; |
| case DOUBLECOLON: |
| jj_consume_token(DOUBLECOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeArgs = TypeParameters(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[78] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| break; |
| case NEW: |
| jj_consume_token(NEW); |
| break; |
| default: |
| jj_la1[79] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = new MethodReferenceExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, token.image); |
| break; |
| default: |
| jj_la1[80] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| break; |
| default: |
| jj_la1[81] = jj_gen; |
| ; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public AssignExpr.Operator AssignmentOperator() { |
| AssignExpr.Operator ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ASSIGN: |
| jj_consume_token(ASSIGN); |
| ret = AssignExpr.Operator.assign; |
| break; |
| case STARASSIGN: |
| jj_consume_token(STARASSIGN); |
| ret = AssignExpr.Operator.star; |
| break; |
| case SLASHASSIGN: |
| jj_consume_token(SLASHASSIGN); |
| ret = AssignExpr.Operator.slash; |
| break; |
| case REMASSIGN: |
| jj_consume_token(REMASSIGN); |
| ret = AssignExpr.Operator.rem; |
| break; |
| case PLUSASSIGN: |
| jj_consume_token(PLUSASSIGN); |
| ret = AssignExpr.Operator.plus; |
| break; |
| case MINUSASSIGN: |
| jj_consume_token(MINUSASSIGN); |
| ret = AssignExpr.Operator.minus; |
| break; |
| case LSHIFTASSIGN: |
| jj_consume_token(LSHIFTASSIGN); |
| ret = AssignExpr.Operator.lShift; |
| break; |
| case RSIGNEDSHIFTASSIGN: |
| jj_consume_token(RSIGNEDSHIFTASSIGN); |
| ret = AssignExpr.Operator.rSignedShift; |
| break; |
| case RUNSIGNEDSHIFTASSIGN: |
| jj_consume_token(RUNSIGNEDSHIFTASSIGN); |
| ret = AssignExpr.Operator.rUnsignedShift; |
| break; |
| case ANDASSIGN: |
| jj_consume_token(ANDASSIGN); |
| ret = AssignExpr.Operator.and; |
| break; |
| case XORASSIGN: |
| jj_consume_token(XORASSIGN); |
| ret = AssignExpr.Operator.xor; |
| break; |
| case ORASSIGN: |
| jj_consume_token(ORASSIGN); |
| ret = AssignExpr.Operator.or; |
| break; |
| default: |
| jj_la1[82] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression ConditionalExpression() { |
| Expression ret; |
| Expression left; |
| Expression right; |
| ret = ConditionalOrExpression(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case HOOK: |
| jj_consume_token(HOOK); |
| left = Expression(); |
| jj_consume_token(COLON); |
| right = ConditionalExpression(); |
| ret = new ConditionalExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, left, right); |
| break; |
| default: |
| jj_la1[83] = jj_gen; |
| ; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression ConditionalOrExpression() { |
| Expression ret; |
| Expression right; |
| ret = ConditionalAndExpression(); |
| label_42: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case SC_OR: |
| ; |
| break; |
| default: |
| jj_la1[84] = jj_gen; |
| break label_42; |
| } |
| jj_consume_token(SC_OR); |
| right = ConditionalAndExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.or); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression ConditionalAndExpression() { |
| Expression ret; |
| Expression right; |
| ret = InclusiveOrExpression(); |
| label_43: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case SC_AND: |
| ; |
| break; |
| default: |
| jj_la1[85] = jj_gen; |
| break label_43; |
| } |
| jj_consume_token(SC_AND); |
| right = InclusiveOrExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.and); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression InclusiveOrExpression() { |
| Expression ret; |
| Expression right; |
| ret = ExclusiveOrExpression(); |
| label_44: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BIT_OR: |
| ; |
| break; |
| default: |
| jj_la1[86] = jj_gen; |
| break label_44; |
| } |
| jj_consume_token(BIT_OR); |
| right = ExclusiveOrExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.binOr); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression ExclusiveOrExpression() { |
| Expression ret; |
| Expression right; |
| ret = AndExpression(); |
| label_45: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case XOR: |
| ; |
| break; |
| default: |
| jj_la1[87] = jj_gen; |
| break label_45; |
| } |
| jj_consume_token(XOR); |
| right = AndExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.xor); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression AndExpression() { |
| Expression ret; |
| Expression right; |
| ret = EqualityExpression(); |
| label_46: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BIT_AND: |
| ; |
| break; |
| default: |
| jj_la1[88] = jj_gen; |
| break label_46; |
| } |
| jj_consume_token(BIT_AND); |
| right = EqualityExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, BinaryExpr.Operator.binAnd); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression EqualityExpression() { |
| Expression ret; |
| Expression right; |
| BinaryExpr.Operator op; |
| ret = InstanceOfExpression(); |
| label_47: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EQ: |
| case NE: |
| ; |
| break; |
| default: |
| jj_la1[89] = jj_gen; |
| break label_47; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case EQ: |
| jj_consume_token(EQ); |
| op = BinaryExpr.Operator.equals; |
| break; |
| case NE: |
| jj_consume_token(NE); |
| op = BinaryExpr.Operator.notEquals; |
| break; |
| default: |
| jj_la1[90] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| right = InstanceOfExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression InstanceOfExpression() { |
| Expression ret; |
| Type type; |
| ret = RelationalExpression(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case INSTANCEOF: |
| jj_consume_token(INSTANCEOF); |
| type = Type(); |
| ret = new InstanceOfExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, type); |
| break; |
| default: |
| jj_la1[91] = jj_gen; |
| ; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression RelationalExpression() { |
| Expression ret; |
| Expression right; |
| BinaryExpr.Operator op; |
| ret = ShiftExpression(); |
| label_48: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case LE: |
| case GE: |
| case GT: |
| ; |
| break; |
| default: |
| jj_la1[92] = jj_gen; |
| break label_48; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| jj_consume_token(LT); |
| op = BinaryExpr.Operator.less; |
| break; |
| case GT: |
| jj_consume_token(GT); |
| op = BinaryExpr.Operator.greater; |
| break; |
| case LE: |
| jj_consume_token(LE); |
| op = BinaryExpr.Operator.lessEquals; |
| break; |
| case GE: |
| jj_consume_token(GE); |
| op = BinaryExpr.Operator.greaterEquals; |
| break; |
| default: |
| jj_la1[93] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| right = ShiftExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression ShiftExpression() { |
| Expression ret; |
| Expression right; |
| BinaryExpr.Operator op; |
| ret = AdditiveExpression(); |
| label_49: |
| while (true) { |
| if (jj_2_19(1)) { |
| ; |
| } else { |
| break label_49; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LSHIFT: |
| jj_consume_token(LSHIFT); |
| op = BinaryExpr.Operator.lShift; |
| break; |
| default: |
| jj_la1[94] = jj_gen; |
| if (jj_2_20(1)) { |
| RSIGNEDSHIFT(); |
| op = BinaryExpr.Operator.rSignedShift; |
| } else if (jj_2_21(1)) { |
| RUNSIGNEDSHIFT(); |
| op = BinaryExpr.Operator.rUnsignedShift; |
| } else { |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| right = AdditiveExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression AdditiveExpression() { |
| Expression ret; |
| Expression right; |
| BinaryExpr.Operator op; |
| ret = MultiplicativeExpression(); |
| label_50: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case PLUS: |
| case MINUS: |
| ; |
| break; |
| default: |
| jj_la1[95] = jj_gen; |
| break label_50; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case PLUS: |
| jj_consume_token(PLUS); |
| op = BinaryExpr.Operator.plus; |
| break; |
| case MINUS: |
| jj_consume_token(MINUS); |
| op = BinaryExpr.Operator.minus; |
| break; |
| default: |
| jj_la1[96] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| right = MultiplicativeExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression MultiplicativeExpression() { |
| Expression ret; |
| Expression right; |
| BinaryExpr.Operator op; |
| ret = UnaryExpression(); |
| label_51: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case STAR: |
| case SLASH: |
| case REM: |
| ; |
| break; |
| default: |
| jj_la1[97] = jj_gen; |
| break label_51; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case STAR: |
| jj_consume_token(STAR); |
| op = BinaryExpr.Operator.times; |
| break; |
| case SLASH: |
| jj_consume_token(SLASH); |
| op = BinaryExpr.Operator.divide; |
| break; |
| case REM: |
| jj_consume_token(REM); |
| op = BinaryExpr.Operator.remainder; |
| break; |
| default: |
| jj_la1[98] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| right = UnaryExpression(); |
| ret = new BinaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, right, op); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression UnaryExpression() { |
| Expression ret; |
| UnaryExpr.Operator op; |
| int line = 0; |
| int column = 0; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case INCR: |
| ret = PreIncrementExpression(); |
| break; |
| case DECR: |
| ret = PreDecrementExpression(); |
| break; |
| case PLUS: |
| case MINUS: |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case PLUS: |
| jj_consume_token(PLUS); |
| op = UnaryExpr.Operator.positive; line=token.beginLine; column=token.beginColumn; |
| break; |
| case MINUS: |
| jj_consume_token(MINUS); |
| op = UnaryExpr.Operator.negative; line=token.beginLine; column=token.beginColumn; |
| break; |
| default: |
| jj_la1[99] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = UnaryExpression(); |
| if(op == UnaryExpr.Operator.negative) { |
| if (ret instanceof IntegerLiteralExpr && ((IntegerLiteralExpr)ret).isMinValue()) { |
| ret = new IntegerLiteralMinValueExpr(line, column, token.endLine, token.endColumn); |
| } else if (ret instanceof LongLiteralExpr && ((LongLiteralExpr)ret).isMinValue()) { |
| ret = new LongLiteralMinValueExpr(line, column, token.endLine, token.endColumn); |
| } else { |
| ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op); |
| } |
| } else { |
| ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op); |
| } |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| ret = UnaryExpressionNotPlusMinus(); |
| break; |
| default: |
| jj_la1[100] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PreIncrementExpression() { |
| Expression ret; |
| int line; |
| int column; |
| jj_consume_token(INCR); |
| line=token.beginLine; column=token.beginColumn; |
| ret = UnaryExpression(); |
| ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, UnaryExpr.Operator.preIncrement); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PreDecrementExpression() { |
| Expression ret; |
| int line; |
| int column; |
| jj_consume_token(DECR); |
| line=token.beginLine; column=token.beginColumn; |
| ret = UnaryExpression(); |
| ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, UnaryExpr.Operator.preDecrement); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression UnaryExpressionNotPlusMinus() { |
| Expression ret; |
| UnaryExpr.Operator op; |
| int line = 0; |
| int column = 0; |
| 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); |
| op = UnaryExpr.Operator.inverse; line=token.beginLine; column=token.beginColumn; |
| break; |
| case BANG: |
| jj_consume_token(BANG); |
| op = UnaryExpr.Operator.not; line=token.beginLine; column=token.beginColumn; |
| break; |
| default: |
| jj_la1[101] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = UnaryExpression(); |
| ret = new UnaryExpr(line, column, token.endLine, token.endColumn,ret, op); |
| break; |
| default: |
| jj_la1[102] = jj_gen; |
| if (jj_2_22(2147483647)) { |
| ret = CastExpression(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| ret = PostfixExpression(); |
| break; |
| default: |
| jj_la1[103] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PostfixExpression() { |
| Expression ret; |
| UnaryExpr.Operator op; |
| ret = PrimaryExpression(); |
| if (jj_2_23(2)) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case INCR: |
| jj_consume_token(INCR); |
| op = UnaryExpr.Operator.posIncrement; |
| break; |
| case DECR: |
| jj_consume_token(DECR); |
| op = UnaryExpr.Operator.posDecrement; |
| break; |
| default: |
| jj_la1[104] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = new UnaryExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, op); |
| } else { |
| ; |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression CastExpression() { |
| Expression ret; |
| Type type; |
| int line; |
| int column; |
| AnnotationExpr ann; |
| List annotations = null; |
| jj_consume_token(LPAREN); |
| line=token.beginLine; column=token.beginColumn; |
| label_52: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[105] = jj_gen; |
| break label_52; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| if (jj_2_24(2)) { |
| type = PrimitiveType(); |
| jj_consume_token(RPAREN); |
| ret = UnaryExpression(); |
| type.setAnnotations(annotations); ret = new CastExpr(line, column, token.endLine, token.endColumn,type, ret); |
| } else { |
| 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 IDENTIFIER: |
| type = ReferenceType(); |
| jj_consume_token(RPAREN); |
| ret = UnaryExpressionNotPlusMinus(); |
| type.setAnnotations(annotations); ret = new CastExpr(line, column, token.endLine, token.endColumn,type, ret); |
| break; |
| default: |
| jj_la1[106] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PrimaryExpression() { |
| Expression ret; |
| Expression inner; |
| ret = PrimaryPrefix(); |
| label_53: |
| while (true) { |
| if (jj_2_25(2)) { |
| ; |
| } else { |
| break label_53; |
| } |
| ret = PrimarySuffix(ret); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PrimaryExpressionWithoutSuperSuffix() { |
| Expression ret; |
| Expression inner; |
| ret = PrimaryPrefix(); |
| label_54: |
| while (true) { |
| if (jj_2_26(2147483647)) { |
| ; |
| } else { |
| break label_54; |
| } |
| ret = PrimarySuffixWithoutSuper(ret); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PrimaryPrefix() { |
| Expression ret = null; |
| NameExpr name; |
| List typeArgs = null; |
| List args = null; |
| boolean hasArgs = false; |
| boolean isLambda = false; |
| Type type; |
| int line; |
| int column; |
| Parameter p = null; |
| VariableDeclaratorId id = null; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case FALSE: |
| case NULL: |
| case TRUE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| ret = Literal(); |
| break; |
| case THIS: |
| jj_consume_token(THIS); |
| ret = new ThisExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, null); |
| break; |
| case SUPER: |
| jj_consume_token(SUPER); |
| ret = new SuperExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, null); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case DOT: |
| jj_consume_token(DOT); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case 132: |
| typeArgs = TypeArguments(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[107] = jj_gen; |
| ; |
| } |
| name = SimpleName(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LPAREN: |
| args = Arguments(); |
| hasArgs=true; |
| break; |
| default: |
| jj_la1[108] = jj_gen; |
| ; |
| } |
| if (hasArgs) { |
| MethodCallExpr m = new MethodCallExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, null, args); |
| m.setNameExpr(name); |
| ret = m; |
| } else { |
| FieldAccessExpr f = new FieldAccessExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, null, null); |
| f.setFieldExpr(name); |
| ret = f; |
| } |
| break; |
| case DOUBLECOLON: |
| jj_consume_token(DOUBLECOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeArgs = TypeParameters(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[109] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| break; |
| case NEW: |
| jj_consume_token(NEW); |
| break; |
| default: |
| jj_la1[110] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = new MethodReferenceExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, token.image); |
| break; |
| case LPAREN: |
| args = Arguments(); |
| new MethodCallExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, null, args); |
| break; |
| default: |
| jj_la1[111] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| break; |
| case LPAREN: |
| jj_consume_token(LPAREN); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NATIVE: |
| case NEW: |
| case NULL: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SUPER: |
| case SYNCHRONIZED: |
| case THIS: |
| case TRANSIENT: |
| case TRUE: |
| case VOID: |
| case VOLATILE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case AT: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| if (jj_2_27(2147483647)) { |
| p = FormalParameter(); |
| isLambda = true; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| args = FormalLambdaParameters(); |
| break; |
| default: |
| jj_la1[112] = jj_gen; |
| ; |
| } |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| ret = Expression(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| args = InferredLambdaParameters(); |
| isLambda = true; |
| break; |
| default: |
| jj_la1[113] = jj_gen; |
| ; |
| } |
| break; |
| default: |
| jj_la1[114] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| break; |
| default: |
| jj_la1[115] = jj_gen; |
| ; |
| } |
| jj_consume_token(RPAREN); |
| if(!isLambda) { ret = new EnclosedExpr(line, column, token.endLine, token.endColumn,ret);} |
| else{ |
| if(ret != null){ |
| if(ret instanceof NameExpr) |
| { |
| id = new VariableDeclaratorId(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), ((NameExpr)ret).getName(), 0); |
| p = new Parameter(ret.getBeginLine(), ret.getBeginColumn(), ret.getEndLine(), ret.getEndColumn(), 0, null, new UnknownType(), false, id); |
| } |
| |
| } |
| args = add(0, args, p); |
| ret = new LambdaExpr(p.getBeginLine(), p.getBeginColumn(), token.endLine, token.endColumn, args, null, true); |
| } |
| break; |
| case NEW: |
| ret = AllocationExpression(null); |
| break; |
| default: |
| jj_la1[119] = jj_gen; |
| if (jj_2_28(2147483647)) { |
| type = ResultType(); |
| jj_consume_token(DOT); |
| jj_consume_token(CLASS); |
| ret = new ClassExpr(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type); |
| } else if (jj_2_29(2147483647)) { |
| type = ResultType(); |
| jj_consume_token(DOUBLECOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeArgs = TypeParameters(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[116] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| break; |
| case NEW: |
| jj_consume_token(NEW); |
| break; |
| default: |
| jj_la1[117] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| ret = new TypeExpr(type.getBeginLine(), type.getBeginColumn(), type.getEndLine(), type.getEndColumn(), type); |
| ret = new MethodReferenceExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, token.image); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| name = SimpleName(); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LPAREN: |
| args = Arguments(); |
| hasArgs=true; |
| break; |
| default: |
| jj_la1[118] = jj_gen; |
| ; |
| } |
| if (hasArgs) { |
| MethodCallExpr m = new MethodCallExpr(line, column, token.endLine, token.endColumn, null, null, null, args); |
| m.setNameExpr(name); |
| ret = m; |
| } else { |
| ret = name; |
| } |
| break; |
| default: |
| jj_la1[120] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PrimarySuffix(Expression scope) { |
| Expression ret; |
| if (jj_2_30(2)) { |
| ret = PrimarySuffixWithoutSuper(scope); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case DOT: |
| jj_consume_token(DOT); |
| jj_consume_token(SUPER); |
| ret = new SuperExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope); |
| break; |
| default: |
| jj_la1[121] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression PrimarySuffixWithoutSuper(Expression scope) { |
| Expression ret; |
| List typeArgs = null; |
| List args = null; |
| boolean hasArgs = false; |
| NameExpr name; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case DOT: |
| jj_consume_token(DOT); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case THIS: |
| jj_consume_token(THIS); |
| ret = new ThisExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope); |
| break; |
| case NEW: |
| ret = AllocationExpression(scope); |
| break; |
| default: |
| jj_la1[124] = jj_gen; |
| if (jj_2_31(2147483647)) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case 132: |
| typeArgs = TypeArguments(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[122] = jj_gen; |
| ; |
| } |
| name = SimpleName(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LPAREN: |
| args = Arguments(); |
| hasArgs=true; |
| break; |
| default: |
| jj_la1[123] = jj_gen; |
| ; |
| } |
| if (hasArgs) { |
| MethodCallExpr m = new MethodCallExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, null, args); |
| m.setNameExpr(name); |
| ret = m; |
| } else { |
| FieldAccessExpr f = new FieldAccessExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, null); |
| f.setFieldExpr(name); |
| ret = f; |
| } |
| } else { |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| break; |
| case LBRACKET: |
| jj_consume_token(LBRACKET); |
| ret = Expression(); |
| jj_consume_token(RBRACKET); |
| ret = new ArrayAccessExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, ret); |
| break; |
| default: |
| jj_la1[125] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression Literal() { |
| Expression ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case INTEGER_LITERAL: |
| jj_consume_token(INTEGER_LITERAL); |
| ret = new IntegerLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); |
| break; |
| case LONG_LITERAL: |
| jj_consume_token(LONG_LITERAL); |
| ret = new LongLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); |
| break; |
| case FLOATING_POINT_LITERAL: |
| jj_consume_token(FLOATING_POINT_LITERAL); |
| ret = new DoubleLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image); |
| break; |
| case CHARACTER_LITERAL: |
| jj_consume_token(CHARACTER_LITERAL); |
| ret = new CharLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image.substring(1, token.image.length()-1)); |
| break; |
| case STRING_LITERAL: |
| jj_consume_token(STRING_LITERAL); |
| ret = new StringLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image.substring(1, token.image.length()-1)); |
| break; |
| case FALSE: |
| case TRUE: |
| ret = BooleanLiteral(); |
| break; |
| case NULL: |
| ret = NullLiteral(); |
| break; |
| default: |
| jj_la1[126] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression BooleanLiteral() { |
| Expression ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case TRUE: |
| jj_consume_token(TRUE); |
| ret = new BooleanLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, true); |
| break; |
| case FALSE: |
| jj_consume_token(FALSE); |
| ret = new BooleanLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, false); |
| break; |
| default: |
| jj_la1[127] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression NullLiteral() { |
| jj_consume_token(NULL); |
| {if (true) return new NullLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List Arguments() { |
| List ret = null; |
| jj_consume_token(LPAREN); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| ret = ArgumentList(); |
| break; |
| default: |
| jj_la1[128] = jj_gen; |
| ; |
| } |
| jj_consume_token(RPAREN); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ArgumentList() { |
| List ret = new LinkedList(); |
| Expression expr; |
| expr = Expression(); |
| ret.add(expr); |
| label_55: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[129] = jj_gen; |
| break label_55; |
| } |
| jj_consume_token(COMMA); |
| expr = Expression(); |
| ret.add(expr); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression AllocationExpression(Expression scope) { |
| Expression ret; |
| ArrayCreationExpr arrayExpr; |
| Type type; |
| Object[] arr = null; |
| List typeArgs = null; |
| List anonymousBody = null; |
| List args; |
| int line; |
| int column; |
| List annotations = null; |
| AnnotationExpr ann; |
| jj_consume_token(NEW); |
| if(scope==null) {line=token.beginLine; column=token.beginColumn;} else {line=scope.getBeginLine(); column=scope.getBeginColumn();} |
| label_56: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[130] = jj_gen; |
| break label_56; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case SHORT: |
| type = PrimitiveType(); |
| type.setAnnotations(annotations); |
| arr = ArrayDimsAndInits(); |
| arrayExpr = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, null, 0); |
| arrayExpr.setArraysAnnotations((List)arr[2]); |
| if (arr[0] instanceof Integer) { |
| arrayExpr.setArrayCount(((Integer)arr[0]).intValue()); |
| arrayExpr.setInitializer((ArrayInitializerExpr)arr[1]); |
| } else { |
| arrayExpr.setArrayCount(((Integer)arr[1]).intValue()); |
| arrayExpr.setDimensions((List)arr[0]); |
| } |
| ret = arrayExpr; |
| break; |
| case IDENTIFIER: |
| case LT: |
| case 132: |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| case 132: |
| typeArgs = TypeArguments(); |
| label_57: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[131] = jj_gen; |
| break label_57; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[132] = jj_gen; |
| ; |
| } |
| type = ClassOrInterfaceType(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACKET: |
| case AT: |
| arr = ArrayDimsAndInits(); |
| type.setAnnotations(annotations); arrayExpr = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, null, 0); |
| arrayExpr.setArraysAnnotations((List)arr[2]); |
| if (arr[0] instanceof Integer) { |
| arrayExpr.setArrayCount(((Integer)arr[0]).intValue()); |
| arrayExpr.setInitializer((ArrayInitializerExpr)arr[1]); |
| } else { |
| arrayExpr.setArrayCount(((Integer)arr[1]).intValue()); |
| arrayExpr.setDimensions((List)arr[0]); |
| } |
| ret = arrayExpr; |
| break; |
| case LPAREN: |
| args = Arguments(); |
| if (jj_2_32(2)) { |
| anonymousBody = ClassOrInterfaceBody(false); |
| } else { |
| ; |
| } |
| type.setAnnotations(annotations); ret = new ObjectCreationExpr(line, column, token.endLine, token.endColumn, scope, (ClassOrInterfaceType) type, typeArgs, args, anonymousBody); |
| break; |
| default: |
| jj_la1[133] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| break; |
| default: |
| jj_la1[134] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * The third LOOKAHEAD specification below is to parse to PrimarySuffix |
| * if there is an expression between the "[...]". |
| */ |
| final public Object[] ArrayDimsAndInits() { |
| Object[] ret = new Object[3]; |
| Expression expr; |
| List inits = null; |
| int i = 0; |
| List accum = null; |
| List annotations = null; |
| AnnotationExpr ann; |
| label_58: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[135] = jj_gen; |
| break label_58; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| if (jj_2_35(2)) { |
| label_59: |
| while (true) { |
| jj_consume_token(LBRACKET); |
| expr = Expression(); |
| accum = add(accum, annotations); annotations=null; inits = add(inits, expr); |
| jj_consume_token(RBRACKET); |
| if (jj_2_33(2)) { |
| ; |
| } else { |
| break label_59; |
| } |
| } |
| label_60: |
| while (true) { |
| if (jj_2_34(2)) { |
| ; |
| } else { |
| break label_60; |
| } |
| label_61: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[136] = jj_gen; |
| break label_61; |
| } |
| ann = Annotation(); |
| annotations = add(annotations, ann); |
| } |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| i++; |
| } |
| accum = add(accum, annotations); annotations=null; ret[0] = inits; ret[1] = new Integer(i); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACKET: |
| label_62: |
| while (true) { |
| jj_consume_token(LBRACKET); |
| jj_consume_token(RBRACKET); |
| i++; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LBRACKET: |
| ; |
| break; |
| default: |
| jj_la1[137] = jj_gen; |
| break label_62; |
| } |
| } |
| expr = ArrayInitializer(); |
| accum = add(accum, annotations);annotations=null; ret[0] = new Integer(i); ret[1] = expr; |
| break; |
| default: |
| jj_la1[138] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| ret[2]=accum; {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Statement syntax follows. |
| */ |
| final public Statement Statement() { |
| Statement ret; |
| if (jj_2_36(2)) { |
| ret = LabeledStatement(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ASSERT: |
| ret = AssertStatement(); |
| break; |
| case LBRACE: |
| ret = Block(); |
| break; |
| case SEMICOLON: |
| ret = EmptyStatement(); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case INCR: |
| case DECR: |
| ret = StatementExpression(); |
| break; |
| case SWITCH: |
| ret = SwitchStatement(); |
| break; |
| case IF: |
| ret = IfStatement(); |
| break; |
| case WHILE: |
| ret = WhileStatement(); |
| break; |
| case DO: |
| ret = DoStatement(); |
| break; |
| case FOR: |
| ret = ForStatement(); |
| break; |
| case BREAK: |
| ret = BreakStatement(); |
| break; |
| case CONTINUE: |
| ret = ContinueStatement(); |
| break; |
| case RETURN: |
| ret = ReturnStatement(); |
| break; |
| case THROW: |
| ret = ThrowStatement(); |
| break; |
| case SYNCHRONIZED: |
| ret = SynchronizedStatement(); |
| break; |
| case TRY: |
| ret = TryStatement(); |
| break; |
| default: |
| jj_la1[139] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public AssertStmt AssertStatement() { |
| Expression check; |
| Expression msg = null; |
| int line; |
| int column; |
| jj_consume_token(ASSERT); |
| line=token.beginLine; column=token.beginColumn; |
| check = Expression(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COLON: |
| jj_consume_token(COLON); |
| msg = Expression(); |
| break; |
| default: |
| jj_la1[140] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new AssertStmt(line, column, token.endLine, token.endColumn,check, msg);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public LabeledStmt LabeledStatement() { |
| String label; |
| Statement stmt; |
| int line; |
| int column; |
| jj_consume_token(IDENTIFIER); |
| line=token.beginLine; column=token.beginColumn; |
| label = token.image; |
| jj_consume_token(COLON); |
| stmt = Statement(); |
| {if (true) return new LabeledStmt(line, column, token.endLine, token.endColumn,label, stmt);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public BlockStmt Block() { |
| List stmts; |
| int beginLine; |
| int beginColumn; |
| jj_consume_token(LBRACE); |
| beginLine=token.beginLine; beginColumn=token.beginColumn; |
| stmts = Statements(); |
| jj_consume_token(RBRACE); |
| {if (true) return new BlockStmt(beginLine, beginColumn, token.endLine, token.endColumn, stmts);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* |
| * Classes inside block stametents can only be abstract or final. The semantic must check it. |
| */ |
| final public Statement BlockStatement() { |
| Statement ret; |
| Expression expr; |
| ClassOrInterfaceDeclaration typeDecl; |
| Modifier modifier; |
| if (jj_2_37(2147483647)) { |
| |
| modifier = Modifiers(); |
| typeDecl = ClassOrInterfaceDeclaration(modifier); |
| ret = new TypeDeclarationStmt(typeDecl.getBeginLine(), typeDecl.getBeginColumn(), token.endLine, token.endColumn, typeDecl); |
| } else if (jj_2_38(2147483647)) { |
| expr = VariableDeclarationExpression(); |
| jj_consume_token(SEMICOLON); |
| ret = new ExpressionStmt(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ASSERT: |
| case BOOLEAN: |
| case BREAK: |
| case BYTE: |
| case CHAR: |
| case CONTINUE: |
| case DO: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case FOR: |
| case IF: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case RETURN: |
| case SHORT: |
| case SUPER: |
| case SWITCH: |
| case SYNCHRONIZED: |
| case THIS: |
| case THROW: |
| case TRUE: |
| case TRY: |
| case VOID: |
| case WHILE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case LBRACE: |
| case SEMICOLON: |
| case INCR: |
| case DECR: |
| ret = Statement(); |
| break; |
| default: |
| jj_la1[141] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public VariableDeclarationExpr VariableDeclarationExpression() { |
| Modifier modifier; |
| Type type; |
| List vars = new LinkedList(); |
| VariableDeclarator var; |
| modifier = Modifiers(); |
| type = Type(); |
| var = VariableDeclarator(); |
| vars.add(var); |
| label_63: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[142] = jj_gen; |
| break label_63; |
| } |
| jj_consume_token(COMMA); |
| var = VariableDeclarator(); |
| vars.add(var); |
| } |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| if(line==-1) {line=type.getBeginLine(); column=type.getBeginColumn(); } |
| {if (true) return new VariableDeclarationExpr(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, vars);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public EmptyStmt EmptyStatement() { |
| jj_consume_token(SEMICOLON); |
| {if (true) return new EmptyStmt(token.beginLine, token.beginColumn, token.endLine, token.endColumn);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Statement LambdaBody() { |
| Expression expr; |
| Statement n = null; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| expr = Expression(); |
| n = new ExpressionStmt(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr); |
| break; |
| case LBRACE: |
| n = Block(); |
| break; |
| default: |
| jj_la1[143] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return n;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ExpressionStmt StatementExpression() { |
| Expression expr; |
| AssignExpr.Operator op; |
| Expression value; |
| Type type; |
| List typeArgs = null; |
| Statement lambdaBody = null; |
| VariableDeclaratorId id = null; |
| List params = null; |
| Expression inner = null; |
| if (jj_2_39(2)) { |
| expr = PreIncrementExpression(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case DECR: |
| expr = PreDecrementExpression(); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| expr = PrimaryExpression(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ASSIGN: |
| case INCR: |
| case DECR: |
| case PLUSASSIGN: |
| case MINUSASSIGN: |
| case STARASSIGN: |
| case SLASHASSIGN: |
| case ANDASSIGN: |
| case ORASSIGN: |
| case XORASSIGN: |
| case REMASSIGN: |
| case LSHIFTASSIGN: |
| case RSIGNEDSHIFTASSIGN: |
| case RUNSIGNEDSHIFTASSIGN: |
| case ARROW: |
| case DOUBLECOLON: |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case INCR: |
| jj_consume_token(INCR); |
| expr = new UnaryExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, UnaryExpr.Operator.posIncrement); |
| break; |
| case DECR: |
| jj_consume_token(DECR); |
| expr = new UnaryExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, UnaryExpr.Operator.posDecrement); |
| break; |
| case ASSIGN: |
| case PLUSASSIGN: |
| case MINUSASSIGN: |
| case STARASSIGN: |
| case SLASHASSIGN: |
| case ANDASSIGN: |
| case ORASSIGN: |
| case XORASSIGN: |
| case REMASSIGN: |
| case LSHIFTASSIGN: |
| case RSIGNEDSHIFTASSIGN: |
| case RUNSIGNEDSHIFTASSIGN: |
| op = AssignmentOperator(); |
| value = Expression(); |
| expr = new AssignExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, value, op); |
| break; |
| case DOUBLECOLON: |
| jj_consume_token(DOUBLECOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LT: |
| typeArgs = TypeParameters(); |
| typeArgs.remove(0); |
| break; |
| default: |
| jj_la1[144] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| break; |
| case NEW: |
| jj_consume_token(NEW); |
| break; |
| default: |
| jj_la1[145] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| expr = new MethodReferenceExpr(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr, typeArgs, token.image); |
| break; |
| case ARROW: |
| jj_consume_token(ARROW); |
| lambdaBody = LambdaBody(); |
| if (expr instanceof CastExpr) |
| { |
| inner = generateLambda(((CastExpr)expr).getExpr(), lambdaBody); |
| ((CastExpr)expr).setExpr(inner); |
| } |
| else |
| { |
| expr = generateLambda(expr, lambdaBody); |
| } |
| break; |
| default: |
| jj_la1[146] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| break; |
| default: |
| jj_la1[147] = jj_gen; |
| ; |
| } |
| break; |
| default: |
| jj_la1[148] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new ExpressionStmt(expr.getBeginLine(), expr.getBeginColumn(), token.endLine, token.endColumn, expr);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public SwitchStmt SwitchStatement() { |
| Expression selector; |
| SwitchEntryStmt entry; |
| List entries = null; |
| int line; |
| int column; |
| jj_consume_token(SWITCH); |
| line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(LPAREN); |
| selector = Expression(); |
| jj_consume_token(RPAREN); |
| jj_consume_token(LBRACE); |
| label_64: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CASE: |
| case _DEFAULT: |
| ; |
| break; |
| default: |
| jj_la1[149] = jj_gen; |
| break label_64; |
| } |
| entry = SwitchEntry(); |
| entries = add(entries, entry); |
| } |
| jj_consume_token(RBRACE); |
| {if (true) return new SwitchStmt(line, column, token.endLine, token.endColumn,selector, entries);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public SwitchEntryStmt SwitchEntry() { |
| Expression label = null; |
| List stmts; |
| int line; |
| int column; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CASE: |
| jj_consume_token(CASE); |
| line=token.beginLine; column=token.beginColumn; |
| label = Expression(); |
| break; |
| case _DEFAULT: |
| jj_consume_token(_DEFAULT); |
| line=token.beginLine; column=token.beginColumn; |
| break; |
| default: |
| jj_la1[150] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| jj_consume_token(COLON); |
| stmts = Statements(); |
| {if (true) return new SwitchEntryStmt(line, column, token.endLine, token.endColumn,label, stmts);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public IfStmt IfStatement() { |
| Expression condition; |
| Statement thenStmt; |
| Statement elseStmt = null; |
| int line; |
| int column; |
| Comment thenCmmt = null; |
| Comment elseCmmt = null; |
| jj_consume_token(IF); |
| line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(LPAREN); |
| condition = Expression(); |
| jj_consume_token(RPAREN); |
| |
| thenStmt = Statement(); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ELSE: |
| jj_consume_token(ELSE); |
| |
| elseStmt = Statement(); |
| break; |
| default: |
| jj_la1[151] = jj_gen; |
| ; |
| } |
| IfStmt tmp = new IfStmt(line, column, token.endLine, token.endColumn,condition, thenStmt, elseStmt); |
| |
| thenStmt.setComment(thenCmmt); |
| if (elseStmt != null) |
| elseStmt.setComment(elseCmmt); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public WhileStmt WhileStatement() { |
| Expression condition; |
| Statement body; |
| int line; |
| int column; |
| jj_consume_token(WHILE); |
| line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(LPAREN); |
| condition = Expression(); |
| jj_consume_token(RPAREN); |
| body = Statement(); |
| {if (true) return new WhileStmt(line, column, token.endLine, token.endColumn,condition, body);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public DoStmt DoStatement() { |
| Expression condition; |
| Statement body; |
| int line; |
| int column; |
| jj_consume_token(DO); |
| line=token.beginLine; column=token.beginColumn; |
| body = Statement(); |
| jj_consume_token(WHILE); |
| jj_consume_token(LPAREN); |
| condition = Expression(); |
| jj_consume_token(RPAREN); |
| jj_consume_token(SEMICOLON); |
| {if (true) return new DoStmt(line, column, token.endLine, token.endColumn,body, condition);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Statement ForStatement() { |
| String id = null; |
| VariableDeclarationExpr varExpr = null; |
| Expression expr = null; |
| List init = null; |
| List update = null; |
| Statement body; |
| int line; |
| int column; |
| jj_consume_token(FOR); |
| line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(LPAREN); |
| if (jj_2_40(2147483647)) { |
| varExpr = VariableDeclarationExpression(); |
| jj_consume_token(COLON); |
| expr = Expression(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NATIVE: |
| case NEW: |
| case NULL: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SUPER: |
| case SYNCHRONIZED: |
| case THIS: |
| case TRANSIENT: |
| case TRUE: |
| case VOID: |
| case VOLATILE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case SEMICOLON: |
| case AT: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NATIVE: |
| case NEW: |
| case NULL: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SUPER: |
| case SYNCHRONIZED: |
| case THIS: |
| case TRANSIENT: |
| case TRUE: |
| case VOID: |
| case VOLATILE: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case AT: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| init = ForInit(); |
| break; |
| default: |
| jj_la1[152] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| expr = Expression(); |
| break; |
| default: |
| jj_la1[153] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| update = ForUpdate(); |
| break; |
| default: |
| jj_la1[154] = jj_gen; |
| ; |
| } |
| break; |
| default: |
| jj_la1[155] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| jj_consume_token(RPAREN); |
| body = Statement(); |
| if (varExpr != null) { |
| {if (true) return new ForeachStmt(line, column, token.endLine, token.endColumn,varExpr, expr, body);} |
| } |
| {if (true) return new ForStmt(line, column, token.endLine, token.endColumn,init, expr, update, body);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ForInit() { |
| List ret; |
| Expression expr; |
| if (jj_2_41(2147483647)) { |
| expr = VariableDeclarationExpression(); |
| ret = new LinkedList(); ret.add(expr); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| ret = ExpressionList(); |
| break; |
| default: |
| jj_la1[156] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ExpressionList() { |
| List ret = new LinkedList(); |
| Expression expr; |
| expr = Expression(); |
| ret.add(expr); |
| label_65: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[157] = jj_gen; |
| break label_65; |
| } |
| jj_consume_token(COMMA); |
| expr = Expression(); |
| ret.add(expr); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ForUpdate() { |
| List ret; |
| ret = ExpressionList(); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public BreakStmt BreakStatement() { |
| String id = null; |
| int line; |
| int column; |
| jj_consume_token(BREAK); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| id = token.image; |
| break; |
| default: |
| jj_la1[158] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new BreakStmt(line, column, token.endLine, token.endColumn,id);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ContinueStmt ContinueStatement() { |
| String id = null; |
| int line; |
| int column; |
| jj_consume_token(CONTINUE); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| jj_consume_token(IDENTIFIER); |
| id = token.image; |
| break; |
| default: |
| jj_la1[159] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new ContinueStmt(line, column, token.endLine, token.endColumn,id);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ReturnStmt ReturnStatement() { |
| Expression expr = null; |
| int line; |
| int column; |
| jj_consume_token(RETURN); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| expr = Expression(); |
| break; |
| default: |
| jj_la1[160] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| {if (true) return new ReturnStmt(line, column, token.endLine, token.endColumn,expr);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public ThrowStmt ThrowStatement() { |
| Expression expr; |
| int line; |
| int column; |
| jj_consume_token(THROW); |
| line=token.beginLine; column=token.beginColumn; |
| expr = Expression(); |
| jj_consume_token(SEMICOLON); |
| {if (true) return new ThrowStmt(line, column, token.endLine, token.endColumn,expr);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public SynchronizedStmt SynchronizedStatement() { |
| Expression expr; |
| BlockStmt block; |
| int line; |
| int column; |
| jj_consume_token(SYNCHRONIZED); |
| line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(LPAREN); |
| expr = Expression(); |
| jj_consume_token(RPAREN); |
| block = Block(); |
| {if (true) return new SynchronizedStmt(line, column, token.endLine, token.endColumn,expr, block);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public TryStmt TryStatement() { |
| List resources = new LinkedList(); |
| BlockStmt tryBlock; |
| BlockStmt finallyBlock = null; |
| List catchs = null; |
| Parameter except; |
| BlockStmt catchBlock; |
| Modifier exceptModifier; |
| Type exceptType; |
| List exceptTypes = new LinkedList(); |
| VariableDeclaratorId exceptId; |
| int line; |
| int column; |
| int cLine; |
| int cColumn; |
| jj_consume_token(TRY); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case LPAREN: |
| resources = ResourceSpecification(); |
| break; |
| default: |
| jj_la1[161] = jj_gen; |
| ; |
| } |
| tryBlock = Block(); |
| label_66: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CATCH: |
| ; |
| break; |
| default: |
| jj_la1[162] = jj_gen; |
| break label_66; |
| } |
| jj_consume_token(CATCH); |
| cLine=token.beginLine; cColumn=token.beginColumn; |
| jj_consume_token(LPAREN); |
| exceptModifier = Modifiers(); |
| exceptType = Type(); |
| exceptTypes.add(exceptType); |
| label_67: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BIT_OR: |
| ; |
| break; |
| default: |
| jj_la1[163] = jj_gen; |
| break label_67; |
| } |
| jj_consume_token(BIT_OR); |
| exceptType = Type(); |
| exceptTypes.add(exceptType); |
| } |
| exceptId = VariableDeclaratorId(); |
| jj_consume_token(RPAREN); |
| catchBlock = Block(); |
| catchs = add(catchs, new CatchClause(cLine, cColumn, token.endLine, token.endColumn, exceptModifier.modifiers, exceptModifier.annotations, exceptTypes, exceptId, catchBlock)); exceptTypes = new LinkedList(); |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case FINALLY: |
| jj_consume_token(FINALLY); |
| finallyBlock = Block(); |
| break; |
| default: |
| jj_la1[164] = jj_gen; |
| ; |
| } |
| {if (true) return new TryStmt(line, column, token.endLine, token.endColumn, resources, tryBlock, catchs, finallyBlock);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List ResourceSpecification() { |
| List vars; |
| jj_consume_token(LPAREN); |
| vars = Resources(); |
| if (jj_2_42(2)) { |
| jj_consume_token(SEMICOLON); |
| } else { |
| ; |
| } |
| jj_consume_token(RPAREN); |
| {if (true) return vars;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List Resources() { |
| List vars = new LinkedList(); |
| VariableDeclarationExpr var; |
| /*this is a bit more lenient than we need to be, eg allowing access modifiers like private*/ |
| var = VariableDeclarationExpression(); |
| vars.add(var); |
| label_68: |
| while (true) { |
| if (jj_2_43(2)) { |
| ; |
| } else { |
| break label_68; |
| } |
| jj_consume_token(SEMICOLON); |
| var = VariableDeclarationExpression(); |
| vars.add(var); |
| } |
| {if (true) return vars;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* We use productions to match >>>, >> and > so that we can keep the |
| * type declaration syntax with generics clean |
| */ |
| final public void RUNSIGNEDSHIFT() { |
| if (getToken(1).kind == GT && |
| ((GTToken)getToken(1)).realKind == RUNSIGNEDSHIFT) { |
| |
| } else { |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| jj_consume_token(GT); |
| jj_consume_token(GT); |
| jj_consume_token(GT); |
| } |
| |
| final public void RSIGNEDSHIFT() { |
| if (getToken(1).kind == GT && |
| ((GTToken)getToken(1)).realKind == RSIGNEDSHIFT) { |
| |
| } else { |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| jj_consume_token(GT); |
| jj_consume_token(GT); |
| } |
| |
| /* Annotation syntax follows. */ |
| final public AnnotationExpr Annotation() { |
| AnnotationExpr ret; |
| if (jj_2_44(2147483647)) { |
| ret = NormalAnnotation(); |
| } else if (jj_2_45(2147483647)) { |
| ret = SingleMemberAnnotation(); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ret = MarkerAnnotation(); |
| break; |
| default: |
| jj_la1[165] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public NormalAnnotationExpr NormalAnnotation() { |
| NameExpr name; |
| List pairs = null; |
| int line; |
| int column; |
| jj_consume_token(AT); |
| line=token.beginLine; column=token.beginColumn; |
| name = Name(); |
| jj_consume_token(LPAREN); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case IDENTIFIER: |
| pairs = MemberValuePairs(); |
| break; |
| default: |
| jj_la1[166] = jj_gen; |
| ; |
| } |
| jj_consume_token(RPAREN); |
| {if (true) return new NormalAnnotationExpr(line, column, token.endLine, token.endColumn,name, pairs);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public MarkerAnnotationExpr MarkerAnnotation() { |
| NameExpr name; |
| int line; |
| int column; |
| jj_consume_token(AT); |
| line=token.beginLine; column=token.beginColumn; |
| name = Name(); |
| {if (true) return new MarkerAnnotationExpr(line, column, token.endLine, token.endColumn,name);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public SingleMemberAnnotationExpr SingleMemberAnnotation() { |
| NameExpr name; |
| Expression memberVal; |
| int line; |
| int column; |
| jj_consume_token(AT); |
| line=token.beginLine; column=token.beginColumn; |
| name = Name(); |
| jj_consume_token(LPAREN); |
| memberVal = MemberValue(); |
| jj_consume_token(RPAREN); |
| {if (true) return new SingleMemberAnnotationExpr(line, column, token.endLine, token.endColumn,name, memberVal);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List MemberValuePairs() { |
| List ret = new LinkedList(); |
| MemberValuePair pair; |
| pair = MemberValuePair(); |
| ret.add(pair); |
| label_69: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| ; |
| break; |
| default: |
| jj_la1[167] = jj_gen; |
| break label_69; |
| } |
| jj_consume_token(COMMA); |
| pair = MemberValuePair(); |
| ret.add(pair); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public MemberValuePair MemberValuePair() { |
| String name; |
| Expression value; |
| int line; |
| int column; |
| jj_consume_token(IDENTIFIER); |
| name = token.image; line=token.beginLine; column=token.beginColumn; |
| jj_consume_token(ASSIGN); |
| value = MemberValue(); |
| {if (true) return new MemberValuePair(line, column, token.endLine, token.endColumn,name, value);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression MemberValue() { |
| Expression ret; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case AT: |
| ret = Annotation(); |
| break; |
| case LBRACE: |
| ret = MemberValueArrayInitializer(); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| ret = ConditionalExpression(); |
| break; |
| default: |
| jj_la1[168] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression MemberValueArrayInitializer() { |
| List ret = new LinkedList(); |
| Expression member; |
| int line; |
| int column; |
| jj_consume_token(LBRACE); |
| line=token.beginLine; column=token.beginColumn; |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FALSE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case NEW: |
| case NULL: |
| case SHORT: |
| case SUPER: |
| case THIS: |
| case TRUE: |
| case VOID: |
| case LONG_LITERAL: |
| case INTEGER_LITERAL: |
| case FLOATING_POINT_LITERAL: |
| case CHARACTER_LITERAL: |
| case STRING_LITERAL: |
| case IDENTIFIER: |
| case LPAREN: |
| case LBRACE: |
| case AT: |
| case BANG: |
| case TILDE: |
| case INCR: |
| case DECR: |
| case PLUS: |
| case MINUS: |
| member = MemberValue(); |
| ret.add(member); |
| label_70: |
| while (true) { |
| if (jj_2_46(2)) { |
| ; |
| } else { |
| break label_70; |
| } |
| jj_consume_token(COMMA); |
| member = MemberValue(); |
| ret.add(member); |
| } |
| break; |
| default: |
| jj_la1[169] = jj_gen; |
| ; |
| } |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case COMMA: |
| jj_consume_token(COMMA); |
| break; |
| default: |
| jj_la1[170] = jj_gen; |
| ; |
| } |
| jj_consume_token(RBRACE); |
| {if (true) return new ArrayInitializerExpr(line, column, token.endLine, token.endColumn,ret);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| /* Annotation Types. */ |
| final public AnnotationDeclaration AnnotationTypeDeclaration(Modifier modifier) { |
| NameExpr name; |
| List members; |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| jj_consume_token(AT); |
| if (line == -1) {line=token.beginLine; column=token.beginColumn;} |
| jj_consume_token(INTERFACE); |
| name = Name(); |
| members = AnnotationTypeBody(); |
| AnnotationDeclaration tmp = new AnnotationDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, null, members); |
| tmp.setNameExpr(name); |
| {if (true) return tmp;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public List AnnotationTypeBody() { |
| List ret = null; |
| BodyDeclaration member; |
| jj_consume_token(LBRACE); |
| label_71: |
| while (true) { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case DOUBLE: |
| case ENUM: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOLATILE: |
| case IDENTIFIER: |
| case SEMICOLON: |
| case AT: |
| ; |
| break; |
| default: |
| jj_la1[171] = jj_gen; |
| break label_71; |
| } |
| member = AnnotationBodyDeclaration(); |
| ret = add(ret, member); |
| } |
| jj_consume_token(RBRACE); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public BodyDeclaration AnnotationBodyDeclaration() { |
| Modifier modifier; |
| BodyDeclaration ret; |
| |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case SEMICOLON: |
| jj_consume_token(SEMICOLON); |
| ret = new EmptyTypeDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn); |
| break; |
| case ABSTRACT: |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case CLASS: |
| case DOUBLE: |
| case ENUM: |
| case FINAL: |
| case FLOAT: |
| case INT: |
| case INTERFACE: |
| case LONG: |
| case NATIVE: |
| case PRIVATE: |
| case PROTECTED: |
| case PUBLIC: |
| case SHORT: |
| case STATIC: |
| case STRICTFP: |
| case SYNCHRONIZED: |
| case TRANSIENT: |
| case VOLATILE: |
| case IDENTIFIER: |
| case AT: |
| modifier = Modifiers(); |
| if (jj_2_47(2147483647)) { |
| ret = AnnotationTypeMemberDeclaration(modifier); |
| } else { |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case CLASS: |
| case INTERFACE: |
| ret = ClassOrInterfaceDeclaration(modifier); |
| break; |
| case ENUM: |
| ret = EnumDeclaration(modifier); |
| break; |
| case AT: |
| ret = AnnotationTypeDeclaration(modifier); |
| break; |
| case BOOLEAN: |
| case BYTE: |
| case CHAR: |
| case DOUBLE: |
| case FLOAT: |
| case INT: |
| case LONG: |
| case SHORT: |
| case IDENTIFIER: |
| ret = FieldDeclaration(modifier); |
| break; |
| default: |
| jj_la1[172] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| } |
| break; |
| default: |
| jj_la1[173] = jj_gen; |
| jj_consume_token(-1); |
| throw new ParseException(); |
| } |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public AnnotationMemberDeclaration AnnotationTypeMemberDeclaration(Modifier modifier) { |
| Type type; |
| String name; |
| Expression defaultVal = null; |
| type = Type(); |
| jj_consume_token(IDENTIFIER); |
| name = token.image; |
| jj_consume_token(LPAREN); |
| jj_consume_token(RPAREN); |
| switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| case _DEFAULT: |
| defaultVal = DefaultValue(); |
| break; |
| default: |
| jj_la1[174] = jj_gen; |
| ; |
| } |
| jj_consume_token(SEMICOLON); |
| int line = modifier.beginLine; |
| int column = modifier.beginColumn; |
| { if (line == -1) {line=type.getBeginLine(); column=type.getBeginColumn();} } |
| {if (true) return new AnnotationMemberDeclaration(line, column, token.endLine, token.endColumn, modifier.modifiers, modifier.annotations, type, name, defaultVal);} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| final public Expression DefaultValue() { |
| Expression ret; |
| jj_consume_token(_DEFAULT); |
| ret = MemberValue(); |
| {if (true) return ret;} |
| throw new Error("Missing return statement in function"); |
| } |
| |
| private boolean jj_2_1(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_1(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(0, xla); } |
| } |
| |
| private boolean jj_2_2(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_2(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(1, xla); } |
| } |
| |
| private boolean jj_2_3(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_3(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(2, xla); } |
| } |
| |
| private boolean jj_2_4(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_4(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(3, xla); } |
| } |
| |
| private boolean jj_2_5(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_5(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(4, xla); } |
| } |
| |
| private boolean jj_2_6(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_6(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(5, xla); } |
| } |
| |
| private boolean jj_2_7(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_7(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(6, xla); } |
| } |
| |
| private boolean jj_2_8(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_8(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(7, xla); } |
| } |
| |
| private boolean jj_2_9(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_9(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(8, xla); } |
| } |
| |
| private boolean jj_2_10(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_10(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(9, xla); } |
| } |
| |
| private boolean jj_2_11(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_11(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(10, xla); } |
| } |
| |
| private boolean jj_2_12(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_12(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(11, xla); } |
| } |
| |
| private boolean jj_2_13(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_13(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(12, xla); } |
| } |
| |
| private boolean jj_2_14(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_14(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(13, xla); } |
| } |
| |
| private boolean jj_2_15(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_15(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(14, xla); } |
| } |
| |
| private boolean jj_2_16(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_16(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(15, xla); } |
| } |
| |
| private boolean jj_2_17(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_17(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(16, xla); } |
| } |
| |
| private boolean jj_2_18(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_18(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(17, xla); } |
| } |
| |
| private boolean jj_2_19(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_19(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(18, xla); } |
| } |
| |
| private boolean jj_2_20(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_20(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(19, xla); } |
| } |
| |
| private boolean jj_2_21(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_21(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(20, xla); } |
| } |
| |
| private boolean jj_2_22(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_22(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(21, xla); } |
| } |
| |
| private boolean jj_2_23(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_23(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(22, xla); } |
| } |
| |
| private boolean jj_2_24(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_24(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(23, xla); } |
| } |
| |
| private boolean jj_2_25(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_25(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(24, xla); } |
| } |
| |
| private boolean jj_2_26(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_26(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(25, xla); } |
| } |
| |
| private boolean jj_2_27(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_27(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(26, xla); } |
| } |
| |
| private boolean jj_2_28(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_28(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(27, xla); } |
| } |
| |
| private boolean jj_2_29(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_29(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(28, xla); } |
| } |
| |
| private boolean jj_2_30(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_30(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(29, xla); } |
| } |
| |
| private boolean jj_2_31(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_31(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(30, xla); } |
| } |
| |
| private boolean jj_2_32(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_32(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(31, xla); } |
| } |
| |
| private boolean jj_2_33(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_33(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(32, xla); } |
| } |
| |
| private boolean jj_2_34(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_34(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(33, xla); } |
| } |
| |
| private boolean jj_2_35(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_35(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(34, xla); } |
| } |
| |
| private boolean jj_2_36(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_36(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(35, xla); } |
| } |
| |
| private boolean jj_2_37(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_37(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(36, xla); } |
| } |
| |
| private boolean jj_2_38(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_38(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(37, xla); } |
| } |
| |
| private boolean jj_2_39(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_39(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(38, xla); } |
| } |
| |
| private boolean jj_2_40(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_40(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(39, xla); } |
| } |
| |
| private boolean jj_2_41(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_41(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(40, xla); } |
| } |
| |
| private boolean jj_2_42(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_42(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(41, xla); } |
| } |
| |
| private boolean jj_2_43(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_43(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(42, xla); } |
| } |
| |
| private boolean jj_2_44(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_44(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(43, xla); } |
| } |
| |
| private boolean jj_2_45(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_45(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(44, xla); } |
| } |
| |
| private boolean jj_2_46(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_46(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(45, xla); } |
| } |
| |
| private boolean jj_2_47(int xla) { |
| jj_la = xla; jj_lastpos = jj_scanpos = token; |
| try { return !jj_3_47(); } |
| catch(LookaheadSuccess ls) { return true; } |
| finally { jj_save(46, xla); } |
| } |
| |
| private boolean jj_3R_172() { |
| if (jj_3R_168()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_207()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_294() { |
| if (jj_3R_133()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_25()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_422() { |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_155() { |
| if (jj_3R_94()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_201()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_424() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_437()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3R_438()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3_24() { |
| if (jj_3R_107()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_88() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_421() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_423() { |
| if (jj_3R_436()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_388() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_172()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_361() { |
| if (jj_scan_token(TRY)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_423()) jj_scanpos = xsp; |
| if (jj_3R_128()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_424()) { |
| jj_scanpos = xsp; |
| if (jj_3R_425()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_154() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_302() { |
| if (jj_3R_87()) return true; |
| if (jj_3R_172()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_388()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_104() { |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_154()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3_24()) { |
| jj_scanpos = xsp; |
| if (jj_3R_155()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_241() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_420() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_106() { |
| if (jj_scan_token(DECR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_23() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_105()) { |
| jj_scanpos = xsp; |
| if (jj_3R_106()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_105() { |
| if (jj_scan_token(INCR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_5() { |
| if (jj_3R_87()) return true; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_88()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_scan_token(88)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(91)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(87)) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_86() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_22() { |
| if (jj_3R_104()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_4() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_86()) jj_scanpos = xsp; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_216() { |
| if (jj_3R_245()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_267() { |
| if (jj_3R_294()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_23()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_277() { |
| if (jj_3R_303()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_360() { |
| if (jj_scan_token(SYNCHRONIZED)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_271() { |
| if (jj_scan_token(_DEFAULT)) return true; |
| if (jj_3R_116()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_276() { |
| if (jj_3R_302()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_235() { |
| if (jj_3R_104()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_236() { |
| if (jj_3R_267()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_266() { |
| if (jj_scan_token(BANG)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_275() { |
| if (jj_3R_301()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_265() { |
| if (jj_scan_token(TILDE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_274() { |
| if (jj_3R_300()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_234() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_265()) { |
| jj_scanpos = xsp; |
| if (jj_3R_266()) return true; |
| } |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_273() { |
| if (jj_3R_299()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_272() { |
| if (jj_3R_298()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_359() { |
| if (jj_scan_token(THROW)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_201() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_234()) { |
| jj_scanpos = xsp; |
| if (jj_3R_235()) { |
| jj_scanpos = xsp; |
| if (jj_3R_236()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_358() { |
| if (jj_scan_token(RETURN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_422()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_461() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_240() { |
| if (jj_3R_116()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_271()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_272()) { |
| jj_scanpos = xsp; |
| if (jj_3R_273()) { |
| jj_scanpos = xsp; |
| if (jj_3R_274()) { |
| jj_scanpos = xsp; |
| if (jj_3R_275()) { |
| jj_scanpos = xsp; |
| if (jj_3R_276()) { |
| jj_scanpos = xsp; |
| if (jj_3R_277()) return true; |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_242() { |
| if (jj_scan_token(DECR)) return true; |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_357() { |
| if (jj_scan_token(CONTINUE)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_421()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_6() { |
| if (jj_3R_89()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_417() { |
| if (jj_scan_token(ELSE)) return true; |
| if (jj_3R_306()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_118() { |
| if (jj_scan_token(INCR)) return true; |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_435() { |
| if (jj_3R_452()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_211() { |
| if (jj_3R_201()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_206() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_6()) { |
| jj_scanpos = xsp; |
| if (jj_3R_240()) { |
| jj_scanpos = xsp; |
| if (jj_3R_241()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_356() { |
| if (jj_scan_token(BREAK)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_420()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_171() { |
| if (jj_3R_206()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_452() { |
| if (jj_3R_459()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_279() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_244() { |
| if (jj_scan_token(MINUS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_113() { |
| if (jj_scan_token(LBRACE)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_171()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_305() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_243() { |
| if (jj_scan_token(PLUS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_210() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_243()) { |
| jj_scanpos = xsp; |
| if (jj_3R_244()) return true; |
| } |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_209() { |
| if (jj_3R_242()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_41() { |
| if (jj_3R_116()) return true; |
| if (jj_3R_87()) return true; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_208() { |
| if (jj_3R_118()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_280() { |
| if (jj_scan_token(BIT_AND)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_305()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_198()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_459() { |
| if (jj_3R_100()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_461()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_245() { |
| if (jj_scan_token(EXTENDS)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_279()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_198()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_280()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_458() { |
| if (jj_3R_459()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_434() { |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_457() { |
| if (jj_3R_117()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_174() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_208()) { |
| jj_scanpos = xsp; |
| if (jj_3R_209()) { |
| jj_scanpos = xsp; |
| if (jj_3R_210()) { |
| jj_scanpos = xsp; |
| if (jj_3R_211()) return true; |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_430() { |
| if (jj_scan_token(REM)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_3() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_85()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_429() { |
| if (jj_scan_token(SLASH)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_182() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_216()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_428() { |
| if (jj_scan_token(STAR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_451() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_457()) { |
| jj_scanpos = xsp; |
| if (jj_3R_458()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_412() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_428()) { |
| jj_scanpos = xsp; |
| if (jj_3R_429()) { |
| jj_scanpos = xsp; |
| if (jj_3R_430()) return true; |
| } |
| } |
| if (jj_3R_174()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_217() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_408() { |
| if (jj_3R_113()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_40() { |
| if (jj_3R_117()) return true; |
| if (jj_scan_token(COLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_376() { |
| if (jj_3R_174()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_412()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_183() { |
| if (jj_scan_token(COMMA)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_217()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_182()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_181() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_433() { |
| if (jj_3R_451()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_414() { |
| if (jj_scan_token(MINUS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_413() { |
| if (jj_scan_token(PLUS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_125() { |
| if (jj_scan_token(LT)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_181()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_182()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_183()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(GT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_419() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_433()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_434()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_435()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_402() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_413()) { |
| jj_scanpos = xsp; |
| if (jj_3R_414()) return true; |
| } |
| if (jj_3R_376()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_418() { |
| if (jj_3R_117()) return true; |
| if (jj_scan_token(COLON)) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_372() { |
| if (jj_3R_376()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_402()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_355() { |
| if (jj_scan_token(FOR)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_418()) { |
| jj_scanpos = xsp; |
| if (jj_3R_419()) return true; |
| } |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_306()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_407() { |
| if (jj_3R_187()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_21() { |
| if (jj_3R_103()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_20() { |
| if (jj_3R_102()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_124() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_101() { |
| if (jj_scan_token(LSHIFT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_19() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_101()) { |
| jj_scanpos = xsp; |
| if (jj_3_20()) { |
| jj_scanpos = xsp; |
| if (jj_3_21()) return true; |
| } |
| } |
| if (jj_3R_372()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_85() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_124()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(IDENTIFIER)) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_407()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_408()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_398() { |
| if (jj_3R_206()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_373() { |
| if (jj_scan_token(INSTANCEOF)) return true; |
| if (jj_3R_87()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_354() { |
| if (jj_scan_token(DO)) return true; |
| if (jj_3R_306()) return true; |
| if (jj_scan_token(WHILE)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_370() { |
| if (jj_3R_372()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_19()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_383() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_398()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_395() { |
| if (jj_scan_token(GE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_394() { |
| if (jj_scan_token(LE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_393() { |
| if (jj_scan_token(GT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_392() { |
| if (jj_scan_token(LT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_377() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_392()) { |
| jj_scanpos = xsp; |
| if (jj_3R_393()) { |
| jj_scanpos = xsp; |
| if (jj_3R_394()) { |
| jj_scanpos = xsp; |
| if (jj_3R_395()) return true; |
| } |
| } |
| } |
| if (jj_3R_370()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_353() { |
| if (jj_scan_token(WHILE)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_306()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_382() { |
| if (jj_3R_85()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_3()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_368() { |
| if (jj_3R_370()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_377()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_381() { |
| if (jj_3R_397()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_369() { |
| if (jj_scan_token(BIT_AND)) return true; |
| if (jj_3R_345()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_299() { |
| if (jj_scan_token(ENUM)) return true; |
| if (jj_3R_119()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_381()) jj_scanpos = xsp; |
| if (jj_scan_token(LBRACE)) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_382()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(88)) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_383()) jj_scanpos = xsp; |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_364() { |
| if (jj_3R_368()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_373()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_352() { |
| if (jj_scan_token(IF)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_306()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_417()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_405() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_375() { |
| if (jj_scan_token(NE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_374() { |
| if (jj_scan_token(EQ)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_371() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_374()) { |
| jj_scanpos = xsp; |
| if (jj_3R_375()) return true; |
| } |
| if (jj_3R_364()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_365() { |
| if (jj_scan_token(XOR)) return true; |
| if (jj_3R_315()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_346() { |
| if (jj_scan_token(BIT_OR)) return true; |
| if (jj_3R_293()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_406() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_198()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_345() { |
| if (jj_3R_364()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_371()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_450() { |
| if (jj_scan_token(_DEFAULT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_449() { |
| if (jj_scan_token(CASE)) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_397() { |
| if (jj_scan_token(IMPLEMENTS)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_405()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_198()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_406()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_403() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_316() { |
| if (jj_scan_token(SC_AND)) return true; |
| if (jj_3R_264()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_315() { |
| if (jj_3R_345()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_369()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_432() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_449()) { |
| jj_scanpos = xsp; |
| if (jj_3R_450()) return true; |
| } |
| if (jj_scan_token(COLON)) return true; |
| if (jj_3R_184()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_295() { |
| if (jj_scan_token(SC_OR)) return true; |
| if (jj_3R_233()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_404() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_198()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_396() { |
| if (jj_scan_token(EXTENDS)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_403()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_198()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_404()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_293() { |
| if (jj_3R_315()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_365()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_416() { |
| if (jj_3R_432()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_351() { |
| if (jj_scan_token(SWITCH)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_scan_token(LBRACE)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_416()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_319() { |
| if (jj_scan_token(INTERFACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_264() { |
| if (jj_3R_293()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_346()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_380() { |
| if (jj_3R_397()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_173() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_172()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_379() { |
| if (jj_3R_396()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_378() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_456() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_233() { |
| if (jj_3R_264()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_316()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_298() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(20)) { |
| jj_scanpos = xsp; |
| if (jj_3R_319()) return true; |
| } |
| if (jj_3R_119()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_378()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_379()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_380()) jj_scanpos = xsp; |
| if (jj_3R_113()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_448() { |
| if (jj_scan_token(ARROW)) return true; |
| if (jj_3R_296()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_447() { |
| if (jj_scan_token(DOUBLECOLON)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_456()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(78)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(43)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_446() { |
| if (jj_3R_99()) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_445() { |
| if (jj_scan_token(DECR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_200() { |
| if (jj_3R_233()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_295()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_444() { |
| if (jj_scan_token(INCR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_431() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_444()) { |
| jj_scanpos = xsp; |
| if (jj_3R_445()) { |
| jj_scanpos = xsp; |
| if (jj_3R_446()) { |
| jj_scanpos = xsp; |
| if (jj_3R_447()) { |
| jj_scanpos = xsp; |
| if (jj_3R_448()) return true; |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_367() { |
| if (jj_3R_294()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_431()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_366() { |
| if (jj_3R_242()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_268() { |
| if (jj_scan_token(HOOK)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(COLON)) return true; |
| if (jj_3R_151()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_151() { |
| if (jj_3R_200()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_268()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3_39() { |
| if (jj_3R_118()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_350() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_39()) { |
| jj_scanpos = xsp; |
| if (jj_3R_366()) { |
| jj_scanpos = xsp; |
| if (jj_3R_367()) return true; |
| } |
| } |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_150() { |
| if (jj_scan_token(ORASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_149() { |
| if (jj_scan_token(XORASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_148() { |
| if (jj_scan_token(ANDASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_147() { |
| if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_146() { |
| if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_145() { |
| if (jj_scan_token(LSHIFTASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_144() { |
| if (jj_scan_token(MINUSASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_143() { |
| if (jj_scan_token(PLUSASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_142() { |
| if (jj_scan_token(REMASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_141() { |
| if (jj_scan_token(SLASHASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_140() { |
| if (jj_scan_token(STARASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_139() { |
| if (jj_scan_token(ASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_318() { |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_99() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_139()) { |
| jj_scanpos = xsp; |
| if (jj_3R_140()) { |
| jj_scanpos = xsp; |
| if (jj_3R_141()) { |
| jj_scanpos = xsp; |
| 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; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_84() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_83() { |
| if (jj_scan_token(STRICTFP)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_297() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_317() { |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_82() { |
| if (jj_scan_token(VOLATILE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_81() { |
| if (jj_scan_token(TRANSIENT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_114() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_80() { |
| if (jj_scan_token(NATIVE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_79() { |
| if (jj_scan_token(SYNCHRONIZED)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_270() { |
| if (jj_scan_token(DOUBLECOLON)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_297()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(78)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(43)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_296() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_317()) { |
| jj_scanpos = xsp; |
| if (jj_3R_318()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_78() { |
| if (jj_scan_token(ABSTRACT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_415() { |
| if (jj_scan_token(COLON)) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_77() { |
| if (jj_scan_token(FINAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_76() { |
| if (jj_scan_token(PRIVATE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_75() { |
| if (jj_scan_token(PROTECTED)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_74() { |
| if (jj_scan_token(STATIC)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_349() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_34() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_114()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_73() { |
| if (jj_scan_token(PUBLIC)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_2() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_73()) { |
| jj_scanpos = xsp; |
| if (jj_3R_74()) { |
| jj_scanpos = xsp; |
| if (jj_3R_75()) { |
| jj_scanpos = xsp; |
| if (jj_3R_76()) { |
| jj_scanpos = xsp; |
| if (jj_3R_77()) { |
| jj_scanpos = xsp; |
| 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()) { |
| jj_scanpos = xsp; |
| if (jj_3R_84()) return true; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_116() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_2()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3_18() { |
| if (jj_3R_99()) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_269() { |
| if (jj_scan_token(ARROW)) return true; |
| if (jj_3R_296()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_411() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_119()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_239() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_18()) { |
| jj_scanpos = xsp; |
| if (jj_3R_269()) { |
| jj_scanpos = xsp; |
| if (jj_3R_270()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3_38() { |
| if (jj_3R_117()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_117() { |
| if (jj_3R_116()) return true; |
| if (jj_3R_87()) return true; |
| if (jj_3R_172()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_173()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_100() { |
| if (jj_3R_151()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_239()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3_37() { |
| if (jj_3R_116()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(20)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(40)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_283() { |
| if (jj_3R_306()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_282() { |
| if (jj_3R_117()) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_281() { |
| if (jj_3R_116()) return true; |
| if (jj_3R_298()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_246() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_281()) { |
| jj_scanpos = xsp; |
| if (jj_3R_282()) { |
| jj_scanpos = xsp; |
| if (jj_3R_283()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_122() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_72() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_122()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(PACKAGE)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_1() { |
| if (jj_3R_72()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_401() { |
| if (jj_3R_119()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_411()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_128() { |
| if (jj_scan_token(LBRACE)) return true; |
| if (jj_3R_184()) return true; |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_227() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_115() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(COLON)) return true; |
| if (jj_3R_306()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_348() { |
| if (jj_scan_token(ASSERT)) return true; |
| if (jj_3R_100()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_415()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_17() { |
| if (jj_scan_token(DOT)) return true; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_119() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_17()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_339() { |
| if (jj_3R_361()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_338() { |
| if (jj_3R_360()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_337() { |
| if (jj_3R_359()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_170() { |
| if (jj_3R_87()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_336() { |
| if (jj_3R_358()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_169() { |
| if (jj_scan_token(VOID)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_335() { |
| if (jj_3R_357()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_334() { |
| if (jj_3R_356()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_333() { |
| if (jj_3R_355()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_332() { |
| if (jj_3R_354()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_331() { |
| if (jj_3R_353()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_111() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_169()) { |
| jj_scanpos = xsp; |
| if (jj_3R_170()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_330() { |
| if (jj_3R_352()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_329() { |
| if (jj_3R_351()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_328() { |
| if (jj_3R_350()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_327() { |
| if (jj_3R_349()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_326() { |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_163() { |
| if (jj_scan_token(DOUBLE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_325() { |
| if (jj_3R_348()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_162() { |
| if (jj_scan_token(FLOAT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_161() { |
| if (jj_scan_token(LONG)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_36() { |
| if (jj_3R_115()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_160() { |
| if (jj_scan_token(INT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_363() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_159() { |
| if (jj_scan_token(SHORT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_362() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_158() { |
| if (jj_scan_token(BYTE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_157() { |
| if (jj_scan_token(CHAR)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_156() { |
| if (jj_scan_token(BOOLEAN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_306() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_36()) { |
| jj_scanpos = xsp; |
| if (jj_3R_325()) { |
| jj_scanpos = xsp; |
| if (jj_3R_326()) { |
| jj_scanpos = xsp; |
| if (jj_3R_327()) { |
| jj_scanpos = xsp; |
| if (jj_3R_328()) { |
| jj_scanpos = xsp; |
| if (jj_3R_329()) { |
| jj_scanpos = xsp; |
| if (jj_3R_330()) { |
| jj_scanpos = xsp; |
| if (jj_3R_331()) { |
| jj_scanpos = xsp; |
| if (jj_3R_332()) { |
| jj_scanpos = xsp; |
| if (jj_3R_333()) { |
| jj_scanpos = xsp; |
| if (jj_3R_334()) { |
| jj_scanpos = xsp; |
| if (jj_3R_335()) { |
| jj_scanpos = xsp; |
| if (jj_3R_336()) { |
| jj_scanpos = xsp; |
| if (jj_3R_337()) { |
| jj_scanpos = xsp; |
| if (jj_3R_338()) { |
| jj_scanpos = xsp; |
| if (jj_3R_339()) return true; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_344() { |
| if (jj_scan_token(SUPER)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_363()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_94()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_107() { |
| Token xsp; |
| xsp = jj_scanpos; |
| 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()) return true; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_342() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_343() { |
| if (jj_scan_token(EXTENDS)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_362()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_94()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_314() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_343()) { |
| jj_scanpos = xsp; |
| if (jj_3R_344()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_312() { |
| Token xsp; |
| if (jj_3R_342()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_342()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_185()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_33() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_32() { |
| if (jj_3R_113()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_35() { |
| Token xsp; |
| if (jj_3_33()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_33()) { jj_scanpos = xsp; break; } |
| } |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_34()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_229() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_199()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_311() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_289() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_311()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3_35()) { |
| jj_scanpos = xsp; |
| if (jj_3R_312()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_313() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_263() { |
| if (jj_scan_token(HOOK)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_314()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_292() { |
| if (jj_3R_187()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_32()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_232() { |
| if (jj_3R_263()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_231() { |
| if (jj_3R_94()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_460() { |
| if (jj_3R_462()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_230() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_199() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_230()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3R_231()) { |
| jj_scanpos = xsp; |
| if (jj_3R_232()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_291() { |
| if (jj_3R_289()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_96() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_98() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_290() { |
| if (jj_3R_97()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_313()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_138() { |
| if (jj_scan_token(132)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_262() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_290()) jj_scanpos = xsp; |
| if (jj_3R_198()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_291()) { |
| jj_scanpos = xsp; |
| if (jj_3R_292()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_95() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_284() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_13() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_96()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_137() { |
| if (jj_scan_token(LT)) return true; |
| if (jj_3R_199()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_229()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(GT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_97() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_137()) { |
| jj_scanpos = xsp; |
| if (jj_3R_138()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3_16() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_15() { |
| if (jj_scan_token(DOT)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_98()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(IDENTIFIER)) return true; |
| xsp = jj_scanpos; |
| if (jj_3_16()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_261() { |
| if (jj_3R_107()) return true; |
| if (jj_3R_289()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_12() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_95()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_386() { |
| if (jj_scan_token(THROWS)) return true; |
| if (jj_3R_401()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_14() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_260() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_198() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_14()) jj_scanpos = xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_15()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_225() { |
| if (jj_scan_token(NEW)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_260()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3R_261()) { |
| jj_scanpos = xsp; |
| if (jj_3R_262()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_462() { |
| if (jj_scan_token(_DEFAULT)) return true; |
| if (jj_3R_121()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_136() { |
| if (jj_3R_198()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_13()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_135() { |
| if (jj_3R_107()) return true; |
| Token xsp; |
| if (jj_3_12()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_12()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_94() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_135()) { |
| jj_scanpos = xsp; |
| if (jj_3R_136()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_247() { |
| if (jj_3R_100()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_284()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_455() { |
| if (jj_3R_87()) return true; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_460()) jj_scanpos = xsp; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_219() { |
| if (jj_3R_247()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_47() { |
| if (jj_3R_87()) return true; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_443() { |
| if (jj_3R_302()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_442() { |
| if (jj_3R_300()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_187() { |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_219()) jj_scanpos = xsp; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_126() { |
| if (jj_3R_107()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_441() { |
| if (jj_3R_299()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_11() { |
| if (jj_3R_94()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_440() { |
| if (jj_3R_298()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_87() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_11()) { |
| jj_scanpos = xsp; |
| if (jj_3R_126()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_439() { |
| if (jj_3R_455()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_286() { |
| if (jj_scan_token(NULL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_308() { |
| if (jj_scan_token(FALSE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_307() { |
| if (jj_scan_token(TRUE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_46() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_121()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_426() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_427() { |
| if (jj_3R_116()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_439()) { |
| jj_scanpos = xsp; |
| if (jj_3R_440()) { |
| jj_scanpos = xsp; |
| if (jj_3R_441()) { |
| jj_scanpos = xsp; |
| if (jj_3R_442()) { |
| jj_scanpos = xsp; |
| if (jj_3R_443()) return true; |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_127() { |
| if (jj_scan_token(STATIC)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_89() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_127()) jj_scanpos = xsp; |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_285() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_307()) { |
| jj_scanpos = xsp; |
| if (jj_3R_308()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_409() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_426()) { |
| jj_scanpos = xsp; |
| if (jj_3R_427()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_254() { |
| if (jj_3R_286()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_218() { |
| if (jj_3R_246()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_253() { |
| if (jj_3R_285()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_184() { |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_218()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_399() { |
| if (jj_3R_409()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_9() { |
| if (jj_3R_92()) return true; |
| if (jj_scan_token(DOT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_252() { |
| if (jj_scan_token(STRING_LITERAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_251() { |
| if (jj_scan_token(CHARACTER_LITERAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_384() { |
| if (jj_scan_token(LBRACE)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_399()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_93() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_189() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_10() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_93()) jj_scanpos = xsp; |
| if (jj_scan_token(THIS)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_250() { |
| if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_188() { |
| if (jj_3R_92()) return true; |
| if (jj_scan_token(DOT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_249() { |
| if (jj_scan_token(LONG_LITERAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_132() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_188()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_189()) jj_scanpos = xsp; |
| if (jj_scan_token(SUPER)) return true; |
| if (jj_3R_187()) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_186() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_248() { |
| if (jj_scan_token(INTEGER_LITERAL)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_131() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_186()) jj_scanpos = xsp; |
| if (jj_scan_token(THIS)) return true; |
| if (jj_3R_187()) return true; |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_300() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_scan_token(INTERFACE)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_3R_384()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_112() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_220() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_248()) { |
| jj_scanpos = xsp; |
| if (jj_3R_249()) { |
| jj_scanpos = xsp; |
| if (jj_3R_250()) { |
| jj_scanpos = xsp; |
| if (jj_3R_251()) { |
| jj_scanpos = xsp; |
| if (jj_3R_252()) { |
| jj_scanpos = xsp; |
| if (jj_3R_253()) { |
| jj_scanpos = xsp; |
| if (jj_3R_254()) return true; |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_91() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_131()) { |
| jj_scanpos = xsp; |
| if (jj_3R_132()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_166() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_3R_100()) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_31() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_112()) jj_scanpos = xsp; |
| if (jj_scan_token(IDENTIFIER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_324() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_323()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_347() { |
| if (jj_3R_121()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_46()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_238() { |
| if (jj_3R_187()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_237() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_278() { |
| if (jj_3R_304()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_8() { |
| if (jj_3R_91()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_204() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_237()) jj_scanpos = xsp; |
| if (jj_3R_227()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_238()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_212() { |
| if (jj_scan_token(LBRACE)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_347()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(88)) jj_scanpos = xsp; |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_7() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_90()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_203() { |
| if (jj_3R_225()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_167() { |
| if (jj_scan_token(ELLIPSIS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_202() { |
| if (jj_scan_token(THIS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_177() { |
| if (jj_3R_151()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_287() { |
| if (jj_3R_309()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_176() { |
| if (jj_3R_212()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_175() { |
| if (jj_3R_123()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_387() { |
| if (jj_3R_91()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_340() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_110()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_165() { |
| if (jj_scan_token(DOT)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_202()) { |
| jj_scanpos = xsp; |
| if (jj_3R_203()) { |
| jj_scanpos = xsp; |
| if (jj_3R_204()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_320() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_301() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_320()) jj_scanpos = xsp; |
| if (jj_3R_227()) return true; |
| if (jj_3R_385()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_386()) jj_scanpos = xsp; |
| if (jj_scan_token(LBRACE)) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_387()) jj_scanpos = xsp; |
| if (jj_3R_184()) return true; |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_121() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_175()) { |
| jj_scanpos = xsp; |
| if (jj_3R_176()) { |
| jj_scanpos = xsp; |
| if (jj_3R_177()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_109() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_165()) { |
| jj_scanpos = xsp; |
| if (jj_3R_166()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_410() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_110()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_323() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(ASSIGN)) return true; |
| if (jj_3R_121()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_164() { |
| if (jj_scan_token(DOT)) return true; |
| if (jj_scan_token(SUPER)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_30() { |
| if (jj_3R_109()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_226() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_304() { |
| if (jj_3R_323()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_324()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_108() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_30()) { |
| jj_scanpos = xsp; |
| if (jj_3R_164()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_228() { |
| if (jj_3R_187()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_110() { |
| if (jj_3R_116()) return true; |
| if (jj_3R_87()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_167()) jj_scanpos = xsp; |
| if (jj_3R_168()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_197() { |
| if (jj_3R_227()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_228()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3_29() { |
| if (jj_3R_111()) return true; |
| if (jj_scan_token(DOUBLECOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_214() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_121()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_389() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3_28() { |
| if (jj_3R_111()) return true; |
| if (jj_scan_token(DOT)) return true; |
| if (jj_scan_token(CLASS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_341() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_168()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_120() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| if (jj_scan_token(ASSIGN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_205() { |
| if (jj_scan_token(LBRACKET)) return true; |
| if (jj_scan_token(RBRACKET)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_288() { |
| if (jj_3R_310()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_310() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_168()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_341()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_196() { |
| if (jj_3R_111()) return true; |
| if (jj_scan_token(DOUBLECOLON)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_226()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(78)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(43)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_215() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_3R_119()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_322() { |
| if (jj_3R_90()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_7()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_195() { |
| if (jj_3R_111()) return true; |
| if (jj_scan_token(DOT)) return true; |
| if (jj_scan_token(CLASS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_194() { |
| if (jj_3R_225()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_27() { |
| if (jj_3R_110()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_45() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_309() { |
| if (jj_scan_token(COMMA)) return true; |
| if (jj_3R_110()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_340()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3_43() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| if (jj_3R_117()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_44() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_120()) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(82)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_213() { |
| if (jj_scan_token(AT)) return true; |
| if (jj_3R_119()) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_278()) jj_scanpos = xsp; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_400() { |
| if (jj_3R_110()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_410()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_180() { |
| if (jj_3R_215()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_259() { |
| if (jj_3R_100()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_288()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_258() { |
| if (jj_3R_110()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_287()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_179() { |
| if (jj_3R_214()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_224() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_258()) { |
| jj_scanpos = xsp; |
| if (jj_3R_259()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_385() { |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_400()) jj_scanpos = xsp; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_178() { |
| if (jj_3R_213()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_257() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_193() { |
| if (jj_scan_token(LPAREN)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_224()) jj_scanpos = xsp; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_222() { |
| if (jj_scan_token(DOUBLECOLON)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_257()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(78)) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(43)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_123() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_178()) { |
| jj_scanpos = xsp; |
| if (jj_3R_179()) { |
| jj_scanpos = xsp; |
| if (jj_3R_180()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_223() { |
| if (jj_3R_187()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_152() { |
| return false; |
| } |
| |
| private boolean jj_3R_391() { |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_390() { |
| if (jj_scan_token(THROWS)) return true; |
| if (jj_3R_401()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_321() { |
| if (jj_3R_125()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_303() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_321()) jj_scanpos = xsp; |
| if (jj_3R_111()) return true; |
| if (jj_3R_119()) return true; |
| if (jj_3R_385()) return true; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_389()) { jj_scanpos = xsp; break; } |
| } |
| xsp = jj_scanpos; |
| if (jj_3R_390()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_391()) { |
| jj_scanpos = xsp; |
| if (jj_scan_token(87)) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_153() { |
| return false; |
| } |
| |
| private boolean jj_3R_102() { |
| jj_lookingAhead = true; |
| jj_semLA = getToken(1).kind == GT && |
| ((GTToken)getToken(1)).realKind == RSIGNEDSHIFT; |
| jj_lookingAhead = false; |
| if (!jj_semLA || jj_3R_152()) return true; |
| if (jj_scan_token(GT)) return true; |
| if (jj_scan_token(GT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_256() { |
| if (jj_3R_187()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_221() { |
| if (jj_scan_token(DOT)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_255()) jj_scanpos = xsp; |
| if (jj_3R_227()) return true; |
| xsp = jj_scanpos; |
| if (jj_3R_256()) jj_scanpos = xsp; |
| return false; |
| } |
| |
| private boolean jj_3R_255() { |
| if (jj_3R_97()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_26() { |
| if (jj_3R_109()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_192() { |
| if (jj_scan_token(SUPER)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_221()) { |
| jj_scanpos = xsp; |
| if (jj_3R_222()) { |
| jj_scanpos = xsp; |
| if (jj_3R_223()) return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_103() { |
| jj_lookingAhead = true; |
| jj_semLA = getToken(1).kind == GT && |
| ((GTToken)getToken(1)).realKind == RUNSIGNEDSHIFT; |
| jj_lookingAhead = false; |
| if (!jj_semLA || jj_3R_153()) return true; |
| if (jj_scan_token(GT)) return true; |
| if (jj_scan_token(GT)) return true; |
| if (jj_scan_token(GT)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_191() { |
| if (jj_scan_token(THIS)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_185() { |
| if (jj_scan_token(LBRACE)) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_322()) jj_scanpos = xsp; |
| xsp = jj_scanpos; |
| if (jj_scan_token(88)) jj_scanpos = xsp; |
| if (jj_scan_token(RBRACE)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_190() { |
| if (jj_3R_220()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_134() { |
| if (jj_3R_109()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_130() { |
| if (jj_3R_100()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_129() { |
| if (jj_3R_185()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_207() { |
| if (jj_scan_token(ASSIGN)) return true; |
| if (jj_3R_90()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_453() { |
| if (jj_3R_117()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3_43()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_133() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_190()) { |
| jj_scanpos = xsp; |
| if (jj_3R_191()) { |
| jj_scanpos = xsp; |
| if (jj_3R_192()) { |
| jj_scanpos = xsp; |
| if (jj_3R_193()) { |
| jj_scanpos = xsp; |
| if (jj_3R_194()) { |
| jj_scanpos = xsp; |
| if (jj_3R_195()) { |
| jj_scanpos = xsp; |
| if (jj_3R_196()) { |
| jj_scanpos = xsp; |
| if (jj_3R_197()) return true; |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean jj_3_25() { |
| if (jj_3R_108()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_90() { |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3R_129()) { |
| jj_scanpos = xsp; |
| if (jj_3R_130()) return true; |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_454() { |
| if (jj_scan_token(BIT_OR)) return true; |
| if (jj_3R_87()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_438() { |
| if (jj_scan_token(FINALLY)) return true; |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_425() { |
| if (jj_scan_token(FINALLY)) return true; |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3_42() { |
| if (jj_scan_token(SEMICOLON)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_436() { |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_453()) return true; |
| Token xsp; |
| xsp = jj_scanpos; |
| if (jj_3_42()) jj_scanpos = xsp; |
| if (jj_scan_token(RPAREN)) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_437() { |
| if (jj_scan_token(CATCH)) return true; |
| if (jj_scan_token(LPAREN)) return true; |
| if (jj_3R_116()) return true; |
| if (jj_3R_87()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_454()) { jj_scanpos = xsp; break; } |
| } |
| if (jj_3R_168()) return true; |
| if (jj_scan_token(RPAREN)) return true; |
| if (jj_3R_128()) return true; |
| return false; |
| } |
| |
| private boolean jj_3R_168() { |
| if (jj_scan_token(IDENTIFIER)) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_205()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| private boolean jj_3R_92() { |
| if (jj_3R_133()) return true; |
| Token xsp; |
| while (true) { |
| xsp = jj_scanpos; |
| if (jj_3R_134()) { jj_scanpos = xsp; break; } |
| } |
| return false; |
| } |
| |
| /** Generated Token Manager. */ |
| public ASTParserTokenManager token_source; |
| JavaCharStream jj_input_stream; |
| /** Current token. */ |
| public Token token; |
| /** Next token. */ |
| public Token jj_nt; |
| private int jj_ntk; |
| private Token jj_scanpos, jj_lastpos; |
| private int jj_la; |
| /** Whether we are looking ahead. */ |
| private boolean jj_lookingAhead = false; |
| private boolean jj_semLA; |
| private int jj_gen; |
| final private int[] jj_la1 = new int[175]; |
| static private int[] jj_la1_0; |
| static private int[] jj_la1_1; |
| static private int[] jj_la1_2; |
| static private int[] jj_la1_3; |
| static private int[] jj_la1_4; |
| static { |
| jj_la1_init_0(); |
| jj_la1_init_1(); |
| jj_la1_init_2(); |
| jj_la1_init_3(); |
| jj_la1_init_4(); |
| } |
| private static void jj_la1_init_0() { |
| jj_la1_0 = new int[] {0x0,0x48101000,0x1,0x0,0x0,0x0,0x40001000,0x8100000,0x48101000,0x100000,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4a995000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x4a995000,0x800000,0x8100000,0x2094000,0x4a995000,0x0,0x0,0x0,0x22094000,0x22094000,0x0,0x0,0x0,0x0,0x0,0x0,0x42095000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x22094000,0x6359f000,0x0,0x2094000,0x0,0x0,0x2094000,0x0,0x0,0x0,0x0,0x2094000,0x0,0x0,0x10000000,0x10000000,0x2094000,0x2094000,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,0x22094000,0x0,0x0,0x22094000,0x0,0x0,0x2094000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x22094000,0x62095000,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x22094000,0x0,0x0,0x0,0x0,0x0,0x2094000,0x0,0x0,0x0,0x0,0x2349e000,0x0,0x2349e000,0x0,0x22094000,0x0,0x0,0x0,0x0,0x22094000,0x820000,0x820000,0x4000000,0x62095000,0x22094000,0x22094000,0x62095000,0x22094000,0x0,0x0,0x0,0x22094000,0x0,0x40000,0x0,0x80000000,0x0,0x0,0x0,0x22094000,0x22094000,0x0,0x4a195000,0xa194000,0x4a195000,0x800000,}; |
| } |
| private static void jj_la1_init_1() { |
| jj_la1_1 = new int[] {0x20,0x8899c500,0x0,0x0,0x80000,0x0,0x8899c400,0x100,0x8899c500,0x100,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0xc89dc781,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc89dc781,0x0,0x100,0x40040281,0xc89dc781,0x0,0x0,0x0,0x51241a81,0x51241a81,0x0,0x0,0x0,0x4000000,0x0,0x0,0x889dc681,0x0,0x0,0x0,0x0,0x4000000,0x0,0x0,0x51241a81,0xfbffdf8b,0x80000,0x40281,0x0,0x0,0x40281,0x0,0x0,0x0,0x0,0x40281,0x0,0x0,0x200000,0x200000,0x40281,0x40040281,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51241a81,0x0,0x0,0x51241a81,0x0,0x0,0x40281,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x51241a81,0xd9bdde81,0x0,0x800,0x0,0x11201800,0x0,0x0,0x0,0x0,0x1000800,0x0,0x10001000,0x10000000,0x51241a81,0x0,0x0,0x0,0x0,0x0,0x40281,0x0,0x0,0x0,0x0,0x73e61a8b,0x0,0x73e61a8b,0x0,0x51241a81,0x0,0x800,0x0,0x0,0x51241a81,0x0,0x0,0x0,0xd9bdde81,0x51241a81,0x51241a81,0xd9bdde81,0x51241a81,0x0,0x0,0x0,0x51241a81,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51241a81,0x51241a81,0x0,0x889dc781,0x40381,0x889dc781,0x0,}; |
| } |
| private static void jj_la1_init_2() { |
| jj_la1_2 = new int[] {0x0,0x4800000,0x0,0x4000000,0x0,0x2000000,0x4000000,0x4000000,0x4800000,0x0,0x10000000,0x0,0x0,0x4000000,0x1000000,0x4000000,0x1000000,0x0,0x4004000,0x1000000,0x14884000,0x800000,0x4000000,0x20000,0x80000,0x4000000,0x1000000,0x4000000,0x0,0x4000000,0x0,0x4000000,0x14884000,0x0,0x4000000,0x10004000,0x14804000,0x1000000,0x8000000,0x200000,0x600a7086,0x600a7086,0x1000000,0x10000000,0x200000,0x0,0x880000,0x1000000,0x4004000,0x1000000,0x1000000,0x0,0x10000000,0x0,0x10000000,0x10000000,0x10027086,0x48a7087,0x0,0x0,0x4000000,0x4000000,0x4000,0x4000000,0x1000000,0x10000000,0x4000000,0x80004000,0x4000000,0x4000000,0x0,0x0,0x0,0x4000,0x4000000,0x1000000,0x4000000,0x1000000,0x10000000,0x4000,0x0,0x8000000,0x8000000,0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x60027086,0x60000000,0x60000000,0x27086,0x0,0x4000000,0x4000,0x10000000,0x20000,0x10000000,0x4000,0x2020000,0x1000000,0x1000000,0x60027086,0x64027086,0x10000000,0x4000,0x20000,0x23086,0x4000,0x2000000,0x10000000,0x20000,0x0,0x2200000,0x3086,0x0,0x60027086,0x1000000,0x4000000,0x4000000,0x10000000,0x4220000,0x10004000,0x4000000,0x4000000,0x200000,0x200000,0x8a7087,0x0,0x8a7087,0x1000000,0x600a7086,0x10000000,0x4000,0x8000000,0x8000000,0x27086,0x0,0x0,0x0,0x64027086,0x60027086,0x60027086,0x64827086,0x60027086,0x1000000,0x4000,0x4000,0x60027086,0x20000,0x0,0x0,0x0,0x4000000,0x4000,0x1000000,0x640a7086,0x640a7086,0x1000000,0x4804000,0x4004000,0x4804000,0x0,}; |
| } |
| private static void jj_la1_init_3() { |
| jj_la1_3 = new int[] {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,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0000000,0xdffc0000,0x1ffc0000,0x0,0x20,0x40,0x4000,0x8000,0x2000,0x12,0x12,0x0,0xc,0xc,0x20000,0x600,0x600,0x11800,0x11800,0x600,0x780,0x0,0x0,0x0,0x180,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x0,0x0,0x780,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180,0x1,0x180,0x0,0x780,0x0,0x0,0xdffc0180,0xdffc0180,0x100,0x0,0x0,0x0,0x780,0x780,0x780,0x780,0x780,0x0,0x0,0x0,0x780,0x0,0x0,0x4000,0x0,0x0,0x0,0x0,0x780,0x780,0x0,0x0,0x0,0x0,0x0,}; |
| } |
| private static void jj_la1_init_4() { |
| jj_la1_4 = new int[] {0x0,0x0,0x8,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x10,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,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,0x4,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x10,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,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; |
| } |
| final private JJCalls[] jj_2_rtns = new JJCalls[47]; |
| private boolean jj_rescan = false; |
| private int jj_gc = 0; |
| |
| /** Constructor with InputStream. */ |
| public ASTParser(java.io.InputStream stream) { |
| this(stream, null); |
| } |
| /** Constructor with InputStream and supplied encoding */ |
| public ASTParser(java.io.InputStream stream, String encoding) { |
| try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } |
| token_source = new ASTParserTokenManager(jj_input_stream); |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| /** Reinitialise. */ |
| public void ReInit(java.io.InputStream stream) { |
| ReInit(stream, null); |
| } |
| /** Reinitialise. */ |
| public void ReInit(java.io.InputStream stream, String encoding) { |
| try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } |
| token_source.ReInit(jj_input_stream); |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| /** Constructor. */ |
| public ASTParser(java.io.Reader stream) { |
| jj_input_stream = new JavaCharStream(stream, 1, 1); |
| token_source = new ASTParserTokenManager(jj_input_stream); |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| /** Reinitialise. */ |
| public void ReInit(java.io.Reader stream) { |
| jj_input_stream.ReInit(stream, 1, 1); |
| token_source.ReInit(jj_input_stream); |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| /** Constructor with generated Token Manager. */ |
| public ASTParser(ASTParserTokenManager tm) { |
| token_source = tm; |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| /** Reinitialise. */ |
| public void ReInit(ASTParserTokenManager tm) { |
| token_source = tm; |
| token = new Token(); |
| jj_ntk = -1; |
| jj_gen = 0; |
| for (int i = 0; i < 175; i++) jj_la1[i] = -1; |
| for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls(); |
| } |
| |
| private Token jj_consume_token(int kind) { |
| 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(); |
| } |
| |
| static private final class LookaheadSuccess extends java.lang.Error { } |
| final private LookaheadSuccess jj_ls = new LookaheadSuccess(); |
| private boolean jj_scan_token(int kind) { |
| if (jj_scanpos == jj_lastpos) { |
| jj_la--; |
| if (jj_scanpos.next == null) { |
| jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); |
| } else { |
| jj_lastpos = jj_scanpos = jj_scanpos.next; |
| } |
| } else { |
| jj_scanpos = jj_scanpos.next; |
| } |
| if (jj_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); |
| } |
| if (jj_scanpos.kind != kind) return true; |
| if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls; |
| return false; |
| } |
| |
| |
| /** Get the next Token. */ |
| 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; |
| } |
| |
| /** Get the specific Token. */ |
| final public Token getToken(int index) { |
| Token t = jj_lookingAhead ? jj_scanpos : token; |
| for (int i = 0; i < index; i++) { |
| if (t.next != null) t = t.next; |
| else t = t.next = token_source.getNextToken(); |
| } |
| return t; |
| } |
| |
| private int jj_ntk() { |
| if ((jj_nt=token.next) == null) |
| return (jj_ntk = (token.next=token_source.getNextToken()).kind); |
| else |
| return (jj_ntk = jj_nt.kind); |
| } |
| |
| private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>(); |
| 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]; |
| } |
| jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) { |
| int[] oldentry = (int[])(it.next()); |
| if (oldentry.length == jj_expentry.length) { |
| for (int i = 0; i < jj_expentry.length; i++) { |
| if (oldentry[i] != jj_expentry[i]) { |
| continue jj_entries_loop; |
| } |
| } |
| jj_expentries.add(jj_expentry); |
| break jj_entries_loop; |
| } |
| } |
| if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; |
| } |
| } |
| |
| /** Generate ParseException. */ |
| public ParseException generateParseException() { |
| jj_expentries.clear(); |
| boolean[] la1tokens = new boolean[133]; |
| if (jj_kind >= 0) { |
| la1tokens[jj_kind] = true; |
| jj_kind = -1; |
| } |
| for (int i = 0; i < 175; i++) { |
| if (jj_la1[i] == jj_gen) { |
| for (int j = 0; j < 32; j++) { |
| if ((jj_la1_0[i] & (1<<j)) != 0) { |
| la1tokens[j] = true; |
| } |
| if ((jj_la1_1[i] & (1<<j)) != 0) { |
| la1tokens[32+j] = true; |
| } |
| if ((jj_la1_2[i] & (1<<j)) != 0) { |
| la1tokens[64+j] = true; |
| } |
| if ((jj_la1_3[i] & (1<<j)) != 0) { |
| la1tokens[96+j] = true; |
| } |
| if ((jj_la1_4[i] & (1<<j)) != 0) { |
| la1tokens[128+j] = true; |
| } |
| } |
| } |
| } |
| for (int i = 0; i < 133; i++) { |
| if (la1tokens[i]) { |
| jj_expentry = new int[1]; |
| jj_expentry[0] = i; |
| jj_expentries.add(jj_expentry); |
| } |
| } |
| jj_endpos = 0; |
| jj_rescan_token(); |
| jj_add_error_token(0, 0); |
| int[][] exptokseq = new int[jj_expentries.size()][]; |
| for (int i = 0; i < jj_expentries.size(); i++) { |
| exptokseq[i] = jj_expentries.get(i); |
| } |
| return new ParseException(token, exptokseq, tokenImage); |
| } |
| |
| /** Enable tracing. */ |
| final public void enable_tracing() { |
| } |
| |
| /** Disable tracing. */ |
| final public void disable_tracing() { |
| } |
| |
| private void jj_rescan_token() { |
| jj_rescan = true; |
| for (int i = 0; i < 47; i++) { |
| try { |
| JJCalls p = jj_2_rtns[i]; |
| do { |
| if (p.gen > 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; |
| } |
| } |
| p = p.next; |
| } while (p != null); |
| } catch(LookaheadSuccess ls) { } |
| } |
| jj_rescan = false; |
| } |
| |
| 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; |
| } |
| |
| } |