();
- type.setMembers(members);
- }
- members.add(decl);
- }
-
-}
diff --git a/JavaParser/src/com/github/javaparser/ASTParser.java b/JavaParser/src/com/github/javaparser/ASTParser.java
deleted file mode 100644
index 5247896..0000000
--- a/JavaParser/src/com/github/javaparser/ASTParser.java
+++ /dev/null
@@ -1,9141 +0,0 @@
-/* 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 .
- */
-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.*;
-
-/**
- * This class was generated automatically by javacc, do not edit.
- */
-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) throws ParseException {
- if ((ModifierSet.hasModifier(modifiers, mod))) {
- throwParseException(token, "Duplicated modifier");
- }
- return ModifierSet.addModifier(modifiers, mod);
- }
-
- private void throwParseException(Token token, String message) throws ParseException {
- StringBuilder buf = new StringBuilder();
- buf.append(message);
- buf.append(": \u005c"");
- buf.append(token.image);
- buf.append("\u005c" 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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) throws ParseException {
- 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) throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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) throws ParseException {
- 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, "\u005c"default\u005c" 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 \u005c"default\u005c".");
- }
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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
- {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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); arrayExpr = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, null, 0);
- arr = ArrayDimsAndInits();
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- List ret;
- ret = ExpressionList();
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public BreakStmt BreakStatement() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
-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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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() throws ParseException {
- 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) throws ParseException {
- 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() throws ParseException {
- 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_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_92() {
- if (jj_3R_133()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_134()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- 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_88() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) 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_388() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_172()) 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_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_154() {
- if (jj_3R_123()) 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_241() {
- 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_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_420() {
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3R_86() {
- if (jj_3R_125()) 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_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_22() {
- if (jj_3R_104()) return true;
- return false;
- }
-
- private boolean jj_3R_277() {
- if (jj_3R_303()) 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_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_275() {
- if (jj_3R_301()) 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_274() {
- if (jj_3R_300()) return true;
- return false;
- }
-
- private boolean jj_3R_273() {
- if (jj_3R_299()) 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_272() {
- if (jj_3R_298()) return true;
- return false;
- }
-
- private boolean jj_3R_265() {
- if (jj_scan_token(TILDE)) 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_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_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_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_3_6() {
- if (jj_3R_89()) 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_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_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_211() {
- if (jj_3R_201()) return true;
- return false;
- }
-
- private boolean jj_3R_435() {
- if (jj_3R_452()) 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_279() {
- if (jj_3R_123()) 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_244() {
- if (jj_scan_token(MINUS)) return true;
- return false;
- }
-
- private boolean jj_3R_452() {
- if (jj_3R_459()) return true;
- return false;
- }
-
- private boolean jj_3R_243() {
- if (jj_scan_token(PLUS)) 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_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_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_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_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_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_3_3() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_85()) 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_457() {
- if (jj_3R_117()) 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_430() {
- if (jj_scan_token(REM)) return true;
- return false;
- }
-
- private boolean jj_3R_429() {
- if (jj_scan_token(SLASH)) return true;
- return false;
- }
-
- private boolean jj_3R_217() {
- if (jj_3R_123()) return true;
- 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_408() {
- if (jj_3R_113()) return true;
- 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_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_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_3_40() {
- if (jj_3R_117()) return true;
- if (jj_scan_token(COLON)) return true;
- return false;
- }
-
- private boolean jj_3R_414() {
- if (jj_scan_token(MINUS)) return true;
- return false;
- }
-
- private boolean jj_3R_433() {
- if (jj_3R_451()) return true;
- return false;
- }
-
- private boolean jj_3R_413() {
- if (jj_scan_token(PLUS)) 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_407() {
- if (jj_3R_187()) 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_124() {
- if (jj_3R_123()) 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_3_21() {
- if (jj_3R_103()) return true;
- return false;
- }
-
- private boolean jj_3R_398() {
- if (jj_3R_206()) return true;
- return false;
- }
-
- private boolean jj_3_20() {
- if (jj_3R_102()) 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_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_373() {
- if (jj_scan_token(INSTANCEOF)) return true;
- if (jj_3R_87()) 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_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_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_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_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_381() {
- if (jj_3R_397()) return true;
- 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_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_369() {
- if (jj_scan_token(BIT_AND)) return true;
- if (jj_3R_345()) return true;
- return false;
- }
-
- private boolean jj_3R_405() {
- if (jj_3R_123()) 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_375() {
- if (jj_scan_token(NE)) 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_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_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_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_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_403() {
- if (jj_3R_123()) 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_316() {
- if (jj_scan_token(SC_AND)) return true;
- if (jj_3R_264()) 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_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_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_295() {
- if (jj_scan_token(SC_OR)) return true;
- if (jj_3R_233()) return true;
- 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_319() {
- if (jj_scan_token(INTERFACE)) 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_380() {
- if (jj_3R_397()) 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_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_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_173() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_172()) 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_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_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_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_318() {
- if (jj_3R_128()) 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_80() {
- if (jj_scan_token(NATIVE)) return true;
- return false;
- }
-
- private boolean jj_3R_297() {
- if (jj_3R_125()) return true;
- return false;
- }
-
- private boolean jj_3R_79() {
- if (jj_scan_token(SYNCHRONIZED)) return true;
- return false;
- }
-
- private boolean jj_3R_317() {
- if (jj_3R_100()) return true;
- return false;
- }
-
- private boolean jj_3R_78() {
- if (jj_scan_token(ABSTRACT)) return true;
- return false;
- }
-
- private boolean jj_3R_77() {
- if (jj_scan_token(FINAL)) return true;
- return false;
- }
-
- private boolean jj_3R_114() {
- if (jj_3R_123()) return true;
- return false;
- }
-
- private boolean jj_3R_76() {
- if (jj_scan_token(PRIVATE)) 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_75() {
- if (jj_scan_token(PROTECTED)) 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_74() {
- if (jj_scan_token(STATIC)) 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_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_3R_349() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3_18() {
- if (jj_3R_99()) return true;
- if (jj_3R_100()) 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_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_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_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_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_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_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_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_227() {
- if (jj_scan_token(IDENTIFIER)) return true;
- 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_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_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_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_3R_170() {
- if (jj_3R_87()) return true;
- return false;
- }
-
- private boolean jj_3R_339() {
- if (jj_3R_361()) return true;
- return false;
- }
-
- private boolean jj_3R_169() {
- if (jj_scan_token(VOID)) 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_336() {
- if (jj_3R_358()) return true;
- return false;
- }
-
- private boolean jj_3R_335() {
- if (jj_3R_357()) 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_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_330() {
- if (jj_3R_352()) return true;
- return false;
- }
-
- private boolean jj_3R_163() {
- if (jj_scan_token(DOUBLE)) return true;
- return false;
- }
-
- private boolean jj_3R_329() {
- if (jj_3R_351()) return true;
- return false;
- }
-
- private boolean jj_3R_162() {
- if (jj_scan_token(FLOAT)) return true;
- return false;
- }
-
- private boolean jj_3R_328() {
- if (jj_3R_350()) return true;
- return false;
- }
-
- private boolean jj_3R_161() {
- if (jj_scan_token(LONG)) return true;
- return false;
- }
-
- private boolean jj_3R_327() {
- if (jj_3R_349()) 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_326() {
- if (jj_3R_128()) return true;
- return false;
- }
-
- private boolean jj_3R_159() {
- if (jj_scan_token(SHORT)) return true;
- return false;
- }
-
- private boolean jj_3R_325() {
- if (jj_3R_348()) 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_3_36() {
- if (jj_3R_115()) return true;
- return false;
- }
-
- private boolean jj_3R_156() {
- if (jj_scan_token(BOOLEAN)) 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_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_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_342() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- 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_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_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_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_232() {
- if (jj_3R_263()) return true;
- 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_231() {
- if (jj_3R_94()) 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_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_460() {
- if (jj_3R_462()) return true;
- return false;
- }
-
- private boolean jj_3R_291() {
- if (jj_3R_289()) return true;
- return false;
- }
-
- private boolean jj_3R_138() {
- if (jj_scan_token(132)) return true;
- return false;
- }
-
- private boolean jj_3R_95() {
- 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_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_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_3_16() {
- if (jj_3R_97()) 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_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_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_3R_261() {
- if (jj_3R_107()) return true;
- if (jj_3R_289()) return true;
- return false;
- }
-
- private boolean jj_3_14() {
- if (jj_3R_97()) 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_260() {
- if (jj_3R_123()) return true;
- 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_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_462() {
- if (jj_scan_token(_DEFAULT)) return true;
- if (jj_3R_121()) return true;
- 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_219() {
- if (jj_3R_247()) return true;
- 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_126() {
- if (jj_3R_107()) return true;
- return false;
- }
-
- private boolean jj_3_11() {
- if (jj_3R_94()) 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_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_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_442() {
- if (jj_3R_300()) return true;
- return false;
- }
-
- private boolean jj_3R_441() {
- if (jj_3R_299()) return true;
- return false;
- }
-
- private boolean jj_3R_440() {
- if (jj_3R_298()) 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_127() {
- if (jj_scan_token(STATIC)) return true;
- return false;
- }
-
- private boolean jj_3R_307() {
- if (jj_scan_token(TRUE)) 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_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_218() {
- if (jj_3R_246()) 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_285() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_307()) {
- jj_scanpos = xsp;
- if (jj_3R_308()) 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_254() {
- if (jj_3R_286()) 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_253() {
- if (jj_3R_285()) return true;
- return false;
- }
-
- private boolean jj_3R_399() {
- if (jj_3R_409()) 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_3R_252() {
- if (jj_scan_token(STRING_LITERAL)) 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_188() {
- if (jj_3R_92()) return true;
- if (jj_scan_token(DOT)) 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_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_250() {
- if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3R_186() {
- if (jj_3R_97()) 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_249() {
- if (jj_scan_token(LONG_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3R_248() {
- if (jj_scan_token(INTEGER_LITERAL)) 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_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_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_3_8() {
- if (jj_3R_91()) 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_3_7() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_90()) return true;
- 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_167() {
- if (jj_scan_token(ELLIPSIS)) return true;
- return false;
- }
-
- private boolean jj_3R_278() {
- if (jj_3R_304()) 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_3R_203() {
- if (jj_3R_225()) 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_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_320() {
- if (jj_3R_125()) return true;
- return false;
- }
-
- private boolean jj_3R_175() {
- if (jj_3R_123()) 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_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_410() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_110()) 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_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_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_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_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_228() {
- if (jj_3R_187()) 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_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_3R_341() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_168()) return true;
- 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_205() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) 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_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_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_120() {
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(ASSIGN)) 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_288() {
- if (jj_3R_310()) return true;
- 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_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_215() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_119()) 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_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_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_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_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_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_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_180() {
- if (jj_3R_215()) return true;
- 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_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_179() {
- if (jj_3R_214()) 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_391() {
- if (jj_3R_128()) 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_390() {
- if (jj_scan_token(THROWS)) return true;
- if (jj_3R_401()) 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_321() {
- if (jj_3R_125()) return true;
- return false;
- }
-
- private boolean jj_3R_223() {
- if (jj_3R_187()) 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_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_152() {
- 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_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_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_130() {
- if (jj_3R_100()) return true;
- return false;
- }
-
- private boolean jj_3R_190() {
- if (jj_3R_220()) 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_134() {
- if (jj_3R_109()) 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_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_3_25() {
- if (jj_3R_108()) 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;
- }
-
- /** 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) throws ParseException {
- Token oldToken;
- if ((oldToken = token).next != null) token = token.next;
- else token = token.next = token_source.getNextToken();
- jj_ntk = -1;
- if (token.kind == kind) {
- jj_gen++;
- if (++jj_gc > 100) {
- jj_gc = 0;
- for (int i = 0; i < jj_2_rtns.length; i++) {
- JJCalls c = jj_2_rtns[i];
- while (c != null) {
- if (c.gen < jj_gen) c.first = null;
- c = c.next;
- }
- }
- }
- return token;
- }
- token = oldToken;
- jj_kind = kind;
- throw generateParseException();
- }
-
- 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 jj_expentries = new java.util.ArrayList();
- 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< 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;
- }
-
-}
diff --git a/JavaParser/src/com/github/javaparser/ASTParserTokenManager.java b/JavaParser/src/com/github/javaparser/ASTParserTokenManager.java
deleted file mode 100644
index 326f573..0000000
--- a/JavaParser/src/com/github/javaparser/ASTParserTokenManager.java
+++ /dev/null
@@ -1,2559 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ASTParserTokenManager.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 .
- */
-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.*;
-
-/** Token Manager. */
-public class ASTParserTokenManager implements ASTParserConstants
-{
-
- /** Debug output. */
- public java.io.PrintStream debugStream = System.out;
- /** Set debug output. */
- public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, long active2)
-{
- switch (pos)
- {
- case 0:
- if ((active0 & 0xfffffffffffff000L) != 0L || (active1 & 0x1L) != 0L)
- {
- jjmatchedKind = 78;
- return 43;
- }
- if ((active0 & 0x100L) != 0L || (active1 & 0x20100000000000L) != 0L)
- return 45;
- if ((active1 & 0x2000000002000000L) != 0L)
- return 1;
- return -1;
- case 1:
- if ((active0 & 0x803000000L) != 0L)
- return 43;
- if ((active0 & 0xfffffff7fcfff000L) != 0L || (active1 & 0x1L) != 0L)
- {
- if (jjmatchedPos != 1)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 1;
- }
- return 43;
- }
- if ((active0 & 0x100L) != 0L)
- return 50;
- return -1;
- case 2:
- if ((active0 & 0x2000098200000000L) != 0L)
- return 43;
- if ((active0 & 0xdffff675fefff000L) != 0L || (active1 & 0x1L) != 0L)
- {
- if (jjmatchedPos != 2)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 2;
- }
- return 43;
- }
- return -1;
- case 3:
- if ((active0 & 0x8effe571f2f4f000L) != 0L || (active1 & 0x1L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 3;
- return 43;
- }
- if ((active0 & 0x510012040c0b0000L) != 0L)
- return 43;
- return -1;
- case 4:
- if ((active0 & 0x88dbe57012c07000L) != 0L)
- {
- if (jjmatchedPos != 4)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 4;
- }
- return 43;
- }
- if ((active0 & 0x6240001e0348000L) != 0L || (active1 & 0x1L) != 0L)
- return 43;
- return -1;
- case 5:
- if ((active0 & 0x44b042002002000L) != 0L)
- return 43;
- if ((active0 & 0x8890e15090c05000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 5;
- return 43;
- }
- return -1;
- case 6:
- if ((active0 & 0x600090804000L) != 0L)
- return 43;
- if ((active0 & 0x8890815000401000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 6;
- return 43;
- }
- return -1;
- case 7:
- if ((active0 & 0x880815000000000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 7;
- return 43;
- }
- if ((active0 & 0x8010000000401000L) != 0L)
- return 43;
- return -1;
- case 8:
- if ((active0 & 0x800810000000000L) != 0L)
- return 43;
- if ((active0 & 0x80005000000000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 8;
- return 43;
- }
- return -1;
- case 9:
- if ((active0 & 0x5000000000L) != 0L)
- return 43;
- if ((active0 & 0x80000000000000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 9;
- return 43;
- }
- return -1;
- case 10:
- if ((active0 & 0x80000000000000L) != 0L)
- {
- jjmatchedKind = 78;
- jjmatchedPos = 10;
- return 43;
- }
- return -1;
- default :
- return -1;
- }
-}
-private final int jjStartNfa_0(int pos, long active0, long active1, long active2)
-{
- return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1, active2), pos + 1);
-}
-private int jjStopAtPos(int pos, int kind)
-{
- jjmatchedKind = kind;
- jjmatchedPos = pos;
- return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0()
-{
- switch(curChar)
- {
- case 26:
- return jjStopAtPos(0, 131);
- case 33:
- jjmatchedKind = 93;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000L, 0x0L);
- case 37:
- jjmatchedKind = 112;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000000000L, 0x0L);
- case 38:
- jjmatchedKind = 109;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x40004000000000L, 0x0L);
- case 40:
- return jjStopAtPos(0, 81);
- case 41:
- return jjStopAtPos(0, 82);
- case 42:
- jjmatchedKind = 107;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x10000000000000L, 0x0L);
- case 43:
- jjmatchedKind = 105;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x4008000000000L, 0x0L);
- case 44:
- return jjStopAtPos(0, 88);
- case 45:
- jjmatchedKind = 106;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x4008010000000000L, 0x0L);
- case 46:
- jjmatchedKind = 89;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x2000000000000000L, 0x0L);
- case 47:
- jjmatchedKind = 108;
- return jjMoveStringLiteralDfa1_0(0x100L, 0x20000000000000L, 0x0L);
- case 58:
- jjmatchedKind = 96;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000000000000L, 0x0L);
- case 59:
- return jjStopAtPos(0, 87);
- case 60:
- jjmatchedKind = 92;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x402000400000000L, 0x10L);
- case 61:
- jjmatchedKind = 91;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000L, 0x0L);
- case 62:
- jjmatchedKind = 130;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1800000800000000L, 0x3L);
- case 63:
- return jjStopAtPos(0, 95);
- case 64:
- return jjStopAtPos(0, 90);
- case 91:
- return jjStopAtPos(0, 85);
- case 93:
- return jjStopAtPos(0, 86);
- case 94:
- jjmatchedKind = 111;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L, 0x0L);
- case 97:
- return jjMoveStringLiteralDfa1_0(0x3000L, 0x0L, 0x0L);
- case 98:
- return jjMoveStringLiteralDfa1_0(0x1c000L, 0x0L, 0x0L);
- case 99:
- return jjMoveStringLiteralDfa1_0(0x7e0000L, 0x0L, 0x0L);
- case 100:
- return jjMoveStringLiteralDfa1_0(0x3800000L, 0x0L, 0x0L);
- case 101:
- return jjMoveStringLiteralDfa1_0(0x1c000000L, 0x0L, 0x0L);
- case 102:
- return jjMoveStringLiteralDfa1_0(0x3e0000000L, 0x0L, 0x0L);
- case 103:
- return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L, 0x0L);
- case 105:
- return jjMoveStringLiteralDfa1_0(0x1f800000000L, 0x0L, 0x0L);
- case 108:
- return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L, 0x0L);
- case 110:
- return jjMoveStringLiteralDfa1_0(0x1c0000000000L, 0x0L, 0x0L);
- case 112:
- return jjMoveStringLiteralDfa1_0(0x1e00000000000L, 0x0L, 0x0L);
- case 114:
- return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L, 0x0L);
- case 115:
- return jjMoveStringLiteralDfa1_0(0xfc000000000000L, 0x0L, 0x0L);
- case 116:
- return jjMoveStringLiteralDfa1_0(0x3f00000000000000L, 0x0L, 0x0L);
- case 118:
- return jjMoveStringLiteralDfa1_0(0xc000000000000000L, 0x0L, 0x0L);
- case 119:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1L, 0x0L);
- case 123:
- return jjStopAtPos(0, 83);
- case 124:
- jjmatchedKind = 110;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x80002000000000L, 0x0L);
- case 125:
- return jjStopAtPos(0, 84);
- case 126:
- return jjStopAtPos(0, 94);
- default :
- return jjMoveNfa_0(0, 0);
- }
-}
-private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2)
-{
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(0, active0, active1, active2);
- return 1;
- }
- switch(curChar)
- {
- case 38:
- if ((active1 & 0x4000000000L) != 0L)
- return jjStopAtPos(1, 102);
- break;
- case 42:
- if ((active0 & 0x100L) != 0L)
- return jjStartNfaWithStates_0(1, 8, 50);
- break;
- case 43:
- if ((active1 & 0x8000000000L) != 0L)
- return jjStopAtPos(1, 103);
- break;
- case 45:
- if ((active1 & 0x10000000000L) != 0L)
- return jjStopAtPos(1, 104);
- break;
- case 46:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000000000000L, active2, 0L);
- case 58:
- if ((active1 & 0x8000000000000000L) != 0L)
- return jjStopAtPos(1, 127);
- break;
- case 60:
- if ((active1 & 0x2000000000000L) != 0L)
- {
- jjmatchedKind = 113;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x400000000000000L, active2, 0L);
- case 61:
- if ((active1 & 0x200000000L) != 0L)
- return jjStopAtPos(1, 97);
- else if ((active1 & 0x400000000L) != 0L)
- return jjStopAtPos(1, 98);
- else if ((active1 & 0x800000000L) != 0L)
- return jjStopAtPos(1, 99);
- else if ((active1 & 0x1000000000L) != 0L)
- return jjStopAtPos(1, 100);
- else if ((active1 & 0x4000000000000L) != 0L)
- return jjStopAtPos(1, 114);
- else if ((active1 & 0x8000000000000L) != 0L)
- return jjStopAtPos(1, 115);
- else if ((active1 & 0x10000000000000L) != 0L)
- return jjStopAtPos(1, 116);
- else if ((active1 & 0x20000000000000L) != 0L)
- return jjStopAtPos(1, 117);
- else if ((active1 & 0x40000000000000L) != 0L)
- return jjStopAtPos(1, 118);
- else if ((active1 & 0x80000000000000L) != 0L)
- return jjStopAtPos(1, 119);
- else if ((active1 & 0x100000000000000L) != 0L)
- return jjStopAtPos(1, 120);
- else if ((active1 & 0x200000000000000L) != 0L)
- return jjStopAtPos(1, 121);
- break;
- case 62:
- if ((active1 & 0x4000000000000000L) != 0L)
- return jjStopAtPos(1, 126);
- else if ((active2 & 0x2L) != 0L)
- {
- jjmatchedKind = 129;
- jjmatchedPos = 1;
- }
- else if ((active2 & 0x10L) != 0L)
- return jjStopAtPos(1, 132);
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1800000000000000L, active2, 0x1L);
- case 97:
- return jjMoveStringLiteralDfa2_0(active0, 0x240020060000L, active1, 0L, active2, 0L);
- case 98:
- return jjMoveStringLiteralDfa2_0(active0, 0x1000L, active1, 0L, active2, 0L);
- case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x2080000800000L, active1, 0L, active2, 0L);
- case 102:
- if ((active0 & 0x800000000L) != 0L)
- return jjStartNfaWithStates_0(1, 35, 43);
- break;
- case 104:
- return jjMoveStringLiteralDfa2_0(active0, 0x704000000080000L, active1, 0x1L, active2, 0L);
- case 105:
- return jjMoveStringLiteralDfa2_0(active0, 0xc0000000L, active1, 0L, active2, 0L);
- case 108:
- return jjMoveStringLiteralDfa2_0(active0, 0x104100000L, active1, 0L, active2, 0L);
- case 109:
- return jjMoveStringLiteralDfa2_0(active0, 0x3000000000L, active1, 0L, active2, 0L);
- case 110:
- return jjMoveStringLiteralDfa2_0(active0, 0x1c008000000L, active1, 0L, active2, 0L);
- case 111:
- if ((active0 & 0x1000000L) != 0L)
- {
- jjmatchedKind = 24;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0xc000020602604000L, active1, 0L, active2, 0L);
- case 114:
- return jjMoveStringLiteralDfa2_0(active0, 0x3800c00000008000L, active1, 0L, active2, 0L);
- case 115:
- return jjMoveStringLiteralDfa2_0(active0, 0x2000L, active1, 0L, active2, 0L);
- case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0x18000000000000L, active1, 0L, active2, 0L);
- case 117:
- return jjMoveStringLiteralDfa2_0(active0, 0x21100000000000L, active1, 0L, active2, 0L);
- case 119:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L, active2, 0L);
- case 120:
- return jjMoveStringLiteralDfa2_0(active0, 0x10000000L, active1, 0L, active2, 0L);
- case 121:
- return jjMoveStringLiteralDfa2_0(active0, 0x80000000010000L, active1, 0L, active2, 0L);
- case 124:
- if ((active1 & 0x2000000000L) != 0L)
- return jjStopAtPos(1, 101);
- break;
- default :
- break;
- }
- return jjStartNfa_0(0, active0, active1, active2);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1, long old2, long active2)
-{
- if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2)) == 0L)
- return jjStartNfa_0(0, old0, old1, old2);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(1, active0, active1, active2);
- return 2;
- }
- switch(curChar)
- {
- case 46:
- if ((active1 & 0x2000000000000000L) != 0L)
- return jjStopAtPos(2, 125);
- break;
- case 61:
- if ((active1 & 0x400000000000000L) != 0L)
- return jjStopAtPos(2, 122);
- else if ((active1 & 0x800000000000000L) != 0L)
- return jjStopAtPos(2, 123);
- break;
- case 62:
- if ((active2 & 0x1L) != 0L)
- {
- jjmatchedKind = 128;
- jjmatchedPos = 2;
- }
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x1000000000000000L, active2, 0L);
- case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x808000000180000L, active1, 0L, active2, 0L);
- case 98:
- return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0L, active2, 0L);
- case 99:
- return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L, active2, 0L);
- case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000L, active1, 0L, active2, 0L);
- case 102:
- return jjMoveStringLiteralDfa3_0(active0, 0x800000L, active1, 0L, active2, 0L);
- case 105:
- return jjMoveStringLiteralDfa3_0(active0, 0x4140400000000000L, active1, 0x1L, active2, 0L);
- case 108:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000100020000000L, active1, 0L, active2, 0L);
- case 110:
- return jjMoveStringLiteralDfa3_0(active0, 0x800200c0600000L, active1, 0L, active2, 0L);
- case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x4800100004000L, active1, 0L, active2, 0L);
- case 112:
- return jjMoveStringLiteralDfa3_0(active0, 0x20003000000000L, active1, 0L, active2, 0L);
- case 114:
- if ((active0 & 0x200000000L) != 0L)
- return jjStartNfaWithStates_0(2, 33, 43);
- return jjMoveStringLiteralDfa3_0(active0, 0x610000000000000L, active1, 0L, active2, 0L);
- case 115:
- return jjMoveStringLiteralDfa3_0(active0, 0x4004023000L, active1, 0L, active2, 0L);
- case 116:
- if ((active0 & 0x8000000000L) != 0L)
- {
- jjmatchedKind = 39;
- jjmatchedPos = 2;
- }
- return jjMoveStringLiteralDfa3_0(active0, 0x2050410050000L, active1, 0L, active2, 0L);
- case 117:
- return jjMoveStringLiteralDfa3_0(active0, 0x100000000a000000L, active1, 0L, active2, 0L);
- case 119:
- if ((active0 & 0x80000000000L) != 0L)
- return jjStartNfaWithStates_0(2, 43, 43);
- break;
- case 121:
- if ((active0 & 0x2000000000000000L) != 0L)
- return jjStartNfaWithStates_0(2, 61, 43);
- break;
- default :
- break;
- }
- return jjStartNfa_0(1, active0, active1, active2);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1, long old2, long active2)
-{
- if (((active0 &= old0) | (active1 &= old1) | (active2 &= old2)) == 0L)
- return jjStartNfa_0(1, old0, old1, old2);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(2, active0, active1, 0L);
- return 3;
- }
- switch(curChar)
- {
- case 61:
- if ((active1 & 0x1000000000000000L) != 0L)
- return jjStopAtPos(3, 124);
- break;
- case 97:
- return jjMoveStringLiteralDfa4_0(active0, 0x80000001c0808000L, active1, 0L);
- case 98:
- return jjMoveStringLiteralDfa4_0(active0, 0x2000000L, active1, 0L);
- case 99:
- return jjMoveStringLiteralDfa4_0(active0, 0x80000000040000L, active1, 0L);
- case 100:
- if ((active0 & 0x4000000000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 62, 43);
- break;
- case 101:
- if ((active0 & 0x10000L) != 0L)
- return jjStartNfaWithStates_0(3, 16, 43);
- else if ((active0 & 0x20000L) != 0L)
- return jjStartNfaWithStates_0(3, 17, 43);
- else if ((active0 & 0x4000000L) != 0L)
- return jjStartNfaWithStates_0(3, 26, 43);
- else if ((active0 & 0x1000000000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 60, 43);
- return jjMoveStringLiteralDfa4_0(active0, 0x20010010002000L, active1, 0L);
- case 103:
- if ((active0 & 0x20000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 41, 43);
- break;
- case 105:
- return jjMoveStringLiteralDfa4_0(active0, 0x10040000000000L, active1, 0L);
- case 107:
- return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0L);
- case 108:
- if ((active0 & 0x100000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 44, 43);
- return jjMoveStringLiteralDfa4_0(active0, 0x1001000004000L, active1, 0x1L);
- case 109:
- if ((active0 & 0x8000000L) != 0L)
- return jjStartNfaWithStates_0(3, 27, 43);
- break;
- case 110:
- return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
- case 111:
- if ((active0 & 0x400000000L) != 0L)
- return jjStartNfaWithStates_0(3, 34, 43);
- return jjMoveStringLiteralDfa4_0(active0, 0x600002000000000L, active1, 0L);
- case 114:
- if ((active0 & 0x80000L) != 0L)
- return jjStartNfaWithStates_0(3, 19, 43);
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L);
- case 115:
- if ((active0 & 0x100000000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 56, 43);
- return jjMoveStringLiteralDfa4_0(active0, 0x20300000L, active1, 0L);
- case 116:
- return jjMoveStringLiteralDfa4_0(active0, 0x48804000401000L, active1, 0L);
- case 117:
- return jjMoveStringLiteralDfa4_0(active0, 0x2000000000000L, active1, 0L);
- case 118:
- return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0L);
- default :
- break;
- }
- return jjStartNfa_0(2, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
-{
- if (((active0 &= old0) | (active1 &= old1)) == 0L)
- return jjStartNfa_0(2, old0, old1, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(3, active0, active1, 0L);
- return 4;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa5_0(active0, 0x604000000000L, active1, 0L);
- case 99:
- return jjMoveStringLiteralDfa5_0(active0, 0x50000000000000L, active1, 0L);
- case 101:
- if ((active0 & 0x20000000L) != 0L)
- return jjStartNfaWithStates_0(4, 29, 43);
- else if ((active1 & 0x1L) != 0L)
- return jjStartNfaWithStates_0(4, 64, 43);
- return jjMoveStringLiteralDfa5_0(active0, 0x801000004000L, active1, 0L);
- case 104:
- if ((active0 & 0x40000L) != 0L)
- return jjStartNfaWithStates_0(4, 18, 43);
- return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0L);
- case 105:
- return jjMoveStringLiteralDfa5_0(active0, 0x9000000400000L, active1, 0L);
- case 107:
- if ((active0 & 0x8000L) != 0L)
- return jjStartNfaWithStates_0(4, 15, 43);
- break;
- case 108:
- if ((active0 & 0x40000000L) != 0L)
- {
- jjmatchedKind = 30;
- jjmatchedPos = 4;
- }
- return jjMoveStringLiteralDfa5_0(active0, 0x82000000L, active1, 0L);
- case 110:
- return jjMoveStringLiteralDfa5_0(active0, 0x10000000L, active1, 0L);
- case 114:
- if ((active0 & 0x20000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 53, 43);
- return jjMoveStringLiteralDfa5_0(active0, 0x2012000003000L, active1, 0L);
- case 115:
- if ((active0 & 0x100000L) != 0L)
- return jjStartNfaWithStates_0(4, 20, 43);
- return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0L);
- case 116:
- if ((active0 & 0x200000L) != 0L)
- return jjStartNfaWithStates_0(4, 21, 43);
- else if ((active0 & 0x100000000L) != 0L)
- return jjStartNfaWithStates_0(4, 32, 43);
- else if ((active0 & 0x4000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 50, 43);
- return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000000L, active1, 0L);
- case 117:
- return jjMoveStringLiteralDfa5_0(active0, 0x800000L, active1, 0L);
- case 118:
- return jjMoveStringLiteralDfa5_0(active0, 0x40000000000L, active1, 0L);
- case 119:
- if ((active0 & 0x200000000000000L) != 0L)
- {
- jjmatchedKind = 57;
- jjmatchedPos = 4;
- }
- return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0L);
- default :
- break;
- }
- return jjStartNfa_0(3, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long active1)
-{
- if (((active0 &= old0) | (active1 &= old1)) == 0L)
- return jjStartNfa_0(3, old0, old1, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(4, active0, 0L, 0L);
- return 5;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa6_0(active0, 0x5000L);
- case 99:
- if ((active0 & 0x1000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 48, 43);
- else if ((active0 & 0x8000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 51, 43);
- return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L);
- case 100:
- return jjMoveStringLiteralDfa6_0(active0, 0x10000000L);
- case 101:
- if ((active0 & 0x2000000L) != 0L)
- return jjStartNfaWithStates_0(5, 25, 43);
- else if ((active0 & 0x40000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 42, 43);
- break;
- case 102:
- return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L);
- case 103:
- return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L);
- case 104:
- if ((active0 & 0x40000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 54, 43);
- break;
- case 105:
- return jjMoveStringLiteralDfa6_0(active0, 0x8800000000000000L);
- case 108:
- return jjMoveStringLiteralDfa6_0(active0, 0x80800000L);
- case 109:
- return jjMoveStringLiteralDfa6_0(active0, 0x1000000000L);
- case 110:
- if ((active0 & 0x2000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 49, 43);
- return jjMoveStringLiteralDfa6_0(active0, 0x4000400000L);
- case 114:
- return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L);
- case 115:
- if ((active0 & 0x400000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 58, 43);
- break;
- case 116:
- if ((active0 & 0x2000L) != 0L)
- return jjStartNfaWithStates_0(5, 13, 43);
- else if ((active0 & 0x2000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 37, 43);
- return jjMoveStringLiteralDfa6_0(active0, 0x10400000000000L);
- default :
- break;
- }
- return jjStartNfa_0(4, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa6_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(4, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(5, active0, 0L, 0L);
- return 6;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa7_0(active0, 0x10000000000L);
- case 99:
- return jjMoveStringLiteralDfa7_0(active0, 0x4000001000L);
- case 101:
- if ((active0 & 0x200000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 45, 43);
- else if ((active0 & 0x400000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 46, 43);
- return jjMoveStringLiteralDfa7_0(active0, 0x800001000000000L);
- case 102:
- return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L);
- case 108:
- return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000000L);
- case 110:
- if ((active0 & 0x4000L) != 0L)
- return jjStartNfaWithStates_0(6, 14, 43);
- break;
- case 111:
- return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L);
- case 115:
- if ((active0 & 0x10000000L) != 0L)
- return jjStartNfaWithStates_0(6, 28, 43);
- break;
- case 116:
- if ((active0 & 0x800000L) != 0L)
- return jjStartNfaWithStates_0(6, 23, 43);
- return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L);
- case 117:
- return jjMoveStringLiteralDfa7_0(active0, 0x400000L);
- case 121:
- if ((active0 & 0x80000000L) != 0L)
- return jjStartNfaWithStates_0(6, 31, 43);
- break;
- default :
- break;
- }
- return jjStartNfa_0(5, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa7_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(5, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(6, active0, 0L, 0L);
- return 7;
- }
- switch(curChar)
- {
- case 99:
- return jjMoveStringLiteralDfa8_0(active0, 0x10000000000L);
- case 101:
- if ((active0 & 0x400000L) != 0L)
- return jjStartNfaWithStates_0(7, 22, 43);
- else if ((active0 & 0x8000000000000000L) != 0L)
- return jjStartNfaWithStates_0(7, 63, 43);
- return jjMoveStringLiteralDfa8_0(active0, 0x804000000000L);
- case 110:
- return jjMoveStringLiteralDfa8_0(active0, 0x880001000000000L);
- case 112:
- if ((active0 & 0x10000000000000L) != 0L)
- return jjStartNfaWithStates_0(7, 52, 43);
- break;
- case 116:
- if ((active0 & 0x1000L) != 0L)
- return jjStartNfaWithStates_0(7, 12, 43);
- break;
- default :
- break;
- }
- return jjStartNfa_0(6, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa8_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(6, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(7, active0, 0L, 0L);
- return 8;
- }
- switch(curChar)
- {
- case 100:
- if ((active0 & 0x800000000000L) != 0L)
- return jjStartNfaWithStates_0(8, 47, 43);
- break;
- case 101:
- if ((active0 & 0x10000000000L) != 0L)
- return jjStartNfaWithStates_0(8, 40, 43);
- break;
- case 105:
- return jjMoveStringLiteralDfa9_0(active0, 0x80000000000000L);
- case 111:
- return jjMoveStringLiteralDfa9_0(active0, 0x4000000000L);
- case 116:
- if ((active0 & 0x800000000000000L) != 0L)
- return jjStartNfaWithStates_0(8, 59, 43);
- return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L);
- default :
- break;
- }
- return jjStartNfa_0(7, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa9_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(7, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(8, active0, 0L, 0L);
- return 9;
- }
- switch(curChar)
- {
- case 102:
- if ((active0 & 0x4000000000L) != 0L)
- return jjStartNfaWithStates_0(9, 38, 43);
- break;
- case 115:
- if ((active0 & 0x1000000000L) != 0L)
- return jjStartNfaWithStates_0(9, 36, 43);
- break;
- case 122:
- return jjMoveStringLiteralDfa10_0(active0, 0x80000000000000L);
- default :
- break;
- }
- return jjStartNfa_0(8, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(8, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(9, active0, 0L, 0L);
- return 10;
- }
- switch(curChar)
- {
- case 101:
- return jjMoveStringLiteralDfa11_0(active0, 0x80000000000000L);
- default :
- break;
- }
- return jjStartNfa_0(9, active0, 0L, 0L);
-}
-private int jjMoveStringLiteralDfa11_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(9, old0, 0L, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(10, active0, 0L, 0L);
- return 11;
- }
- switch(curChar)
- {
- case 100:
- if ((active0 & 0x80000000000000L) != 0L)
- return jjStartNfaWithStates_0(11, 55, 43);
- break;
- default :
- break;
- }
- return jjStartNfa_0(10, active0, 0L, 0L);
-}
-private int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
- jjmatchedKind = kind;
- jjmatchedPos = pos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return pos + 1; }
- return jjMoveNfa_0(state, pos + 1);
-}
-static final long[] jjbitVec0 = {
- 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec2 = {
- 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec3 = {
- 0xfff0000000200002L, 0xffffffffffffdfffL, 0xfffff00f7fffffffL, 0x12000000007fffffL
-};
-static final long[] jjbitVec4 = {
- 0x0L, 0x0L, 0x420043c00000000L, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec5 = {
- 0x7fffffffffffffL, 0xffffffffffff0000L, 0xffffffffffffffffL, 0x401f0003ffc3L
-};
-static final long[] jjbitVec6 = {
- 0x0L, 0x400000000000000L, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
-};
-static final long[] jjbitVec7 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc03L, 0x33fffffffff7fffL
-};
-static final long[] jjbitVec8 = {
- 0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xffL, 0x707ffffff0000L
-};
-static final long[] jjbitVec9 = {
- 0x7fffffe00000000L, 0xfffec000000007ffL, 0xffffffffffffffffL, 0x9c00c060002fffffL
-};
-static final long[] jjbitVec10 = {
- 0xfffffffd0000L, 0xe000L, 0x2003fffffffffL, 0x0L
-};
-static final long[] jjbitVec11 = {
- 0x23fffffffffffff0L, 0x3ff010000L, 0x23c5fdfffff99fe0L, 0xf0003b0000000L
-};
-static final long[] jjbitVec12 = {
- 0x36dfdfffff987e0L, 0x1c00005e000000L, 0x23edfdfffffbbfe0L, 0x2000300010000L
-};
-static final long[] jjbitVec13 = {
- 0x23edfdfffff99fe0L, 0x20003b0000000L, 0x3bfc718d63dc7e8L, 0x200000000000000L
-};
-static final long[] jjbitVec14 = {
- 0x3effdfffffddfe0L, 0x300000000L, 0x23effdfffffddfe0L, 0x340000000L
-};
-static final long[] jjbitVec15 = {
- 0x3fffdfffffddfe0L, 0x300000000L, 0x2ffbfffffc7fffe0L, 0x7fL
-};
-static final long[] jjbitVec16 = {
- 0x800dfffffffffffeL, 0x7fL, 0x200decaefef02596L, 0x3000005fL
-};
-static final long[] jjbitVec17 = {
- 0x1L, 0x7fffffffeffL, 0xf00L, 0x0L
-};
-static final long[] jjbitVec18 = {
- 0x6fbffffffffL, 0x3f0000L, 0xffffffff00000000L, 0x1ffffffffff003fL
-};
-static final long[] jjbitVec19 = {
- 0xffffffffffffffffL, 0xffffffff83ffffffL, 0xffffff07ffffffffL, 0x3ffffffffffffffL
-};
-static final long[] jjbitVec20 = {
- 0xffffffffffffff7fL, 0xffffffff3d7f3d7fL, 0x7f3d7fffffff3d7fL, 0xffff7fffff7f7f3dL
-};
-static final long[] jjbitVec21 = {
- 0xffffffff7f3d7fffL, 0x7ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
-};
-static final long[] jjbitVec22 = {
- 0xffffffffffffffffL, 0x7f9fffffffffffL, 0xffffffff07fffffeL, 0x1c7ffffffffffL
-};
-static final long[] jjbitVec23 = {
- 0x3ffff0003dfffL, 0x1dfff0003ffffL, 0xfffffffffffffL, 0x18800000L
-};
-static final long[] jjbitVec24 = {
- 0xffffffff00000000L, 0xffffffffffffffL, 0x1ffffffffffL, 0x0L
-};
-static final long[] jjbitVec25 = {
- 0x1fffffffL, 0x1f3fffffff0000L, 0x0L, 0x0L
-};
-static final long[] jjbitVec26 = {
- 0xffffffffffffffffL, 0xfffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec27 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffff0fffffffL, 0x3ffffffffffffffL
-};
-static final long[] jjbitVec28 = {
- 0xffffffff3f3fffffL, 0x3fffffffaaff3f3fL, 0x5fdfffffffffffffL, 0x1fdc1fff0fcf1fdcL
-};
-static final long[] jjbitVec29 = {
- 0x8000000000000000L, 0x8002000000100001L, 0x3ffff00000000L, 0x0L
-};
-static final long[] jjbitVec30 = {
- 0xe3fbbd503e2ffc84L, 0xffffffff000003e0L, 0xfL, 0x0L
-};
-static final long[] jjbitVec31 = {
- 0x1f3e03fe000000e0L, 0xfffffffffffffffeL, 0xfffffffee07fffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec32 = {
- 0xfffe1fffffffffe0L, 0xffffffffffffffffL, 0xffffff00007fffL, 0xffff000000000000L
-};
-static final long[] jjbitVec33 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffffffL, 0x0L
-};
-static final long[] jjbitVec34 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0x3fffffffffL, 0x0L
-};
-static final long[] jjbitVec35 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0x1fffL, 0x0L
-};
-static final long[] jjbitVec36 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffL, 0x0L
-};
-static final long[] jjbitVec37 = {
- 0x6L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec38 = {
- 0xffff3fffffffffffL, 0x7ffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec39 = {
- 0x5f7ffdffa0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
-};
-static final long[] jjbitVec40 = {
- 0x3fffffffffffffffL, 0xffffffffffff0000L, 0xfffffffffffcffffL, 0x1fff0000000000ffL
-};
-static final long[] jjbitVec41 = {
- 0x18000000000000L, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x1fffffffffffffffL
-};
-static final long[] jjbitVec42 = {
- 0x87fffffe00000010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0x631cfcfcfcL
-};
-static final long[] jjbitVec43 = {
- 0x0L, 0x0L, 0x420243cffffffffL, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec44 = {
- 0xffffffffffffffffL, 0x400ffffe0ffffffL, 0xfffffffbffffd740L, 0xfbfffffffff7fffL
-};
-static final long[] jjbitVec45 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xfffffffffffffc7bL, 0x33fffffffff7fffL
-};
-static final long[] jjbitVec46 = {
- 0xfffe00000000ffffL, 0xfffffffe027fffffL, 0xbbfffffbfffe00ffL, 0x707ffffff0016L
-};
-static final long[] jjbitVec47 = {
- 0x7fffffe003f000fL, 0xffffc3ff01ffffffL, 0xffffffffffffffffL, 0x9ffffdffbfefffffL
-};
-static final long[] jjbitVec48 = {
- 0xffffffffffff8000L, 0xe7ffL, 0x3ffffffffffffL, 0x0L
-};
-static final long[] jjbitVec49 = {
- 0xf3fffffffffffffeL, 0xffcfff1f3fffL, 0xf3c5fdfffff99feeL, 0xfffcfb080399fL
-};
-static final long[] jjbitVec50 = {
- 0xd36dfdfffff987eeL, 0x1fffc05e003987L, 0xf3edfdfffffbbfeeL, 0x2ffcf00013bbfL
-};
-static final long[] jjbitVec51 = {
- 0xf3edfdfffff99feeL, 0x2ffc3b0c0398fL, 0xc3bfc718d63dc7ecL, 0x200ff8000803dc7L
-};
-static final long[] jjbitVec52 = {
- 0xc3effdfffffddfeeL, 0xffc300603ddfL, 0xf3effdfffffddfecL, 0xffc340603ddfL
-};
-static final long[] jjbitVec53 = {
- 0xc3fffdfffffddfecL, 0xffc300803dcfL, 0x2ffbfffffc7fffecL, 0xc0000ff5f847fL
-};
-static final long[] jjbitVec54 = {
- 0x87fffffffffffffeL, 0x3ff7fffL, 0x3bffecaefef02596L, 0x33ff3f5fL
-};
-static final long[] jjbitVec55 = {
- 0xc2a003ff03000001L, 0xfffe07fffffffeffL, 0x1ffffffffeff0fdfL, 0x40L
-};
-static final long[] jjbitVec56 = {
- 0x3c7f6fbffffffffL, 0x3ff03ffL, 0xffffffff00000000L, 0x1ffffffffff003fL
-};
-static final long[] jjbitVec57 = {
- 0xffffffff7f3d7fffL, 0x3fe0007ffff7fL, 0xffffffff00000000L, 0x1fffffffffffffL
-};
-static final long[] jjbitVec58 = {
- 0x1fffff001fdfffL, 0xddfff000fffffL, 0xffffffffffffffffL, 0x3ff388fffffL
-};
-static final long[] jjbitVec59 = {
- 0xffffffff03ff3800L, 0xffffffffffffffL, 0x3ffffffffffL, 0x0L
-};
-static final long[] jjbitVec60 = {
- 0xfff0fff1fffffffL, 0x1f3fffffffffc0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec61 = {
- 0x80007c000000f000L, 0x8002fc0f00100001L, 0x3ffff00000000L, 0x7e21fff0000L
-};
-static final long[] jjbitVec62 = {
- 0x1f3efffe000000e0L, 0xfffffffffffffffeL, 0xfffffffee67fffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec63 = {
- 0x10000000000006L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec64 = {
- 0x3L, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec65 = {
- 0x0L, 0x800000000000000L, 0x0L, 0x0L
-};
-static final long[] jjbitVec66 = {
- 0x5f7ffdffe0f8007fL, 0xffffffffffffffdbL, 0x3ffffffffffffL, 0xfffffffffff80000L
-};
-static final long[] jjbitVec67 = {
- 0x18000f0000ffffL, 0xffdf02000000e000L, 0xffffffffffffffffL, 0x9fffffffffffffffL
-};
-static final long[] jjbitVec68 = {
- 0x87fffffe03ff0010L, 0xffffffe007fffffeL, 0x7fffffffffffffffL, 0xe0000631cfcfcfcL
-};
-private int jjMoveNfa_0(int startState, int curPos)
-{
- int startsAt = 0;
- jjnewStateCnt = 130;
- int i = 1;
- jjstateSet[0] = startState;
- int kind = 0x7fffffff;
- for (;;)
- {
- if (++jjround == 0x7fffffff)
- ReInitRounds();
- if (curChar < 64)
- {
- long l = 1L << curChar;
- do
- {
- switch(jjstateSet[--i])
- {
- case 45:
- if (curChar == 42)
- jjstateSet[jjnewStateCnt++] = 50;
- else if (curChar == 47)
- {
- if (kind > 6)
- kind = 6;
- jjCheckNAddStates(0, 2);
- }
- break;
- case 0:
- if ((0x3ff000000000000L & l) != 0L)
- {
- if (kind > 66)
- kind = 66;
- jjCheckNAddStates(3, 17);
- }
- else if (curChar == 47)
- jjAddStates(18, 19);
- else if (curChar == 36)
- {
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- }
- else if (curChar == 34)
- jjCheckNAddStates(20, 23);
- else if (curChar == 39)
- jjAddStates(24, 26);
- else if (curChar == 46)
- jjCheckNAdd(1);
- if (curChar == 48)
- jjAddStates(27, 34);
- break;
- case 1:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(35, 38);
- break;
- case 2:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(2, 3);
- break;
- case 3:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(39, 41);
- break;
- case 5:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(6);
- break;
- case 6:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(42, 44);
- break;
- case 7:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(7, 8);
- break;
- case 8:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(6, 9);
- break;
- case 10:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(45, 48);
- break;
- case 11:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(49, 53);
- break;
- case 12:
- if (curChar == 39)
- jjAddStates(24, 26);
- break;
- case 13:
- if ((0xffffff7fffffdbffL & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 14:
- if (curChar == 39 && kind > 76)
- kind = 76;
- break;
- case 16:
- if ((0x8400000000L & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 17:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(18, 14);
- break;
- case 18:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 19:
- if ((0xf000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 20;
- break;
- case 20:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAdd(18);
- break;
- case 22:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 23;
- break;
- case 23:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 24;
- break;
- case 24:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 25;
- break;
- case 25:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 27:
- if (curChar == 34)
- jjCheckNAddStates(20, 23);
- break;
- case 28:
- if ((0xfffffffbffffdbffL & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 30:
- if ((0x8400000000L & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 32:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 33;
- break;
- case 33:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 34;
- break;
- case 34:
- if ((0x3ff000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 35;
- break;
- case 35:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 37:
- if (curChar == 34 && kind > 77)
- kind = 77;
- break;
- case 38:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddStates(54, 58);
- break;
- case 39:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 40:
- if ((0xf000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 41;
- break;
- case 41:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAdd(39);
- break;
- case 42:
- if (curChar != 36)
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 43:
- if ((0x3ff00100fffc1ffL & l) == 0L)
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 44:
- if (curChar == 47)
- jjAddStates(18, 19);
- break;
- case 46:
- if ((0xffffffffffffdbffL & l) == 0L)
- break;
- if (kind > 6)
- kind = 6;
- jjCheckNAddStates(0, 2);
- break;
- case 47:
- if ((0x2400L & l) != 0L && kind > 6)
- kind = 6;
- break;
- case 48:
- if (curChar == 10 && kind > 6)
- kind = 6;
- break;
- case 49:
- if (curChar == 13)
- jjstateSet[jjnewStateCnt++] = 48;
- break;
- case 50:
- if (curChar == 42)
- jjstateSet[jjnewStateCnt++] = 51;
- break;
- case 51:
- if ((0xffff7fffffffffffL & l) != 0L && kind > 7)
- kind = 7;
- break;
- case 52:
- if (curChar == 42)
- jjstateSet[jjnewStateCnt++] = 50;
- break;
- case 53:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 66)
- kind = 66;
- jjCheckNAddStates(3, 17);
- break;
- case 54:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(54, 55);
- break;
- case 55:
- case 98:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAdd(56);
- break;
- case 57:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(57, 58);
- break;
- case 58:
- case 109:
- if ((0x3ff000000000000L & l) != 0L && kind > 66)
- kind = 66;
- break;
- case 59:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(59, 60);
- break;
- case 60:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(59, 61);
- break;
- case 61:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(62, 65);
- break;
- case 63:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(64);
- break;
- case 64:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(66, 68);
- break;
- case 65:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(65, 66);
- break;
- case 66:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(64, 9);
- break;
- case 67:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(69, 72);
- break;
- case 68:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(73, 77);
- break;
- case 69:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(69, 70);
- break;
- case 70:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(71, 72);
- break;
- case 71:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(78, 80);
- break;
- case 73:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(74);
- break;
- case 74:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(81, 83);
- break;
- case 75:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(75, 76);
- break;
- case 76:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(74, 9);
- break;
- case 77:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(84, 87);
- break;
- case 78:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(88, 91);
- break;
- case 79:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(79, 80);
- break;
- case 80:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(81, 82);
- break;
- case 81:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(92, 94);
- break;
- case 82:
- if (curChar != 46)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(95, 97);
- break;
- case 83:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(98, 101);
- break;
- case 84:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(84, 85);
- break;
- case 85:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(95, 97);
- break;
- case 87:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(88);
- break;
- case 88:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(102, 104);
- break;
- case 89:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(89, 90);
- break;
- case 90:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(88, 9);
- break;
- case 91:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(105, 108);
- break;
- case 92:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddStates(109, 113);
- break;
- case 93:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(114, 117);
- break;
- case 94:
- if (curChar == 48)
- jjAddStates(27, 34);
- break;
- case 96:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(118, 120);
- break;
- case 97:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(97, 98);
- break;
- case 99:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddStates(121, 123);
- break;
- case 100:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(100, 101);
- break;
- case 101:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAdd(56);
- break;
- case 103:
- if ((0x3000000000000L & l) != 0L)
- jjCheckNAddStates(124, 126);
- break;
- case 104:
- if ((0x3000000000000L & l) != 0L)
- jjCheckNAddTwoStates(104, 105);
- break;
- case 105:
- if ((0x3000000000000L & l) != 0L)
- jjCheckNAdd(56);
- break;
- case 107:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 66)
- kind = 66;
- jjCheckNAddTwoStates(108, 109);
- break;
- case 108:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(108, 109);
- break;
- case 110:
- if ((0xff000000000000L & l) == 0L)
- break;
- if (kind > 66)
- kind = 66;
- jjCheckNAddTwoStates(111, 112);
- break;
- case 111:
- if ((0xff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(111, 112);
- break;
- case 112:
- if ((0xff000000000000L & l) != 0L && kind > 66)
- kind = 66;
- break;
- case 114:
- if ((0x3000000000000L & l) == 0L)
- break;
- if (kind > 66)
- kind = 66;
- jjCheckNAddTwoStates(115, 116);
- break;
- case 115:
- if ((0x3000000000000L & l) != 0L)
- jjCheckNAddTwoStates(115, 116);
- break;
- case 116:
- if ((0x3000000000000L & l) != 0L && kind > 66)
- kind = 66;
- break;
- case 118:
- if ((0x3ff000000000000L & l) != 0L)
- jjAddStates(127, 128);
- break;
- case 119:
- if (curChar == 46)
- jjCheckNAdd(120);
- break;
- case 120:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(120, 121);
- break;
- case 122:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(123);
- break;
- case 123:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(123, 9);
- break;
- case 125:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddStates(129, 131);
- break;
- case 126:
- if (curChar == 46)
- jjCheckNAdd(127);
- break;
- case 128:
- if ((0x280000000000L & l) != 0L)
- jjCheckNAdd(129);
- break;
- case 129:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- jjCheckNAddTwoStates(129, 9);
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else if (curChar < 128)
- {
- long l = 1L << (curChar & 077);
- do
- {
- switch(jjstateSet[--i])
- {
- case 0:
- if ((0x7fffffe87fffffeL & l) == 0L)
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 2:
- if (curChar == 95)
- jjAddStates(132, 133);
- break;
- case 4:
- if ((0x2000000020L & l) != 0L)
- jjAddStates(134, 135);
- break;
- case 7:
- if (curChar == 95)
- jjAddStates(136, 137);
- break;
- case 9:
- if ((0x5000000050L & l) != 0L && kind > 71)
- kind = 71;
- break;
- case 13:
- if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 15:
- if (curChar == 92)
- jjAddStates(138, 140);
- break;
- case 16:
- if ((0x14404410000000L & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 21:
- if (curChar == 117)
- jjstateSet[jjnewStateCnt++] = 22;
- break;
- case 22:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 23;
- break;
- case 23:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 24;
- break;
- case 24:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 25;
- break;
- case 25:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAdd(14);
- break;
- case 26:
- if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 21;
- break;
- case 28:
- if ((0xffffffffefffffffL & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 29:
- if (curChar == 92)
- jjAddStates(141, 143);
- break;
- case 30:
- if ((0x14404410000000L & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 31:
- if (curChar == 117)
- jjstateSet[jjnewStateCnt++] = 32;
- break;
- case 32:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 33;
- break;
- case 33:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 34;
- break;
- case 34:
- if ((0x7e0000007eL & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 35;
- break;
- case 35:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAddStates(20, 23);
- break;
- case 36:
- if (curChar == 92)
- jjstateSet[jjnewStateCnt++] = 31;
- break;
- case 43:
- if ((0x87fffffe87fffffeL & l) == 0L)
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 46:
- if (kind > 6)
- kind = 6;
- jjAddStates(0, 2);
- break;
- case 51:
- if (kind > 7)
- kind = 7;
- break;
- case 54:
- if (curChar == 95)
- jjAddStates(144, 145);
- break;
- case 56:
- if ((0x100000001000L & l) != 0L && kind > 65)
- kind = 65;
- break;
- case 57:
- if (curChar == 95)
- jjAddStates(146, 147);
- break;
- case 59:
- if (curChar == 95)
- jjAddStates(148, 149);
- break;
- case 62:
- if ((0x2000000020L & l) != 0L)
- jjAddStates(150, 151);
- break;
- case 65:
- if (curChar == 95)
- jjAddStates(152, 153);
- break;
- case 69:
- if (curChar == 95)
- jjAddStates(154, 155);
- break;
- case 72:
- if ((0x2000000020L & l) != 0L)
- jjAddStates(156, 157);
- break;
- case 75:
- if (curChar == 95)
- jjAddStates(158, 159);
- break;
- case 79:
- if (curChar == 95)
- jjAddStates(160, 161);
- break;
- case 84:
- if (curChar == 95)
- jjAddStates(162, 163);
- break;
- case 86:
- if ((0x2000000020L & l) != 0L)
- jjAddStates(164, 165);
- break;
- case 89:
- if (curChar == 95)
- jjAddStates(166, 167);
- break;
- case 95:
- if ((0x100000001000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 96;
- break;
- case 96:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAddStates(118, 120);
- break;
- case 97:
- if ((0x7e8000007eL & l) != 0L)
- jjCheckNAddTwoStates(97, 98);
- break;
- case 98:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAdd(56);
- break;
- case 100:
- if (curChar == 95)
- jjAddStates(168, 169);
- break;
- case 102:
- if ((0x400000004L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 103;
- break;
- case 104:
- if (curChar == 95)
- jjAddStates(170, 171);
- break;
- case 106:
- if ((0x100000001000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 107;
- break;
- case 107:
- if ((0x7e0000007eL & l) == 0L)
- break;
- if (kind > 66)
- kind = 66;
- jjCheckNAddTwoStates(108, 109);
- break;
- case 108:
- if ((0x7e8000007eL & l) != 0L)
- jjCheckNAddTwoStates(108, 109);
- break;
- case 109:
- if ((0x7e0000007eL & l) != 0L && kind > 66)
- kind = 66;
- break;
- case 111:
- if (curChar == 95)
- jjAddStates(172, 173);
- break;
- case 113:
- if ((0x400000004L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 114;
- break;
- case 115:
- if (curChar == 95)
- jjAddStates(174, 175);
- break;
- case 117:
- if ((0x100000001000000L & l) != 0L)
- jjCheckNAddTwoStates(118, 119);
- break;
- case 118:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAddTwoStates(118, 119);
- break;
- case 120:
- if ((0x7e0000007eL & l) != 0L)
- jjAddStates(176, 177);
- break;
- case 121:
- if ((0x1000000010000L & l) != 0L)
- jjAddStates(178, 179);
- break;
- case 124:
- if ((0x100000001000000L & l) != 0L)
- jjCheckNAdd(125);
- break;
- case 125:
- if ((0x7e0000007eL & l) != 0L)
- jjCheckNAddStates(129, 131);
- break;
- case 127:
- if ((0x1000000010000L & l) != 0L)
- jjAddStates(180, 181);
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else
- {
- int hiByte = (int)(curChar >> 8);
- int i1 = hiByte >> 6;
- long l1 = 1L << (hiByte & 077);
- int i2 = (curChar & 0xff) >> 6;
- long l2 = 1L << (curChar & 077);
- do
- {
- switch(jjstateSet[--i])
- {
- case 0:
- if (!jjCanMove_1(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 13:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjstateSet[jjnewStateCnt++] = 14;
- break;
- case 28:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjAddStates(20, 23);
- break;
- case 43:
- if (!jjCanMove_2(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 78)
- kind = 78;
- jjCheckNAdd(43);
- break;
- case 46:
- if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 6)
- kind = 6;
- jjAddStates(0, 2);
- break;
- case 51:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2) && kind > 7)
- kind = 7;
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- if (kind != 0x7fffffff)
- {
- jjmatchedKind = kind;
- jjmatchedPos = curPos;
- kind = 0x7fffffff;
- }
- ++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 130 - (jjnewStateCnt = startsAt)))
- return curPos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return curPos; }
- }
-}
-private int jjMoveStringLiteralDfa0_2()
-{
- switch(curChar)
- {
- case 42:
- return jjMoveStringLiteralDfa1_2(0x400L);
- default :
- return 1;
- }
-}
-private int jjMoveStringLiteralDfa1_2(long active0)
-{
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- return 1;
- }
- switch(curChar)
- {
- case 47:
- if ((active0 & 0x400L) != 0L)
- return jjStopAtPos(1, 10);
- break;
- default :
- return 2;
- }
- return 2;
-}
-private int jjMoveStringLiteralDfa0_1()
-{
- switch(curChar)
- {
- case 42:
- return jjMoveStringLiteralDfa1_1(0x200L);
- default :
- return 1;
- }
-}
-private int jjMoveStringLiteralDfa1_1(long active0)
-{
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- return 1;
- }
- switch(curChar)
- {
- case 47:
- if ((active0 & 0x200L) != 0L)
- return jjStopAtPos(1, 9);
- break;
- default :
- return 2;
- }
- return 2;
-}
-static final int[] jjnextStates = {
- 46, 47, 49, 54, 55, 56, 57, 58, 59, 62, 9, 69, 72, 79, 82, 93,
- 78, 68, 45, 52, 28, 29, 36, 37, 13, 15, 26, 95, 99, 102, 106, 110,
- 113, 117, 124, 2, 4, 9, 11, 1, 4, 9, 7, 9, 10, 6, 7, 9,
- 10, 1, 2, 4, 9, 11, 28, 29, 39, 36, 37, 61, 62, 9, 59, 62,
- 9, 68, 65, 9, 67, 64, 65, 9, 67, 61, 59, 62, 9, 68, 69, 72,
- 78, 75, 9, 77, 74, 75, 9, 77, 71, 69, 72, 78, 79, 82, 93, 83,
- 86, 9, 84, 86, 9, 92, 89, 9, 91, 88, 89, 9, 91, 83, 84, 86,
- 9, 92, 81, 79, 82, 93, 97, 98, 56, 100, 101, 56, 104, 105, 56, 118,
- 119, 125, 126, 127, 2, 3, 5, 6, 7, 8, 16, 17, 19, 30, 38, 40,
- 54, 55, 57, 58, 59, 60, 63, 64, 65, 66, 69, 70, 73, 74, 75, 76,
- 79, 80, 84, 85, 87, 88, 89, 90, 100, 101, 104, 105, 111, 112, 115, 116,
- 120, 121, 122, 123, 128, 129,
-};
-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
-{
- switch(hiByte)
- {
- case 0:
- return ((jjbitVec2[i2] & l2) != 0L);
- default :
- if ((jjbitVec0[i1] & l1) != 0L)
- return true;
- return false;
- }
-}
-private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
-{
- switch(hiByte)
- {
- case 0:
- return ((jjbitVec4[i2] & l2) != 0L);
- case 2:
- return ((jjbitVec5[i2] & l2) != 0L);
- case 3:
- return ((jjbitVec6[i2] & l2) != 0L);
- case 4:
- return ((jjbitVec7[i2] & l2) != 0L);
- case 5:
- return ((jjbitVec8[i2] & l2) != 0L);
- case 6:
- return ((jjbitVec9[i2] & l2) != 0L);
- case 7:
- return ((jjbitVec10[i2] & l2) != 0L);
- case 9:
- return ((jjbitVec11[i2] & l2) != 0L);
- case 10:
- return ((jjbitVec12[i2] & l2) != 0L);
- case 11:
- return ((jjbitVec13[i2] & l2) != 0L);
- case 12:
- return ((jjbitVec14[i2] & l2) != 0L);
- case 13:
- return ((jjbitVec15[i2] & l2) != 0L);
- case 14:
- return ((jjbitVec16[i2] & l2) != 0L);
- case 15:
- return ((jjbitVec17[i2] & l2) != 0L);
- case 16:
- return ((jjbitVec18[i2] & l2) != 0L);
- case 17:
- return ((jjbitVec19[i2] & l2) != 0L);
- case 18:
- return ((jjbitVec20[i2] & l2) != 0L);
- case 19:
- return ((jjbitVec21[i2] & l2) != 0L);
- case 20:
- return ((jjbitVec0[i2] & l2) != 0L);
- case 22:
- return ((jjbitVec22[i2] & l2) != 0L);
- case 23:
- return ((jjbitVec23[i2] & l2) != 0L);
- case 24:
- return ((jjbitVec24[i2] & l2) != 0L);
- case 25:
- return ((jjbitVec25[i2] & l2) != 0L);
- case 29:
- return ((jjbitVec26[i2] & l2) != 0L);
- case 30:
- return ((jjbitVec27[i2] & l2) != 0L);
- case 31:
- return ((jjbitVec28[i2] & l2) != 0L);
- case 32:
- return ((jjbitVec29[i2] & l2) != 0L);
- case 33:
- return ((jjbitVec30[i2] & l2) != 0L);
- case 48:
- return ((jjbitVec31[i2] & l2) != 0L);
- case 49:
- return ((jjbitVec32[i2] & l2) != 0L);
- case 77:
- return ((jjbitVec33[i2] & l2) != 0L);
- case 159:
- return ((jjbitVec34[i2] & l2) != 0L);
- case 164:
- return ((jjbitVec35[i2] & l2) != 0L);
- case 215:
- return ((jjbitVec36[i2] & l2) != 0L);
- case 216:
- return ((jjbitVec37[i2] & l2) != 0L);
- case 250:
- return ((jjbitVec38[i2] & l2) != 0L);
- case 251:
- return ((jjbitVec39[i2] & l2) != 0L);
- case 253:
- return ((jjbitVec40[i2] & l2) != 0L);
- case 254:
- return ((jjbitVec41[i2] & l2) != 0L);
- case 255:
- return ((jjbitVec42[i2] & l2) != 0L);
- default :
- if ((jjbitVec3[i1] & l1) != 0L)
- return true;
- return false;
- }
-}
-private static final boolean jjCanMove_2(int hiByte, int i1, int i2, long l1, long l2)
-{
- switch(hiByte)
- {
- case 0:
- return ((jjbitVec43[i2] & l2) != 0L);
- case 2:
- return ((jjbitVec5[i2] & l2) != 0L);
- case 3:
- return ((jjbitVec44[i2] & l2) != 0L);
- case 4:
- return ((jjbitVec45[i2] & l2) != 0L);
- case 5:
- return ((jjbitVec46[i2] & l2) != 0L);
- case 6:
- return ((jjbitVec47[i2] & l2) != 0L);
- case 7:
- return ((jjbitVec48[i2] & l2) != 0L);
- case 9:
- return ((jjbitVec49[i2] & l2) != 0L);
- case 10:
- return ((jjbitVec50[i2] & l2) != 0L);
- case 11:
- return ((jjbitVec51[i2] & l2) != 0L);
- case 12:
- return ((jjbitVec52[i2] & l2) != 0L);
- case 13:
- return ((jjbitVec53[i2] & l2) != 0L);
- case 14:
- return ((jjbitVec54[i2] & l2) != 0L);
- case 15:
- return ((jjbitVec55[i2] & l2) != 0L);
- case 16:
- return ((jjbitVec56[i2] & l2) != 0L);
- case 17:
- return ((jjbitVec19[i2] & l2) != 0L);
- case 18:
- return ((jjbitVec20[i2] & l2) != 0L);
- case 19:
- return ((jjbitVec57[i2] & l2) != 0L);
- case 20:
- return ((jjbitVec0[i2] & l2) != 0L);
- case 22:
- return ((jjbitVec22[i2] & l2) != 0L);
- case 23:
- return ((jjbitVec58[i2] & l2) != 0L);
- case 24:
- return ((jjbitVec59[i2] & l2) != 0L);
- case 25:
- return ((jjbitVec60[i2] & l2) != 0L);
- case 29:
- return ((jjbitVec26[i2] & l2) != 0L);
- case 30:
- return ((jjbitVec27[i2] & l2) != 0L);
- case 31:
- return ((jjbitVec28[i2] & l2) != 0L);
- case 32:
- return ((jjbitVec61[i2] & l2) != 0L);
- case 33:
- return ((jjbitVec30[i2] & l2) != 0L);
- case 48:
- return ((jjbitVec62[i2] & l2) != 0L);
- case 49:
- return ((jjbitVec32[i2] & l2) != 0L);
- case 77:
- return ((jjbitVec33[i2] & l2) != 0L);
- case 159:
- return ((jjbitVec34[i2] & l2) != 0L);
- case 164:
- return ((jjbitVec35[i2] & l2) != 0L);
- case 215:
- return ((jjbitVec36[i2] & l2) != 0L);
- case 216:
- return ((jjbitVec63[i2] & l2) != 0L);
- case 220:
- return ((jjbitVec64[i2] & l2) != 0L);
- case 221:
- return ((jjbitVec65[i2] & l2) != 0L);
- case 250:
- return ((jjbitVec38[i2] & l2) != 0L);
- case 251:
- return ((jjbitVec66[i2] & l2) != 0L);
- case 253:
- return ((jjbitVec40[i2] & l2) != 0L);
- case 254:
- return ((jjbitVec67[i2] & l2) != 0L);
- case 255:
- return ((jjbitVec68[i2] & l2) != 0L);
- default :
- if ((jjbitVec3[i1] & l1) != 0L)
- return true;
- return false;
- }
-}
-
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, null, null, null, null, null, null,
-"\141\142\163\164\162\141\143\164", "\141\163\163\145\162\164", "\142\157\157\154\145\141\156",
-"\142\162\145\141\153", "\142\171\164\145", "\143\141\163\145", "\143\141\164\143\150",
-"\143\150\141\162", "\143\154\141\163\163", "\143\157\156\163\164",
-"\143\157\156\164\151\156\165\145", "\144\145\146\141\165\154\164", "\144\157", "\144\157\165\142\154\145",
-"\145\154\163\145", "\145\156\165\155", "\145\170\164\145\156\144\163", "\146\141\154\163\145",
-"\146\151\156\141\154", "\146\151\156\141\154\154\171", "\146\154\157\141\164", "\146\157\162",
-"\147\157\164\157", "\151\146", "\151\155\160\154\145\155\145\156\164\163",
-"\151\155\160\157\162\164", "\151\156\163\164\141\156\143\145\157\146", "\151\156\164",
-"\151\156\164\145\162\146\141\143\145", "\154\157\156\147", "\156\141\164\151\166\145", "\156\145\167",
-"\156\165\154\154", "\160\141\143\153\141\147\145", "\160\162\151\166\141\164\145",
-"\160\162\157\164\145\143\164\145\144", "\160\165\142\154\151\143", "\162\145\164\165\162\156",
-"\163\150\157\162\164", "\163\164\141\164\151\143", "\163\164\162\151\143\164\146\160",
-"\163\165\160\145\162", "\163\167\151\164\143\150",
-"\163\171\156\143\150\162\157\156\151\172\145\144", "\164\150\151\163", "\164\150\162\157\167", "\164\150\162\157\167\163",
-"\164\162\141\156\163\151\145\156\164", "\164\162\165\145", "\164\162\171", "\166\157\151\144",
-"\166\157\154\141\164\151\154\145", "\167\150\151\154\145", null, null, null, null, null, null, null, null, null,
-null, null, null, null, null, null, null, "\50", "\51", "\173", "\175", "\133",
-"\135", "\73", "\54", "\56", "\100", "\75", "\74", "\41", "\176", "\77", "\72",
-"\75\75", "\74\75", "\76\75", "\41\75", "\174\174", "\46\46", "\53\53", "\55\55", "\53",
-"\55", "\52", "\57", "\46", "\174", "\136", "\45", "\74\74", "\53\75", "\55\75",
-"\52\75", "\57\75", "\46\75", "\174\75", "\136\75", "\45\75", "\74\74\75", "\76\76\75",
-"\76\76\76\75", "\56\56\56", "\55\76", "\72\72", "\76\76\76", "\76\76", "\76", "\32",
-"\74\76", };
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
- "DEFAULT",
- "IN_JAVA_DOC_COMMENT",
- "IN_MULTI_LINE_COMMENT",
-};
-
-/** Lex State array. */
-public static final int[] jjnewLexState = {
- -1, -1, -1, -1, -1, -1, -1, 1, 2, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
-};
-static final long[] jjtoToken = {
- 0xfffffffffffff001L, 0xfffffffffffe7087L, 0x1fL,
-};
-static final long[] jjtoSkip = {
- 0x67eL, 0x0L, 0x0L,
-};
-static final long[] jjtoSpecial = {
- 0x640L, 0x0L, 0x0L,
-};
-static final long[] jjtoMore = {
- 0x980L, 0x0L, 0x0L,
-};
-protected JavaCharStream input_stream;
-private final int[] jjrounds = new int[130];
-private final int[] jjstateSet = new int[260];
-private final StringBuilder jjimage = new StringBuilder();
-private StringBuilder image = jjimage;
-private int jjimageLen;
-private int lengthOfMatch;
-protected char curChar;
-/** Constructor. */
-public ASTParserTokenManager(JavaCharStream stream){
- if (JavaCharStream.staticFlag)
- throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
- input_stream = stream;
-}
-
-/** Constructor. */
-public ASTParserTokenManager(JavaCharStream stream, int lexState){
- this(stream);
- SwitchTo(lexState);
-}
-
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream)
-{
- jjmatchedPos = jjnewStateCnt = 0;
- curLexState = defaultLexState;
- input_stream = stream;
- ReInitRounds();
-}
-private void ReInitRounds()
-{
- int i;
- jjround = 0x80000001;
- for (i = 130; i-- > 0;)
- jjrounds[i] = 0x80000000;
-}
-
-/** Reinitialise parser. */
-public void ReInit(JavaCharStream stream, int lexState)
-{
- ReInit(stream);
- SwitchTo(lexState);
-}
-
-/** Switch to specified lex state. */
-public void SwitchTo(int lexState)
-{
- if (lexState >= 3 || lexState < 0)
- throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
- else
- curLexState = lexState;
-}
-
-protected Token jjFillToken()
-{
- final Token t;
- final String curTokenImage;
- final int beginLine;
- final int endLine;
- final int beginColumn;
- final int endColumn;
- String im = jjstrLiteralImages[jjmatchedKind];
- curTokenImage = (im == null) ? input_stream.GetImage() : im;
- beginLine = input_stream.getBeginLine();
- beginColumn = input_stream.getBeginColumn();
- endLine = input_stream.getEndLine();
- endColumn = input_stream.getEndColumn();
- t = ASTParser.GTToken.newToken(jjmatchedKind, curTokenImage);
-
- t.beginLine = beginLine;
- t.endLine = endLine;
- t.beginColumn = beginColumn;
- t.endColumn = endColumn;
-
- return t;
-}
-
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
-
-/** Get the next Token. */
-public Token getNextToken()
-{
- Token specialToken = null;
- Token matchedToken;
- int curPos = 0;
-
- EOFLoop :
- for (;;)
- {
- try
- {
- curChar = input_stream.BeginToken();
- }
- catch(java.io.IOException e)
- {
- jjmatchedKind = 0;
- matchedToken = jjFillToken();
- matchedToken.specialToken = specialToken;
- return matchedToken;
- }
- image = jjimage;
- image.setLength(0);
- jjimageLen = 0;
-
- for (;;)
- {
- switch(curLexState)
- {
- case 0:
- try { input_stream.backup(0);
- while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
- curChar = input_stream.BeginToken();
- }
- catch (java.io.IOException e1) { continue EOFLoop; }
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_0();
- break;
- case 1:
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_1();
- if (jjmatchedPos == 0 && jjmatchedKind > 11)
- {
- jjmatchedKind = 11;
- }
- break;
- case 2:
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_2();
- if (jjmatchedPos == 0 && jjmatchedKind > 11)
- {
- jjmatchedKind = 11;
- }
- break;
- }
- if (jjmatchedKind != 0x7fffffff)
- {
- if (jjmatchedPos + 1 < curPos)
- input_stream.backup(curPos - jjmatchedPos - 1);
- if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
- {
- matchedToken = jjFillToken();
- matchedToken.specialToken = specialToken;
- TokenLexicalActions(matchedToken);
- if (jjnewLexState[jjmatchedKind] != -1)
- curLexState = jjnewLexState[jjmatchedKind];
- return matchedToken;
- }
- else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
- {
- if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
- {
- matchedToken = jjFillToken();
- if (specialToken == null)
- specialToken = matchedToken;
- else
- {
- matchedToken.specialToken = specialToken;
- specialToken = (specialToken.next = matchedToken);
- }
- SkipLexicalActions(matchedToken);
- }
- else
- SkipLexicalActions(null);
- if (jjnewLexState[jjmatchedKind] != -1)
- curLexState = jjnewLexState[jjmatchedKind];
- continue EOFLoop;
- }
- MoreLexicalActions();
- if (jjnewLexState[jjmatchedKind] != -1)
- curLexState = jjnewLexState[jjmatchedKind];
- curPos = 0;
- jjmatchedKind = 0x7fffffff;
- try {
- curChar = input_stream.readChar();
- continue;
- }
- catch (java.io.IOException e1) { }
- }
- int error_line = input_stream.getEndLine();
- int error_column = input_stream.getEndColumn();
- String error_after = null;
- boolean EOFSeen = false;
- try { input_stream.readChar(); input_stream.backup(1); }
- catch (java.io.IOException e1) {
- EOFSeen = true;
- error_after = curPos <= 1 ? "" : input_stream.GetImage();
- if (curChar == '\n' || curChar == '\r') {
- error_line++;
- error_column = 0;
- }
- else
- error_column++;
- }
- if (!EOFSeen) {
- input_stream.backup(1);
- error_after = curPos <= 1 ? "" : input_stream.GetImage();
- }
- throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
- }
- }
-}
-
-void SkipLexicalActions(Token matchedToken)
-{
- switch(jjmatchedKind)
- {
- default :
- break;
- }
-}
-void MoreLexicalActions()
-{
- jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
- switch(jjmatchedKind)
- {
- case 7 :
- image.append(input_stream.GetSuffix(jjimageLen));
- jjimageLen = 0;
- input_stream.backup(1);
- break;
- default :
- break;
- }
-}
-void TokenLexicalActions(Token matchedToken)
-{
- switch(jjmatchedKind)
- {
- case 128 :
- image.append(jjstrLiteralImages[128]);
- lengthOfMatch = jjstrLiteralImages[128].length();
- matchedToken.kind = GT;
- ((ASTParser.GTToken)matchedToken).realKind = RUNSIGNEDSHIFT;
- input_stream.backup(2);
- break;
- case 129 :
- image.append(jjstrLiteralImages[129]);
- lengthOfMatch = jjstrLiteralImages[129].length();
- matchedToken.kind = GT;
- ((ASTParser.GTToken)matchedToken).realKind = RSIGNEDSHIFT;
- input_stream.backup(1);
- break;
- default :
- break;
- }
-}
-private void jjCheckNAdd(int state)
-{
- if (jjrounds[state] != jjround)
- {
- jjstateSet[jjnewStateCnt++] = state;
- jjrounds[state] = jjround;
- }
-}
-private void jjAddStates(int start, int end)
-{
- do {
- jjstateSet[jjnewStateCnt++] = jjnextStates[start];
- } while (start++ != end);
-}
-private void jjCheckNAddTwoStates(int state1, int state2)
-{
- jjCheckNAdd(state1);
- jjCheckNAdd(state2);
-}
-
-private void jjCheckNAddStates(int start, int end)
-{
- do {
- jjCheckNAdd(jjnextStates[start]);
- } while (start++ != end);
-}
-
-}
diff --git a/JavaParser/src/com/github/javaparser/CommentsInserter.java b/JavaParser/src/com/github/javaparser/CommentsInserter.java
new file mode 100644
index 0000000..869883c
--- /dev/null
+++ b/JavaParser/src/com/github/javaparser/CommentsInserter.java
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) 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.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+
+package com.github.javaparser;
+
+import com.github.javaparser.ast.CompilationUnit;
+import com.github.javaparser.ast.Node;
+import com.github.javaparser.ast.comments.Comment;
+import com.github.javaparser.ast.comments.LineComment;
+import com.github.javaparser.utils.PositionUtils;
+
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.TreeSet;
+import java.util.stream.Collectors;
+
+import static com.github.javaparser.ast.Node.NODE_BY_BEGIN_POSITION;
+
+/**
+ * Assigns comments to nodes of the AST.
+ *
+ * @author Sebastian Kuerten
+ * @author Júlio Vilmar Gesser
+ */
+class CommentsInserter {
+ private final ParserConfiguration configuration;
+
+ CommentsInserter(ParserConfiguration configuration) {
+ this.configuration = configuration;
+ }
+
+ /**
+ * Comments are attributed to the thing they comment and are removed from
+ * the comments.
+ */
+ private void insertComments(CompilationUnit cu, TreeSet comments) {
+ if (comments.isEmpty())
+ return;
+
+ /* I should sort all the direct children and the comments, if a comment
+ is the first thing then it
+ a comment to the CompilationUnit */
+
+ // FIXME if there is no package it could be also a comment to the following class...
+ // so I could use some heuristics in these cases to distinguish the two
+ // cases
+
+ List children = cu.getChildNodes();
+
+ Comment firstComment = comments.iterator().next();
+ if (cu.getPackageDeclaration().isPresent()
+ && (children.isEmpty() || PositionUtils.areInOrder(
+ firstComment, cu.getPackageDeclaration().get()))) {
+ cu.setComment(firstComment);
+ comments.remove(firstComment);
+ }
+ }
+
+ /**
+ * This method try to attributes the nodes received to child of the node. It
+ * returns the node that were not attributed.
+ */
+ void insertComments(Node node, TreeSet commentsToAttribute) {
+ if (commentsToAttribute.isEmpty())
+ return;
+
+ if (node instanceof CompilationUnit) {
+ insertComments((CompilationUnit) node, commentsToAttribute);
+ }
+
+ // the comments can:
+ // 1) Inside one of the child, then it is the child that have to
+ // associate them
+ // 2) If they are not inside a child they could be preceeding nothing, a
+ // comment or a child
+ // if they preceed a child they are assigned to it, otherweise they
+ // remain "orphans"
+
+ List children = node.getChildNodes();
+
+ for (Node child : children) {
+ TreeSet commentsInsideChild = new TreeSet<>(NODE_BY_BEGIN_POSITION);
+ commentsInsideChild.addAll(
+ commentsToAttribute.stream()
+ .filter(c -> c.getRange().isPresent())
+ .filter(c -> PositionUtils.nodeContains(child, c,
+ configuration.isDoNotConsiderAnnotationsAsNodeStartForCodeAttribution())).collect(Collectors.toList()));
+ commentsToAttribute.removeAll(commentsInsideChild);
+ insertComments(child, commentsInsideChild);
+ }
+
+ attributeLineCommentsOnSameLine(commentsToAttribute, children);
+
+ /* at this point I create an ordered list of all remaining comments and
+ children */
+ Comment previousComment = null;
+ final List attributedComments = new LinkedList<>();
+ List childrenAndComments = new LinkedList<>();
+ // Avoid attributing comments to a meaningless container.
+ childrenAndComments.addAll(children);
+ commentsToAttribute.removeAll(attributedComments);
+
+ childrenAndComments.addAll(commentsToAttribute);
+ PositionUtils.sortByBeginPosition(childrenAndComments,
+ configuration.isDoNotConsiderAnnotationsAsNodeStartForCodeAttribution());
+
+ for (Node thing : childrenAndComments) {
+ if (thing instanceof Comment) {
+ previousComment = (Comment) thing;
+ if (!previousComment.isOrphan()) {
+ previousComment = null;
+ }
+ } else {
+ if (previousComment != null && !thing.getComment().isPresent()) {
+ if (!configuration.isDoNotAssignCommentsPrecedingEmptyLines()
+ || !thereAreLinesBetween(previousComment, thing)) {
+ thing.setComment(previousComment);
+ attributedComments.add(previousComment);
+ previousComment = null;
+ }
+ }
+ }
+ }
+
+ commentsToAttribute.removeAll(attributedComments);
+
+ // all the remaining are orphan nodes
+ for (Comment c : commentsToAttribute) {
+ if (c.isOrphan()) {
+ node.addOrphanComment(c);
+ }
+ }
+ }
+
+ private void attributeLineCommentsOnSameLine(TreeSet commentsToAttribute, List children) {
+ /* I can attribute in line comments to elements preceeding them, if
+ there is something contained in their line */
+ List attributedComments = new LinkedList<>();
+ commentsToAttribute.stream()
+ .filter(comment -> comment.getRange().isPresent())
+ .filter(Comment::isLineComment)
+ .forEach(comment -> children.stream()
+ .filter(child -> child.getRange().isPresent())
+ .forEach(child -> {
+ Range commentRange = comment.getRange().get();
+ Range childRange = child.getRange().get();
+ if (childRange.end.line == commentRange.begin.line
+ && attributeLineCommentToNodeOrChild(child,
+ comment.asLineComment())) {
+ attributedComments.add(comment);
+ }
+ }));
+ commentsToAttribute.removeAll(attributedComments);
+ }
+
+ private boolean attributeLineCommentToNodeOrChild(Node node, LineComment lineComment) {
+ if (!node.getRange().isPresent() || !lineComment.getRange().isPresent()) {
+ return false;
+ }
+
+ // The node start and end at the same line as the comment,
+ // let's give to it the comment
+ if (node.getBegin().get().line == lineComment.getBegin().get().line
+ && !node.getComment().isPresent()) {
+ if (!(node instanceof Comment)) {
+ node.setComment(lineComment);
+ }
+ return true;
+ } else {
+ // try with all the children, sorted by reverse position (so the
+ // first one is the nearest to the comment
+ List children = new LinkedList<>();
+ children.addAll(node.getChildNodes());
+ PositionUtils.sortByBeginPosition(children);
+ Collections.reverse(children);
+
+ for (Node child : children) {
+ if (attributeLineCommentToNodeOrChild(child, lineComment)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ }
+
+ private boolean thereAreLinesBetween(Node a, Node b) {
+ if (!a.getRange().isPresent() || !b.getRange().isPresent()) {
+ return true;
+ }
+ if (!PositionUtils.areInOrder(a, b)) {
+ return thereAreLinesBetween(b, a);
+ }
+ int endOfA = a.getEnd().get().line;
+ return b.getBegin().get().line > endOfA + 1;
+ }
+
+}
diff --git a/JavaParser/src/com/github/javaparser/GeneratedJavaParser.java b/JavaParser/src/com/github/javaparser/GeneratedJavaParser.java
new file mode 100644
index 0000000..88d8068
--- /dev/null
+++ b/JavaParser/src/com/github/javaparser/GeneratedJavaParser.java
@@ -0,0 +1,10387 @@
+/* GeneratedJavaParser.java */
+/* Generated By:JavaCC: Do not edit this line. GeneratedJavaParser.java */
+/*
+ * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) 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.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+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.modules.*;
+import com.github.javaparser.ast.expr.*;
+import com.github.javaparser.ast.stmt.*;
+import com.github.javaparser.ast.type.*;
+import com.github.javaparser.utils.*;
+import javax.annotation.Generated;
+import static com.github.javaparser.JavaToken.INVALID;
+import static com.github.javaparser.ast.Node.Parsedness.UNPARSABLE;
+import static com.github.javaparser.utils.Utils.*;
+import static com.github.javaparser.ast.NodeList.*;
+import static com.github.javaparser.GeneratedJavaParser.*;
+import static com.github.javaparser.Range.*;
+import static com.github.javaparser.Position.*;
+import static com.github.javaparser.ast.type.ArrayType.*;
+import static com.github.javaparser.GeneratedJavaParserTokenManagerBase.*;
+
+@Generated("JavaCC")
+final class GeneratedJavaParser extends GeneratedJavaParserBase implements GeneratedJavaParserConstants {
+ /* Returns the JavaParser specific token type of the last matched token */
+ JavaToken token() {
+ return token.javaToken;
+ }
+
+ /* Changes the amount by which the horizontal position is increased when a tab character is encountered.
+ One by default.*/
+ void setTabSize(int size) {
+ jj_input_stream.setTabSize(size);
+ }
+
+ @Override
+ GeneratedJavaParserTokenManager getTokenSource() {
+ return token_source;
+ }
+
+/*****************************************
+ * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
+ *****************************************/
+
+/*
+ * Program structuring syntax follows.
+ */
+ final public
+CompilationUnit CompilationUnit() throws ParseException {PackageDeclaration pakage = null;
+ NodeList imports = emptyList();
+ ImportDeclaration in = null;
+ NodeList> types = emptyList();
+ ModifierHolder modifier;
+ TypeDeclaration tn = null;
+ ModuleDeclaration module = null;
+ try {
+ label_1:
+ while (true) {
+ if (jj_2_1(2)) {
+ ;
+ } else {
+ break label_1;
+ }
+ jj_consume_token(SEMICOLON);
+ }
+ if (jj_2_2(2147483647)) {
+ pakage = PackageDeclaration();
+ } else {
+ ;
+ }
+ label_2:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABSTRACT:
+ case CLASS:
+ case _DEFAULT:
+ case ENUM:
+ case FINAL:
+ case IMPORT:
+ case INTERFACE:
+ case NATIVE:
+ case PRIVATE:
+ case PROTECTED:
+ case PUBLIC:
+ case STATIC:
+ case STRICTFP:
+ case SYNCHRONIZED:
+ case TRANSIENT:
+ case VOLATILE:
+ case OPEN:
+ case MODULE:
+ case TRANSITIVE:
+ case SEMICOLON:
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[0] = jj_gen;
+ break label_2;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IMPORT:{
+ in = ImportDeclaration();
+imports = add(imports, in);
+ break;
+ }
+ case ABSTRACT:
+ case CLASS:
+ case _DEFAULT:
+ 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 OPEN:
+ case MODULE:
+ case TRANSITIVE:
+ case SEMICOLON:
+ case AT:{
+ modifier = Modifiers();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CLASS:
+ case INTERFACE:{
+ tn = ClassOrInterfaceDeclaration(modifier);
+types = add(types, tn);
+ break;
+ }
+ case ENUM:{
+ tn = EnumDeclaration(modifier);
+types = add(types, tn);
+ break;
+ }
+ case AT:{
+ tn = AnnotationTypeDeclaration(modifier);
+types = add(types, tn);
+ break;
+ }
+ case OPEN:
+ case MODULE:{
+ module = ModuleDeclaration(modifier);
+ break;
+ }
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[1] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ }
+ default:
+ jj_la1[2] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case 0:{
+ jj_consume_token(0);
+ break;
+ }
+ case CTRL_Z:{
+ jj_consume_token(CTRL_Z);
+ break;
+ }
+ default:
+ jj_la1[3] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return new CompilationUnit(range(token_source.getHomeToken(), token()), pakage, imports, types, module);
+ } catch (ParseException e) {
+recover(EOF, e);
+ final CompilationUnit compilationUnit = new CompilationUnit(range(token_source.getHomeToken(), token()), null, new NodeList(), new NodeList>(), null);
+ compilationUnit.setParsed(UNPARSABLE);
+ return compilationUnit;
+ }
+}
+
+ final public PackageDeclaration PackageDeclaration() throws ParseException {NodeList annotations = new NodeList();
+ Name name;
+ JavaToken begin;
+ annotations = Annotations();
+ jj_consume_token(PACKAGE);
+begin = token();
+ name = Name();
+ jj_consume_token(SEMICOLON);
+return new PackageDeclaration(range(begin, token()), annotations, name);
+}
+
+ final public ImportDeclaration ImportDeclaration() throws ParseException {Name name;
+ boolean isStatic = false;
+ boolean isAsterisk = false;
+ JavaToken begin;
+ jj_consume_token(IMPORT);
+begin = token();
+ switch ((jj_ntk==-1)?jj_ntk_f():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_f():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);
+return new ImportDeclaration(range(begin, token()), name, isStatic, isAsterisk);
+}
+
+/*
+ * 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
+ModifierHolder Modifiers() throws ParseException {JavaToken begin = INVALID;
+ EnumSet modifiers = EnumSet.noneOf(Modifier.class);
+ NodeList annotations = new NodeList();
+ AnnotationExpr ann;
+ label_3:
+ while (true) {
+ if (jj_2_3(2)) {
+ ;
+ } else {
+ break label_3;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PUBLIC:{
+ jj_consume_token(PUBLIC);
+addModifier(modifiers, Modifier.PUBLIC); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case STATIC:{
+ jj_consume_token(STATIC);
+addModifier(modifiers, Modifier.STATIC); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case PROTECTED:{
+ jj_consume_token(PROTECTED);
+addModifier(modifiers, Modifier.PROTECTED); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case PRIVATE:{
+ jj_consume_token(PRIVATE);
+addModifier(modifiers, Modifier.PRIVATE); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case FINAL:{
+ jj_consume_token(FINAL);
+addModifier(modifiers, Modifier.FINAL); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case ABSTRACT:{
+ jj_consume_token(ABSTRACT);
+addModifier(modifiers, Modifier.ABSTRACT); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case SYNCHRONIZED:{
+ jj_consume_token(SYNCHRONIZED);
+addModifier(modifiers, Modifier.SYNCHRONIZED); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case NATIVE:{
+ jj_consume_token(NATIVE);
+addModifier(modifiers, Modifier.NATIVE); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case TRANSIENT:{
+ jj_consume_token(TRANSIENT);
+addModifier(modifiers, Modifier.TRANSIENT); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case VOLATILE:{
+ jj_consume_token(VOLATILE);
+addModifier(modifiers, Modifier.VOLATILE); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case STRICTFP:{
+ jj_consume_token(STRICTFP);
+addModifier(modifiers, Modifier.STRICTFP); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case TRANSITIVE:{
+ jj_consume_token(TRANSITIVE);
+addModifier(modifiers, Modifier.TRANSITIVE); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case _DEFAULT:{
+ jj_consume_token(_DEFAULT);
+addModifier(modifiers, Modifier.DEFAULT); begin = orIfInvalid(begin, token());
+ break;
+ }
+ case AT:{
+ ann = Annotation();
+annotations = add(annotations, ann); begin = orIfInvalid(begin, ann);
+ break;
+ }
+ default:
+ jj_la1[6] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return new ModifierHolder(begin, modifiers, annotations);
+}
+
+/*
+ * Declaration syntax follows.
+ */
+ final public
+ClassOrInterfaceDeclaration ClassOrInterfaceDeclaration(ModifierHolder modifier) throws ParseException {boolean isInterface = false;
+ SimpleName name;
+ RangedList typePar = new RangedList(emptyList());
+ NodeList extList = emptyList();
+ NodeList impList = emptyList();
+ NodeList> members = emptyList();
+ JavaToken begin = modifier.begin;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CLASS:{
+ jj_consume_token(CLASS);
+ break;
+ }
+ case INTERFACE:{
+ jj_consume_token(INTERFACE);
+isInterface = true;
+ break;
+ }
+ default:
+ jj_la1[7] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+begin = orIfInvalid(begin, token());
+ name = SimpleName();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typePar = TypeParameters();
+ break;
+ }
+ default:
+ jj_la1[8] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EXTENDS:{
+ extList = ExtendsList();
+ break;
+ }
+ default:
+ jj_la1[9] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IMPLEMENTS:{
+ impList = ImplementsList();
+ break;
+ }
+ default:
+ jj_la1[10] = jj_gen;
+ ;
+ }
+ members = ClassOrInterfaceBody();
+return new ClassOrInterfaceDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, isInterface, name, typePar.list, extList, impList, members);
+}
+
+ final public NodeList ExtendsList() throws ParseException {boolean extendsMoreThanOne = false;
+ NodeList ret = new NodeList();
+ ClassOrInterfaceType cit;
+ jj_consume_token(EXTENDS);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit);
+ label_4:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[11] = jj_gen;
+ break label_4;
+ }
+ jj_consume_token(COMMA);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit); extendsMoreThanOne = true;
+ }
+return ret;
+}
+
+ final public NodeList ImplementsList() throws ParseException {NodeList ret = new NodeList();
+ ClassOrInterfaceType cit;
+ jj_consume_token(IMPLEMENTS);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit);
+ label_5:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[12] = jj_gen;
+ break label_5;
+ }
+ jj_consume_token(COMMA);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit);
+ }
+return ret;
+}
+
+ final public EnumDeclaration EnumDeclaration(ModifierHolder modifier) throws ParseException {SimpleName name;
+ NodeList impList = emptyList();
+ EnumConstantDeclaration entry;
+ NodeList entries = emptyList();
+ BodyDeclaration> member;
+ NodeList> members = emptyList();
+ JavaToken begin = modifier.begin;
+ jj_consume_token(ENUM);
+begin = orIfInvalid(begin, token());
+ name = SimpleName();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case IMPLEMENTS:{
+ impList = ImplementsList();
+ break;
+ }
+ default:
+ jj_la1[13] = jj_gen;
+ ;
+ }
+ jj_consume_token(LBRACE);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:{
+ entry = EnumConstantDeclaration();
+entries.add(entry);
+ label_6:
+ while (true) {
+ if (jj_2_4(2)) {
+ ;
+ } else {
+ break label_6;
+ }
+ jj_consume_token(COMMA);
+ entry = EnumConstantDeclaration();
+entries.add(entry);
+ }
+ break;
+ }
+ default:
+ jj_la1[14] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ jj_consume_token(COMMA);
+ break;
+ }
+ default:
+ jj_la1[15] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ label_7:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case LBRACE:
+ case SEMICOLON:
+ case AT:
+ case LT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[16] = jj_gen;
+ break label_7;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case LBRACE:
+ case AT:
+ case LT:{
+ member = ClassOrInterfaceBodyDeclaration();
+members = add(members, member);
+ break;
+ }
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[17] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[18] = jj_gen;
+ ;
+ }
+ jj_consume_token(RBRACE);
+return new EnumDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, name, impList, entries, members);
+}
+
+ final public EnumConstantDeclaration EnumConstantDeclaration() throws ParseException {NodeList annotations = new NodeList();
+ AnnotationExpr ann;
+ SimpleName name;
+ NodeList args = emptyList();
+ NodeList> classBody = emptyList();
+ JavaToken begin = INVALID;
+
+ label_8:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[19] = jj_gen;
+ break label_8;
+ }
+ ann = Annotation();
+annotations = add(annotations, ann); begin = orIfInvalid(begin, ann);
+ }
+ name = SimpleName();
+begin = orIfInvalid(begin, token());
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN:{
+ args = Arguments();
+ break;
+ }
+ default:
+ jj_la1[20] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACE:{
+ classBody = ClassOrInterfaceBody();
+ break;
+ }
+ default:
+ jj_la1[21] = jj_gen;
+ ;
+ }
+return new EnumConstantDeclaration(range(begin, token()), annotations, name, args, classBody);
+}
+
+/**
+ * If the list inside the returned RangedList is null, there are no brackets.
+ * If it is empty, there are brackets, but nothing is in them <>.
+ * The normal case is that it contains TypeParameters, like .
+ */
+ final public RangedList TypeParameters() throws ParseException {RangedList ret = new RangedList(new NodeList());
+ TypeParameter tp;
+ NodeList annotations;
+ jj_consume_token(LT);
+ret.beginAt(token());
+ annotations = Annotations();
+ tp = TypeParameter(annotations);
+ret.add(tp); annotations = null;
+ label_9:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[22] = jj_gen;
+ break label_9;
+ }
+ jj_consume_token(COMMA);
+ annotations = Annotations();
+ tp = TypeParameter(annotations);
+ret.add(tp); annotations = null;
+ }
+ jj_consume_token(GT);
+ret.endAt(token());
+return ret;
+}
+
+ final public TypeParameter TypeParameter(NodeList annotations) throws ParseException {SimpleName name;
+ NodeList typeBound = emptyList();
+ JavaToken begin;
+ name = SimpleName();
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EXTENDS:{
+ typeBound = TypeBound();
+ break;
+ }
+ default:
+ jj_la1[23] = jj_gen;
+ ;
+ }
+return new TypeParameter(range(begin, token()), name, typeBound, annotations);
+}
+
+ final public NodeList TypeBound() throws ParseException {NodeList ret = emptyList();
+ ClassOrInterfaceType cit;
+ jj_consume_token(EXTENDS);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit);
+ label_10:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BIT_AND:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[24] = jj_gen;
+ break label_10;
+ }
+ jj_consume_token(BIT_AND);
+ cit = AnnotatedClassOrInterfaceType();
+ret.add(cit);
+ }
+return ret;
+}
+
+ final public NodeList> ClassOrInterfaceBody() throws ParseException {NodeList> ret = emptyList();
+ BodyDeclaration member;
+ jj_consume_token(LBRACE);
+ label_11:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case LBRACE:
+ case SEMICOLON:
+ case AT:
+ case LT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[25] = jj_gen;
+ break label_11;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case LBRACE:
+ case AT:
+ case LT:{
+ member = ClassOrInterfaceBodyDeclaration();
+ret.add(member);
+ break;
+ }
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[26] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ jj_consume_token(RBRACE);
+return ret;
+}
+
+ final public BodyDeclaration> ClassOrInterfaceBodyDeclaration() throws ParseException {ModifierHolder modifier;
+ BodyDeclaration> ret;
+ if (jj_2_9(2)) {
+ ret = InitializerDeclaration();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:
+ case LT:{
+ // Just get all the modifiers out of the way. If you want to do
+ // more checks, pass the modifiers down to the member
+ modifier = Modifiers();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CLASS:
+ case INTERFACE:{
+ ret = ClassOrInterfaceDeclaration(modifier);
+ break;
+ }
+ default:
+ jj_la1[27] = jj_gen;
+ if (jj_2_5(2147483647)) {
+ ret = EnumDeclaration(modifier);
+ } else if (jj_2_6(2147483647)) {
+ ret = AnnotationTypeDeclaration(modifier);
+ } else if (jj_2_7(2147483647)) {
+ ret = ConstructorDeclaration(modifier);
+ } else if (jj_2_8(2147483647)) {
+ ret = FieldDeclaration(modifier);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:
+ case LT:{
+ ret = MethodDeclaration(modifier);
+ break;
+ }
+ default:
+ jj_la1[28] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[29] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public FieldDeclaration FieldDeclaration(ModifierHolder modifier) throws ParseException {Type partialType;
+ NodeList variables = new NodeList();
+ VariableDeclarator val;
+ // Modifiers are already matched in the caller
+ partialType = Type(emptyList());
+ val = VariableDeclarator(partialType);
+variables.add(val);
+ label_12:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[30] = jj_gen;
+ break label_12;
+ }
+ jj_consume_token(COMMA);
+ val = VariableDeclarator(partialType);
+variables.add(val);
+ }
+ jj_consume_token(SEMICOLON);
+JavaToken begin = orIfInvalid(modifier.begin, partialType);
+ return new FieldDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, variables);
+}
+
+ final public VariableDeclarator VariableDeclarator(Type partialType) throws ParseException {Pair> id;
+ Expression init = null;
+ id = VariableDeclaratorId();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSIGN:{
+ jj_consume_token(ASSIGN);
+ init = VariableInitializer();
+ break;
+ }
+ default:
+ jj_la1[31] = jj_gen;
+ ;
+ }
+return new VariableDeclarator(range(id.a, token()), juggleArrayType(partialType, id.b), id.a, init);
+}
+
+ final public Pair> VariableDeclaratorId() throws ParseException {SimpleName name;
+ JavaToken begin;
+ ArrayBracketPair arrayBracketPair;
+ List arrayBracketPairs = new ArrayList(0);
+ name = SimpleName();
+begin=token();
+ label_13:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACKET:
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[32] = jj_gen;
+ break label_13;
+ }
+ arrayBracketPair = ArrayBracketPair(Origin.NAME);
+arrayBracketPairs=add(arrayBracketPairs, arrayBracketPair);
+ }
+if(storeTokens) {
+ name.setTokenRange(name.getTokenRange().get().withEnd(token()));
+ }
+ return new Pair(name, arrayBracketPairs);
+}
+
+ final public Expression VariableInitializer() throws ParseException {Expression ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACE:{
+ ret = ArrayInitializer();
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = Expression();
+ break;
+ }
+ default:
+ jj_la1[33] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public ArrayInitializerExpr ArrayInitializer() throws ParseException {NodeList values = emptyList();
+ Expression val;
+ JavaToken begin;
+ jj_consume_token(LBRACE);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ val = VariableInitializer();
+values = add(values, val);
+ label_14:
+ while (true) {
+ if (jj_2_10(2)) {
+ ;
+ } else {
+ break label_14;
+ }
+ jj_consume_token(COMMA);
+ val = VariableInitializer();
+values = add(values, val);
+ }
+ break;
+ }
+ default:
+ jj_la1[34] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ jj_consume_token(COMMA);
+ break;
+ }
+ default:
+ jj_la1[35] = jj_gen;
+ ;
+ }
+ jj_consume_token(RBRACE);
+return new ArrayInitializerExpr(range(begin, token()), values);
+}
+
+ final public MethodDeclaration MethodDeclaration(ModifierHolder modifier) throws ParseException {RangedList typeParameters = new RangedList(emptyList());
+ Type type;
+ SimpleName name;
+ Pair, ReceiverParameter> parameters = new Pair, ReceiverParameter>(emptyList(), null);
+ ArrayBracketPair arrayBracketPair;
+ List arrayBracketPairs = new ArrayList(0);
+ NodeList throws_ = emptyList();
+ BlockStmt body = null;
+ NodeList annotations;
+ JavaToken begin = modifier.begin;
+ ReferenceType throwType;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeParameters = TypeParameters();
+begin = orIfInvalid(begin, typeParameters.range.getBegin());
+ break;
+ }
+ default:
+ jj_la1[36] = jj_gen;
+ ;
+ }
+ annotations = Annotations();
+modifier.annotations.addAll(annotations); begin = orIfInvalid(begin, nodeListBegin(annotations));
+ type = ResultType(emptyList());
+begin = orIfInvalid(begin, type);
+ name = SimpleName();
+ parameters = Parameters();
+ label_15:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACKET:
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[37] = jj_gen;
+ break label_15;
+ }
+ arrayBracketPair = ArrayBracketPair(Origin.NAME);
+arrayBracketPairs=add(arrayBracketPairs, arrayBracketPair);
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case THROWS:{
+ jj_consume_token(THROWS);
+ throwType = AnnotatedReferenceType();
+throws_ = add(throws_, throwType);
+ label_16:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[38] = jj_gen;
+ break label_16;
+ }
+ jj_consume_token(COMMA);
+ throwType = AnnotatedReferenceType();
+throws_ = add(throws_, throwType);
+ }
+ break;
+ }
+ default:
+ jj_la1[39] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACE:{
+ body = Block();
+ break;
+ }
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[40] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+type = juggleArrayType(type, arrayBracketPairs);
+ return new MethodDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, typeParameters.list, type, name, parameters.a, throws_, body, parameters.b);
+}
+
+ final public ReferenceType AnnotatedReferenceType() throws ParseException {NodeList annotations;
+ ReferenceType type;
+ annotations = Annotations();
+ type = ReferenceType(annotations);
+return type;
+}
+
+ final public Type AnnotatedType() throws ParseException {NodeList annotations;
+ Type type;
+ annotations = Annotations();
+ type = Type(annotations);
+return type;
+}
+
+ final public Pair, ReceiverParameter> Parameters() throws ParseException {NodeList ret = emptyList();
+ Parameter par;
+ ReceiverParameter rp = null;
+ jj_consume_token(LPAREN);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABSTRACT:
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case _DEFAULT:
+ case DOUBLE:
+ case ENUM:
+ 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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:{
+ if (jj_2_11(2147483647)) {
+ rp = ReceiverParameter();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABSTRACT:
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case _DEFAULT:
+ case DOUBLE:
+ case ENUM:
+ 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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:{
+ par = Parameter();
+ret = add(ret, par);
+ break;
+ }
+ default:
+ jj_la1[41] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ label_17:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[42] = jj_gen;
+ break label_17;
+ }
+ jj_consume_token(COMMA);
+ par = Parameter();
+ret = add(ret, par);
+ }
+ break;
+ }
+ default:
+ jj_la1[43] = jj_gen;
+ ;
+ }
+ jj_consume_token(RPAREN);
+return new Pair(ret, rp);
+}
+
+ final public NodeList LambdaParameters() throws ParseException {NodeList ret = null;
+ Parameter par;
+ par = Parameter();
+ret = add(ret, par);
+ label_18:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[44] = jj_gen;
+ break label_18;
+ }
+ jj_consume_token(COMMA);
+ par = Parameter();
+ret = add(ret, par);
+ }
+return ret;
+}
+
+ final public NodeList InferredLambdaParameters() throws ParseException {NodeList ret = null;
+ Pair> id;
+ id = VariableDeclaratorId();
+ret = add(ret, new Parameter(range(id.a, id.a), EnumSet.noneOf(Modifier.class), emptyList(), new UnknownType(), false, emptyList(), id.a));
+ label_19:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[45] = jj_gen;
+ break label_19;
+ }
+ jj_consume_token(COMMA);
+ id = VariableDeclaratorId();
+ret = add(ret, new Parameter(range(id.a, id.a), EnumSet.noneOf(Modifier.class), emptyList(), new UnknownType(), false, emptyList(), id.a));
+ }
+return ret;
+}
+
+ final public Parameter Parameter() throws ParseException {ModifierHolder modifier;
+ Type partialType;
+ boolean isVarArg = false;
+ Pair> id;
+ NodeList varArgAnnotations = emptyList();
+ modifier = Modifiers();
+ partialType = Type(emptyList());
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case AT:
+ case ELLIPSIS:{
+ varArgAnnotations = Annotations();
+ jj_consume_token(ELLIPSIS);
+isVarArg = true;
+ break;
+ }
+ default:
+ jj_la1[46] = jj_gen;
+ ;
+ }
+ id = VariableDeclaratorId();
+JavaToken begin = orIfInvalid(modifier.begin, partialType);
+ return new Parameter(range(begin, token()), modifier.modifiers, modifier.annotations, juggleArrayType(partialType, id.b), isVarArg, varArgAnnotations, id.a);
+}
+
+ final public ReceiverParameter ReceiverParameter() throws ParseException {Type partialType;
+ Name id;
+ NodeList annotations = emptyList();
+ annotations = Annotations();
+ partialType = Type(emptyList());
+ id = ReceiverParameterId();
+return new ReceiverParameter(range(partialType, token()), annotations, partialType, id);
+}
+
+ final public Name ReceiverParameterId() throws ParseException {Name ret = null;
+ NodeList annotations;
+ if (jj_2_12(2147483647)) {
+ ret = Name();
+ jj_consume_token(DOT);
+ } else {
+ ;
+ }
+ annotations = Annotations();
+ jj_consume_token(THIS);
+return new Name(tokenRange(), ret, token.image, annotations);
+}
+
+ final public ConstructorDeclaration ConstructorDeclaration(ModifierHolder modifier) throws ParseException {RangedList typeParameters = new RangedList(emptyList());
+ SimpleName name;
+ Pair, ReceiverParameter> parameters = new Pair, ReceiverParameter>(emptyList(), null);
+ NodeList throws_ = emptyList();
+ ExplicitConstructorInvocationStmt exConsInv = null;
+ NodeList stmts = emptyList();
+ JavaToken begin = modifier.begin;
+ JavaToken blockBegin = INVALID;
+ ReferenceType throwType;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeParameters = TypeParameters();
+begin = orIfInvalid(begin, typeParameters.range.getBegin());
+ break;
+ }
+ default:
+ jj_la1[47] = jj_gen;
+ ;
+ }
+ // Modifiers matched in the caller
+ name = SimpleName();
+begin = orIfInvalid(begin, typeParameters.range.getBegin()); begin = orIfInvalid(begin, token());
+ parameters = Parameters();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case THROWS:{
+ jj_consume_token(THROWS);
+ throwType = AnnotatedReferenceType();
+throws_ = add(throws_, throwType);
+ label_20:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[48] = jj_gen;
+ break label_20;
+ }
+ jj_consume_token(COMMA);
+ throwType = AnnotatedReferenceType();
+throws_ = add(throws_, throwType);
+ }
+ break;
+ }
+ default:
+ jj_la1[49] = jj_gen;
+ ;
+ }
+ jj_consume_token(LBRACE);
+blockBegin=token();
+ if (jj_2_13(2147483647)) {
+ exConsInv = ExplicitConstructorInvocation();
+ } else {
+ ;
+ }
+ stmts = Statements();
+ jj_consume_token(RBRACE);
+if (exConsInv != null) {
+ stmts = prepend(stmts, exConsInv);
+ }
+ return new ConstructorDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, typeParameters.list, name, parameters.a, throws_, new BlockStmt(range(blockBegin, token()), stmts), parameters.b);
+}
+
+ final public ExplicitConstructorInvocationStmt ExplicitConstructorInvocation() throws ParseException {boolean isThis = false;
+ NodeList args;
+ Expression expr = null;
+ RangedList typeArgs = new RangedList(null);
+ JavaToken begin = INVALID;
+ if (jj_2_15(2147483647)) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+begin=typeArgs.range.getBegin();
+ break;
+ }
+ default:
+ jj_la1[50] = jj_gen;
+ ;
+ }
+ jj_consume_token(THIS);
+begin = orIfInvalid(begin, token()); isThis = true;
+ args = Arguments();
+ jj_consume_token(SEMICOLON);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:
+ case LT:{
+ if (jj_2_14(2147483647)) {
+ expr = PrimaryExpressionWithoutSuperSuffix();
+ jj_consume_token(DOT);
+begin = orIfInvalid(begin, expr);
+ } else {
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+begin = orIfInvalid(begin, typeArgs.range.getBegin());
+ break;
+ }
+ default:
+ jj_la1[51] = jj_gen;
+ ;
+ }
+ jj_consume_token(SUPER);
+begin = orIfInvalid(begin, token());
+ args = Arguments();
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[52] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return new ExplicitConstructorInvocationStmt(range(begin, token()),typeArgs.list, isThis, expr, args);
+}
+
+ final public NodeList Statements() throws ParseException {NodeList ret = emptyList();
+ Statement stmt;
+ label_21:
+ while (true) {
+ if (jj_2_16(2)) {
+ ;
+ } else {
+ break label_21;
+ }
+ stmt = BlockStatement();
+ret = add(ret, stmt);
+ }
+return ret;
+}
+
+ final public InitializerDeclaration InitializerDeclaration() throws ParseException {BlockStmt body;
+ JavaToken begin = INVALID;
+ boolean isStatic = false;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case STATIC:{
+ jj_consume_token(STATIC);
+isStatic = true; begin=token();
+ break;
+ }
+ default:
+ jj_la1[53] = jj_gen;
+ ;
+ }
+ body = Block();
+begin = orIfInvalid(begin, body);
+return new InitializerDeclaration(range(begin, token()), isStatic, body);
+}
+
+/*
+ * Type, name and expression syntax follows.
+ */
+ final public
+Type Type(NodeList annotations) throws ParseException {Type ret;
+ if (jj_2_17(2)) {
+ ret = ReferenceType(annotations);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:{
+ ret = PrimitiveType(annotations);
+ break;
+ }
+ default:
+ jj_la1[54] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public ReferenceType ReferenceType(NodeList annotations) throws ParseException {Type type;
+ ArrayBracketPair arrayBracketPair;
+ List arrayBracketPairs = new ArrayList(0);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:{
+ type = PrimitiveType(annotations);
+ label_22:
+ while (true) {
+ arrayBracketPair = ArrayBracketPair(Origin.TYPE);
+arrayBracketPairs=add(arrayBracketPairs, arrayBracketPair);
+ if (jj_2_18(2147483647)) {
+ ;
+ } else {
+ break label_22;
+ }
+ }
+ break;
+ }
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ type = ClassOrInterfaceType(annotations);
+ label_23:
+ while (true) {
+ if (jj_2_19(2147483647)) {
+ ;
+ } else {
+ break label_23;
+ }
+ arrayBracketPair = ArrayBracketPair(Origin.TYPE);
+arrayBracketPairs=add(arrayBracketPairs, arrayBracketPair);
+ }
+ break;
+ }
+ default:
+ jj_la1[55] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return (ReferenceType)wrapInArrayTypes(type, arrayBracketPairs);
+}
+
+ final public ArrayBracketPair ArrayBracketPair(Origin origin) throws ParseException {NodeList annotations;
+ JavaToken begin = INVALID;
+ annotations = Annotations();
+ jj_consume_token(LBRACKET);
+begin = orIfInvalid(begin, token());
+ jj_consume_token(RBRACKET);
+return new ArrayBracketPair(range(begin, token()), origin, annotations);
+}
+
+ final public IntersectionType IntersectionType(NodeList annotations) throws ParseException {JavaToken begin = INVALID;
+ ReferenceType elementType;
+ NodeList elements = emptyList();
+ elementType = ReferenceType(annotations);
+begin = orIfInvalid(begin, elementType); elements = add(elements, elementType);
+ jj_consume_token(BIT_AND);
+ label_24:
+ while (true) {
+ elementType = AnnotatedReferenceType();
+elements = add(elements, elementType);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[56] = jj_gen;
+ break label_24;
+ }
+ }
+return new IntersectionType(range(begin, token()), elements);
+}
+
+ final public ClassOrInterfaceType AnnotatedClassOrInterfaceType() throws ParseException {NodeList annotations = new NodeList();
+ ClassOrInterfaceType cit;
+ annotations = Annotations();
+ cit = ClassOrInterfaceType(annotations);
+return cit;
+}
+
+ final public ClassOrInterfaceType ClassOrInterfaceType(NodeList firstAnnotations) throws ParseException {ClassOrInterfaceType ret;
+ SimpleName name;
+ RangedList typeArgs = new RangedList(null);
+ JavaToken begin;
+ NodeList annotations = new NodeList();
+ name = SimpleName();
+begin=token();
+ if (jj_2_20(2)) {
+ typeArgs = TypeArguments();
+ } else {
+ ;
+ }
+ret = new ClassOrInterfaceType(range(begin, token()), null, name, typeArgs.list, firstAnnotations);
+ typeArgs = new RangedList(null);
+ label_25:
+ while (true) {
+ if (jj_2_21(2)) {
+ ;
+ } else {
+ break label_25;
+ }
+ jj_consume_token(DOT);
+ annotations = Annotations();
+ name = SimpleName();
+ if (jj_2_22(2)) {
+ typeArgs = TypeArguments();
+ } else {
+ ;
+ }
+ret = new ClassOrInterfaceType(range(begin, token()), ret, name, typeArgs.list, annotations);
+ typeArgs = new RangedList(null);
+ }
+return ret;
+}
+
+ final public RangedList TypeArguments() throws ParseException {RangedList ret = new RangedList(new NodeList());
+ Type type;
+ jj_consume_token(LT);
+ret.beginAt(token());
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:
+ case HOOK:{
+ type = TypeArgument();
+ret.add(type);
+ label_26:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[57] = jj_gen;
+ break label_26;
+ }
+ jj_consume_token(COMMA);
+ type = TypeArgument();
+ret.add(type);
+ }
+ break;
+ }
+ default:
+ jj_la1[58] = jj_gen;
+ ;
+ }
+ jj_consume_token(GT);
+ret.endAt(token());
+return ret;
+}
+
+ final public Type TypeArgument() throws ParseException {Type ret;
+ NodeList annotations;
+ annotations = Annotations();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ ret = Type(annotations);
+ break;
+ }
+ case HOOK:{
+ ret = Wildcard(annotations);
+ break;
+ }
+ default:
+ jj_la1[59] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public WildcardType Wildcard(NodeList firstAnnotations) throws ParseException {ReferenceType ext = null;
+ ReferenceType sup = null;
+ JavaToken begin;
+ NodeList annotations = new NodeList();
+ jj_consume_token(HOOK);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EXTENDS:
+ case SUPER:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EXTENDS:{
+ jj_consume_token(EXTENDS);
+ annotations = Annotations();
+ ext = ReferenceType(annotations);
+ break;
+ }
+ case SUPER:{
+ jj_consume_token(SUPER);
+ annotations = Annotations();
+ sup = ReferenceType(annotations);
+ break;
+ }
+ default:
+ jj_la1[60] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ }
+ default:
+ jj_la1[61] = jj_gen;
+ ;
+ }
+return new WildcardType(range(begin, token()), ext, sup, firstAnnotations);
+}
+
+ final public PrimitiveType PrimitiveType(NodeList annotations) throws ParseException {PrimitiveType ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:{
+ jj_consume_token(BOOLEAN);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.BOOLEAN, annotations);
+ break;
+ }
+ case CHAR:{
+ jj_consume_token(CHAR);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.CHAR, annotations);
+ break;
+ }
+ case BYTE:{
+ jj_consume_token(BYTE);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.BYTE, annotations);
+ break;
+ }
+ case SHORT:{
+ jj_consume_token(SHORT);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.SHORT, annotations);
+ break;
+ }
+ case INT:{
+ jj_consume_token(INT);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.INT, annotations);
+ break;
+ }
+ case LONG:{
+ jj_consume_token(LONG);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.LONG, annotations);
+ break;
+ }
+ case FLOAT:{
+ jj_consume_token(FLOAT);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.FLOAT, annotations);
+ break;
+ }
+ case DOUBLE:{
+ jj_consume_token(DOUBLE);
+ret = new PrimitiveType(tokenRange(), PrimitiveType.Primitive.DOUBLE, annotations);
+ break;
+ }
+ default:
+ jj_la1[62] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Type ResultType(NodeList annotations) throws ParseException {Type ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case VOID:{
+ jj_consume_token(VOID);
+ret = new VoidType(tokenRange());
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ ret = Type(annotations);
+ break;
+ }
+ default:
+ jj_la1[63] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Name Name() throws ParseException {Name ret;
+ NodeList annotations = new NodeList();
+ annotations = Annotations();
+ Identifier();
+ret = new Name(tokenRange(), null, token.image, annotations);
+ label_27:
+ while (true) {
+ if (jj_2_23(2147483647)) {
+ ;
+ } else {
+ break label_27;
+ }
+ jj_consume_token(DOT);
+ annotations = Annotations();
+ Identifier();
+ret = new Name(range(ret, token()), ret, token.image, annotations);
+ }
+return ret;
+}
+
+ final public SimpleName SimpleName() throws ParseException {SimpleName ret;
+ Identifier();
+ret = new SimpleName(tokenRange(), token.image);
+return ret;
+}
+
+ final public String Identifier() throws ParseException {String ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case MODULE:{
+ jj_consume_token(MODULE);
+ break;
+ }
+ case REQUIRES:{
+ jj_consume_token(REQUIRES);
+ break;
+ }
+ case TO:{
+ jj_consume_token(TO);
+ break;
+ }
+ case WITH:{
+ jj_consume_token(WITH);
+ break;
+ }
+ case OPEN:{
+ jj_consume_token(OPEN);
+ break;
+ }
+ case OPENS:{
+ jj_consume_token(OPENS);
+ break;
+ }
+ case USES:{
+ jj_consume_token(USES);
+ break;
+ }
+ case EXPORTS:{
+ jj_consume_token(EXPORTS);
+ break;
+ }
+ case PROVIDES:{
+ jj_consume_token(PROVIDES);
+ break;
+ }
+ case TRANSITIVE:{
+ jj_consume_token(TRANSITIVE);
+ break;
+ }
+ case ENUM:{
+ jj_consume_token(ENUM);
+ break;
+ }
+ case STRICTFP:{
+ jj_consume_token(STRICTFP);
+ break;
+ }
+ case IDENTIFIER:{
+ jj_consume_token(IDENTIFIER);
+ break;
+ }
+ default:
+ jj_la1[64] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ret = token.image; setTokenKind(IDENTIFIER);
+return ret;
+}
+
+/*
+ * Expression syntax follows.
+ */
+ final public
+Expression Expression() throws ParseException {Expression ret;
+ AssignExpr.Operator op;
+ Expression value;
+ Statement lambdaBody = null;
+ RangedList typeArgs = new RangedList(null);
+ ret = ConditionalExpression();
+ switch ((jj_ntk==-1)?jj_ntk_f():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_24(2)) {
+ op = AssignmentOperator();
+ value = Expression();
+ret = new AssignExpr(range(ret, token()), ret, value, op);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ARROW:{
+ jj_consume_token(ARROW);
+ lambdaBody = LambdaBody();
+if (ret instanceof CastExpr) {
+ ret = generateLambda(ret, lambdaBody);
+ } 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_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[65] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ Identifier();
+ break;
+ }
+ case NEW:{
+ jj_consume_token(NEW);
+ break;
+ }
+ default:
+ jj_la1[66] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ret = new MethodReferenceExpr(range(ret, token()), ret, typeArgs.list, token.image);
+ break;
+ }
+ default:
+ jj_la1[67] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ break;
+ }
+ default:
+ jj_la1[68] = jj_gen;
+ ;
+ }
+return ret;
+}
+
+ final public AssignExpr.Operator AssignmentOperator() throws ParseException {AssignExpr.Operator ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSIGN:{
+ jj_consume_token(ASSIGN);
+ret = AssignExpr.Operator.ASSIGN;
+ break;
+ }
+ case STARASSIGN:{
+ jj_consume_token(STARASSIGN);
+ret = AssignExpr.Operator.MULTIPLY;
+ break;
+ }
+ case SLASHASSIGN:{
+ jj_consume_token(SLASHASSIGN);
+ret = AssignExpr.Operator.DIVIDE;
+ break;
+ }
+ case REMASSIGN:{
+ jj_consume_token(REMASSIGN);
+ret = AssignExpr.Operator.REMAINDER;
+ 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.LEFT_SHIFT;
+ break;
+ }
+ case RSIGNEDSHIFTASSIGN:{
+ jj_consume_token(RSIGNEDSHIFTASSIGN);
+ret = AssignExpr.Operator.SIGNED_RIGHT_SHIFT;
+ break;
+ }
+ case RUNSIGNEDSHIFTASSIGN:{
+ jj_consume_token(RUNSIGNEDSHIFTASSIGN);
+ret = AssignExpr.Operator.UNSIGNED_RIGHT_SHIFT;
+ break;
+ }
+ case ANDASSIGN:{
+ jj_consume_token(ANDASSIGN);
+ret = AssignExpr.Operator.BINARY_AND;
+ break;
+ }
+ case XORASSIGN:{
+ jj_consume_token(XORASSIGN);
+ret = AssignExpr.Operator.XOR;
+ break;
+ }
+ case ORASSIGN:{
+ jj_consume_token(ORASSIGN);
+ret = AssignExpr.Operator.BINARY_OR;
+ break;
+ }
+ default:
+ jj_la1[69] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Expression ConditionalExpression() throws ParseException {Expression ret;
+ Expression left;
+ Expression right;
+ ret = ConditionalOrExpression();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case HOOK:{
+ jj_consume_token(HOOK);
+ left = Expression();
+ jj_consume_token(COLON);
+ right = ConditionalExpression();
+ret = new ConditionalExpr(range(ret, token()), ret, left, right);
+ break;
+ }
+ default:
+ jj_la1[70] = jj_gen;
+ ;
+ }
+return ret;
+}
+
+ final public Expression ConditionalOrExpression() throws ParseException {Expression ret;
+ Expression right;
+ ret = ConditionalAndExpression();
+ label_28:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SC_OR:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[71] = jj_gen;
+ break label_28;
+ }
+ jj_consume_token(SC_OR);
+ right = ConditionalAndExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, BinaryExpr.Operator.OR);
+ }
+return ret;
+}
+
+ final public Expression ConditionalAndExpression() throws ParseException {Expression ret;
+ Expression right;
+ ret = InclusiveOrExpression();
+ label_29:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case SC_AND:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[72] = jj_gen;
+ break label_29;
+ }
+ jj_consume_token(SC_AND);
+ right = InclusiveOrExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, BinaryExpr.Operator.AND);
+ }
+return ret;
+}
+
+ final public Expression InclusiveOrExpression() throws ParseException {Expression ret;
+ Expression right;
+ ret = ExclusiveOrExpression();
+ label_30:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BIT_OR:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[73] = jj_gen;
+ break label_30;
+ }
+ jj_consume_token(BIT_OR);
+ right = ExclusiveOrExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, BinaryExpr.Operator.BINARY_OR);
+ }
+return ret;
+}
+
+ final public Expression ExclusiveOrExpression() throws ParseException {Expression ret;
+ Expression right;
+ ret = AndExpression();
+ label_31:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case XOR:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[74] = jj_gen;
+ break label_31;
+ }
+ jj_consume_token(XOR);
+ right = AndExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, BinaryExpr.Operator.XOR);
+ }
+return ret;
+}
+
+ final public Expression AndExpression() throws ParseException {Expression ret;
+ Expression right;
+ ret = EqualityExpression();
+ label_32:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BIT_AND:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[75] = jj_gen;
+ break label_32;
+ }
+ jj_consume_token(BIT_AND);
+ right = EqualityExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, BinaryExpr.Operator.BINARY_AND);
+ }
+return ret;
+}
+
+ final public Expression EqualityExpression() throws ParseException {Expression ret;
+ Expression right;
+ BinaryExpr.Operator op;
+ ret = InstanceOfExpression();
+ label_33:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EQ:
+ case NE:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[76] = jj_gen;
+ break label_33;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case EQ:{
+ jj_consume_token(EQ);
+op = BinaryExpr.Operator.EQUALS;
+ break;
+ }
+ case NE:{
+ jj_consume_token(NE);
+op = BinaryExpr.Operator.NOT_EQUALS;
+ break;
+ }
+ default:
+ jj_la1[77] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ right = InstanceOfExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, op);
+ }
+return ret;
+}
+
+ final public Expression InstanceOfExpression() throws ParseException {Expression ret;
+ ReferenceType type;
+ NodeList annotations;
+ ret = RelationalExpression();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INSTANCEOF:{
+ jj_consume_token(INSTANCEOF);
+ type = AnnotatedReferenceType();
+ret = new InstanceOfExpr(range(ret, token()), ret, type);
+ break;
+ }
+ default:
+ jj_la1[78] = jj_gen;
+ ;
+ }
+return ret;
+}
+
+ final public Expression RelationalExpression() throws ParseException {Expression ret;
+ Expression right;
+ BinaryExpr.Operator op;
+ ret = ShiftExpression();
+ label_34:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:
+ case LE:
+ case GE:
+ case GT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[79] = jj_gen;
+ break label_34;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():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.LESS_EQUALS;
+ break;
+ }
+ case GE:{
+ jj_consume_token(GE);
+op = BinaryExpr.Operator.GREATER_EQUALS;
+ break;
+ }
+ default:
+ jj_la1[80] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ right = ShiftExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, op);
+ }
+return ret;
+}
+
+ final public Expression ShiftExpression() throws ParseException {Expression ret;
+ Expression right;
+ BinaryExpr.Operator op;
+ ret = AdditiveExpression();
+ label_35:
+ while (true) {
+ if (jj_2_25(1)) {
+ ;
+ } else {
+ break label_35;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LSHIFT:{
+ jj_consume_token(LSHIFT);
+op = BinaryExpr.Operator.LEFT_SHIFT;
+ break;
+ }
+ default:
+ jj_la1[81] = jj_gen;
+ if (jj_2_26(1)) {
+ RSIGNEDSHIFT();
+op = BinaryExpr.Operator.SIGNED_RIGHT_SHIFT;
+ } else if (jj_2_27(1)) {
+ RUNSIGNEDSHIFT();
+op = BinaryExpr.Operator.UNSIGNED_RIGHT_SHIFT;
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ right = AdditiveExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, op);
+ }
+return ret;
+}
+
+ final public Expression AdditiveExpression() throws ParseException {Expression ret;
+ Expression right;
+ BinaryExpr.Operator op;
+ ret = MultiplicativeExpression();
+ label_36:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PLUS:
+ case MINUS:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[82] = jj_gen;
+ break label_36;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():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[83] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ right = MultiplicativeExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, op);
+ }
+return ret;
+}
+
+ final public Expression MultiplicativeExpression() throws ParseException {Expression ret;
+ Expression right;
+ BinaryExpr.Operator op;
+ ret = UnaryExpression();
+ label_37:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case STAR:
+ case SLASH:
+ case REM:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[84] = jj_gen;
+ break label_37;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case STAR:{
+ jj_consume_token(STAR);
+op = BinaryExpr.Operator.MULTIPLY;
+ 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[85] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ right = UnaryExpression();
+ret = new BinaryExpr(range(ret, token()), ret, right, op);
+ }
+return ret;
+}
+
+ final public Expression UnaryExpression() throws ParseException {Expression ret;
+ UnaryExpr.Operator op;
+ JavaToken begin = INVALID;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INCR:{
+ ret = PreIncrementExpression();
+ break;
+ }
+ case DECR:{
+ ret = PreDecrementExpression();
+ break;
+ }
+ case PLUS:
+ case MINUS:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case PLUS:{
+ jj_consume_token(PLUS);
+op = UnaryExpr.Operator.PLUS; begin=token();
+ break;
+ }
+ case MINUS:{
+ jj_consume_token(MINUS);
+op = UnaryExpr.Operator.MINUS; begin=token();
+ break;
+ }
+ default:
+ jj_la1[86] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ ret = UnaryExpression();
+ret = new UnaryExpr(range(begin, token()), ret, op);
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = UnaryExpressionNotPlusMinus();
+ break;
+ }
+ default:
+ jj_la1[87] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Expression PreIncrementExpression() throws ParseException {Expression ret;
+ JavaToken begin = INVALID;
+ jj_consume_token(INCR);
+begin=token();
+ ret = UnaryExpression();
+ret = new UnaryExpr(range(begin, token()), ret, UnaryExpr.Operator.PREFIX_INCREMENT);
+return ret;
+}
+
+ final public Expression PreDecrementExpression() throws ParseException {Expression ret;
+ JavaToken begin;
+ jj_consume_token(DECR);
+begin=token();
+ ret = UnaryExpression();
+ret = new UnaryExpr(range(begin, token()), ret, UnaryExpr.Operator.PREFIX_DECREMENT);
+return ret;
+}
+
+ final public Expression UnaryExpressionNotPlusMinus() throws ParseException {Expression ret;
+ UnaryExpr.Operator op;
+ JavaToken begin = INVALID;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BANG:
+ case TILDE:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case TILDE:{
+ jj_consume_token(TILDE);
+op = UnaryExpr.Operator.BITWISE_COMPLEMENT; begin=token();
+ break;
+ }
+ case BANG:{
+ jj_consume_token(BANG);
+op = UnaryExpr.Operator.LOGICAL_COMPLEMENT; begin=token();
+ break;
+ }
+ default:
+ jj_la1[88] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ ret = UnaryExpression();
+ret = new UnaryExpr(range(begin, token()), ret, op);
+ break;
+ }
+ default:
+ jj_la1[89] = jj_gen;
+ if (jj_2_28(2147483647)) {
+ ret = CastExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:{
+ ret = PostfixExpression();
+ break;
+ }
+ default:
+ jj_la1[90] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+return ret;
+}
+
+ final public Expression PostfixExpression() throws ParseException {Expression ret;
+ UnaryExpr.Operator op;
+ ret = PrimaryExpression();
+ if (jj_2_29(2)) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INCR:{
+ jj_consume_token(INCR);
+op = UnaryExpr.Operator.POSTFIX_INCREMENT;
+ break;
+ }
+ case DECR:{
+ jj_consume_token(DECR);
+op = UnaryExpr.Operator.POSTFIX_DECREMENT;
+ break;
+ }
+ default:
+ jj_la1[91] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ret = new UnaryExpr(range(ret, token()), ret, op);
+ } else {
+ ;
+ }
+return ret;
+}
+
+ final public Expression CastExpression() throws ParseException {Expression ret;
+ ReferenceType referenceType;
+ PrimitiveType primitiveType;
+ JavaToken begin = INVALID;
+ NodeList annotations;
+ NodeList typesOfMultiCast = emptyList();
+ jj_consume_token(LPAREN);
+begin=token();
+ annotations = Annotations();
+ if (jj_2_30(2)) {
+ primitiveType = PrimitiveType(annotations);
+ jj_consume_token(RPAREN);
+ ret = UnaryExpression();
+ret = new CastExpr(range(begin, token()), primitiveType, ret);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ referenceType = ReferenceType(annotations);
+typesOfMultiCast = add(typesOfMultiCast, referenceType);
+ label_38:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BIT_AND:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[92] = jj_gen;
+ break label_38;
+ }
+ jj_consume_token(BIT_AND);
+ referenceType = AnnotatedReferenceType();
+typesOfMultiCast = add(typesOfMultiCast, referenceType);
+ }
+ jj_consume_token(RPAREN);
+ ret = UnaryExpressionNotPlusMinus();
+if (typesOfMultiCast.size() > 1) {
+ ret = new CastExpr(range(begin, token()), new IntersectionType(range(typesOfMultiCast.get(0), typesOfMultiCast.get(typesOfMultiCast.size() -1)), typesOfMultiCast), ret);
+ } else {
+ ret = new CastExpr(range(begin, token()), referenceType, ret);
+ }
+ break;
+ }
+ default:
+ jj_la1[93] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public Expression PrimaryExpression() throws ParseException {Expression ret;
+ ret = PrimaryPrefix();
+ label_39:
+ while (true) {
+ if (jj_2_31(2)) {
+ ;
+ } else {
+ break label_39;
+ }
+ ret = PrimarySuffix(ret);
+ }
+return ret;
+}
+
+ final public Expression PrimaryExpressionWithoutSuperSuffix() throws ParseException {Expression ret;
+ ret = PrimaryPrefix();
+ label_40:
+ while (true) {
+ if (jj_2_32(2147483647)) {
+ ;
+ } else {
+ break label_40;
+ }
+ ret = PrimarySuffixWithoutSuper(ret);
+ }
+return ret;
+}
+
+ final public Expression PrimaryPrefix() throws ParseException {Expression ret = null;
+ SimpleName name;
+ RangedList typeArgs = new RangedList(null);
+ NodeList args = emptyList();
+ NodeList params = emptyList();
+ boolean hasArgs = false;
+ boolean isLambda = false;
+ Type type;
+ JavaToken begin;
+ Parameter p = null;
+ SimpleName id = null;
+ switch ((jj_ntk==-1)?jj_ntk_f():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(tokenRange(), null);
+ break;
+ }
+ case SUPER:{
+ jj_consume_token(SUPER);
+ret = new SuperExpr(tokenRange(), null);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT:{
+ jj_consume_token(DOT);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[94] = jj_gen;
+ ;
+ }
+ name = SimpleName();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN:{
+ args = Arguments();
+hasArgs=true;
+ break;
+ }
+ default:
+ jj_la1[95] = jj_gen;
+ ;
+ }
+if (hasArgs) {
+ ret = new MethodCallExpr(range(ret, token()), ret, typeArgs.list, name, args);
+ } else {
+ ret = new FieldAccessExpr(range(ret, token()), ret, emptyList(), name);
+ }
+ break;
+ }
+ case DOUBLECOLON:{
+ jj_consume_token(DOUBLECOLON);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[96] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ Identifier();
+ break;
+ }
+ case NEW:{
+ jj_consume_token(NEW);
+ break;
+ }
+ default:
+ jj_la1[97] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ret = new MethodReferenceExpr(range(ret, token()), ret, typeArgs.list, token.image);
+ break;
+ }
+ default:
+ jj_la1[98] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ }
+ case LPAREN:{
+ jj_consume_token(LPAREN);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case RPAREN:{
+ jj_consume_token(RPAREN);
+ret = new LambdaExpr(range(begin, token()), params, new BlockStmt(), true);
+ break;
+ }
+ default:
+ jj_la1[99] = jj_gen;
+ if (jj_2_33(2147483647)) {
+ params = LambdaParameters();
+ jj_consume_token(RPAREN);
+ret = new LambdaExpr(range(begin, token()), params, new BlockStmt(), true);
+ } else if (jj_2_34(2147483647)) {
+ params = InferredLambdaParameters();
+ jj_consume_token(RPAREN);
+ret = new LambdaExpr(range(begin, token()), params, new BlockStmt(), true);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ // This could still be a lambda expression, but this is handled after matching -> elsewhere
+ ret = Expression();
+ jj_consume_token(RPAREN);
+ret = new EnclosedExpr(range(begin, token()), ret);
+ break;
+ }
+ default:
+ jj_la1[100] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ break;
+ }
+ case NEW:{
+ ret = AllocationExpression(null);
+ break;
+ }
+ default:
+ jj_la1[104] = jj_gen;
+ if (jj_2_35(2147483647)) {
+ type = ResultType(emptyList());
+ jj_consume_token(DOT);
+ jj_consume_token(CLASS);
+ret = new ClassExpr(range(type, token()), type);
+ } else if (jj_2_36(2147483647)) {
+ type = AnnotatedType();
+ jj_consume_token(DOUBLECOLON);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[101] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ Identifier();
+ break;
+ }
+ case NEW:{
+ jj_consume_token(NEW);
+ break;
+ }
+ default:
+ jj_la1[102] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ret = new TypeExpr(range(type, type), type);
+ ret = new MethodReferenceExpr(range(ret, token()), ret, typeArgs.list, token.image);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ name = SimpleName();
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN:{
+ args = Arguments();
+hasArgs=true;
+ break;
+ }
+ default:
+ jj_la1[103] = jj_gen;
+ ;
+ }
+if (hasArgs) {
+ ret = new MethodCallExpr(range(begin, token()), null, null, name, args);
+ } else {
+ ret = new NameExpr(name);
+ }
+ break;
+ }
+ default:
+ jj_la1[105] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+return ret;
+}
+
+ final public Expression PrimarySuffix(Expression scope) throws ParseException {Expression ret;
+ if (jj_2_37(2)) {
+ ret = PrimarySuffixWithoutSuper(scope);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT:{
+ jj_consume_token(DOT);
+ jj_consume_token(SUPER);
+ret = new SuperExpr(range(scope, token()), scope);
+ break;
+ }
+ default:
+ jj_la1[106] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public Expression PrimarySuffixWithoutSuper(Expression scope) throws ParseException {Expression ret;
+ RangedList typeArgs = new RangedList(null);
+ NodeList args = emptyList();
+ boolean hasArgs = false;
+ SimpleName name;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DOT:{
+ jj_consume_token(DOT);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case THIS:{
+ jj_consume_token(THIS);
+ret = new ThisExpr(range(scope, token()), scope);
+ break;
+ }
+ case NEW:{
+ ret = AllocationExpression(scope);
+ break;
+ }
+ default:
+ jj_la1[109] = jj_gen;
+ if (jj_2_38(2147483647)) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[107] = jj_gen;
+ ;
+ }
+ name = SimpleName();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN:{
+ args = Arguments();
+hasArgs=true;
+ break;
+ }
+ default:
+ jj_la1[108] = jj_gen;
+ ;
+ }
+if (hasArgs) {
+ ret = new MethodCallExpr(range(scope, token()), scope, typeArgs.list, name, args);
+ } else {
+ ret = new FieldAccessExpr(range(scope, token()), scope, typeArgs.list, name);
+ }
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ break;
+ }
+ case LBRACKET:{
+ jj_consume_token(LBRACKET);
+ ret = Expression();
+ jj_consume_token(RBRACKET);
+ret = new ArrayAccessExpr(range(scope, token()), scope, ret);
+ break;
+ }
+ default:
+ jj_la1[110] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Expression Literal() throws ParseException {Expression ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INTEGER_LITERAL:{
+ jj_consume_token(INTEGER_LITERAL);
+ret = new IntegerLiteralExpr(tokenRange(), token.image);
+ break;
+ }
+ case LONG_LITERAL:{
+ jj_consume_token(LONG_LITERAL);
+ret = new LongLiteralExpr(tokenRange(), token.image);
+ break;
+ }
+ case FLOATING_POINT_LITERAL:{
+ jj_consume_token(FLOATING_POINT_LITERAL);
+ret = new DoubleLiteralExpr(tokenRange(), token.image);
+ break;
+ }
+ case CHARACTER_LITERAL:{
+ jj_consume_token(CHARACTER_LITERAL);
+ret = new CharLiteralExpr(tokenRange(), token.image.substring(1, token.image.length()-1));
+ break;
+ }
+ case STRING_LITERAL:{
+ jj_consume_token(STRING_LITERAL);
+ret = new StringLiteralExpr(tokenRange(), token.image.substring(1, token.image.length()-1));
+ break;
+ }
+ case FALSE:
+ case TRUE:{
+ ret = BooleanLiteral();
+ break;
+ }
+ case NULL:{
+ ret = NullLiteral();
+ break;
+ }
+ default:
+ jj_la1[111] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Expression BooleanLiteral() throws ParseException {Expression ret;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case TRUE:{
+ jj_consume_token(TRUE);
+ret = new BooleanLiteralExpr(tokenRange(), true);
+ break;
+ }
+ case FALSE:{
+ jj_consume_token(FALSE);
+ret = new BooleanLiteralExpr(tokenRange(), false);
+ break;
+ }
+ default:
+ jj_la1[112] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public Expression NullLiteral() throws ParseException {
+ jj_consume_token(NULL);
+return new NullLiteralExpr(tokenRange());
+}
+
+ final public NodeList Arguments() throws ParseException {NodeList ret = emptyList();
+ jj_consume_token(LPAREN);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = ArgumentList();
+ break;
+ }
+ default:
+ jj_la1[113] = jj_gen;
+ ;
+ }
+ jj_consume_token(RPAREN);
+return ret;
+}
+
+ final public NodeList ArgumentList() throws ParseException {NodeList ret = emptyList();
+ Expression expr;
+ expr = Expression();
+ret.add(expr);
+ label_41:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[114] = jj_gen;
+ break label_41;
+ }
+ jj_consume_token(COMMA);
+ expr = Expression();
+ret.add(expr);
+ }
+return ret;
+}
+
+ final public Expression AllocationExpression(Expression scope) throws ParseException {Expression ret;
+ Type type;
+ RangedList typeArgs = new RangedList(null);
+ NodeList> anonymousBody = null;
+ NodeList args;
+ JavaToken begin = INVALID;
+ NodeList annotations = new NodeList();
+ jj_consume_token(NEW);
+if(scope==null) {begin=token();} else {begin = orIfInvalid(begin, scope);}
+ annotations = Annotations();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:{
+ type = PrimitiveType(annotations);
+ ret = ArrayCreation(begin, type);
+ break;
+ }
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:
+ case LT:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LT:{
+ typeArgs = TypeArguments();
+ break;
+ }
+ default:
+ jj_la1[115] = jj_gen;
+ ;
+ }
+ type = AnnotatedClassOrInterfaceType();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACKET:
+ case AT:{
+ ret = ArrayCreation(begin, type);
+ break;
+ }
+ case LPAREN:{
+ args = Arguments();
+ if (jj_2_39(2)) {
+ anonymousBody = ClassOrInterfaceBody();
+ } else {
+ ;
+ }
+ret = new ObjectCreationExpr(range(begin, token()), scope, (ClassOrInterfaceType) type, typeArgs.list, args, anonymousBody);
+ break;
+ }
+ default:
+ jj_la1[116] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ }
+ default:
+ jj_la1[117] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return ret;
+}
+
+ final public ArrayCreationExpr ArrayCreation(JavaToken begin, Type type) throws ParseException {Expression expr = null;
+ ArrayInitializerExpr arrayInitializerExpr = null;
+ NodeList inits = emptyList();
+ List> accum = new ArrayList>();
+ NodeList annotations = new NodeList();
+ JavaToken arrayCreationLevelStart = INVALID;
+ List levelRanges = new ArrayList();
+ label_42:
+ while (true) {
+ annotations = Annotations();
+ jj_consume_token(LBRACKET);
+arrayCreationLevelStart = annotations.isEmpty() ? token() : orIfInvalid(arrayCreationLevelStart, annotations.get(0));
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ expr = Expression();
+ break;
+ }
+ default:
+ jj_la1[118] = jj_gen;
+ ;
+ }
+accum = add(accum, annotations); inits = add(inits, expr); annotations=null; expr=null;
+ jj_consume_token(RBRACKET);
+levelRanges.add(range(arrayCreationLevelStart, token()));
+ if (jj_2_40(2)) {
+ ;
+ } else {
+ break label_42;
+ }
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACE:{
+ arrayInitializerExpr = ArrayInitializer();
+ break;
+ }
+ default:
+ jj_la1[119] = jj_gen;
+ ;
+ }
+return juggleArrayCreation(range(begin, token()), levelRanges, type, inits, accum, arrayInitializerExpr);
+}
+
+/*
+ * Statement syntax follows.
+ */
+ final public
+Statement Statement() throws ParseException {Statement ret;
+ try {
+ if (jj_2_41(2)) {
+ ret = LabeledStatement();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():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 ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:
+ 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[120] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+ } catch (ParseException e) {
+TokenRange errorRange = recover(SEMICOLON, e);
+ return new UnparsableStmt(errorRange);
+ }
+}
+
+ final public AssertStmt AssertStatement() throws ParseException {Expression check;
+ Expression msg = null;
+ JavaToken begin;
+ jj_consume_token(ASSERT);
+begin=token();
+ check = Expression();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COLON:{
+ jj_consume_token(COLON);
+ msg = Expression();
+ break;
+ }
+ default:
+ jj_la1[121] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+return new AssertStmt(range(begin, token()), check, msg);
+}
+
+ final public LabeledStmt LabeledStatement() throws ParseException {SimpleName label;
+ Statement stmt;
+ JavaToken begin;
+ label = SimpleName();
+begin=token();
+ jj_consume_token(COLON);
+ stmt = Statement();
+return new LabeledStmt(range(begin, token()), label, stmt);
+}
+
+ final public BlockStmt Block() throws ParseException {NodeList stmts = emptyList();
+ JavaToken begin;
+ jj_consume_token(LBRACE);
+begin=token();
+ try {
+ stmts = Statements();
+ jj_consume_token(RBRACE);
+return new BlockStmt(range(begin, token()), stmts);
+ } catch (ParseException e) {
+recover(RBRACE, e);
+ BlockStmt block = new BlockStmt(range(begin, token()), new NodeList());
+ block.setParsed(UNPARSABLE);
+ return block;
+ }
+}
+
+/*
+ * Classes inside body statements can only be abstract or final. The semantic must check it.
+ */
+ final public Statement BlockStatement() throws ParseException {Statement ret;
+ Expression expr;
+ ClassOrInterfaceDeclaration typeDecl;
+ ModifierHolder modifier;
+ try {
+ if (jj_2_42(2147483647)) {
+ modifier = Modifiers();
+ typeDecl = ClassOrInterfaceDeclaration(modifier);
+ret = new LocalClassDeclarationStmt(range(typeDecl, token()), typeDecl);
+ } else if (jj_2_43(2147483647)) {
+ expr = VariableDeclarationExpression();
+ jj_consume_token(SEMICOLON);
+ret = new ExpressionStmt(range(expr, token()), expr);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ASSERT:
+ case BOOLEAN:
+ case BREAK:
+ case BYTE:
+ case CHAR:
+ case CONTINUE:
+ case DO:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case FOR:
+ case IF:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case RETURN:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case SWITCH:
+ case SYNCHRONIZED:
+ case THIS:
+ case THROW:
+ case TRUE:
+ case TRY:
+ case VOID:
+ case WHILE:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = Statement();
+ break;
+ }
+ default:
+ jj_la1[122] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+ } catch (ParseException e) {
+TokenRange errorRange = recover(SEMICOLON, e);
+ return new UnparsableStmt(errorRange);
+ }
+}
+
+ final public VariableDeclarationExpr VariableDeclarationExpression() throws ParseException {ModifierHolder modifier;
+ Type partialType;
+ NodeList variables = new NodeList();
+ VariableDeclarator var;
+ modifier = Modifiers();
+ partialType = Type(emptyList());
+ var = VariableDeclarator(partialType);
+variables.add(var);
+ label_43:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[123] = jj_gen;
+ break label_43;
+ }
+ jj_consume_token(COMMA);
+ var = VariableDeclarator(partialType);
+variables.add(var);
+ }
+JavaToken begin=orIfInvalid(modifier.begin, partialType);
+ return new VariableDeclarationExpr(range(begin, token()), modifier.modifiers, modifier.annotations, variables);
+}
+
+ final public EmptyStmt EmptyStatement() throws ParseException {
+ jj_consume_token(SEMICOLON);
+return new EmptyStmt(tokenRange());
+}
+
+ final public Statement LambdaBody() throws ParseException {Expression expr;
+ Statement n = null;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ expr = Expression();
+n = new ExpressionStmt(range(expr, token()), expr);
+ break;
+ }
+ case LBRACE:{
+ n = Block();
+ break;
+ }
+ default:
+ jj_la1[124] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+return n;
+}
+
+ final public ExpressionStmt StatementExpression() throws ParseException {Expression expr;
+ AssignExpr.Operator op;
+ Expression value;
+ RangedList typeArgs = new RangedList(null);
+ Statement lambdaBody;
+ if (jj_2_44(2)) {
+ expr = PreIncrementExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case DECR:{
+ expr = PreDecrementExpression();
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:{
+ expr = PrimaryExpression();
+ switch ((jj_ntk==-1)?jj_ntk_f():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:{
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case INCR:{
+ jj_consume_token(INCR);
+expr = new UnaryExpr(range(expr, token()), expr, UnaryExpr.Operator.POSTFIX_INCREMENT);
+ break;
+ }
+ case DECR:{
+ jj_consume_token(DECR);
+expr = new UnaryExpr(range(expr, token()), expr, UnaryExpr.Operator.POSTFIX_DECREMENT);
+ 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(range(expr, token()), expr, value, op);
+ break;
+ }
+ default:
+ jj_la1[125] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ break;
+ }
+ default:
+ jj_la1[126] = jj_gen;
+ ;
+ }
+ break;
+ }
+ default:
+ jj_la1[127] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ jj_consume_token(SEMICOLON);
+return new ExpressionStmt(range(expr, token()), expr);
+}
+
+ final public SwitchStmt SwitchStatement() throws ParseException {Expression selector;
+ SwitchEntryStmt entry;
+ NodeList entries = emptyList();
+ JavaToken begin;
+ jj_consume_token(SWITCH);
+begin=token();
+ jj_consume_token(LPAREN);
+ selector = Expression();
+ jj_consume_token(RPAREN);
+ jj_consume_token(LBRACE);
+ label_44:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CASE:
+ case _DEFAULT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[128] = jj_gen;
+ break label_44;
+ }
+ entry = SwitchEntry();
+entries = add(entries, entry);
+ }
+ jj_consume_token(RBRACE);
+return new SwitchStmt(range(begin, token()), selector, entries);
+}
+
+ final public SwitchEntryStmt SwitchEntry() throws ParseException {Expression label = null;
+ NodeList stmts;
+ JavaToken begin;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CASE:{
+ jj_consume_token(CASE);
+begin=token();
+ label = Expression();
+ break;
+ }
+ case _DEFAULT:{
+ jj_consume_token(_DEFAULT);
+begin=token();
+ break;
+ }
+ default:
+ jj_la1[129] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ jj_consume_token(COLON);
+ stmts = Statements();
+return new SwitchEntryStmt(range(begin, token()),label, stmts);
+}
+
+ final public IfStmt IfStatement() throws ParseException {Expression condition;
+ Statement thenStmt;
+ Statement elseStmt = null;
+ JavaToken begin;
+ jj_consume_token(IF);
+begin=token();
+ jj_consume_token(LPAREN);
+ condition = Expression();
+ jj_consume_token(RPAREN);
+
+ thenStmt = Statement();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ELSE:{
+ jj_consume_token(ELSE);
+
+ elseStmt = Statement();
+ break;
+ }
+ default:
+ jj_la1[130] = jj_gen;
+ ;
+ }
+return new IfStmt(range(begin, token()), condition, thenStmt, elseStmt);
+}
+
+ final public WhileStmt WhileStatement() throws ParseException {Expression condition;
+ Statement body;
+ JavaToken begin;
+ jj_consume_token(WHILE);
+begin=token();
+ jj_consume_token(LPAREN);
+ condition = Expression();
+ jj_consume_token(RPAREN);
+ body = Statement();
+return new WhileStmt(range(begin, token()),condition, body);
+}
+
+ final public DoStmt DoStatement() throws ParseException {Expression condition;
+ Statement body;
+ JavaToken begin;
+ jj_consume_token(DO);
+begin=token();
+ body = Statement();
+ jj_consume_token(WHILE);
+ jj_consume_token(LPAREN);
+ condition = Expression();
+ jj_consume_token(RPAREN);
+ jj_consume_token(SEMICOLON);
+return new DoStmt(range(begin, token()),body, condition);
+}
+
+ final public Statement ForStatement() throws ParseException {VariableDeclarationExpr varExpr = null;
+ Expression expr = null;
+ NodeList init = emptyList();
+ NodeList update = emptyList();
+ Statement body;
+ JavaToken begin;
+ jj_consume_token(FOR);
+begin=token();
+ jj_consume_token(LPAREN);
+ if (jj_2_45(2147483647)) {
+ varExpr = VariableDeclarationExpression();
+ jj_consume_token(COLON);
+ expr = Expression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ABSTRACT:
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case _DEFAULT:
+ case DOUBLE:
+ case ENUM:
+ 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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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_f():jj_ntk) {
+ case ABSTRACT:
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case _DEFAULT:
+ case DOUBLE:
+ case ENUM:
+ 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 REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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[131] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ expr = Expression();
+ break;
+ }
+ default:
+ jj_la1[132] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ update = ForUpdate();
+ break;
+ }
+ default:
+ jj_la1[133] = jj_gen;
+ ;
+ }
+ break;
+ }
+ default:
+ jj_la1[134] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ jj_consume_token(RPAREN);
+ body = Statement();
+if (varExpr != null) {
+ return new ForeachStmt(range(begin, token()),varExpr, expr, body);
+ }
+ return new ForStmt(range(begin, token()),init, expr, update, body);
+}
+
+ final public NodeList ForInit() throws ParseException {NodeList ret;
+ Expression expr;
+ if (jj_2_46(2147483647)) {
+ expr = VariableDeclarationExpression();
+ret = new NodeList(); ret.add(expr);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = ExpressionList();
+ break;
+ }
+ default:
+ jj_la1[135] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public NodeList ExpressionList() throws ParseException {NodeList ret = new NodeList();
+ Expression expr;
+ expr = Expression();
+ret.add(expr);
+ label_45:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[136] = jj_gen;
+ break label_45;
+ }
+ jj_consume_token(COMMA);
+ expr = Expression();
+ret.add(expr);
+ }
+return ret;
+}
+
+ final public NodeList ForUpdate() throws ParseException {NodeList ret;
+ ret = ExpressionList();
+return ret;
+}
+
+ final public BreakStmt BreakStatement() throws ParseException {SimpleName label = null;
+ JavaToken begin;
+ jj_consume_token(BREAK);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ label = SimpleName();
+ break;
+ }
+ default:
+ jj_la1[137] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+return new BreakStmt(range(begin, token()), label);
+}
+
+ final public ContinueStmt ContinueStatement() throws ParseException {SimpleName label = null;
+ JavaToken begin;
+ jj_consume_token(CONTINUE);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ label = SimpleName();
+ break;
+ }
+ default:
+ jj_la1[138] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+return new ContinueStmt(range(begin, token()), label);
+}
+
+ final public ReturnStmt ReturnStatement() throws ParseException {Expression expr = null;
+ JavaToken begin;
+ jj_consume_token(RETURN);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ expr = Expression();
+ break;
+ }
+ default:
+ jj_la1[139] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+return new ReturnStmt(range(begin, token()),expr);
+}
+
+ final public ThrowStmt ThrowStatement() throws ParseException {Expression expr;
+ JavaToken begin;
+ jj_consume_token(THROW);
+begin=token();
+ expr = Expression();
+ jj_consume_token(SEMICOLON);
+return new ThrowStmt(range(begin, token()),expr);
+}
+
+ final public SynchronizedStmt SynchronizedStatement() throws ParseException {Expression expr;
+ BlockStmt body;
+ JavaToken begin;
+ jj_consume_token(SYNCHRONIZED);
+begin=token();
+ jj_consume_token(LPAREN);
+ expr = Expression();
+ jj_consume_token(RPAREN);
+ body = Block();
+return new SynchronizedStmt(range(begin, token()),expr, body);
+}
+
+ final public TryStmt TryStatement() throws ParseException {NodeList resources = emptyList();
+ BlockStmt tryBlock;
+ BlockStmt finallyBlock = null;
+ NodeList catchs = emptyList();
+ BlockStmt catchBlock;
+ ModifierHolder exceptModifier;
+ ReferenceType exceptionType;
+ NodeList exceptionTypes = emptyList();
+ Pair> exceptId;
+ JavaToken begin;
+ JavaToken catchBegin;
+ JavaToken typesBegin;
+ JavaToken paramEnd;
+ Type type;
+ jj_consume_token(TRY);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LPAREN:{
+ resources = ResourceSpecification();
+ break;
+ }
+ default:
+ jj_la1[140] = jj_gen;
+ ;
+ }
+ tryBlock = Block();
+ label_46:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CATCH:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[141] = jj_gen;
+ break label_46;
+ }
+ jj_consume_token(CATCH);
+catchBegin=token();
+ jj_consume_token(LPAREN);
+typesBegin=token();
+ exceptModifier = Modifiers();
+ exceptionType = ReferenceType(emptyList());
+exceptionTypes.add(exceptionType);
+ label_47:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BIT_OR:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[142] = jj_gen;
+ break label_47;
+ }
+ jj_consume_token(BIT_OR);
+ exceptionType = AnnotatedReferenceType();
+exceptionTypes.add(exceptionType);
+ }
+ exceptId = VariableDeclaratorId();
+paramEnd = token();
+ jj_consume_token(RPAREN);
+ catchBlock = Block();
+if (exceptionTypes.size() > 1) {
+ type = new UnionType(range(exceptionTypes.get(0), exceptionTypes.get(exceptionTypes.size() - 1)), exceptionTypes);
+ } else {
+ type = (Type)exceptionTypes.get(0);
+ }
+ Parameter catchType = new Parameter(range(type, paramEnd), exceptModifier.modifiers, exceptModifier.annotations, type, false, emptyList(), exceptId.a);
+ catchs = add(catchs, new CatchClause(range(catchBegin, token()), catchType, catchBlock));
+ exceptionTypes = emptyList();
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case FINALLY:{
+ jj_consume_token(FINALLY);
+ finallyBlock = Block();
+ break;
+ }
+ default:
+ jj_la1[143] = jj_gen;
+ ;
+ }
+return new TryStmt(range(begin, token()), resources, tryBlock, catchs, finallyBlock);
+}
+
+ final public NodeList ResourceSpecification() throws ParseException {NodeList variables;
+ jj_consume_token(LPAREN);
+ variables = Resources();
+ if (jj_2_47(2)) {
+ jj_consume_token(SEMICOLON);
+ } else {
+ ;
+ }
+ jj_consume_token(RPAREN);
+return variables;
+}
+
+ final public NodeList Resources() throws ParseException {NodeList expressions = new NodeList();
+ Expression expr;
+ expr = Resource();
+expressions.add(expr);
+ label_48:
+ while (true) {
+ if (jj_2_48(2)) {
+ ;
+ } else {
+ break label_48;
+ }
+ jj_consume_token(SEMICOLON);
+ expr = Resource();
+expressions.add(expr);
+ }
+return expressions;
+}
+
+ final public Expression Resource() throws ParseException {Expression expr;
+ if (jj_2_49(2147483647)) {
+ /*this is a bit more lenient than we need to be, eg allowing access modifiers like private*/
+ expr = VariableDeclarationExpression();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:{
+ expr = PrimaryExpression();
+ break;
+ }
+ default:
+ jj_la1[144] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return expr;
+}
+
+/* We use productions to match >>>, >> and > so that we can keep the
+ * type declaration syntax with generics clean
+ */
+ final public
+void RUNSIGNEDSHIFT() throws ParseException {
+ if (getToken(1).kind == GT &&
+ getToken(1).realKind == RUNSIGNEDSHIFT) {
+
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ jj_consume_token(GT);
+ jj_consume_token(GT);
+ jj_consume_token(GT);
+}
+
+ final public void RSIGNEDSHIFT() throws ParseException {
+ if (getToken(1).kind == GT &&
+ 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
+NodeList Annotations() throws ParseException {NodeList annotations = new NodeList();
+ AnnotationExpr annotation;
+ label_49:
+ while (true) {
+ if (jj_2_50(2147483647)) {
+ ;
+ } else {
+ break label_49;
+ }
+ annotation = Annotation();
+annotations = add(annotations, annotation);
+ }
+return annotations;
+}
+
+ final public AnnotationExpr Annotation() throws ParseException {AnnotationExpr ret;
+ Name name;
+ NodeList pairs = emptyList();
+ JavaToken begin;
+ Expression memberVal;
+ jj_consume_token(AT);
+begin=token();
+ name = Name();
+ if (jj_2_51(2147483647)) {
+ jj_consume_token(LPAREN);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case ENUM:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ pairs = MemberValuePairs();
+ break;
+ }
+ default:
+ jj_la1[145] = jj_gen;
+ ;
+ }
+ jj_consume_token(RPAREN);
+ret = new NormalAnnotationExpr(range(begin, token()), name, pairs);
+ } else if (jj_2_52(2147483647)) {
+ jj_consume_token(LPAREN);
+ memberVal = MemberValue();
+ jj_consume_token(RPAREN);
+ret = new SingleMemberAnnotationExpr(range(begin, token()), name, memberVal);
+ } else {
+ret = new MarkerAnnotationExpr(range(begin, token()), name);
+ }
+return ret;
+}
+
+ final public NodeList MemberValuePairs() throws ParseException {NodeList ret = new NodeList();
+ MemberValuePair pair;
+ pair = MemberValuePair();
+ret.add(pair);
+ label_50:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[146] = jj_gen;
+ break label_50;
+ }
+ jj_consume_token(COMMA);
+ pair = MemberValuePair();
+ret.add(pair);
+ }
+return ret;
+}
+
+ final public MemberValuePair MemberValuePair() throws ParseException {SimpleName name;
+ Expression value;
+ JavaToken begin;
+ name = SimpleName();
+begin=token();
+ jj_consume_token(ASSIGN);
+ value = MemberValue();
+return new MemberValuePair(range(begin, token()),name, value);
+}
+
+ final public Expression MemberValue() throws ParseException {Expression ret;
+ if (jj_2_53(2147483647)) {
+ ret = Annotation();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case LBRACE:{
+ ret = MemberValueArrayInitializer();
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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:{
+ ret = ConditionalExpression();
+ break;
+ }
+ default:
+ jj_la1[147] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return ret;
+}
+
+ final public Expression MemberValueArrayInitializer() throws ParseException {NodeList ret = emptyList();
+ Expression member;
+ JavaToken begin;
+ jj_consume_token(LBRACE);
+begin=token();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ 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_51:
+ while (true) {
+ if (jj_2_54(2)) {
+ ;
+ } else {
+ break label_51;
+ }
+ jj_consume_token(COMMA);
+ member = MemberValue();
+ret.add(member);
+ }
+ break;
+ }
+ default:
+ jj_la1[148] = jj_gen;
+ ;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ jj_consume_token(COMMA);
+ break;
+ }
+ default:
+ jj_la1[149] = jj_gen;
+ ;
+ }
+ jj_consume_token(RBRACE);
+return new ArrayInitializerExpr(range(begin, token()),ret);
+}
+
+/* Annotation Types. */
+ final public
+AnnotationDeclaration AnnotationTypeDeclaration(ModifierHolder modifier) throws ParseException {SimpleName name;
+ NodeList> members = emptyList();
+ JavaToken begin = modifier.begin;
+ jj_consume_token(AT);
+begin=orIfInvalid(begin, token());
+ jj_consume_token(INTERFACE);
+ name = SimpleName();
+ members = AnnotationTypeBody();
+return new AnnotationDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, name, members);
+}
+
+ final public NodeList> AnnotationTypeBody() throws ParseException {NodeList> ret = emptyList();
+ BodyDeclaration member;
+ jj_consume_token(LBRACE);
+ label_52:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():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 VOLATILE:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case SEMICOLON:
+ case AT:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[150] = jj_gen;
+ break label_52;
+ }
+ switch ((jj_ntk==-1)?jj_ntk_f():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 VOLATILE:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:
+ case AT:{
+ member = AnnotationBodyDeclaration();
+ret = addWhenNotNull(ret, member);
+ break;
+ }
+ case SEMICOLON:{
+ jj_consume_token(SEMICOLON);
+ break;
+ }
+ default:
+ jj_la1[151] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ jj_consume_token(RBRACE);
+return ret;
+}
+
+ final public BodyDeclaration> AnnotationBodyDeclaration() throws ParseException {ModifierHolder modifier;
+ BodyDeclaration ret;
+ modifier = Modifiers();
+ if (jj_2_55(2147483647)) {
+ ret = AnnotationTypeMemberDeclaration(modifier);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case CLASS:
+ case INTERFACE:{
+ ret = ClassOrInterfaceDeclaration(modifier);
+ break;
+ }
+ default:
+ jj_la1[152] = jj_gen;
+ if (jj_2_56(2147483647)) {
+ ret = EnumDeclaration(modifier);
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case AT:{
+ ret = AnnotationTypeDeclaration(modifier);
+ break;
+ }
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case SHORT:
+ case STRICTFP:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case IDENTIFIER:{
+ ret = FieldDeclaration(modifier);
+ break;
+ }
+ default:
+ jj_la1[153] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+ }
+return ret;
+}
+
+ final public AnnotationMemberDeclaration AnnotationTypeMemberDeclaration(ModifierHolder modifier) throws ParseException {Type type;
+ SimpleName name;
+ Expression defaultVal = null;
+ type = Type(emptyList());
+ name = SimpleName();
+ jj_consume_token(LPAREN);
+ jj_consume_token(RPAREN);
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case _DEFAULT:{
+ defaultVal = DefaultValue();
+ break;
+ }
+ default:
+ jj_la1[154] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+JavaToken begin = orIfInvalid(modifier.begin, type);
+ return new AnnotationMemberDeclaration(range(begin, token()), modifier.modifiers, modifier.annotations, type, name, defaultVal);
+}
+
+ final public Expression DefaultValue() throws ParseException {Expression ret;
+ jj_consume_token(_DEFAULT);
+ ret = MemberValue();
+return ret;
+}
+
+/* Module syntax follows */
+ final public
+
+ModuleStmt ModuleStmt() throws ParseException {ModifierHolder modifiers;
+ Name name;
+ Name tmpName;
+ NodeList names=emptyList();
+ Type type;
+ Type tmpType;
+ NodeList types=emptyList();
+ JavaToken begin;
+ ModuleStmt stmt=new ModuleRequiresStmt();
+ JavaToken transitiveExceptionalToken;
+ if (jj_2_57(2147483647)) {
+ jj_consume_token(REQUIRES);
+begin=token();
+ jj_consume_token(TRANSITIVE);
+transitiveExceptionalToken=token(); setTokenKind(IDENTIFIER);
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleRequiresStmt(range(begin, token()), EnumSet.noneOf(Modifier.class), new Name(range(transitiveExceptionalToken, transitiveExceptionalToken), null, transitiveExceptionalToken.getText(), new NodeList()));
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case REQUIRES:{
+ jj_consume_token(REQUIRES);
+begin=token();
+ modifiers = Modifiers();
+ name = Name();
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleRequiresStmt(range(begin, token()), modifiers.modifiers, name);
+ break;
+ }
+ case EXPORTS:{
+ jj_consume_token(EXPORTS);
+begin=token();
+ name = Name();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case TO:{
+ jj_consume_token(TO);
+ tmpName = Name();
+names.add(tmpName);
+ label_53:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[155] = jj_gen;
+ break label_53;
+ }
+ jj_consume_token(COMMA);
+ tmpName = Name();
+names.add(tmpName);
+ }
+ break;
+ }
+ default:
+ jj_la1[156] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleExportsStmt(range(begin, token()), name, names);
+ break;
+ }
+ case OPENS:{
+ jj_consume_token(OPENS);
+begin=token();
+ name = Name();
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case TO:{
+ jj_consume_token(TO);
+ tmpName = Name();
+names.add(tmpName);
+ label_54:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[157] = jj_gen;
+ break label_54;
+ }
+ jj_consume_token(COMMA);
+ tmpName = Name();
+names.add(tmpName);
+ }
+ break;
+ }
+ default:
+ jj_la1[158] = jj_gen;
+ ;
+ }
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleOpensStmt(range(begin, token()), name, names);
+ break;
+ }
+ case USES:{
+ jj_consume_token(USES);
+begin=token();
+ type = Type(emptyList());
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleUsesStmt(range(begin, token()), type);
+ break;
+ }
+ case PROVIDES:{
+ jj_consume_token(PROVIDES);
+begin=token();
+ type = Type(emptyList());
+ jj_consume_token(WITH);
+ tmpType = Type(emptyList());
+types.add(tmpType);
+ label_55:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case COMMA:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[159] = jj_gen;
+ break label_55;
+ }
+ jj_consume_token(COMMA);
+ tmpType = Type(emptyList());
+types.add(tmpType);
+ }
+ jj_consume_token(SEMICOLON);
+stmt=new ModuleProvidesStmt(range(begin, token()), type, types);
+ break;
+ }
+ default:
+ jj_la1[160] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+return stmt;
+}
+
+ final public ModuleDeclaration ModuleDeclaration(ModifierHolder modifier) throws ParseException {NodeList statements = new NodeList();
+ boolean open=false;
+ ModuleStmt st;
+ Name name;
+ JavaToken begin = modifier.begin;
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case OPEN:{
+ jj_consume_token(OPEN);
+open=true; begin = orIfInvalid(begin, token());
+ break;
+ }
+ default:
+ jj_la1[161] = jj_gen;
+ ;
+ }
+ jj_consume_token(MODULE);
+begin = orIfInvalid(begin, token());
+ name = Name();
+ jj_consume_token(LBRACE);
+ label_56:
+ while (true) {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case REQUIRES:
+ case OPENS:
+ case USES:
+ case EXPORTS:
+ case PROVIDES:{
+ ;
+ break;
+ }
+ default:
+ jj_la1[162] = jj_gen;
+ break label_56;
+ }
+ st = ModuleStmt();
+statements = add(statements, st);
+ }
+ jj_consume_token(RBRACE);
+return new ModuleDeclaration(range(begin, token()), modifier.annotations, name, open, statements);
+}
+
+/* Rules for matching partial inputs.
+These rules are needed to properly terminate them -
+if we simply use the usual rules, they will ignore everything in the provider
+after they matched their desired input, which will lead to unexpected behaviour
+*/
+ final public
+
+BlockStmt BlockParseStart() throws ParseException {BlockStmt ret;
+ ret = Block();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public Statement BlockStatementParseStart() throws ParseException {Statement ret;
+ if (jj_2_58(3)) {
+ ret = BlockStatement();
+ } else {
+ switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
+ case BOOLEAN:
+ case BYTE:
+ case CHAR:
+ case DOUBLE:
+ case ENUM:
+ case FALSE:
+ case FLOAT:
+ case INT:
+ case LONG:
+ case NEW:
+ case NULL:
+ case SHORT:
+ case STRICTFP:
+ case SUPER:
+ case THIS:
+ case TRUE:
+ case VOID:
+ case REQUIRES:
+ case TO:
+ case WITH:
+ case OPEN:
+ case OPENS:
+ case USES:
+ case MODULE:
+ case EXPORTS:
+ case PROVIDES:
+ case TRANSITIVE:
+ case LONG_LITERAL:
+ case INTEGER_LITERAL:
+ case FLOATING_POINT_LITERAL:
+ case CHARACTER_LITERAL:
+ case STRING_LITERAL:
+ case IDENTIFIER:
+ case LPAREN:
+ case AT:
+ case LT:{
+ ret = ExplicitConstructorInvocation();
+ break;
+ }
+ default:
+ jj_la1[163] = jj_gen;
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ jj_consume_token(0);
+return ret;
+}
+
+ final public ImportDeclaration ImportDeclarationParseStart() throws ParseException {ImportDeclaration ret;
+ ret = ImportDeclaration();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public Expression ExpressionParseStart() throws ParseException {Expression ret;
+ ret = Expression();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public AnnotationExpr AnnotationParseStart() throws ParseException {AnnotationExpr ret;
+ ret = Annotation();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public BodyDeclaration> AnnotationBodyDeclarationParseStart() throws ParseException {BodyDeclaration> ret;
+ ret = AnnotationBodyDeclaration();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public BodyDeclaration> ClassOrInterfaceBodyDeclarationParseStart() throws ParseException {BodyDeclaration> ret;
+ ret = ClassOrInterfaceBodyDeclaration();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public ClassOrInterfaceType ClassOrInterfaceTypeParseStart() throws ParseException {ClassOrInterfaceType ret;
+ ret = AnnotatedClassOrInterfaceType();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public Type ResultTypeParseStart() throws ParseException {NodeList annotations; Type ret;
+ annotations = Annotations();
+ ret = ResultType(annotations);
+ jj_consume_token(0);
+return ret;
+}
+
+ final public VariableDeclarationExpr VariableDeclarationExpressionParseStart() throws ParseException {VariableDeclarationExpr ret;
+ ret = VariableDeclarationExpression();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public ExplicitConstructorInvocationStmt ExplicitConstructorInvocationParseStart() throws ParseException {ExplicitConstructorInvocationStmt ret;
+ ret = ExplicitConstructorInvocation();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public Name NameParseStart() throws ParseException {Name ret;
+ ret = Name();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public SimpleName SimpleNameParseStart() throws ParseException {SimpleName ret;
+ ret = SimpleName();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public Parameter ParameterParseStart() throws ParseException {Parameter ret;
+ ret = Parameter();
+ jj_consume_token(0);
+return ret;
+}
+
+ final public PackageDeclaration PackageDeclarationParseStart() throws ParseException {PackageDeclaration ret;
+ ret = PackageDeclaration();
+ jj_consume_token(0);
+return ret;
+}
+
+ 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_2_48(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_48()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(47, xla); }
+ }
+
+ private boolean jj_2_49(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_49()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(48, xla); }
+ }
+
+ private boolean jj_2_50(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_50()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(49, xla); }
+ }
+
+ private boolean jj_2_51(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_51()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(50, xla); }
+ }
+
+ private boolean jj_2_52(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_52()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(51, xla); }
+ }
+
+ private boolean jj_2_53(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_53()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(52, xla); }
+ }
+
+ private boolean jj_2_54(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_54()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(53, xla); }
+ }
+
+ private boolean jj_2_55(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_55()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(54, xla); }
+ }
+
+ private boolean jj_2_56(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_56()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(55, xla); }
+ }
+
+ private boolean jj_2_57(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_57()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(56, xla); }
+ }
+
+ private boolean jj_2_58(int xla)
+ {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ try { return (!jj_3_58()); }
+ catch(LookaheadSuccess ls) { return true; }
+ finally { jj_save(57, xla); }
+ }
+
+ private boolean jj_3R_304()
+ {
+ if (jj_scan_token(EXTENDS)) return true;
+ if (jj_3R_306()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_408()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_296()
+ {
+ if (jj_3R_324()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_364()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_227()
+ {
+ if (jj_scan_token(INTERFACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_262()
+ {
+ if (jj_3R_305()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_286()
+ {
+ if (jj_scan_token(DO)) return true;
+ if (jj_3R_195()) return true;
+ if (jj_scan_token(WHILE)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_261()
+ {
+ if (jj_3R_304()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_260()
+ {
+ if (jj_3R_117()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_248()
+ {
+ if (jj_3R_296()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_348()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_194()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(19)) {
+ jj_scanpos = xsp;
+ if (jj_3R_227()) return true;
+ }
+ if (jj_3R_88()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_260()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_261()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_262()) jj_scanpos = xsp;
+ if (jj_3R_105()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_169()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_112()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_285()
+ {
+ if (jj_scan_token(WHILE)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_328()
+ {
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_200()
+ {
+ if (jj_3R_248()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_325()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_300()
+ {
+ if (jj_scan_token(HOOK)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(COLON)) return true;
+ if (jj_3R_149()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_149()
+ {
+ if (jj_3R_200()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_300()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_284()
+ {
+ if (jj_scan_token(IF)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_195()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_411()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_71()
+ {
+ if (jj_3R_115()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_70()
+ {
+ if (jj_scan_token(_DEFAULT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_69()
+ {
+ if (jj_scan_token(TRANSITIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_148()
+ {
+ if (jj_scan_token(ORASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_147()
+ {
+ if (jj_scan_token(XORASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_68()
+ {
+ if (jj_scan_token(STRICTFP)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_146()
+ {
+ if (jj_scan_token(ANDASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_145()
+ {
+ if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_431()
+ {
+ if (jj_scan_token(_DEFAULT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_67()
+ {
+ if (jj_scan_token(VOLATILE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_144()
+ {
+ if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_143()
+ {
+ if (jj_scan_token(LSHIFTASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_430()
+ {
+ if (jj_scan_token(CASE)) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_66()
+ {
+ if (jj_scan_token(TRANSIENT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_142()
+ {
+ if (jj_scan_token(MINUSASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_141()
+ {
+ if (jj_scan_token(PLUSASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_65()
+ {
+ if (jj_scan_token(NATIVE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_140()
+ {
+ if (jj_scan_token(REMASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_139()
+ {
+ if (jj_scan_token(SLASHASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_64()
+ {
+ if (jj_scan_token(SYNCHRONIZED)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_138()
+ {
+ if (jj_scan_token(STARASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_327()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_137()
+ {
+ if (jj_scan_token(ASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_63()
+ {
+ if (jj_scan_token(ABSTRACT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_62()
+ {
+ if (jj_scan_token(FINAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_424()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_430()) {
+ jj_scanpos = xsp;
+ if (jj_3R_431()) return true;
+ }
+ if (jj_scan_token(COLON)) return true;
+ if (jj_3R_179()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_61()
+ {
+ if (jj_scan_token(PRIVATE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_89()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_137()) {
+ jj_scanpos = xsp;
+ if (jj_3R_138()) {
+ jj_scanpos = xsp;
+ 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()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_302()
+ {
+ if (jj_scan_token(DOUBLECOLON)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_327()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_328()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(42)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_60()
+ {
+ if (jj_scan_token(PROTECTED)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_59()
+ {
+ if (jj_scan_token(STATIC)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_58()
+ {
+ if (jj_scan_token(PUBLIC)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_410()
+ {
+ if (jj_3R_424()) return true;
+ return false;
+ }
+
+ private boolean jj_3_3()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_58()) {
+ jj_scanpos = xsp;
+ if (jj_3R_59()) {
+ jj_scanpos = xsp;
+ if (jj_3R_60()) {
+ jj_scanpos = xsp;
+ if (jj_3R_61()) {
+ jj_scanpos = xsp;
+ if (jj_3R_62()) {
+ jj_scanpos = xsp;
+ if (jj_3R_63()) {
+ jj_scanpos = xsp;
+ if (jj_3R_64()) {
+ jj_scanpos = xsp;
+ if (jj_3R_65()) {
+ jj_scanpos = xsp;
+ if (jj_3R_66()) {
+ jj_scanpos = xsp;
+ if (jj_3R_67()) {
+ jj_scanpos = xsp;
+ if (jj_3R_68()) {
+ jj_scanpos = xsp;
+ if (jj_3R_69()) {
+ jj_scanpos = xsp;
+ if (jj_3R_70()) {
+ jj_scanpos = xsp;
+ if (jj_3R_71()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_108()
+ {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_3()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_283()
+ {
+ if (jj_scan_token(SWITCH)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_90()) 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_410()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_301()
+ {
+ if (jj_scan_token(ARROW)) return true;
+ if (jj_3R_326()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_361()
+ {
+ if (jj_3R_89()) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_360()
+ {
+ if (jj_scan_token(DECR)) return true;
+ return false;
+ }
+
+ private boolean jj_3_24()
+ {
+ if (jj_3R_89()) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_359()
+ {
+ if (jj_scan_token(INCR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_343()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_359()) {
+ jj_scanpos = xsp;
+ if (jj_3R_360()) {
+ jj_scanpos = xsp;
+ if (jj_3R_361()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_255()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_24()) {
+ jj_scanpos = xsp;
+ if (jj_3R_301()) {
+ jj_scanpos = xsp;
+ if (jj_3R_302()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_318()
+ {
+ if (jj_3R_211()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_343()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_90()
+ {
+ if (jj_3R_149()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_255()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_317()
+ {
+ if (jj_3R_257()) return true;
+ return false;
+ }
+
+ private boolean jj_3_44()
+ {
+ if (jj_3R_110()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_282()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_44()) {
+ jj_scanpos = xsp;
+ if (jj_3R_317()) {
+ jj_scanpos = xsp;
+ if (jj_3R_318()) return true;
+ }
+ }
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_57()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(PACKAGE)) return true;
+ if (jj_3R_80()) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_350()
+ {
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_349()
+ {
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_74()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(70)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(64)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(65)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(66)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(67)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(68)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(69)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(71)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(72)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(73)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(26)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(51)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(89)) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_326()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_349()) {
+ jj_scanpos = xsp;
+ if (jj_3R_350()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_2()
+ {
+ if (jj_3R_57()) return true;
+ return false;
+ }
+
+ private boolean jj_3_23()
+ {
+ if (jj_scan_token(DOT)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_281()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_88()
+ {
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3_1()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_125()
+ {
+ if (jj_scan_token(DOT)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_109()
+ {
+ if (jj_3R_108()) return true;
+ if (jj_3R_75()) return true;
+ if (jj_3R_112()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_169()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_80()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_3R_74()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_125()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3_43()
+ {
+ if (jj_3R_109()) return true;
+ return false;
+ }
+
+ private boolean jj_3_42()
+ {
+ if (jj_3R_108()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(19)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(39)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_132()
+ {
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_167()
+ {
+ if (jj_3R_75()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_166()
+ {
+ if (jj_scan_token(VOID)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_131()
+ {
+ if (jj_3R_109()) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_130()
+ {
+ if (jj_3R_108()) return true;
+ if (jj_3R_194()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_102()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_166()) {
+ jj_scanpos = xsp;
+ if (jj_3R_167()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_336()
+ {
+ if (jj_scan_token(COLON)) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_84()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_130()) {
+ jj_scanpos = xsp;
+ if (jj_3R_131()) {
+ jj_scanpos = xsp;
+ if (jj_3R_132()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_160()
+ {
+ if (jj_scan_token(DOUBLE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_159()
+ {
+ if (jj_scan_token(FLOAT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_158()
+ {
+ if (jj_scan_token(LONG)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_157()
+ {
+ if (jj_scan_token(INT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_156()
+ {
+ if (jj_scan_token(SHORT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_155()
+ {
+ if (jj_scan_token(BYTE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_154()
+ {
+ if (jj_scan_token(CHAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_358()
+ {
+ if (jj_scan_token(SUPER)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_226()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_199()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_153()
+ {
+ if (jj_scan_token(BOOLEAN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_357()
+ {
+ if (jj_scan_token(EXTENDS)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_342()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_357()) {
+ jj_scanpos = xsp;
+ if (jj_3R_358()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_97()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_153()) {
+ jj_scanpos = xsp;
+ if (jj_3R_154()) {
+ jj_scanpos = xsp;
+ if (jj_3R_155()) {
+ jj_scanpos = xsp;
+ if (jj_3R_156()) {
+ jj_scanpos = xsp;
+ if (jj_3R_157()) {
+ jj_scanpos = xsp;
+ if (jj_3R_158()) {
+ jj_scanpos = xsp;
+ if (jj_3R_159()) {
+ jj_scanpos = xsp;
+ if (jj_3R_160()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_121()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ if (jj_3R_179()) return true;
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_295()
+ {
+ if (jj_scan_token(HOOK)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_342()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_107()
+ {
+ if (jj_3R_88()) return true;
+ if (jj_scan_token(COLON)) return true;
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_280()
+ {
+ if (jj_scan_token(ASSERT)) return true;
+ if (jj_3R_90()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_336()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_247()
+ {
+ if (jj_3R_295()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_246()
+ {
+ if (jj_3R_75()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_242()
+ {
+ if (jj_3R_293()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_199()
+ {
+ if (jj_3R_86()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_246()) {
+ jj_scanpos = xsp;
+ if (jj_3R_247()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_241()
+ {
+ if (jj_3R_292()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_240()
+ {
+ if (jj_3R_291()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_239()
+ {
+ if (jj_3R_290()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_238()
+ {
+ if (jj_3R_289()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_136()
+ {
+ if (jj_3R_199()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_226()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_237()
+ {
+ if (jj_3R_288()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_236()
+ {
+ if (jj_3R_287()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_87()
+ {
+ if (jj_scan_token(LT)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_136()) jj_scanpos = xsp;
+ if (jj_scan_token(GT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_235()
+ {
+ if (jj_3R_286()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_234()
+ {
+ if (jj_3R_285()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_233()
+ {
+ if (jj_3R_284()) return true;
+ return false;
+ }
+
+ private boolean jj_3_22()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_232()
+ {
+ if (jj_3R_283()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_231()
+ {
+ if (jj_3R_282()) return true;
+ return false;
+ }
+
+ private boolean jj_3_21()
+ {
+ if (jj_scan_token(DOT)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_88()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_22()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_230()
+ {
+ if (jj_3R_281()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_229()
+ {
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_393()
+ {
+ if (jj_scan_token(THROWS)) return true;
+ if (jj_3R_249()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_403()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_228()
+ {
+ if (jj_3R_280()) return true;
+ return false;
+ }
+
+ private boolean jj_3_19()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(LBRACKET)) return true;
+ return false;
+ }
+
+ private boolean jj_3_41()
+ {
+ if (jj_3R_107()) return true;
+ return false;
+ }
+
+ private boolean jj_3_20()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_197()
+ {
+ if (jj_3R_88()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_20()) jj_scanpos = xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_21()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_195()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_41()) {
+ jj_scanpos = xsp;
+ if (jj_3R_228()) {
+ jj_scanpos = xsp;
+ if (jj_3R_229()) {
+ jj_scanpos = xsp;
+ if (jj_3R_230()) {
+ jj_scanpos = xsp;
+ if (jj_3R_231()) {
+ jj_scanpos = xsp;
+ if (jj_3R_232()) {
+ jj_scanpos = xsp;
+ if (jj_3R_233()) {
+ jj_scanpos = xsp;
+ if (jj_3R_234()) {
+ jj_scanpos = xsp;
+ if (jj_3R_235()) {
+ jj_scanpos = xsp;
+ if (jj_3R_236()) {
+ jj_scanpos = xsp;
+ if (jj_3R_237()) {
+ jj_scanpos = xsp;
+ if (jj_3R_238()) {
+ jj_scanpos = xsp;
+ if (jj_3R_239()) {
+ jj_scanpos = xsp;
+ if (jj_3R_240()) {
+ jj_scanpos = xsp;
+ if (jj_3R_241()) {
+ jj_scanpos = xsp;
+ if (jj_3R_242()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3_18()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(LBRACKET)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_198()
+ {
+ if (jj_3R_119()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_306()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_3R_197()) return true;
+ return false;
+ }
+
+ private boolean jj_3_39()
+ {
+ if (jj_3R_105()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_196()
+ {
+ if (jj_3R_119()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_106()
+ {
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_341()
+ {
+ if (jj_3R_180()) return true;
+ return false;
+ }
+
+ private boolean jj_3_40()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(LBRACKET)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_106()) jj_scanpos = xsp;
+ if (jj_scan_token(RBRACKET)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_313()
+ {
+ Token xsp;
+ if (jj_3_40()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_40()) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_341()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_308()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_316()
+ {
+ if (jj_3R_183()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_39()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_315()
+ {
+ if (jj_3R_313()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_119()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(LBRACKET)) return true;
+ if (jj_scan_token(RBRACKET)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_314()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_279()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_314()) jj_scanpos = xsp;
+ if (jj_3R_306()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_315()) {
+ jj_scanpos = xsp;
+ if (jj_3R_316()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_278()
+ {
+ if (jj_3R_97()) return true;
+ if (jj_3R_313()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_134()
+ {
+ if (jj_3R_197()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_198()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_133()
+ {
+ if (jj_3R_97()) return true;
+ Token xsp;
+ if (jj_3R_196()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_196()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_85()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_133()) {
+ jj_scanpos = xsp;
+ if (jj_3R_134()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_222()
+ {
+ if (jj_scan_token(NEW)) return true;
+ if (jj_3R_86()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_278()) {
+ jj_scanpos = xsp;
+ if (jj_3R_279()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_118()
+ {
+ if (jj_3R_97()) return true;
+ return false;
+ }
+
+ private boolean jj_3_17()
+ {
+ if (jj_3R_85()) return true;
+ return false;
+ }
+
+ private boolean jj_3_58()
+ {
+ if (jj_3R_84()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_75()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_17()) {
+ jj_scanpos = xsp;
+ if (jj_3R_118()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_264()
+ {
+ if (jj_3R_90()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_308()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_214()
+ {
+ if (jj_3R_264()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_120()
+ {
+ if (jj_scan_token(STATIC)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_183()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_214()) jj_scanpos = xsp;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_77()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_120()) jj_scanpos = xsp;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3_16()
+ {
+ if (jj_3R_84()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_179()
+ {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_16()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3_14()
+ {
+ if (jj_3R_82()) return true;
+ if (jj_scan_token(DOT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_340()
+ {
+ if (jj_scan_token(FALSE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_310()
+ {
+ if (jj_scan_token(NULL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_339()
+ {
+ if (jj_scan_token(TRUE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_441()
+ {
+ if (jj_3R_442()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_83()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_185()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3_57()
+ {
+ if (jj_scan_token(REQUIRES)) return true;
+ if (jj_scan_token(TRANSITIVE)) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3_15()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_83()) jj_scanpos = xsp;
+ if (jj_scan_token(THIS)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_184()
+ {
+ if (jj_3R_82()) return true;
+ if (jj_scan_token(DOT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_309()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_339()) {
+ jj_scanpos = xsp;
+ if (jj_3R_340()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_127()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_184()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_185()) jj_scanpos = xsp;
+ if (jj_scan_token(SUPER)) return true;
+ if (jj_3R_183()) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_271()
+ {
+ if (jj_3R_310()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_182()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_270()
+ {
+ if (jj_3R_309()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_126()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_182()) jj_scanpos = xsp;
+ if (jj_scan_token(THIS)) return true;
+ if (jj_3R_183()) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_269()
+ {
+ if (jj_scan_token(STRING_LITERAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_268()
+ {
+ if (jj_scan_token(CHARACTER_LITERAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_81()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_126()) {
+ jj_scanpos = xsp;
+ if (jj_3R_127()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_267()
+ {
+ if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_266()
+ {
+ if (jj_scan_token(LONG_LITERAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3_13()
+ {
+ if (jj_3R_81()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_265()
+ {
+ if (jj_scan_token(INTEGER_LITERAL)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_104()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_164()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(ELLIPSIS)) return true;
+ return false;
+ }
+
+ private boolean jj_3_38()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_104()) jj_scanpos = xsp;
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_394()
+ {
+ if (jj_3R_81()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_215()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_265()) {
+ jj_scanpos = xsp;
+ if (jj_3R_266()) {
+ jj_scanpos = xsp;
+ if (jj_3R_267()) {
+ jj_scanpos = xsp;
+ if (jj_3R_268()) {
+ jj_scanpos = xsp;
+ if (jj_3R_269()) {
+ jj_scanpos = xsp;
+ if (jj_3R_270()) {
+ jj_scanpos = xsp;
+ if (jj_3R_271()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_442()
+ {
+ if (jj_scan_token(_DEFAULT)) return true;
+ if (jj_3R_114()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_163()
+ {
+ if (jj_scan_token(LBRACKET)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RBRACKET)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_254()
+ {
+ if (jj_3R_183()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_403()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_249()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_224()
+ {
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_253()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_365()
+ {
+ if (jj_3R_117()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_353()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_365()) jj_scanpos = xsp;
+ if (jj_3R_88()) return true;
+ if (jj_3R_392()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_393()) jj_scanpos = xsp;
+ if (jj_scan_token(LBRACE)) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_394()) jj_scanpos = xsp;
+ if (jj_3R_179()) return true;
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_205()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_253()) jj_scanpos = xsp;
+ if (jj_3R_88()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_254()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_204()
+ {
+ if (jj_3R_222()) return true;
+ return false;
+ }
+
+ private boolean jj_3_12()
+ {
+ if (jj_3R_80()) return true;
+ return false;
+ }
+
+ private boolean jj_3_56()
+ {
+ if (jj_scan_token(ENUM)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_203()
+ {
+ if (jj_scan_token(THIS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_439()
+ {
+ if (jj_3R_75()) return true;
+ if (jj_3R_88()) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_441()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3_55()
+ {
+ if (jj_3R_75()) return true;
+ if (jj_3R_74()) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_438()
+ {
+ if (jj_3R_354()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_437()
+ {
+ if (jj_3R_352()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_436()
+ {
+ if (jj_3R_351()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_181()
+ {
+ if (jj_3R_80()) return true;
+ if (jj_scan_token(DOT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_162()
+ {
+ if (jj_scan_token(DOT)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_203()) {
+ jj_scanpos = xsp;
+ if (jj_3R_204()) {
+ jj_scanpos = xsp;
+ if (jj_3R_205()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_435()
+ {
+ if (jj_3R_194()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_124()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_181()) jj_scanpos = xsp;
+ if (jj_3R_86()) return true;
+ if (jj_scan_token(THIS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_434()
+ {
+ if (jj_3R_439()) return true;
+ return false;
+ }
+
+ private boolean jj_3_54()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_114()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_99()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_162()) {
+ jj_scanpos = xsp;
+ if (jj_3R_163()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_311()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_100()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_223()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_79()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_3R_75()) return true;
+ if (jj_3R_124()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_161()
+ {
+ if (jj_scan_token(DOT)) return true;
+ if (jj_scan_token(SUPER)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_429()
+ {
+ if (jj_3R_108()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_434()) {
+ jj_scanpos = xsp;
+ if (jj_3R_435()) {
+ jj_scanpos = xsp;
+ if (jj_3R_436()) {
+ jj_scanpos = xsp;
+ if (jj_3R_437()) {
+ jj_scanpos = xsp;
+ if (jj_3R_438()) return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3_37()
+ {
+ if (jj_3R_99()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_417()
+ {
+ if (jj_3R_429()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_401()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_417()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_275()
+ {
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_98()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_37()) {
+ jj_scanpos = xsp;
+ if (jj_3R_161()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_225()
+ {
+ if (jj_3R_183()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_391()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_401()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_193()
+ {
+ if (jj_3R_88()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_225()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_100()
+ {
+ if (jj_3R_108()) return true;
+ if (jj_3R_75()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_164()) jj_scanpos = xsp;
+ if (jj_3R_101()) return true;
+ return false;
+ }
+
+ private boolean jj_3_36()
+ {
+ if (jj_3R_103()) return true;
+ if (jj_scan_token(DOUBLECOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3_35()
+ {
+ if (jj_3R_102()) return true;
+ if (jj_scan_token(DOT)) return true;
+ if (jj_scan_token(CLASS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_312()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_101()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_352()
+ {
+ if (jj_scan_token(AT)) return true;
+ if (jj_scan_token(INTERFACE)) return true;
+ if (jj_3R_88()) return true;
+ if (jj_3R_391()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_192()
+ {
+ if (jj_3R_103()) return true;
+ if (jj_scan_token(DOUBLECOLON)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_223()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_224()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(42)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_34()
+ {
+ if (jj_3R_101()) return true;
+ if (jj_scan_token(COMMA)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_277()
+ {
+ if (jj_3R_101()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_312()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_191()
+ {
+ if (jj_3R_102()) return true;
+ if (jj_scan_token(DOT)) return true;
+ if (jj_scan_token(CLASS)) return true;
+ return false;
+ }
+
+ private boolean jj_3_33()
+ {
+ if (jj_3R_100()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_190()
+ {
+ if (jj_3R_222()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_346()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_345()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_221()
+ {
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_362()
+ {
+ if (jj_3R_114()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_54()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_274()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3_10()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_78()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_220()
+ {
+ if (jj_3R_277()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_276()
+ {
+ if (jj_3R_100()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_311()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_218()
+ {
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3_11()
+ {
+ if (jj_3R_79()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_219()
+ {
+ if (jj_3R_276()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_212()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_362()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(99)) jj_scanpos = xsp;
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_217()
+ {
+ if (jj_scan_token(DOUBLECOLON)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_274()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_275()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(42)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_420()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_100()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_419()
+ {
+ if (jj_3R_100()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_189()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_218()) {
+ jj_scanpos = xsp;
+ if (jj_3R_219()) {
+ jj_scanpos = xsp;
+ if (jj_3R_220()) {
+ jj_scanpos = xsp;
+ if (jj_3R_221()) return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_176()
+ {
+ if (jj_3R_149()) return true;
+ return false;
+ }
+
+ private boolean jj_3_53()
+ {
+ if (jj_scan_token(AT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_175()
+ {
+ if (jj_3R_212()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_396()
+ {
+ if (jj_3R_119()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_418()
+ {
+ if (jj_3R_79()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_402()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_418()) {
+ jj_scanpos = xsp;
+ if (jj_3R_419()) return true;
+ }
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_420()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_273()
+ {
+ if (jj_3R_183()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_174()
+ {
+ if (jj_3R_115()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_392()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_402()) jj_scanpos = xsp;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_216()
+ {
+ if (jj_scan_token(DOT)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_272()) jj_scanpos = xsp;
+ if (jj_3R_88()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_273()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_272()
+ {
+ if (jj_3R_87()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_114()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_174()) {
+ jj_scanpos = xsp;
+ if (jj_3R_175()) {
+ jj_scanpos = xsp;
+ if (jj_3R_176()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3_32()
+ {
+ if (jj_3R_99()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_188()
+ {
+ if (jj_scan_token(SUPER)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_216()) {
+ jj_scanpos = xsp;
+ if (jj_3R_217()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_187()
+ {
+ if (jj_scan_token(THIS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_345()
+ {
+ if (jj_3R_88()) return true;
+ if (jj_scan_token(ASSIGN)) return true;
+ if (jj_3R_114()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_186()
+ {
+ if (jj_3R_215()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_103()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_3R_75()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_129()
+ {
+ if (jj_3R_99()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_113()
+ {
+ if (jj_3R_74()) return true;
+ if (jj_scan_token(ASSIGN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_128()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_186()) {
+ jj_scanpos = xsp;
+ if (jj_3R_187()) {
+ jj_scanpos = xsp;
+ if (jj_3R_188()) {
+ jj_scanpos = xsp;
+ if (jj_3R_189()) {
+ jj_scanpos = xsp;
+ 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()) return true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3_52()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_323()
+ {
+ if (jj_3R_345()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_346()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3_31()
+ {
+ if (jj_3R_98()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_249()
+ {
+ if (jj_3R_86()) return true;
+ if (jj_3R_85()) return true;
+ return false;
+ }
+
+ private boolean jj_3_51()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_113()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(93)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_245()
+ {
+ return false;
+ }
+
+ private boolean jj_3R_294()
+ {
+ if (jj_3R_323()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_244()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_114()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_404()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_249()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_398()
+ {
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_243()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_294()) jj_scanpos = xsp;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_397()
+ {
+ if (jj_scan_token(THROWS)) return true;
+ if (jj_3R_249()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_404()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_82()
+ {
+ if (jj_3R_128()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_129()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_366()
+ {
+ if (jj_3R_117()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_115()
+ {
+ if (jj_scan_token(AT)) return true;
+ if (jj_3R_80()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_243()) {
+ jj_scanpos = xsp;
+ if (jj_3R_244()) {
+ jj_scanpos = xsp;
+ if (jj_3R_245()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_335()
+ {
+ if (jj_3R_78()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_10()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_355()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_366()) jj_scanpos = xsp;
+ if (jj_3R_86()) return true;
+ if (jj_3R_102()) return true;
+ if (jj_3R_88()) return true;
+ if (jj_3R_392()) return true;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_396()) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_397()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_398()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_50()
+ {
+ if (jj_scan_token(AT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_211()
+ {
+ if (jj_3R_128()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_31()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_165()
+ {
+ if (jj_3R_119()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_135()
+ {
+ if (jj_3R_115()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_86()
+ {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_135()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_150()
+ {
+ return false;
+ }
+
+ private boolean jj_3R_201()
+ {
+ if (jj_scan_token(BIT_AND)) return true;
+ if (jj_3R_249()) return true;
+ return false;
+ }
+
+ private boolean jj_3_48()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ if (jj_3R_111()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_152()
+ {
+ if (jj_3R_85()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_201()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_202()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_180()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_335()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(99)) jj_scanpos = xsp;
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3_30()
+ {
+ if (jj_3R_97()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_151()
+ {
+ return false;
+ }
+
+ private boolean jj_3R_123()
+ {
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_92()
+ {
+ jj_lookingAhead = true;
+ jj_semLA = getToken(1).kind == GT &&
+ getToken(1).realKind == RSIGNEDSHIFT;
+ jj_lookingAhead = false;
+ if (!jj_semLA || jj_3R_150()) return true;
+ if (jj_scan_token(GT)) return true;
+ if (jj_scan_token(GT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_122()
+ {
+ if (jj_3R_180()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_173()
+ {
+ if (jj_scan_token(ASSIGN)) return true;
+ if (jj_3R_78()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_94()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_86()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_30()) {
+ jj_scanpos = xsp;
+ if (jj_3R_152()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_93()
+ {
+ jj_lookingAhead = true;
+ jj_semLA = getToken(1).kind == GT &&
+ getToken(1).realKind == RUNSIGNEDSHIFT;
+ jj_lookingAhead = false;
+ if (!jj_semLA || jj_3R_151()) 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_78()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_122()) {
+ jj_scanpos = xsp;
+ if (jj_3R_123()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_49()
+ {
+ if (jj_3R_108()) return true;
+ if (jj_3R_75()) return true;
+ if (jj_3R_112()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_172()
+ {
+ if (jj_3R_211()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_96()
+ {
+ if (jj_scan_token(DECR)) return true;
+ return false;
+ }
+
+ private boolean jj_3_29()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_95()) {
+ jj_scanpos = xsp;
+ if (jj_3R_96()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_95()
+ {
+ if (jj_scan_token(INCR)) return true;
+ return false;
+ }
+
+ private boolean jj_3_28()
+ {
+ if (jj_3R_94()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_101()
+ {
+ if (jj_3R_88()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_165()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_76()
+ {
+ if (jj_3R_119()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_171()
+ {
+ if (jj_3R_109()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_111()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_171()) {
+ jj_scanpos = xsp;
+ if (jj_3R_172()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_299()
+ {
+ if (jj_3R_211()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_29()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_251()
+ {
+ if (jj_3R_94()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_368()
+ {
+ if (jj_3R_111()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_48()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_298()
+ {
+ if (jj_scan_token(BANG)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_252()
+ {
+ if (jj_3R_299()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_297()
+ {
+ if (jj_scan_token(TILDE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_112()
+ {
+ if (jj_3R_101()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_173()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_250()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_297()) {
+ jj_scanpos = xsp;
+ if (jj_3R_298()) return true;
+ }
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_395()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_112()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_73()
+ {
+ if (jj_3R_117()) return true;
+ return false;
+ }
+
+ private boolean jj_3_8()
+ {
+ if (jj_3R_75()) return true;
+ if (jj_3R_74()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_76()) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_scan_token(99)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(102)) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_202()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_250()) {
+ jj_scanpos = xsp;
+ if (jj_3R_251()) {
+ jj_scanpos = xsp;
+ if (jj_3R_252()) return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_428()
+ {
+ if (jj_scan_token(FINALLY)) return true;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_413()
+ {
+ if (jj_scan_token(FINALLY)) return true;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3_7()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_73()) jj_scanpos = xsp;
+ if (jj_3R_74()) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3_47()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_354()
+ {
+ if (jj_3R_75()) return true;
+ if (jj_3R_112()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_395()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_344()
+ {
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_368()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_47()) jj_scanpos = xsp;
+ if (jj_scan_token(RPAREN)) return true;
+ return false;
+ }
+
+ private boolean jj_3_6()
+ {
+ if (jj_scan_token(AT)) return true;
+ if (jj_scan_token(INTERFACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3_5()
+ {
+ if (jj_scan_token(ENUM)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_334()
+ {
+ if (jj_3R_355()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_433()
+ {
+ if (jj_scan_token(BIT_OR)) return true;
+ if (jj_3R_249()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_333()
+ {
+ if (jj_3R_354()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_257()
+ {
+ if (jj_scan_token(DECR)) return true;
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_332()
+ {
+ if (jj_3R_353()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_427()
+ {
+ if (jj_scan_token(CATCH)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_108()) return true;
+ if (jj_3R_85()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_433()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_3R_101()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_331()
+ {
+ if (jj_3R_352()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_330()
+ {
+ if (jj_3R_351()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_329()
+ {
+ if (jj_3R_194()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_110()
+ {
+ if (jj_scan_token(INCR)) return true;
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_303()
+ {
+ if (jj_3R_108()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ 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()) return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_210()
+ {
+ if (jj_3R_202()) return true;
+ return false;
+ }
+
+ private boolean jj_3_9()
+ {
+ if (jj_3R_77()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_259()
+ {
+ if (jj_scan_token(MINUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_258()
+ {
+ if (jj_scan_token(PLUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_213()
+ {
+ if (jj_3R_263()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_412()
+ {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_427()) { jj_scanpos = xsp; break; }
+ }
+ xsp = jj_scanpos;
+ if (jj_3R_428()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_209()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_258()) {
+ jj_scanpos = xsp;
+ if (jj_3R_259()) return true;
+ }
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_208()
+ {
+ if (jj_3R_257()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_207()
+ {
+ if (jj_3R_110()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_256()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_9()) {
+ jj_scanpos = xsp;
+ if (jj_3R_303()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_322()
+ {
+ if (jj_3R_344()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_293()
+ {
+ if (jj_scan_token(TRY)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_322()) jj_scanpos = xsp;
+ if (jj_3R_121()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_412()) {
+ jj_scanpos = xsp;
+ if (jj_3R_413()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_168()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_206()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_206()
+ {
+ if (jj_3R_256()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_170()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_207()) {
+ jj_scanpos = xsp;
+ if (jj_3R_208()) {
+ jj_scanpos = xsp;
+ if (jj_3R_209()) {
+ jj_scanpos = xsp;
+ if (jj_3R_210()) return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_423()
+ {
+ if (jj_scan_token(REM)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_105()
+ {
+ if (jj_scan_token(LBRACE)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_168()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_422()
+ {
+ if (jj_scan_token(SLASH)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_421()
+ {
+ if (jj_scan_token(STAR)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_405()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_421()) {
+ jj_scanpos = xsp;
+ if (jj_3R_422()) {
+ jj_scanpos = xsp;
+ if (jj_3R_423()) return true;
+ }
+ }
+ if (jj_3R_170()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_321()
+ {
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_307()
+ {
+ if (jj_scan_token(BIT_AND)) return true;
+ if (jj_3R_306()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_382()
+ {
+ if (jj_3R_170()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_405()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_263()
+ {
+ if (jj_scan_token(EXTENDS)) return true;
+ if (jj_3R_306()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_307()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_292()
+ {
+ if (jj_scan_token(SYNCHRONIZED)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_121()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_320()
+ {
+ if (jj_3R_88()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_407()
+ {
+ if (jj_scan_token(MINUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_406()
+ {
+ if (jj_scan_token(PLUS)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_399()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_406()) {
+ jj_scanpos = xsp;
+ if (jj_3R_407()) return true;
+ }
+ if (jj_3R_382()) return true;
+ return false;
+ }
+
+ private boolean jj_3_4()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_72()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_177()
+ {
+ if (jj_3R_88()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_213()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_291()
+ {
+ if (jj_scan_token(THROW)) return true;
+ if (jj_3R_90()) return true;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_378()
+ {
+ if (jj_3R_382()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_399()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_319()
+ {
+ if (jj_3R_88()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_415()
+ {
+ if (jj_3R_105()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_178()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_177()) return true;
+ return false;
+ }
+
+ private boolean jj_3_27()
+ {
+ if (jj_3R_93()) return true;
+ return false;
+ }
+
+ private boolean jj_3_26()
+ {
+ if (jj_3R_92()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_440()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_290()
+ {
+ if (jj_scan_token(RETURN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_321()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_91()
+ {
+ if (jj_scan_token(LSHIFT)) return true;
+ return false;
+ }
+
+ private boolean jj_3_25()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_91()) {
+ jj_scanpos = xsp;
+ if (jj_3_26()) {
+ jj_scanpos = xsp;
+ if (jj_3_27()) return true;
+ }
+ }
+ if (jj_3R_378()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_117()
+ {
+ if (jj_scan_token(LT)) return true;
+ if (jj_3R_86()) return true;
+ if (jj_3R_177()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_178()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_scan_token(GT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_379()
+ {
+ if (jj_scan_token(INSTANCEOF)) return true;
+ if (jj_3R_249()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_376()
+ {
+ if (jj_3R_378()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_25()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_289()
+ {
+ if (jj_scan_token(CONTINUE)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_320()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_387()
+ {
+ if (jj_scan_token(GE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_386()
+ {
+ if (jj_scan_token(LE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_426()
+ {
+ if (jj_3R_432()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_385()
+ {
+ if (jj_scan_token(GT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_384()
+ {
+ if (jj_scan_token(LT)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_414()
+ {
+ if (jj_3R_183()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_383()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_384()) {
+ jj_scanpos = xsp;
+ if (jj_3R_385()) {
+ jj_scanpos = xsp;
+ if (jj_3R_386()) {
+ jj_scanpos = xsp;
+ if (jj_3R_387()) return true;
+ }
+ }
+ }
+ if (jj_3R_376()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_288()
+ {
+ if (jj_scan_token(BREAK)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_319()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_116()
+ {
+ if (jj_3R_115()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_72()
+ {
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_116()) { jj_scanpos = xsp; break; }
+ }
+ if (jj_3R_88()) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_414()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_415()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_373()
+ {
+ if (jj_3R_376()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_383()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_432()
+ {
+ if (jj_3R_375()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_416()
+ {
+ if (jj_3R_256()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_411()
+ {
+ if (jj_scan_token(ELSE)) return true;
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_400()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_416()) {
+ jj_scanpos = xsp;
+ if (jj_scan_token(98)) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3_46()
+ {
+ if (jj_3R_108()) return true;
+ if (jj_3R_75()) return true;
+ if (jj_3R_74()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_374()
+ {
+ if (jj_scan_token(BIT_AND)) return true;
+ if (jj_3R_363()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_369()
+ {
+ if (jj_3R_373()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_379()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_390()
+ {
+ if (jj_scan_token(SEMICOLON)) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_400()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_375()
+ {
+ if (jj_3R_90()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_440()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_372()
+ {
+ if (jj_3R_375()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_425()
+ {
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_389()
+ {
+ if (jj_3R_72()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_4()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_371()
+ {
+ if (jj_3R_109()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_388()
+ {
+ if (jj_3R_305()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_381()
+ {
+ if (jj_scan_token(NE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_380()
+ {
+ if (jj_scan_token(EQ)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_377()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_380()) {
+ jj_scanpos = xsp;
+ if (jj_3R_381()) return true;
+ }
+ if (jj_3R_369()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_370()
+ {
+ if (jj_scan_token(XOR)) return true;
+ if (jj_3R_347()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_351()
+ {
+ if (jj_scan_token(ENUM)) return true;
+ if (jj_3R_88()) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_388()) jj_scanpos = xsp;
+ if (jj_scan_token(LBRACE)) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_389()) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_scan_token(99)) jj_scanpos = xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_390()) jj_scanpos = xsp;
+ if (jj_scan_token(RBRACE)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_367()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_371()) {
+ jj_scanpos = xsp;
+ if (jj_3R_372()) return true;
+ }
+ return false;
+ }
+
+ private boolean jj_3R_364()
+ {
+ if (jj_scan_token(BIT_OR)) return true;
+ if (jj_3R_324()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_363()
+ {
+ if (jj_3R_369()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_377()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3_45()
+ {
+ if (jj_3R_109()) return true;
+ if (jj_scan_token(COLON)) return true;
+ return false;
+ }
+
+ private boolean jj_3R_348()
+ {
+ if (jj_scan_token(SC_AND)) return true;
+ if (jj_3R_296()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_409()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_306()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_347()
+ {
+ if (jj_3R_363()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_374()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_356()
+ {
+ if (jj_3R_367()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_305()
+ {
+ if (jj_scan_token(IMPLEMENTS)) return true;
+ if (jj_3R_306()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_409()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_338()
+ {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_356()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_425()) jj_scanpos = xsp;
+ if (jj_scan_token(SEMICOLON)) return true;
+ xsp = jj_scanpos;
+ if (jj_3R_426()) jj_scanpos = xsp;
+ return false;
+ }
+
+ private boolean jj_3R_325()
+ {
+ if (jj_scan_token(SC_OR)) return true;
+ if (jj_3R_248()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_337()
+ {
+ if (jj_3R_109()) return true;
+ if (jj_scan_token(COLON)) return true;
+ if (jj_3R_90()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_324()
+ {
+ if (jj_3R_347()) return true;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3R_370()) { jj_scanpos = xsp; break; }
+ }
+ return false;
+ }
+
+ private boolean jj_3R_408()
+ {
+ if (jj_scan_token(COMMA)) return true;
+ if (jj_3R_306()) return true;
+ return false;
+ }
+
+ private boolean jj_3R_287()
+ {
+ if (jj_scan_token(FOR)) return true;
+ if (jj_scan_token(LPAREN)) return true;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3R_337()) {
+ jj_scanpos = xsp;
+ if (jj_3R_338()) return true;
+ }
+ if (jj_scan_token(RPAREN)) return true;
+ if (jj_3R_195()) return true;
+ return false;
+ }
+
+ /** Generated Token Manager. */
+ public GeneratedJavaParserTokenManager token_source;
+ SimpleCharStream 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[164];
+ 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[] {0x24480800,0x4080000,0x24480800,0x1,0x0,0x0,0x20400800,0x80000,0x0,0x8000000,0x0,0x0,0x0,0x0,0x4000000,0x0,0xa54ca800,0xa54ca800,0x0,0x0,0x0,0x0,0x0,0x8000000,0x0,0xa54ca800,0xa54ca800,0x80000,0x8504a000,0xa54ca800,0x0,0x0,0x0,0x9504a000,0x9504a000,0x0,0x0,0x0,0x0,0x0,0x0,0xa544a800,0x0,0xa544a800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9504a000,0x0,0x8104a000,0x8504a000,0x8504a000,0x0,0x8504a000,0x8504a000,0x8000000,0x8000000,0x8104a000,0x8504a000,0x4000000,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9504a000,0x0,0x0,0x9504a000,0x0,0x0,0x8504a000,0x0,0x0,0x0,0x4000000,0x0,0x0,0x9504a000,0x0,0x4000000,0x0,0x10000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x9504a000,0x0,0x0,0x0,0x8504a000,0x9504a000,0x0,0x95a4f000,0x0,0x95a4f000,0x0,0x9504a000,0x0,0x0,0x9504a000,0x410000,0x410000,0x2000000,0xb544a800,0x9504a000,0x9504a000,0xb544a800,0x9504a000,0x0,0x4000000,0x4000000,0x9504a000,0x0,0x20000,0x0,0x40000000,0x9504a000,0x4000000,0x0,0x9504a000,0x9504a000,0x0,0xa54ca800,0xa54ca800,0x80000,0x8504a000,0x400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9504a000,};
+ }
+ private static void jj_la1_init_1() {
+ jj_la1_1 = new int[] {0x444ce290,0x80,0x444ce290,0x0,0x40000,0x0,0x444ce200,0x80,0x0,0x0,0x8,0x0,0x0,0x8,0x80000,0x0,0x644ee3c0,0x644ee3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x644ee3c0,0x644ee3c0,0x80,0x200a0140,0x644ee3c0,0x0,0x0,0x0,0x289a0d40,0x289a0d40,0x0,0x0,0x0,0x0,0x2000000,0x0,0x444ee340,0x0,0x444ee340,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x289a0d40,0x40000,0x20140,0xa0140,0xa0140,0x0,0xa0140,0xa0140,0x100000,0x100000,0x20140,0x200a0140,0x80000,0x0,0x80400,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x289a0d40,0x0,0x0,0x289a0d40,0x0,0x0,0xa0140,0x0,0x0,0x0,0x80400,0x0,0x0,0x289a0d40,0x0,0x80400,0x0,0x8900c00,0x80000,0x0,0x0,0x0,0x800400,0x0,0x8000800,0x8000000,0x289a0d40,0x0,0x0,0x0,0xa0140,0x289a0d40,0x0,0xb9fb0d45,0x0,0xb9fb0d45,0x0,0x289a0d40,0x0,0x0,0x289a0d40,0x0,0x0,0x0,0x6cdeef40,0x289a0d40,0x289a0d40,0x6cdeef40,0x289a0d40,0x0,0x80000,0x80000,0x289a0d40,0x0,0x0,0x0,0x0,0x289a0d40,0x80000,0x0,0x289a0d40,0x289a0d40,0x0,0x444ee3c0,0x444ee3c0,0x80,0xa0140,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x289a0d40,};
+ }
+ private static void jj_la1_init_2() {
+ jj_la1_2 = new int[] {0x248,0x48,0x248,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20003ff,0x0,0x420003ff,0x420003ff,0x0,0x0,0x10000000,0x40000000,0x0,0x0,0x0,0x420003ff,0x420003ff,0x0,0x20003ff,0x20003ff,0x0,0x0,0x0,0x53810fff,0x53810fff,0x0,0x0,0x0,0x0,0x0,0x40000000,0x20003ff,0x0,0x20003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13810fff,0x0,0x0,0x20003ff,0x20003ff,0x0,0x20003ff,0x20003ff,0x0,0x0,0x0,0x20003ff,0x20003ff,0x0,0x20003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13810fff,0x0,0x0,0x13810fff,0x0,0x0,0x20003ff,0x0,0x10000000,0x0,0x20003ff,0x0,0x20000000,0x13810fff,0x0,0x20003ff,0x10000000,0x11810c00,0x20003ff,0x0,0x0,0x10000000,0x0,0x0,0x1810c00,0x0,0x13810fff,0x0,0x0,0x10000000,0x20003ff,0x13810fff,0x40000000,0x53810fff,0x0,0x53810fff,0x0,0x53810fff,0x0,0x0,0x13810fff,0x0,0x0,0x0,0x13810fff,0x13810fff,0x13810fff,0x13810fff,0x13810fff,0x0,0x20003ff,0x20003ff,0x13810fff,0x10000000,0x0,0x0,0x0,0x13810fff,0x20003ff,0x0,0x53810fff,0x53810fff,0x0,0x20003ff,0x20003ff,0x0,0x20003ff,0x0,0x0,0x2,0x0,0x2,0x0,0x1b1,0x8,0x1b1,0x13810fff,};
+ }
+ private static void jj_la1_init_3() {
+ jj_la1_3 = new int[] {0x24,0x24,0x24,0x0,0x0,0x10,0x20,0x0,0x80,0x0,0x0,0x8,0x8,0x0,0x20,0x8,0xa4,0xa4,0x4,0x20,0x0,0x0,0x8,0x0,0x1000000,0xa4,0xa4,0x0,0xa0,0xa0,0x8,0x40,0x21,0x3c0320,0x3c0320,0x8,0x80,0x21,0x8,0x0,0x4,0x20,0x8,0x20,0x8,0x8,0x20,0x80,0x8,0x0,0x80,0x80,0xa0,0x0,0x0,0x0,0x20,0x8,0x420,0x400,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x0,0xe0000040,0xe0000040,0x400,0x10000,0x20000,0x2000000,0x4000000,0x1000000,0x9000,0x9000,0x0,0x6080,0x6080,0x10000000,0x300000,0x300000,0x8c00000,0x8c00000,0x300000,0x3c0320,0x300,0x300,0x20,0xc0000,0x1000000,0x0,0x80,0x0,0x80,0x0,0x10,0x0,0x3c0320,0x80,0x0,0x0,0x0,0x0,0x10,0x80,0x0,0x0,0x11,0x0,0x0,0x3c0320,0x8,0x80,0x21,0xa0,0x3c0320,0x0,0xc0024,0x800,0xc0024,0x8,0x3c0320,0xe00c0040,0xe00c0040,0x80020,0x0,0x0,0x0,0x3c0320,0x3c0320,0x3c0320,0x3c0324,0x3c0320,0x8,0x0,0x0,0x3c0320,0x0,0x0,0x2000000,0x0,0x20,0x0,0x8,0x3c0320,0x3c0320,0x8,0x24,0x24,0x0,0x20,0x0,0x8,0x0,0x8,0x0,0x8,0x0,0x0,0x0,0xa0,};
+ }
+ private static void jj_la1_init_4() {
+ jj_la1_4 = new int[] {0x0,0x0,0x0,0x4000,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,0x100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x6ff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400,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,0xff,0xff,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[58];
+ private boolean jj_rescan = false;
+ private int jj_gc = 0;
+
+ /** Constructor. */
+ public GeneratedJavaParser(Provider stream) {
+ jj_input_stream = new SimpleCharStream(stream, 1, 1);
+ token_source = new GeneratedJavaParserTokenManager(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 164; i++) jj_la1[i] = -1;
+ for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+ }
+
+ /** Constructor. */
+ public GeneratedJavaParser(String dsl) throws ParseException, TokenMgrException {
+ this(new StringProvider(dsl));
+ }
+
+ public void ReInit(String s) {
+ ReInit(new StringProvider(s));
+ }
+ /** Reinitialise. */
+ public void ReInit(Provider stream) {
+ if (jj_input_stream == null) {
+ jj_input_stream = new SimpleCharStream(stream, 1, 1);
+ } else {
+ jj_input_stream.ReInit(stream, 1, 1);
+ }
+ if (token_source == null) {
+ token_source = new GeneratedJavaParserTokenManager(jj_input_stream);
+ }
+
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 164; 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 GeneratedJavaParser(GeneratedJavaParserTokenManager tm) {
+ token_source = tm;
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 164; 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(GeneratedJavaParserTokenManager tm) {
+ token_source = tm;
+ token = new Token();
+ jj_ntk = -1;
+ jj_gen = 0;
+ for (int i = 0; i < 164; 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) throws ParseException {
+ Token oldToken;
+ if ((oldToken = token).next != null) token = token.next;
+ else token = token.next = token_source.getNextToken();
+ jj_ntk = -1;
+ if (token.kind == kind) {
+ jj_gen++;
+ if (++jj_gc > 100) {
+ jj_gc = 0;
+ for (int i = 0; i < jj_2_rtns.length; i++) {
+ JJCalls c = jj_2_rtns[i];
+ while (c != null) {
+ if (c.gen < jj_gen) c.first = null;
+ c = c.next;
+ }
+ }
+ }
+ return token;
+ }
+ token = oldToken;
+ jj_kind = kind;
+ throw generateParseException();
+ }
+
+ @SuppressWarnings("serial")
+ static private final class LookaheadSuccess extends java.lang.RuntimeException { }
+ 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_f() {
+ 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 jj_expentries = new java.util.ArrayList();
+ 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];
+ }
+
+ for (int[] oldentry : jj_expentries) {
+ if (oldentry.length == jj_expentry.length) {
+ boolean isMatched = true;
+
+ for (int i = 0; i < jj_expentry.length; i++) {
+ if (oldentry[i] != jj_expentry[i]) {
+ isMatched = false;
+ break;
+ }
+
+ }
+ if (isMatched) {
+ jj_expentries.add(jj_expentry);
+ break;
+ }
+ }
+ }
+
+ if (pos != 0) {
+ jj_lasttokens[(jj_endpos = pos) - 1] = kind;
+ }
+ }
+ }
+
+ /** Generate ParseException. */
+ public ParseException generateParseException() {
+ jj_expentries.clear();
+ boolean[] la1tokens = new boolean[143];
+ if (jj_kind >= 0) {
+ la1tokens[jj_kind] = true;
+ jj_kind = -1;
+ }
+ for (int i = 0; i < 164; i++) {
+ if (jj_la1[i] == jj_gen) {
+ for (int j = 0; j < 32; j++) {
+ if ((jj_la1_0[i] & (1< jj_gen) {
+ jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
+ switch (i) {
+ case 0: jj_3_1(); break;
+ case 1: jj_3_2(); break;
+ case 2: jj_3_3(); break;
+ case 3: jj_3_4(); break;
+ case 4: jj_3_5(); break;
+ case 5: jj_3_6(); break;
+ case 6: jj_3_7(); break;
+ case 7: jj_3_8(); break;
+ case 8: jj_3_9(); break;
+ case 9: jj_3_10(); break;
+ case 10: jj_3_11(); break;
+ case 11: jj_3_12(); break;
+ case 12: jj_3_13(); break;
+ case 13: jj_3_14(); break;
+ case 14: jj_3_15(); break;
+ case 15: jj_3_16(); break;
+ case 16: jj_3_17(); break;
+ case 17: jj_3_18(); break;
+ case 18: jj_3_19(); break;
+ case 19: jj_3_20(); break;
+ case 20: jj_3_21(); break;
+ case 21: jj_3_22(); break;
+ case 22: jj_3_23(); break;
+ case 23: jj_3_24(); break;
+ case 24: jj_3_25(); break;
+ case 25: jj_3_26(); break;
+ case 26: jj_3_27(); break;
+ case 27: jj_3_28(); break;
+ case 28: jj_3_29(); break;
+ case 29: jj_3_30(); break;
+ case 30: jj_3_31(); break;
+ case 31: jj_3_32(); break;
+ case 32: jj_3_33(); break;
+ case 33: jj_3_34(); break;
+ case 34: jj_3_35(); break;
+ case 35: jj_3_36(); break;
+ case 36: jj_3_37(); break;
+ case 37: jj_3_38(); break;
+ case 38: jj_3_39(); break;
+ case 39: jj_3_40(); break;
+ case 40: jj_3_41(); break;
+ case 41: jj_3_42(); break;
+ case 42: jj_3_43(); break;
+ case 43: jj_3_44(); break;
+ case 44: jj_3_45(); break;
+ case 45: jj_3_46(); break;
+ case 46: jj_3_47(); break;
+ case 47: jj_3_48(); break;
+ case 48: jj_3_49(); break;
+ case 49: jj_3_50(); break;
+ case 50: jj_3_51(); break;
+ case 51: jj_3_52(); break;
+ case 52: jj_3_53(); break;
+ case 53: jj_3_54(); break;
+ case 54: jj_3_55(); break;
+ case 55: jj_3_56(); break;
+ case 56: jj_3_57(); break;
+ case 57: jj_3_58(); 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;
+ }
+
+}
diff --git a/JavaParser/src/com/github/javaparser/GeneratedJavaParserBase.java b/JavaParser/src/com/github/javaparser/GeneratedJavaParserBase.java
new file mode 100644
index 0000000..ef0b7ef
--- /dev/null
+++ b/JavaParser/src/com/github/javaparser/GeneratedJavaParserBase.java
@@ -0,0 +1,369 @@
+package com.github.javaparser;
+
+import com.github.javaparser.ast.ArrayCreationLevel;
+import com.github.javaparser.ast.Modifier;
+import com.github.javaparser.ast.Node;
+import com.github.javaparser.ast.NodeList;
+import com.github.javaparser.ast.body.Parameter;
+import com.github.javaparser.ast.comments.CommentsCollection;
+import com.github.javaparser.ast.expr.*;
+import com.github.javaparser.ast.stmt.Statement;
+import com.github.javaparser.ast.type.ArrayType;
+import com.github.javaparser.ast.type.Type;
+import com.github.javaparser.ast.type.UnknownType;
+import com.github.javaparser.utils.Pair;
+
+import java.util.*;
+
+import static com.github.javaparser.GeneratedJavaParserConstants.EOF;
+import static com.github.javaparser.ast.type.ArrayType.unwrapArrayTypes;
+import static com.github.javaparser.ast.type.ArrayType.wrapInArrayTypes;
+import static com.github.javaparser.utils.Utils.assertNotNull;
+
+/**
+ * Base class for {@link GeneratedJavaParser}
+ */
+abstract class GeneratedJavaParserBase {
+ //// Interface with the generated code
+ abstract GeneratedJavaParserTokenManager getTokenSource();
+
+ abstract void ReInit(Provider provider);
+
+ /* Returns the JavaParser specific token type of the last matched token */
+ abstract JavaToken token();
+
+ abstract Token getNextToken();
+
+ ////
+
+ /* The problems encountered while parsing */
+ List problems = new ArrayList<>();
+ /* Configuration flag whether we store tokens and tokenranges */
+ boolean storeTokens;
+
+ /* Resets the parser for reuse, gaining a little performance */
+ void reset(Provider provider) {
+ ReInit(provider);
+ problems = new ArrayList<>();
+ getTokenSource().reset();
+ }
+
+ /**
+ * Return the list of JavaParser specific tokens that have been encountered while parsing code using this parser.
+ *
+ * @return a list of tokens
+ */
+ public List getTokens() {
+ return getTokenSource().getTokens();
+ }
+
+ /* The collection of comments encountered */
+ CommentsCollection getCommentsCollection() {
+ return getTokenSource().getCommentsCollection();
+ }
+
+ /* Reports a problem to the user */
+ void addProblem(String message) {
+ // TODO tokenRange only takes the final token. Need all the tokens.
+ problems.add(new Problem(message, tokenRange(), null));
+ }
+
+ /* Returns a tokenRange that spans the last matched token */
+ TokenRange tokenRange() {
+ if (storeTokens) {
+ return new TokenRange(token(), token());
+ }
+ return null;
+ }
+
+ /**
+ * Return a TokenRange spanning from begin to end
+ */
+ TokenRange range(JavaToken begin, JavaToken end) {
+ if (storeTokens) {
+ return new TokenRange(begin, end);
+ }
+ return null;
+ }
+
+ /**
+ * Return a TokenRange spanning from begin to end
+ */
+ TokenRange range(Node begin, JavaToken end) {
+ if (storeTokens) {
+ return new TokenRange(begin.getTokenRange().get().getBegin(), end);
+ }
+ return null;
+ }
+
+ /**
+ * Return a TokenRange spanning from begin to end
+ */
+ TokenRange range(JavaToken begin, Node end) {
+ if (storeTokens) {
+ return new TokenRange(begin, end.getTokenRange().get().getEnd());
+ }
+ return null;
+ }
+
+ /**
+ * Return a TokenRange spanning from begin to end
+ */
+ TokenRange range(Node begin, Node end) {
+ if (storeTokens) {
+ return new TokenRange(begin.getTokenRange().get().getBegin(), end.getTokenRange().get().getEnd());
+ }
+ return null;
+ }
+
+ /**
+ * @return secondChoice if firstChoice is JavaToken.UNKNOWN, otherwise firstChoice
+ */
+ JavaToken orIfInvalid(JavaToken firstChoice, JavaToken secondChoice) {
+ if (storeTokens) {
+ assertNotNull(firstChoice);
+ assertNotNull(secondChoice);
+ if (firstChoice.valid() || secondChoice.invalid()) {
+ return firstChoice;
+ }
+ return secondChoice;
+ }
+ return null;
+ }
+
+ /**
+ * @return the begin-token secondChoice if firstChoice is JavaToken.UNKNOWN, otherwise firstChoice
+ */
+ JavaToken orIfInvalid(JavaToken firstChoice, Node secondChoice) {
+ if (storeTokens) {
+ return orIfInvalid(firstChoice, secondChoice.getTokenRange().get().getBegin());
+ }
+ return null;
+ }
+
+ /**
+ * Get the token that starts the NodeList l
+ */
+ JavaToken nodeListBegin(NodeList> l) {
+ if (!storeTokens || l.isEmpty()) {
+ return JavaToken.INVALID;
+ }
+ return l.get(0).getTokenRange().get().getBegin();
+ }
+
+ /* Sets the kind of the last matched token to newKind */
+ void setTokenKind(int newKind) {
+ token().setKind(newKind);
+ }
+
+ /* Makes the parser keep a list of tokens */
+ void setStoreTokens(boolean storeTokens) {
+ this.storeTokens = storeTokens;
+ getTokenSource().setStoreTokens(storeTokens);
+ }
+
+ /* Called from within a catch block to skip forward to a known token,
+ and report the occurred exception as a problem. */
+ TokenRange recover(int recoveryTokenType, ParseException p) {
+ JavaToken begin = null;
+ if (p.currentToken != null) {
+ begin = token();
+ }
+ Token t;
+ do {
+ t = getNextToken();
+ } while (t.kind != recoveryTokenType && t.kind != EOF);
+
+ JavaToken end = token();
+
+ TokenRange tokenRange = null;
+ if (begin != null && end != null) {
+ tokenRange = range(begin, end);
+ }
+
+ problems.add(new Problem(makeMessageForParseException(p), tokenRange, p));
+ return tokenRange;
+ }
+
+ /**
+ * Quickly create a new NodeList
+ */
+ NodeList emptyList() {
+ return new NodeList<>();
+ }
+
+ /**
+ * Add obj to list and return it. Create a new list if list is null
+ */
+ NodeList add(NodeList list, T obj) {
+ if (list == null) {
+ list = new NodeList<>();
+ }
+ list.add(obj);
+ return list;
+ }
+
+ /**
+ * Add obj to list only when list is not null
+ */
+ NodeList addWhenNotNull(NodeList list, T obj) {
+ if (obj == null) {
+ return list;
+ }
+ return add(list, obj);
+ }
+
+ /**
+ * Add obj to list at position pos
+ */
+ NodeList prepend(NodeList list, T obj) {
+ if (list == null) {
+ list = new NodeList<>();
+ }
+ list.addFirst(obj);
+ return list;
+ }
+
+ /**
+ * Add obj to list
+ */
+ List add(List list, T obj) {
+ if (list == null) {
+ list = new LinkedList<>();
+ }
+ list.add(obj);
+ return list;
+ }
+
+ /**
+ * Add modifier mod to modifiers
+ */
+ void addModifier(EnumSet modifiers, Modifier mod) {
+ if (modifiers.contains(mod)) {
+ addProblem("Duplicated modifier");
+ }
+ modifiers.add(mod);
+ }
+
+ /**
+ * Propagate expansion of the range on the right to the parent. This is necessary when the right border of the child
+ * is determining the right border of the parent (i.e., the child is the last element of the parent). In this case
+ * when we "enlarge" the child we should enlarge also the parent.
+ */
+ private void propagateRangeGrowthOnRight(Node node, Node endNode) {
+ if (storeTokens) {
+ node.getParentNode().ifPresent(nodeParent -> {
+ boolean isChildOnTheRightBorderOfParent = node.getTokenRange().get().getEnd().equals(nodeParent.getTokenRange().get().getEnd());
+ if (isChildOnTheRightBorderOfParent) {
+ propagateRangeGrowthOnRight(nodeParent, endNode);
+ }
+ });
+ node.setTokenRange(range(node, endNode));
+ }
+ }
+
+ /**
+ * Workaround for rather complex ambiguity that lambda's create
+ */
+ Expression generateLambda(Expression ret, Statement lambdaBody) {
+ if (ret instanceof EnclosedExpr) {
+ Expression inner = ((EnclosedExpr) ret).getInner();
+ SimpleName id = ((NameExpr) inner).getName();
+ NodeList params = add(new NodeList<>(), new Parameter(ret.getTokenRange().orElse(null), EnumSet.noneOf(Modifier.class), new NodeList<>(), new UnknownType(), false, new NodeList<>(), id));
+ ret = new LambdaExpr(range(ret, lambdaBody), params, lambdaBody, true);
+ } else if (ret instanceof NameExpr) {
+ SimpleName id = ((NameExpr) ret).getName();
+ NodeList params = add(new NodeList<>(), new Parameter(ret.getTokenRange().orElse(null), EnumSet.noneOf(Modifier.class), new NodeList<>(), new UnknownType(), false, new NodeList<>(), id));
+ ret = new LambdaExpr(range(ret, lambdaBody), params, lambdaBody, false);
+ } else if (ret instanceof LambdaExpr) {
+ ((LambdaExpr) ret).setBody(lambdaBody);
+ propagateRangeGrowthOnRight(ret, lambdaBody);
+ } else if (ret instanceof CastExpr) {
+ CastExpr castExpr = (CastExpr) ret;
+ Expression inner = generateLambda(castExpr.getExpression(), lambdaBody);
+ castExpr.setExpression(inner);
+ } else {
+ addProblem("Failed to parse lambda expression! Please create an issue at https://github.com/javaparser/javaparser/issues");
+ }
+ return ret;
+ }
+
+ /**
+ * Throws together an ArrayCreationExpr from a lot of pieces
+ */
+ ArrayCreationExpr juggleArrayCreation(TokenRange range, List levelRanges, Type type, NodeList dimensions, List> arrayAnnotations, ArrayInitializerExpr arrayInitializerExpr) {
+ NodeList levels = new NodeList<>();
+
+ for (int i = 0; i < arrayAnnotations.size(); i++) {
+ levels.add(new ArrayCreationLevel(levelRanges.get(i), dimensions.get(i), arrayAnnotations.get(i)));
+ }
+ return new ArrayCreationExpr(range, type, levels, arrayInitializerExpr);
+ }
+
+ /**
+ * Throws together a Type, taking care of all the array brackets
+ */
+ Type juggleArrayType(Type partialType, List additionalBrackets) {
+ Pair> partialParts = unwrapArrayTypes(partialType);
+ Type elementType = partialParts.a;
+ List leftMostBrackets = partialParts.b;
+ return wrapInArrayTypes(elementType, leftMostBrackets, additionalBrackets).clone();
+ }
+
+ /**
+ * This is the code from ParseException.initialise, modified to be more horizontal.
+ */
+ private String makeMessageForParseException(ParseException exception) {
+ final StringBuilder sb = new StringBuilder("Parse error. Found ");
+ final StringBuilder expected = new StringBuilder();
+
+ int maxExpectedTokenSequenceLength = 0;
+ TreeSet sortedOptions = new TreeSet<>();
+ for (int i = 0; i < exception.expectedTokenSequences.length; i++) {
+ if (maxExpectedTokenSequenceLength < exception.expectedTokenSequences[i].length) {
+ maxExpectedTokenSequenceLength = exception.expectedTokenSequences[i].length;
+ }
+ for (int j = 0; j < exception.expectedTokenSequences[i].length; j++) {
+ sortedOptions.add(exception.tokenImage[exception.expectedTokenSequences[i][j]]);
+ }
+ }
+
+ for (String option : sortedOptions) {
+ expected.append(" ").append(option);
+ }
+
+ sb.append("");
+
+ Token token = exception.currentToken.next;
+ for (int i = 0; i < maxExpectedTokenSequenceLength; i++) {
+ String tokenText = token.image;
+ String escapedTokenText = ParseException.add_escapes(tokenText);
+ if (i != 0) {
+ sb.append(" ");
+ }
+ if (token.kind == 0) {
+ sb.append(exception.tokenImage[0]);
+ break;
+ }
+ escapedTokenText = "\"" + escapedTokenText + "\"";
+ String image = exception.tokenImage[token.kind];
+ if (image.equals(escapedTokenText)) {
+ sb.append(image);
+ } else {
+ sb.append(" ")
+ .append(escapedTokenText)
+ .append(" ")
+ .append(image);
+ }
+ token = token.next;
+ }
+
+ if (exception.expectedTokenSequences.length != 0) {
+ int numExpectedTokens = exception.expectedTokenSequences.length;
+ sb.append(", expected")
+ .append(numExpectedTokens == 1 ? "" : " one of ")
+ .append(expected.toString());
+ }
+ return sb.toString();
+ }
+}
diff --git a/JavaParser/src/com/github/javaparser/ASTParserConstants.java b/JavaParser/src/com/github/javaparser/GeneratedJavaParserConstants.java
similarity index 56%
rename from JavaParser/src/com/github/javaparser/ASTParserConstants.java
rename to JavaParser/src/com/github/javaparser/GeneratedJavaParserConstants.java
index e328d8c..e59d1e3 100644
--- a/JavaParser/src/com/github/javaparser/ASTParserConstants.java
+++ b/JavaParser/src/com/github/javaparser/GeneratedJavaParserConstants.java
@@ -1,414 +1,472 @@
-/* Generated By:JavaCC: Do not edit this line. ASTParserConstants.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 .
- */
-package com.github.javaparser;
-
-
-/**
- * Token literal values and constants.
- * Generated by org.javacc.parser.OtherFilesGen#start()
- */
-public interface ASTParserConstants {
-
- /** End of File. */
- int EOF = 0;
- /** RegularExpression Id. */
- int SINGLE_LINE_COMMENT = 6;
- /** RegularExpression Id. */
- int JAVA_DOC_COMMENT = 9;
- /** RegularExpression Id. */
- int MULTI_LINE_COMMENT = 10;
- /** RegularExpression Id. */
- int ABSTRACT = 12;
- /** RegularExpression Id. */
- int ASSERT = 13;
- /** RegularExpression Id. */
- int BOOLEAN = 14;
- /** RegularExpression Id. */
- int BREAK = 15;
- /** RegularExpression Id. */
- int BYTE = 16;
- /** RegularExpression Id. */
- int CASE = 17;
- /** RegularExpression Id. */
- int CATCH = 18;
- /** RegularExpression Id. */
- int CHAR = 19;
- /** RegularExpression Id. */
- int CLASS = 20;
- /** RegularExpression Id. */
- int CONST = 21;
- /** RegularExpression Id. */
- int CONTINUE = 22;
- /** RegularExpression Id. */
- int _DEFAULT = 23;
- /** RegularExpression Id. */
- int DO = 24;
- /** RegularExpression Id. */
- int DOUBLE = 25;
- /** RegularExpression Id. */
- int ELSE = 26;
- /** RegularExpression Id. */
- int ENUM = 27;
- /** RegularExpression Id. */
- int EXTENDS = 28;
- /** RegularExpression Id. */
- int FALSE = 29;
- /** RegularExpression Id. */
- int FINAL = 30;
- /** RegularExpression Id. */
- int FINALLY = 31;
- /** RegularExpression Id. */
- int FLOAT = 32;
- /** RegularExpression Id. */
- int FOR = 33;
- /** RegularExpression Id. */
- int GOTO = 34;
- /** RegularExpression Id. */
- int IF = 35;
- /** RegularExpression Id. */
- int IMPLEMENTS = 36;
- /** RegularExpression Id. */
- int IMPORT = 37;
- /** RegularExpression Id. */
- int INSTANCEOF = 38;
- /** RegularExpression Id. */
- int INT = 39;
- /** RegularExpression Id. */
- int INTERFACE = 40;
- /** RegularExpression Id. */
- int LONG = 41;
- /** RegularExpression Id. */
- int NATIVE = 42;
- /** RegularExpression Id. */
- int NEW = 43;
- /** RegularExpression Id. */
- int NULL = 44;
- /** RegularExpression Id. */
- int PACKAGE = 45;
- /** RegularExpression Id. */
- int PRIVATE = 46;
- /** RegularExpression Id. */
- int PROTECTED = 47;
- /** RegularExpression Id. */
- int PUBLIC = 48;
- /** RegularExpression Id. */
- int RETURN = 49;
- /** RegularExpression Id. */
- int SHORT = 50;
- /** RegularExpression Id. */
- int STATIC = 51;
- /** RegularExpression Id. */
- int STRICTFP = 52;
- /** RegularExpression Id. */
- int SUPER = 53;
- /** RegularExpression Id. */
- int SWITCH = 54;
- /** RegularExpression Id. */
- int SYNCHRONIZED = 55;
- /** RegularExpression Id. */
- int THIS = 56;
- /** RegularExpression Id. */
- int THROW = 57;
- /** RegularExpression Id. */
- int THROWS = 58;
- /** RegularExpression Id. */
- int TRANSIENT = 59;
- /** RegularExpression Id. */
- int TRUE = 60;
- /** RegularExpression Id. */
- int TRY = 61;
- /** RegularExpression Id. */
- int VOID = 62;
- /** RegularExpression Id. */
- int VOLATILE = 63;
- /** RegularExpression Id. */
- int WHILE = 64;
- /** RegularExpression Id. */
- int LONG_LITERAL = 65;
- /** RegularExpression Id. */
- int INTEGER_LITERAL = 66;
- /** RegularExpression Id. */
- int DECIMAL_LITERAL = 67;
- /** RegularExpression Id. */
- int HEX_LITERAL = 68;
- /** RegularExpression Id. */
- int OCTAL_LITERAL = 69;
- /** RegularExpression Id. */
- int BINARY_LITERAL = 70;
- /** RegularExpression Id. */
- int FLOATING_POINT_LITERAL = 71;
- /** RegularExpression Id. */
- int DECIMAL_FLOATING_POINT_LITERAL = 72;
- /** RegularExpression Id. */
- int DECIMAL_EXPONENT = 73;
- /** RegularExpression Id. */
- int HEXADECIMAL_FLOATING_POINT_LITERAL = 74;
- /** RegularExpression Id. */
- int HEXADECIMAL_EXPONENT = 75;
- /** RegularExpression Id. */
- int CHARACTER_LITERAL = 76;
- /** RegularExpression Id. */
- int STRING_LITERAL = 77;
- /** RegularExpression Id. */
- int IDENTIFIER = 78;
- /** RegularExpression Id. */
- int LETTER = 79;
- /** RegularExpression Id. */
- int PART_LETTER = 80;
- /** RegularExpression Id. */
- int LPAREN = 81;
- /** RegularExpression Id. */
- int RPAREN = 82;
- /** RegularExpression Id. */
- int LBRACE = 83;
- /** RegularExpression Id. */
- int RBRACE = 84;
- /** RegularExpression Id. */
- int LBRACKET = 85;
- /** RegularExpression Id. */
- int RBRACKET = 86;
- /** RegularExpression Id. */
- int SEMICOLON = 87;
- /** RegularExpression Id. */
- int COMMA = 88;
- /** RegularExpression Id. */
- int DOT = 89;
- /** RegularExpression Id. */
- int AT = 90;
- /** RegularExpression Id. */
- int ASSIGN = 91;
- /** RegularExpression Id. */
- int LT = 92;
- /** RegularExpression Id. */
- int BANG = 93;
- /** RegularExpression Id. */
- int TILDE = 94;
- /** RegularExpression Id. */
- int HOOK = 95;
- /** RegularExpression Id. */
- int COLON = 96;
- /** RegularExpression Id. */
- int EQ = 97;
- /** RegularExpression Id. */
- int LE = 98;
- /** RegularExpression Id. */
- int GE = 99;
- /** RegularExpression Id. */
- int NE = 100;
- /** RegularExpression Id. */
- int SC_OR = 101;
- /** RegularExpression Id. */
- int SC_AND = 102;
- /** RegularExpression Id. */
- int INCR = 103;
- /** RegularExpression Id. */
- int DECR = 104;
- /** RegularExpression Id. */
- int PLUS = 105;
- /** RegularExpression Id. */
- int MINUS = 106;
- /** RegularExpression Id. */
- int STAR = 107;
- /** RegularExpression Id. */
- int SLASH = 108;
- /** RegularExpression Id. */
- int BIT_AND = 109;
- /** RegularExpression Id. */
- int BIT_OR = 110;
- /** RegularExpression Id. */
- int XOR = 111;
- /** RegularExpression Id. */
- int REM = 112;
- /** RegularExpression Id. */
- int LSHIFT = 113;
- /** RegularExpression Id. */
- int PLUSASSIGN = 114;
- /** RegularExpression Id. */
- int MINUSASSIGN = 115;
- /** RegularExpression Id. */
- int STARASSIGN = 116;
- /** RegularExpression Id. */
- int SLASHASSIGN = 117;
- /** RegularExpression Id. */
- int ANDASSIGN = 118;
- /** RegularExpression Id. */
- int ORASSIGN = 119;
- /** RegularExpression Id. */
- int XORASSIGN = 120;
- /** RegularExpression Id. */
- int REMASSIGN = 121;
- /** RegularExpression Id. */
- int LSHIFTASSIGN = 122;
- /** RegularExpression Id. */
- int RSIGNEDSHIFTASSIGN = 123;
- /** RegularExpression Id. */
- int RUNSIGNEDSHIFTASSIGN = 124;
- /** RegularExpression Id. */
- int ELLIPSIS = 125;
- /** RegularExpression Id. */
- int ARROW = 126;
- /** RegularExpression Id. */
- int DOUBLECOLON = 127;
- /** RegularExpression Id. */
- int RUNSIGNEDSHIFT = 128;
- /** RegularExpression Id. */
- int RSIGNEDSHIFT = 129;
- /** RegularExpression Id. */
- int GT = 130;
-
- /** Lexical state. */
- int DEFAULT = 0;
- /** Lexical state. */
- int IN_JAVA_DOC_COMMENT = 1;
- /** Lexical state. */
- int IN_MULTI_LINE_COMMENT = 2;
-
- /** Literal token values. */
- String[] tokenImage = {
- "",
- "\" \"",
- "\"\\t\"",
- "\"\\n\"",
- "\"\\r\"",
- "\"\\f\"",
- "",
- "",
- "\"/*\"",
- "\"*/\"",
- "\"*/\"",
- "",
- "\"abstract\"",
- "\"assert\"",
- "\"boolean\"",
- "\"break\"",
- "\"byte\"",
- "\"case\"",
- "\"catch\"",
- "\"char\"",
- "\"class\"",
- "\"const\"",
- "\"continue\"",
- "\"default\"",
- "\"do\"",
- "\"double\"",
- "\"else\"",
- "\"enum\"",
- "\"extends\"",
- "\"false\"",
- "\"final\"",
- "\"finally\"",
- "\"float\"",
- "\"for\"",
- "\"goto\"",
- "\"if\"",
- "\"implements\"",
- "\"import\"",
- "\"instanceof\"",
- "\"int\"",
- "\"interface\"",
- "\"long\"",
- "\"native\"",
- "\"new\"",
- "\"null\"",
- "\"package\"",
- "\"private\"",
- "\"protected\"",
- "\"public\"",
- "\"return\"",
- "\"short\"",
- "\"static\"",
- "\"strictfp\"",
- "\"super\"",
- "\"switch\"",
- "\"synchronized\"",
- "\"this\"",
- "\"throw\"",
- "\"throws\"",
- "\"transient\"",
- "\"true\"",
- "\"try\"",
- "\"void\"",
- "\"volatile\"",
- "\"while\"",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "\"(\"",
- "\")\"",
- "\"{\"",
- "\"}\"",
- "\"[\"",
- "\"]\"",
- "\";\"",
- "\",\"",
- "\".\"",
- "\"@\"",
- "\"=\"",
- "\"<\"",
- "\"!\"",
- "\"~\"",
- "\"?\"",
- "\":\"",
- "\"==\"",
- "\"<=\"",
- "\">=\"",
- "\"!=\"",
- "\"||\"",
- "\"&&\"",
- "\"++\"",
- "\"--\"",
- "\"+\"",
- "\"-\"",
- "\"*\"",
- "\"/\"",
- "\"&\"",
- "\"|\"",
- "\"^\"",
- "\"%\"",
- "\"<<\"",
- "\"+=\"",
- "\"-=\"",
- "\"*=\"",
- "\"/=\"",
- "\"&=\"",
- "\"|=\"",
- "\"^=\"",
- "\"%=\"",
- "\"<<=\"",
- "\">>=\"",
- "\">>>=\"",
- "\"...\"",
- "\"->\"",
- "\"::\"",
- "\">>>\"",
- "\">>\"",
- "\">\"",
- "\"\\u001a\"",
- "\"<>\"",
- };
-
-}
+/* Generated By:JavaCC: Do not edit this line. GeneratedJavaParserConstants.java */
+/*
+ * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) 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.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+package com.github.javaparser;
+
+
+/**
+ * Token literal values and constants.
+ * Generated by org.javacc.parser.OtherFilesGen#start()
+ */
+public interface GeneratedJavaParserConstants {
+
+ /** End of File. */
+ int EOF = 0;
+ /** RegularExpression Id. */
+ int SPACE = 1;
+ /** RegularExpression Id. */
+ int WINDOWS_EOL = 2;
+ /** RegularExpression Id. */
+ int UNIX_EOL = 3;
+ /** RegularExpression Id. */
+ int OLD_MAC_EOL = 4;
+ /** RegularExpression Id. */
+ int SINGLE_LINE_COMMENT = 5;
+ /** RegularExpression Id. */
+ int ENTER_JAVADOC_COMMENT = 6;
+ /** RegularExpression Id. */
+ int ENTER_MULTILINE_COMMENT = 7;
+ /** RegularExpression Id. */
+ int JAVADOC_COMMENT = 8;
+ /** RegularExpression Id. */
+ int MULTI_LINE_COMMENT = 9;
+ /** RegularExpression Id. */
+ int COMMENT_CONTENT = 10;
+ /** RegularExpression Id. */
+ int ABSTRACT = 11;
+ /** RegularExpression Id. */
+ int ASSERT = 12;
+ /** RegularExpression Id. */
+ int BOOLEAN = 13;
+ /** RegularExpression Id. */
+ int BREAK = 14;
+ /** RegularExpression Id. */
+ int BYTE = 15;
+ /** RegularExpression Id. */
+ int CASE = 16;
+ /** RegularExpression Id. */
+ int CATCH = 17;
+ /** RegularExpression Id. */
+ int CHAR = 18;
+ /** RegularExpression Id. */
+ int CLASS = 19;
+ /** RegularExpression Id. */
+ int CONST = 20;
+ /** RegularExpression Id. */
+ int CONTINUE = 21;
+ /** RegularExpression Id. */
+ int _DEFAULT = 22;
+ /** RegularExpression Id. */
+ int DO = 23;
+ /** RegularExpression Id. */
+ int DOUBLE = 24;
+ /** RegularExpression Id. */
+ int ELSE = 25;
+ /** RegularExpression Id. */
+ int ENUM = 26;
+ /** RegularExpression Id. */
+ int EXTENDS = 27;
+ /** RegularExpression Id. */
+ int FALSE = 28;
+ /** RegularExpression Id. */
+ int FINAL = 29;
+ /** RegularExpression Id. */
+ int FINALLY = 30;
+ /** RegularExpression Id. */
+ int FLOAT = 31;
+ /** RegularExpression Id. */
+ int FOR = 32;
+ /** RegularExpression Id. */
+ int GOTO = 33;
+ /** RegularExpression Id. */
+ int IF = 34;
+ /** RegularExpression Id. */
+ int IMPLEMENTS = 35;
+ /** RegularExpression Id. */
+ int IMPORT = 36;
+ /** RegularExpression Id. */
+ int INSTANCEOF = 37;
+ /** RegularExpression Id. */
+ int INT = 38;
+ /** RegularExpression Id. */
+ int INTERFACE = 39;
+ /** RegularExpression Id. */
+ int LONG = 40;
+ /** RegularExpression Id. */
+ int NATIVE = 41;
+ /** RegularExpression Id. */
+ int NEW = 42;
+ /** RegularExpression Id. */
+ int NULL = 43;
+ /** RegularExpression Id. */
+ int PACKAGE = 44;
+ /** RegularExpression Id. */
+ int PRIVATE = 45;
+ /** RegularExpression Id. */
+ int PROTECTED = 46;
+ /** RegularExpression Id. */
+ int PUBLIC = 47;
+ /** RegularExpression Id. */
+ int RETURN = 48;
+ /** RegularExpression Id. */
+ int SHORT = 49;
+ /** RegularExpression Id. */
+ int STATIC = 50;
+ /** RegularExpression Id. */
+ int STRICTFP = 51;
+ /** RegularExpression Id. */
+ int SUPER = 52;
+ /** RegularExpression Id. */
+ int SWITCH = 53;
+ /** RegularExpression Id. */
+ int SYNCHRONIZED = 54;
+ /** RegularExpression Id. */
+ int THIS = 55;
+ /** RegularExpression Id. */
+ int THROW = 56;
+ /** RegularExpression Id. */
+ int THROWS = 57;
+ /** RegularExpression Id. */
+ int TRANSIENT = 58;
+ /** RegularExpression Id. */
+ int TRUE = 59;
+ /** RegularExpression Id. */
+ int TRY = 60;
+ /** RegularExpression Id. */
+ int VOID = 61;
+ /** RegularExpression Id. */
+ int VOLATILE = 62;
+ /** RegularExpression Id. */
+ int WHILE = 63;
+ /** RegularExpression Id. */
+ int REQUIRES = 64;
+ /** RegularExpression Id. */
+ int TO = 65;
+ /** RegularExpression Id. */
+ int WITH = 66;
+ /** RegularExpression Id. */
+ int OPEN = 67;
+ /** RegularExpression Id. */
+ int OPENS = 68;
+ /** RegularExpression Id. */
+ int USES = 69;
+ /** RegularExpression Id. */
+ int MODULE = 70;
+ /** RegularExpression Id. */
+ int EXPORTS = 71;
+ /** RegularExpression Id. */
+ int PROVIDES = 72;
+ /** RegularExpression Id. */
+ int TRANSITIVE = 73;
+ /** RegularExpression Id. */
+ int LONG_LITERAL = 74;
+ /** RegularExpression Id. */
+ int INTEGER_LITERAL = 75;
+ /** RegularExpression Id. */
+ int DECIMAL_LITERAL = 76;
+ /** RegularExpression Id. */
+ int HEX_LITERAL = 77;
+ /** RegularExpression Id. */
+ int OCTAL_LITERAL = 78;
+ /** RegularExpression Id. */
+ int BINARY_LITERAL = 79;
+ /** RegularExpression Id. */
+ int FLOATING_POINT_LITERAL = 80;
+ /** RegularExpression Id. */
+ int DECIMAL_FLOATING_POINT_LITERAL = 81;
+ /** RegularExpression Id. */
+ int DECIMAL_EXPONENT = 82;
+ /** RegularExpression Id. */
+ int HEXADECIMAL_FLOATING_POINT_LITERAL = 83;
+ /** RegularExpression Id. */
+ int HEXADECIMAL_EXPONENT = 84;
+ /** RegularExpression Id. */
+ int HEX_DIGITS = 85;
+ /** RegularExpression Id. */
+ int UNICODE_ESCAPE = 86;
+ /** RegularExpression Id. */
+ int CHARACTER_LITERAL = 87;
+ /** RegularExpression Id. */
+ int STRING_LITERAL = 88;
+ /** RegularExpression Id. */
+ int IDENTIFIER = 89;
+ /** RegularExpression Id. */
+ int LETTER = 90;
+ /** RegularExpression Id. */
+ int PART_LETTER = 91;
+ /** RegularExpression Id. */
+ int LPAREN = 92;
+ /** RegularExpression Id. */
+ int RPAREN = 93;
+ /** RegularExpression Id. */
+ int LBRACE = 94;
+ /** RegularExpression Id. */
+ int RBRACE = 95;
+ /** RegularExpression Id. */
+ int LBRACKET = 96;
+ /** RegularExpression Id. */
+ int RBRACKET = 97;
+ /** RegularExpression Id. */
+ int SEMICOLON = 98;
+ /** RegularExpression Id. */
+ int COMMA = 99;
+ /** RegularExpression Id. */
+ int DOT = 100;
+ /** RegularExpression Id. */
+ int AT = 101;
+ /** RegularExpression Id. */
+ int ASSIGN = 102;
+ /** RegularExpression Id. */
+ int LT = 103;
+ /** RegularExpression Id. */
+ int BANG = 104;
+ /** RegularExpression Id. */
+ int TILDE = 105;
+ /** RegularExpression Id. */
+ int HOOK = 106;
+ /** RegularExpression Id. */
+ int COLON = 107;
+ /** RegularExpression Id. */
+ int EQ = 108;
+ /** RegularExpression Id. */
+ int LE = 109;
+ /** RegularExpression Id. */
+ int GE = 110;
+ /** RegularExpression Id. */
+ int NE = 111;
+ /** RegularExpression Id. */
+ int SC_OR = 112;
+ /** RegularExpression Id. */
+ int SC_AND = 113;
+ /** RegularExpression Id. */
+ int INCR = 114;
+ /** RegularExpression Id. */
+ int DECR = 115;
+ /** RegularExpression Id. */
+ int PLUS = 116;
+ /** RegularExpression Id. */
+ int MINUS = 117;
+ /** RegularExpression Id. */
+ int STAR = 118;
+ /** RegularExpression Id. */
+ int SLASH = 119;
+ /** RegularExpression Id. */
+ int BIT_AND = 120;
+ /** RegularExpression Id. */
+ int BIT_OR = 121;
+ /** RegularExpression Id. */
+ int XOR = 122;
+ /** RegularExpression Id. */
+ int REM = 123;
+ /** RegularExpression Id. */
+ int LSHIFT = 124;
+ /** RegularExpression Id. */
+ int PLUSASSIGN = 125;
+ /** RegularExpression Id. */
+ int MINUSASSIGN = 126;
+ /** RegularExpression Id. */
+ int STARASSIGN = 127;
+ /** RegularExpression Id. */
+ int SLASHASSIGN = 128;
+ /** RegularExpression Id. */
+ int ANDASSIGN = 129;
+ /** RegularExpression Id. */
+ int ORASSIGN = 130;
+ /** RegularExpression Id. */
+ int XORASSIGN = 131;
+ /** RegularExpression Id. */
+ int REMASSIGN = 132;
+ /** RegularExpression Id. */
+ int LSHIFTASSIGN = 133;
+ /** RegularExpression Id. */
+ int RSIGNEDSHIFTASSIGN = 134;
+ /** RegularExpression Id. */
+ int RUNSIGNEDSHIFTASSIGN = 135;
+ /** RegularExpression Id. */
+ int ELLIPSIS = 136;
+ /** RegularExpression Id. */
+ int ARROW = 137;
+ /** RegularExpression Id. */
+ int DOUBLECOLON = 138;
+ /** RegularExpression Id. */
+ int RUNSIGNEDSHIFT = 139;
+ /** RegularExpression Id. */
+ int RSIGNEDSHIFT = 140;
+ /** RegularExpression Id. */
+ int GT = 141;
+ /** RegularExpression Id. */
+ int CTRL_Z = 142;
+
+ /** Lexical state. */
+ int DEFAULT = 0;
+ /** Lexical state. */
+ int IN_JAVADOC_COMMENT = 1;
+ /** Lexical state. */
+ int IN_MULTI_LINE_COMMENT = 2;
+
+ /** Literal token values. */
+ String[] tokenImage = {
+ "