diff --git a/.travis.yml b/.travis.yml
index c92e5d6ec13..f91d74f5fd0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,22 +9,22 @@ matrix:
env:
## Jobs used when downloading JDK during testing.
## all-tests = junit + nonjunit + demos. Separately, test building the JDK.
- - BUILDJDK=downloadjdk JDKVER=jdk7 GROUP=all-tests
- - BUILDJDK=downloadjdk JDKVER=jdk7 GROUP=jdk.jar
- BUILDJDK=downloadjdk JDKVER=jdk8 GROUP=all-tests
- BUILDJDK=downloadjdk JDKVER=jdk8 GROUP=jdk.jar
- - BUILDJDK=downloadjdk JDKVER=jdk7 GROUP=downstream
- BUILDJDK=downloadjdk JDKVER=jdk8 GROUP=downstream
+#TODO - BUILDJDK=downloadjdk JDKVER=jdk9 GROUP=all-tests
+#TODO - BUILDJDK=downloadjdk JDKVER=jdk9 GROUP=jdk.jar
+#TODO - BUILDJDK=downloadjdk JDKVER=jdk9 GROUP=downstream
- BUILDJDK=downloadjdk JDKVER=jdkany GROUP=misc
## Jobs used when building JDK during testing.
-# - BUILDJDK=buildjdk JDKVER=jdk7 GROUP=junit
-# - BUILDJDK=buildjdk JDKVER=jdk7 GROUP=nonjunit
-# - BUILDJDK=buildjdk JDKVER=jdk7 GROUP=demos
# - BUILDJDK=buildjdk JDKVER=jdk8 GROUP=junit
# - BUILDJDK=buildjdk JDKVER=jdk8 GROUP=nonjunit
# - BUILDJDK=buildjdk JDKVER=jdk8 GROUP=demos
-# - BUILDJDK=buildjdk JDKVER=jdk7 GROUP=downstream
# - BUILDJDK=buildjdk JDKVER=jdk8 GROUP=downstream
+# - BUILDJDK=buildjdk JDKVER=jdk9 GROUP=junit
+# - BUILDJDK=buildjdk JDKVER=jdk9 GROUP=nonjunit
+# - BUILDJDK=buildjdk JDKVER=jdk9 GROUP=demos
+# - BUILDJDK=buildjdk JDKVER=jdk9 GROUP=downstream
# - BUILDJDK=buildjdk JDKVER=jdkany GROUP=misc
diff --git a/README-developers.txt b/README-developers.txt
index 2124fc06c04..ee1bf58126f 100644
--- a/README-developers.txt
+++ b/README-developers.txt
@@ -6,7 +6,6 @@ This repository contains several related projects:
framework the "framework" aspects of the Checker Framework
checker the type checkers provided with the Checker Framework
- stubparser a parser for Java source code that supports type annotations
javacutil utilities for javac
dataflow a dataflow framework
diff --git a/build-common.properties b/build-common.properties
index 400b2357b7d..2212d743203 100644
--- a/build-common.properties
+++ b/build-common.properties
@@ -39,9 +39,6 @@ annotation-file-utilities.lib=${annotation-file-utilities.loc}/annotation-file-u
# The location and libraries for all sub-projects
-stubparser.loc=${checkerframework}/stubparser
-stubparser.lib=${stubparser.loc}/dist/stubparser.jar
-
javacutil.loc=${checkerframework}/javacutil
javacutil.lib=${javacutil.loc}/dist/javacutil.jar
javacutil.sources.lib=${javacutil.loc}/dist/javacutil-source.jar
@@ -59,9 +56,12 @@ framework.lib=${framework.loc}/dist/framework.jar
junit.lib=${framework.loc}/tests/junit-4.12.jar
hamcrest.lib=${framework.loc}/tests/hamcrest-core-1.3.jar
+javaparser.core.lib=${framework.loc}/lib/javaparser-core.jar
checker.loc=${checkerframework}/checker
checker.lib=${checker.loc}/dist/checker.jar
+# Place to store compilation results to avoid overwriting them.
+checker.lib.tmp=${checker.loc}/dist/checker-tmp.jar
checker.qual.lib=${checker.loc}/dist/checker-qual.jar
checker.qual.sources.lib=${checker.loc}/dist/checker-qual-source.jar
checker.compat.qual.lib=${checker.loc}/dist/checker-compat-qual.jar
@@ -73,7 +73,6 @@ checker.javadoc.lib=${checker.loc}/dist/checker-javadoc.jar
checker.jdk8orhigher.sources=org/checkerframework/checker/nullness/Opt.java
-
# How to find the error-prone compiler
# TODO: currently you have to copy this .jar to ~/.ant/lib
# How can we set this from here?
diff --git a/build-styleguide.xml b/build-styleguide.xml
index b75ce463835..6eabf16d12a 100644
--- a/build-styleguide.xml
+++ b/build-styleguide.xml
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/build.xml b/build.xml
index cc9b29b612c..9f5655300b5 100644
--- a/build.xml
+++ b/build.xml
@@ -92,9 +92,6 @@
-
-
-
+ excludes="checker/jdk/,checker/tests/nullness-javac-errors/,framework/tests/whole-program-inference/annotated/"/>
@@ -175,9 +172,6 @@
-
-
-
@@ -191,8 +185,6 @@
-
-
diff --git a/changelog.txt b/changelog.txt
index e3da3a13b78..e0ed4541750 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,18 @@
---------------------------------------------------------------------------
+Version 2.2.0, ?? 2017
+
+A Java 8 JVM is required to run the Checker Framework.
+You can still typecheck and compile Java 7 (or earlier) code.
+
+The stub file format has changed to be more similar to regular Java syntax.
+Most notably, receiver annotations are written using standard Java 8 syntax
+(a special first formal paramter named "this") and inner classes are written
+using standard Java syntax (rather than at the top level using a name that
+contains "$". You need to update your stub files to conform to the new syntax.
+
+---------------------------------------------------------------------------
+
Version 2.1.14, 3 August 2017
Nullness Checker change to annotated JDK: The type argument to the Class,
diff --git a/checker/bin-devel/git.pre-commit b/checker/bin-devel/git.pre-commit
index 13c9baecf78..1243d73a30a 100755
--- a/checker/bin-devel/git.pre-commit
+++ b/checker/bin-devel/git.pre-commit
@@ -12,7 +12,7 @@ set -e
# Need to keep checked files in sync with formatted.java.files in
# build.xml. Otherwise `ant reformat` might not reformat a file that this
# hook complains about.
-CHANGED_JAVA_FILES=`git diff --staged --name-only --diff-filter=ACM | grep '\.java$' | grep -v '/jdk/' | grep -v '/stubparser/' | grep -v '/eclipse/' ` || true
+CHANGED_JAVA_FILES=`git diff --staged --name-only --diff-filter=ACM | grep '\.java$' | grep -v '/jdk/' | grep -v '/eclipse/' ` || true
# echo CHANGED_JAVA_FILES "'"${CHANGED_JAVA_FILES}"'"
if [ ! -z "$CHANGED_JAVA_FILES" ]; then
ant -silent update-run-google-java-format
diff --git a/checker/bin-devel/javac b/checker/bin-devel/javac
index fd5c6105acc..ae73b2b3c1c 100755
--- a/checker/bin-devel/javac
+++ b/checker/bin-devel/javac
@@ -35,7 +35,7 @@ annoToolsDir="${cfDir}"/../annotation-tools
# Put afu jar files last, as they might contain out-of-date CF files.
# Put "checker" after the other sub-projects, as "ant bindist" puts
# other projects into the checker/build directory.
-buildDirs="${cfDir}"/dataflow/build:"${cfDir}"/javacutil/build:"${cfDir}"/stubparser/build:"${cfDir}"/framework/build:"${cfDir}"/checker/build:"${annoToolsDir}"/scene-lib/bin:"${annoToolsDir}"/annotation-file-utilities/annotation-file-utilities.jar
+buildDirs="${cfDir}"/dataflow/build:"${cfDir}"/javacutil/build:"${cfDir}"/framework/build:"${cfDir}"/checker/build:"${cfDir}"/checker/lib/javaparser-core.jar:"${annoToolsDir}"/scene-lib/bin:"${annoToolsDir}"/annotation-file-utilities/annotation-file-utilities.jar
## Preserve quoting and spaces in arguments, which would otherwise be lost
## due to being passed through the shell twice.
diff --git a/checker/bin-devel/javac-debug b/checker/bin-devel/javac-debug
index 82d08da67d5..7540a7d4a84 100755
--- a/checker/bin-devel/javac-debug
+++ b/checker/bin-devel/javac-debug
@@ -38,7 +38,7 @@ annoToolsDir="${cfDir}"/../annotation-tools
# Put afu jar files last, as they might contain out-of-date CF files.
# Put "checker" after the other sub-projects, as "ant bindist" puts
# other projects into the checker/build directory.
-buildDirs="${cfDir}"/dataflow/build:"${cfDir}"/javacutil/build:"${cfDir}"/stubparser/build:"${cfDir}"/framework/build:"${cfDir}"/checker/build:"${annoToolsDir}"/scene-lib/bin:"${annoToolsDir}"/annotation-file-utilities/annotation-file-utilities.jar
+buildDirs="${cfDir}"/dataflow/build:"${cfDir}"/javacutil/build:"${cfDir}"/framework/build:"${cfDir}"/checker/build:"${annoToolsDir}"/scene-lib/bin:"${annoToolsDir}"/annotation-file-utilities/annotation-file-utilities.jar
## Preserve quoting and spaces in arguments, which would otherwise be lost
## due to being passed through the shell twice.
diff --git a/checker/build.xml b/checker/build.xml
index 71fbe135c2f..850123a461a 100644
--- a/checker/build.xml
+++ b/checker/build.xml
@@ -207,11 +207,6 @@
-
@@ -225,7 +220,7 @@
@@ -292,7 +287,7 @@
-
-
@@ -354,7 +348,6 @@
-
@@ -366,22 +359,22 @@
+
+
-
-
-
+
-
-
-
+
+
+
@@ -1274,13 +1267,6 @@ So, use our own archived version.
-
-
-
-
-
-
-
-
@@ -244,7 +226,7 @@
-
+
@@ -274,7 +256,7 @@
@@ -314,6 +296,7 @@
+
diff --git a/framework/lib/javaparser-core.jar b/framework/lib/javaparser-core.jar
new file mode 100644
index 00000000000..e36eae341d6
Binary files /dev/null and b/framework/lib/javaparser-core.jar differ
diff --git a/framework/src/org/checkerframework/common/aliasing/android.astub b/framework/src/org/checkerframework/common/aliasing/android.astub
index c9385719137..a2e74390589 100644
--- a/framework/src/org/checkerframework/common/aliasing/android.astub
+++ b/framework/src/org/checkerframework/common/aliasing/android.astub
@@ -13,41 +13,41 @@ class Intent implements Parcelable, Cloneable {
@Unique Intent(Context arg0, Class> arg1);
@Unique Intent(String arg0, Uri arg1, Context arg2, Class> arg3);
- Intent addCategory(String category) @LeakedToResult;
- Intent addFlags(int flags) @LeakedToResult;
- Intent setType(String type) @LeakedToResult;
- Intent setData(Uri data) @LeakedToResult;
- Intent setComponent(ComponentName cName) @LeakedToResult;
- Intent setClass(Context arg0, Class> arg1) @LeakedToResult;
- Intent setAction(String action) @LeakedToResult;
- Intent putExtra(String arg0, boolean arg1) @LeakedToResult;
- Intent putExtra(String arg0, byte arg1) @LeakedToResult;
- Intent putExtra(String arg0, char arg1) @LeakedToResult;
- Intent putExtra(String arg0, short arg1) @LeakedToResult;
- Intent putExtra(String arg0, int arg1) @LeakedToResult;
- Intent putExtra(String arg0, long arg1) @LeakedToResult;
- Intent putExtra(String arg0, float arg1) @LeakedToResult;
- Intent putExtra(String arg0, double arg1) @LeakedToResult;
- Intent putExtra(String arg0, String arg1) @LeakedToResult;
- Intent putExtra(String arg0, CharSequence arg1) @LeakedToResult;
- Intent putExtra(String arg0, Parcelable arg1) @LeakedToResult;
- Intent putExtra(String arg0, Parcelable[] arg1) @LeakedToResult;
- Intent putParcelableArrayListExtra(String arg0, ArrayList extends Parcelable> arg1) @LeakedToResult;
- Intent putIntegerArrayListExtra(String arg0, ArrayList< Integer> arg1) @LeakedToResult;
- Intent putStringArrayListExtra(String arg0, ArrayList< String> arg1) @LeakedToResult;
- Intent putCharSequenceArrayListExtra(String arg0, ArrayList< CharSequence> arg1) @LeakedToResult;
- Intent putExtra(String arg0, Serializable arg1) @LeakedToResult;
- Intent putExtra(String arg0, boolean [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, byte [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, short [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, char [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, int [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, long [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, float [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, double [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, String [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, CharSequence [] arg1) @LeakedToResult;
- Intent putExtra(String arg0, Bundle arg1) @LeakedToResult;
+ Intent addCategory(@LeakedToResult Intent this, String category);
+ Intent addFlags(@LeakedToResult Intent this, int flags);
+ Intent setType(@LeakedToResult Intent this, String type);
+ Intent setData(@LeakedToResult Intent this, Uri data);
+ Intent setComponent(@LeakedToResult Intent this, ComponentName cName);
+ Intent setClass(@LeakedToResult Intent this, Context arg0, Class> arg1);
+ Intent setAction(@LeakedToResult Intent this, String action);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, boolean arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, byte arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, char arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, short arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, int arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, long arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, float arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, double arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, String arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, CharSequence arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, Parcelable arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, Parcelable[] arg1);
+ Intent putParcelableArrayListExtra(@LeakedToResult Intent this, String arg0, ArrayList extends Parcelable> arg1);
+ Intent putIntegerArrayListExtra(@LeakedToResult Intent this, String arg0, ArrayList< Integer> arg1);
+ Intent putStringArrayListExtra(@LeakedToResult Intent this, String arg0, ArrayList< String> arg1);
+ Intent putCharSequenceArrayListExtra(@LeakedToResult Intent this, String arg0, ArrayList< CharSequence> arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, Serializable arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, boolean [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, byte [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, short [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, char [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, int [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, long [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, float [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, double [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, String [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, CharSequence [] arg1);
+ Intent putExtra(@LeakedToResult Intent this, String arg0, Bundle arg1);
}
@@ -135,37 +135,37 @@ package android.os;
class Bundle {
@Unique Bundle();
- void putAll(Bundle arg0) @NonLeaked ;
- void putBoolean(String arg0, boolean arg1) @NonLeaked;
- void putByte(String arg0, byte arg1) @NonLeaked;
- void putChar(String arg0, char arg1) @NonLeaked;
- void putShort(String arg0, short arg1) @NonLeaked;
- void putInt(String arg0, int arg1) @NonLeaked;
- void putLong(String arg0, long arg1) @NonLeaked;
- void putFloat(String arg0, float arg1) @NonLeaked;
- void putDouble(String arg0, double arg1) @NonLeaked;
- void putString(String arg0, String arg1) @NonLeaked;
- void putCharSequence(String arg0, CharSequence arg1) @NonLeaked;
- void putParcelable(String arg0, Parcelable arg1) @NonLeaked;
- void putParcelableArray(String arg0, Parcelable[] arg1) @NonLeaked;
- void putParcelableArrayList(String arg0, ArrayList extends Parcelable> arg1) @NonLeaked;
- void putSparseParcelableArray(String arg0, SparseArray extends Parcelable> arg1) @NonLeaked;
- void putIntegerArrayList(String arg0, ArrayList arg1) @NonLeaked;
- void putStringArrayList(String arg0, ArrayList arg1) @NonLeaked;
- void putCharSequenceArrayList(String arg0, ArrayList arg1) @NonLeaked;
- void putSerializable(String arg0, Serializable arg1) @NonLeaked;
- void putBooleanArray(String arg0, boolean[] arg1) @NonLeaked;
- void putByteArray(String arg0, byte[] arg1) @NonLeaked;
- void putShortArray(String arg0, short[] arg1) @NonLeaked;
- void putCharArray(String arg0, char[] arg1) @NonLeaked;
- void putIntArray(String arg0, int[] arg1) @NonLeaked;
- void putLongArray(String arg0, long[] arg1) @NonLeaked;
- void putFloatArray(String arg0, float[] arg1) @NonLeaked;
- void putDoubleArray(String arg0, double[] arg1) @NonLeaked;
- void putStringArray(String arg0, String[] arg1) @NonLeaked;
- void putCharSequenceArray(String arg0, CharSequence[] arg1) @NonLeaked;
- void putBundle(String arg0, Bundle arg1) @NonLeaked;
- void putBinder(String arg0, IBinder arg1) @NonLeaked;
+ void putAll(@NonLeaked Bundle this, Bundle arg0) ;
+ void putBoolean(@NonLeaked Bundle this, String arg0, boolean arg1);
+ void putByte(@NonLeaked Bundle this, String arg0, byte arg1);
+ void putChar(@NonLeaked Bundle this, String arg0, char arg1);
+ void putShort(@NonLeaked Bundle this, String arg0, short arg1);
+ void putInt(@NonLeaked Bundle this, String arg0, int arg1);
+ void putLong(@NonLeaked Bundle this, String arg0, long arg1);
+ void putFloat(@NonLeaked Bundle this, String arg0, float arg1);
+ void putDouble(@NonLeaked Bundle this, String arg0, double arg1);
+ void putString(@NonLeaked Bundle this, String arg0, String arg1);
+ void putCharSequence(@NonLeaked Bundle this, String arg0, CharSequence arg1);
+ void putParcelable(@NonLeaked Bundle this, String arg0, Parcelable arg1);
+ void putParcelableArray(@NonLeaked Bundle this, String arg0, Parcelable[] arg1);
+ void putParcelableArrayList(@NonLeaked Bundle this, String arg0, ArrayList extends Parcelable> arg1);
+ void putSparseParcelableArray(@NonLeaked Bundle this, String arg0, SparseArray extends Parcelable> arg1);
+ void putIntegerArrayList(@NonLeaked Bundle this, String arg0, ArrayList arg1);
+ void putStringArrayList(@NonLeaked Bundle this, String arg0, ArrayList arg1);
+ void putCharSequenceArrayList(@NonLeaked Bundle this, String arg0, ArrayList arg1);
+ void putSerializable(@NonLeaked Bundle this, String arg0, Serializable arg1);
+ void putBooleanArray(@NonLeaked Bundle this, String arg0, boolean[] arg1);
+ void putByteArray(@NonLeaked Bundle this, String arg0, byte[] arg1);
+ void putShortArray(@NonLeaked Bundle this, String arg0, short[] arg1);
+ void putCharArray(@NonLeaked Bundle this, String arg0, char[] arg1);
+ void putIntArray(@NonLeaked Bundle this, String arg0, int[] arg1);
+ void putLongArray(@NonLeaked Bundle this, String arg0, long[] arg1);
+ void putFloatArray(@NonLeaked Bundle this, String arg0, float[] arg1);
+ void putDoubleArray(@NonLeaked Bundle this, String arg0, double[] arg1);
+ void putStringArray(@NonLeaked Bundle this, String arg0, String[] arg1);
+ void putCharSequenceArray(@NonLeaked Bundle this, String arg0, CharSequence[] arg1);
+ void putBundle(@NonLeaked Bundle this, String arg0, Bundle arg1);
+ void putBinder(@NonLeaked Bundle this, String arg0, IBinder arg1);
/**
boolean getBoolean(String arg0);
boolean getBoolean(String arg0, boolean arg1);
diff --git a/framework/src/org/checkerframework/common/basetype/flow.astub b/framework/src/org/checkerframework/common/basetype/flow.astub
index 3f00c300587..e025ee899e7 100644
--- a/framework/src/org/checkerframework/common/basetype/flow.astub
+++ b/framework/src/org/checkerframework/common/basetype/flow.astub
@@ -98,24 +98,25 @@ public final class Character {
@Pure public static int compare(char x, char y);
@Pure public static char reverseBytes(char ch);
@Pure public static String getName(int codePoint);
-}
-public static class Character$Subset {
- @Pure protected Subset(String name);
- @Pure public final boolean equals(Object obj);
- @Pure public final int hashCode();
- @SideEffectFree public final String toString();
-}
-public static final class Character$UnicodeBlock {
- @Pure public static UnicodeBlock of(char c);
- @Pure public static UnicodeBlock of(int codePoint);
- @Pure public static final UnicodeBlock forName(String blockName);
+ public static class Subset {
+ @Pure protected Subset(String name);
+ @Pure public final boolean equals(Object obj);
+ @Pure public final int hashCode();
+ @SideEffectFree public final String toString();
+ }
+ public static final class UnicodeBlock {
+ @Pure public static UnicodeBlock of(char c);
+ @Pure public static UnicodeBlock of(int codePoint);
+ @Pure public static final UnicodeBlock forName(String blockName);
+ }
+ public static enum UnicodeScript {
+ // At least one enum constant should be declared in a stub file.
+ COMMON;
+ @Pure public static UnicodeScript of(int codePoint);
+ @Pure public static final UnicodeScript forName(String scriptName);
+ }
}
-// Stub file parser bug? Can it handle enums?
-// public static enum Character$UnicodeScript {
-// @Pure public static UnicodeScript of(int codePoint);
-// @Pure public static final UnicodeScript forName(String scriptName);
-// }
public class Object {
@Pure public Object();
diff --git a/framework/src/org/checkerframework/common/value/statically-executable.astub b/framework/src/org/checkerframework/common/value/statically-executable.astub
index 275cfb67950..56dec4e967c 100644
--- a/framework/src/org/checkerframework/common/value/statically-executable.astub
+++ b/framework/src/org/checkerframework/common/value/statically-executable.astub
@@ -18,15 +18,15 @@ class Byte{
@StaticallyExecutable Byte(byte value);
@StaticallyExecutable Byte(String s);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Byte this);
@StaticallyExecutable static Byte decode(String nm);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Byte this);
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Byte this);
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Byte this);
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Byte this);
@StaticallyExecutable static byte parseByte(String s);
@StaticallyExecutable static byte parseByte(String s, int radix);
- @StaticallyExecutable @PolyValue short shortValue() @PolyValue;
+ @StaticallyExecutable @PolyValue short shortValue(@PolyValue Byte this);
@StaticallyExecutable @ArrayLen({1,2,3,4}) String toString();
@StaticallyExecutable static @ArrayLen({1,2,3,4}) String toString(byte b);
@StaticallyExecutable static @PolyValue Byte valueOf(@PolyValue byte b);
@@ -117,21 +117,21 @@ class Double{
@StaticallyExecutable Double(double value);
@StaticallyExecutable Double(String s);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Double this);
@StaticallyExecutable static int compare(double d1, double d2);
@StaticallyExecutable static long doubleToLongBits(double value);
@StaticallyExecutable static long doubleToRawLongBits(double value);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Double this);
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Double this);
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Double this);
@StaticallyExecutable boolean isInfinite();
@StaticallyExecutable static boolean isInfinite(double v);
@StaticallyExecutable boolean isNaN();
@StaticallyExecutable static boolean isNaN(double v);
@StaticallyExecutable static double longBitsToDouble(long bits);
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Double this);
@StaticallyExecutable static double parseDouble(String s);
- @StaticallyExecutable @PolyValue short shortValue() @PolyValue;
+ @StaticallyExecutable @PolyValue short shortValue(@PolyValue Double this);
@StaticallyExecutable static String toHexString(double d);
@StaticallyExecutable String toString();
@StaticallyExecutable static String toString(double d);
@@ -143,21 +143,21 @@ class Float{
@StaticallyExecutable Float(float value);
@StaticallyExecutable Float(String s);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Float this);
@StaticallyExecutable static int compare(float f1, float f2);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Float this);
@StaticallyExecutable static int floatToIntBits(float value);
@StaticallyExecutable static int floatToRawIntBits(float value);
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Float this);
@StaticallyExecutable static float intBitsToFloat(int bits);
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Float this);
@StaticallyExecutable boolean isInfinite();
@StaticallyExecutable static boolean isInfinite(float v);
@StaticallyExecutable boolean isNaN();
@StaticallyExecutable static boolean isNaN(float v);
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Float this);
@StaticallyExecutable static float parseFloat(String s);
- @StaticallyExecutable @PolyValue short shortValue() @PolyValue;
+ @StaticallyExecutable @PolyValue short shortValue(@PolyValue Float this);
@StaticallyExecutable static String toHexString(float f);
@StaticallyExecutable String toString();
@StaticallyExecutable static String toString(float f);
@@ -170,16 +170,16 @@ class Integer{
@StaticallyExecutable Integer(String s);
@StaticallyExecutable static int bitCount(int i);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Integer this);
@StaticallyExecutable static Integer decode(String nm);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Integer this);
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Integer this);
@StaticallyExecutable static Integer getInteger(String nm);
@StaticallyExecutable static Integer getInteger(String nm, int val);
@StaticallyExecutable static Integer getInteger(String nm, Integer val);
@StaticallyExecutable static int highestOneBit(int i);
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Integer this);
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Integer this);
@StaticallyExecutable static int lowestOneBit(int i);
@StaticallyExecutable static int numberOfLeadingZeros(int i);
@StaticallyExecutable static int numberOfTrailingZeros(int i);
@@ -207,16 +207,16 @@ class Long{
@StaticallyExecutable Long(String s);
@StaticallyExecutable static int bitCount(long i);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Long this);
@StaticallyExecutable static Long decode(String nm);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Long this);
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Long this);
@StaticallyExecutable static Long getLong(String nm);
@StaticallyExecutable static Long getLong(String nm, long val);
@StaticallyExecutable static Long getLong(String nm, Long val);
@StaticallyExecutable static long highestOneBit(long i);
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Long this);
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Long this);
@StaticallyExecutable static long lowestOneBit(long i);
@StaticallyExecutable static int numberOfLeadingZeros(long i);
@StaticallyExecutable static int numberOfTrailingZeros(long i);
@@ -226,7 +226,7 @@ class Long{
@StaticallyExecutable static long reverseBytes(long i);
@StaticallyExecutable static long rotateLeft(long i, int distance);
@StaticallyExecutable static long rotateRight(long i, int distance);
- @StaticallyExecutable @PolyValue short shortValue() @PolyValue;
+ @StaticallyExecutable @PolyValue short shortValue(@PolyValue Long this);
@StaticallyExecutable static int signum(long i);
@StaticallyExecutable static @ArrayLenRange(from = 1, to = 64) String toBinaryString(long i);
@StaticallyExecutable static @ArrayLenRange(from = 1, to = 16) String toHexString(long i);
@@ -243,16 +243,16 @@ class Short{
@StaticallyExecutable Short(short value);
@StaticallyExecutable Short(String s);
- @StaticallyExecutable @PolyValue byte byteValue() @PolyValue;
+ @StaticallyExecutable @PolyValue byte byteValue(@PolyValue Short this);
@StaticallyExecutable static Short decode(String nm);
- @StaticallyExecutable @PolyValue double doubleValue() @PolyValue;
- @StaticallyExecutable @PolyValue float floatValue() @PolyValue;
- @StaticallyExecutable @PolyValue int intValue() @PolyValue;
- @StaticallyExecutable @PolyValue long longValue() @PolyValue;
+ @StaticallyExecutable @PolyValue double doubleValue(@PolyValue Short this);
+ @StaticallyExecutable @PolyValue float floatValue(@PolyValue Short this);
+ @StaticallyExecutable @PolyValue int intValue(@PolyValue Short this);
+ @StaticallyExecutable @PolyValue long longValue(@PolyValue Short this);
@StaticallyExecutable static short parseShort(String s);
@StaticallyExecutable static short parseShort(String s, int radix);
@StaticallyExecutable static short reverseBytes(short i);
- @StaticallyExecutable @PolyValue short shortValue() @PolyValue;
+ @StaticallyExecutable @PolyValue short shortValue(@PolyValue Short this);
@StaticallyExecutable @ArrayLen({1, 2, 3, 4, 5, 6}) String toString();
@StaticallyExecutable static @ArrayLen({1, 2, 3, 4, 5, 6}) String toString(short s);
@StaticallyExecutable static @PolyValue Short valueOf(@PolyValue short s);
diff --git a/framework/src/org/checkerframework/framework/stub/StubParser.java b/framework/src/org/checkerframework/framework/stub/StubParser.java
index 26d7927b255..347498c0187 100644
--- a/framework/src/org/checkerframework/framework/stub/StubParser.java
+++ b/framework/src/org/checkerframework/framework/stub/StubParser.java
@@ -4,6 +4,31 @@
import org.checkerframework.checker.nullness.qual.*;
*/
+import com.github.javaparser.JavaParser;
+import com.github.javaparser.ParseProblemException;
+import com.github.javaparser.ast.*;
+import com.github.javaparser.ast.body.BodyDeclaration;
+import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
+import com.github.javaparser.ast.body.ConstructorDeclaration;
+import com.github.javaparser.ast.body.EnumDeclaration;
+import com.github.javaparser.ast.body.FieldDeclaration;
+import com.github.javaparser.ast.body.MethodDeclaration;
+import com.github.javaparser.ast.body.Parameter;
+import com.github.javaparser.ast.body.TypeDeclaration;
+import com.github.javaparser.ast.body.VariableDeclarator;
+import com.github.javaparser.ast.expr.AnnotationExpr;
+import com.github.javaparser.ast.expr.ArrayInitializerExpr;
+import com.github.javaparser.ast.expr.BooleanLiteralExpr;
+import com.github.javaparser.ast.expr.Expression;
+import com.github.javaparser.ast.expr.FieldAccessExpr;
+import com.github.javaparser.ast.expr.IntegerLiteralExpr;
+import com.github.javaparser.ast.expr.MarkerAnnotationExpr;
+import com.github.javaparser.ast.expr.MemberValuePair;
+import com.github.javaparser.ast.expr.NameExpr;
+import com.github.javaparser.ast.expr.NormalAnnotationExpr;
+import com.github.javaparser.ast.expr.SingleMemberAnnotationExpr;
+import com.github.javaparser.ast.expr.StringLiteralExpr;
+import com.github.javaparser.ast.type.*;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
@@ -39,36 +64,6 @@
import org.checkerframework.javacutil.ErrorReporter;
import org.checkerframework.javacutil.Pair;
import org.checkerframework.javacutil.TypesUtils;
-import org.checkerframework.stubparser.JavaParser;
-import org.checkerframework.stubparser.ast.CompilationUnit;
-import org.checkerframework.stubparser.ast.ImportDeclaration;
-import org.checkerframework.stubparser.ast.IndexUnit;
-import org.checkerframework.stubparser.ast.PackageDeclaration;
-import org.checkerframework.stubparser.ast.TypeParameter;
-import org.checkerframework.stubparser.ast.body.BodyDeclaration;
-import org.checkerframework.stubparser.ast.body.ClassOrInterfaceDeclaration;
-import org.checkerframework.stubparser.ast.body.ConstructorDeclaration;
-import org.checkerframework.stubparser.ast.body.FieldDeclaration;
-import org.checkerframework.stubparser.ast.body.MethodDeclaration;
-import org.checkerframework.stubparser.ast.body.Parameter;
-import org.checkerframework.stubparser.ast.body.TypeDeclaration;
-import org.checkerframework.stubparser.ast.body.VariableDeclarator;
-import org.checkerframework.stubparser.ast.expr.AnnotationExpr;
-import org.checkerframework.stubparser.ast.expr.ArrayInitializerExpr;
-import org.checkerframework.stubparser.ast.expr.BooleanLiteralExpr;
-import org.checkerframework.stubparser.ast.expr.Expression;
-import org.checkerframework.stubparser.ast.expr.FieldAccessExpr;
-import org.checkerframework.stubparser.ast.expr.IntegerLiteralExpr;
-import org.checkerframework.stubparser.ast.expr.MarkerAnnotationExpr;
-import org.checkerframework.stubparser.ast.expr.MemberValuePair;
-import org.checkerframework.stubparser.ast.expr.NameExpr;
-import org.checkerframework.stubparser.ast.expr.NormalAnnotationExpr;
-import org.checkerframework.stubparser.ast.expr.SingleMemberAnnotationExpr;
-import org.checkerframework.stubparser.ast.expr.StringLiteralExpr;
-import org.checkerframework.stubparser.ast.type.ClassOrInterfaceType;
-import org.checkerframework.stubparser.ast.type.ReferenceType;
-import org.checkerframework.stubparser.ast.type.Type;
-import org.checkerframework.stubparser.ast.type.WildcardType;
/** Main entry point is: {@link StubParser#parse(Map, Map)} */
// Full entry point signature:
@@ -88,10 +83,14 @@ public class StubParser {
private final boolean debugStubParser;
+ // TODO: filename is the simple "jdk.astub" and "flow.astub" for those pre-defined files,
+ // without complete path, but the full path in other situations.
+ // All invocations should provide the short path or the full path.
+ // For testing it is easier if only the file name is used.
/** The file being parsed (makes error messages more informative). */
private final String filename;
- private final IndexUnit index;
+ private final StubUnit stubUnit;
private final ProcessingEnvironment processingEnv;
private final AnnotatedTypeFactory atypeFactory;
private final Elements elements;
@@ -150,17 +149,25 @@ public StubParser(
this.debugStubParser = options.containsKey("stubDebug");
if (debugStubParser) {
- stubDebug(String.format("parsing stub file %s%n", filename));
+ stubDebug(String.format("parsing stub file %s", filename));
}
- IndexUnit parsedindex;
+ StubUnit parsedStubUnit;
try {
- parsedindex = JavaParser.parse(inputStream);
+ parsedStubUnit = JavaParser.parseStubUnit(inputStream);
+ } catch (ParseProblemException e) {
+ ErrorReporter.errorAbort(
+ "StubParser: exception from StubParser.parse for file "
+ + filename
+ + "\n"
+ + "Problem message with problems encountered: "
+ + e.getMessage());
+ parsedStubUnit = null; // dead code, but needed for definite assignment checks
} catch (Exception e) {
ErrorReporter.errorAbort(
- "StubParser: exception from JavaParser.parse for file " + filename, e);
- parsedindex = null; // dead code, but needed for def. assignment checks
+ "StubParser: exception from StubParser.parse for file " + filename, e);
+ parsedStubUnit = null; // dead code, but needed for definite assignment checks
}
- this.index = parsedindex;
+ this.stubUnit = parsedStubUnit;
// getSupportedAnnotations also sets imports. This should be refactored to be nicer.
supportedAnnotations = getSupportedAnnotations();
@@ -228,8 +235,8 @@ private static List getImportableMembers(TypeElement typeElement) {
/** @see #supportedAnnotations */
private Map getSupportedAnnotations() {
- assert !index.getCompilationUnits().isEmpty();
- CompilationUnit cu = index.getCompilationUnits().get(0);
+ assert !stubUnit.getCompilationUnits().isEmpty();
+ CompilationUnit cu = stubUnit.getCompilationUnits().get(0);
Map result = new HashMap();
@@ -315,11 +322,11 @@ private Map getSupportedAnnotations() {
public void parse(
Map atypes,
Map> declAnnos) {
- parse(this.index, atypes, declAnnos);
+ parse(this.stubUnit, atypes, declAnnos);
}
private void parse(
- IndexUnit index,
+ StubUnit index,
Map atypes,
Map> declAnnos) {
for (CompilationUnit cu : index.getCompilationUnits()) {
@@ -337,17 +344,17 @@ private void parse(
final String packageName;
final List packageAnnos;
- if (cu.getPackage() == null) {
+ if (!cu.getPackageDeclaration().isPresent()) {
packageName = null;
packageAnnos = null;
} else {
- packageName = cu.getPackage().getName().toString();
- packageAnnos = cu.getPackage().getAnnotations();
- parsePackage(cu.getPackage(), atypes, declAnnos);
+ packageName = cu.getPackageDeclaration().get().getNameAsString();
+ packageAnnos = cu.getPackageDeclaration().get().getAnnotations();
+ parsePackage(cu.getPackageDeclaration().get(), atypes, declAnnos);
}
if (cu.getTypes() != null) {
- for (TypeDeclaration typeDecl : cu.getTypes()) {
- parse(typeDecl, packageName, packageAnnos, atypes, declAnnos);
+ for (TypeDeclaration> typeDeclaration : cu.getTypes()) {
+ parse(typeDeclaration, packageName, packageAnnos, atypes, declAnnos);
}
}
}
@@ -367,32 +374,28 @@ private void parsePackage(
// TODO: Handle atypes???
}
- // typeDecl's name may be a binary name such as "A$B".
- // That is a hack because the StubParser does not handle nested classes.
private void parse(
- TypeDeclaration typeDecl,
+ TypeDeclaration> typeDecl,
String packageName,
List packageAnnos,
Map atypes,
Map> declAnnos) {
// Fully-qualified name of the type being parsed
String typeName =
- (packageName == null ? "" : packageName + ".")
- + typeDecl.getName().replace('$', '.');
+ (packageName == null ? "" : packageName + ".") + typeDecl.getNameAsString();
TypeElement typeElt = elements.getTypeElement(typeName);
- // couldn't find type. not in class path
if (typeElt == null) {
boolean warn = true;
if (typeDecl.getAnnotations() != null) {
for (AnnotationExpr anno : typeDecl.getAnnotations()) {
- if (anno.getName().getName().contentEquals("NoStubParserWarning")) {
+ if (anno.getNameAsString().contentEquals("NoStubParserWarning")) {
warn = false;
}
}
}
if (packageAnnos != null) {
for (AnnotationExpr anno : packageAnnos) {
- if (anno.getName().getName().contentEquals("NoStubParserWarning")) {
+ if (anno.getNameAsString().contentEquals("NoStubParserWarning")) {
warn = false;
}
}
@@ -405,7 +408,8 @@ private void parse(
}
if (typeElt.getKind() == ElementKind.ENUM) {
- stubWarnIfNotFound("Skipping enum type: " + typeName);
+ typeParameters.addAll(
+ parseEnum((EnumDeclaration) typeDecl, typeElt, atypes, declAnnos));
} else if (typeElt.getKind() == ElementKind.ANNOTATION_TYPE) {
stubWarnIfNotFound("Skipping annotation type: " + typeName);
} else if (typeDecl instanceof ClassOrInterfaceDeclaration) {
@@ -413,20 +417,42 @@ private void parse(
parseType((ClassOrInterfaceDeclaration) typeDecl, typeElt, atypes, declAnnos));
} // else it's an EmptyTypeDeclaration. TODO: An EmptyTypeDeclaration can have annotations, right?
- Map elementsToDecl = getMembers(typeElt, typeDecl);
- for (Map.Entry entry : elementsToDecl.entrySet()) {
+ Map> elementsToDecl = getMembers(typeElt, typeDecl);
+ for (Map.Entry> entry : elementsToDecl.entrySet()) {
final Element elt = entry.getKey();
- final BodyDeclaration decl = entry.getValue();
- if (elt.getKind().isField()) {
- parseField((FieldDeclaration) decl, (VariableElement) elt, atypes, declAnnos);
- } else if (elt.getKind() == ElementKind.CONSTRUCTOR) {
- parseConstructor(
- (ConstructorDeclaration) decl, (ExecutableElement) elt, atypes, declAnnos);
- } else if (elt.getKind() == ElementKind.METHOD) {
- parseMethod((MethodDeclaration) decl, (ExecutableElement) elt, atypes, declAnnos);
- } else {
- /* do nothing */
- stubWarnIfNotFound("StubParser ignoring: " + elt);
+ final BodyDeclaration> decl = entry.getValue();
+ switch (elt.getKind()) {
+ case FIELD:
+ case ENUM_CONSTANT:
+ parseField((FieldDeclaration) decl, (VariableElement) elt, atypes, declAnnos);
+ break;
+ case CONSTRUCTOR:
+ parseConstructor(
+ (ConstructorDeclaration) decl,
+ (ExecutableElement) elt,
+ atypes,
+ declAnnos);
+ break;
+ case METHOD:
+ parseMethod(
+ (MethodDeclaration) decl, (ExecutableElement) elt, atypes, declAnnos);
+ break;
+ case CLASS:
+ case INTERFACE:
+ parse(
+ (ClassOrInterfaceDeclaration) decl,
+ typeName,
+ packageAnnos,
+ atypes,
+ declAnnos);
+ break;
+ case ENUM:
+ parse((EnumDeclaration) decl, typeName, packageAnnos, atypes, declAnnos);
+ break;
+ default:
+ /* do nothing */
+ stubWarnIfNotFound("StubParser ignoring: " + elt);
+ break;
}
}
typeParameters.clear();
@@ -450,66 +476,70 @@ private List parseType(
// throw new Error(String.format("parseType (%s, %s): inconsistent nullness for args and params%n args = %s%n params = %s%n", decl, elt, typeArguments, typeParameters));
// }
- if ((typeParameters == null) && (typeArguments.size() != 0)) {
- // TODO: Class EventListenerProxy in Java 6 does not have type parameters, but in Java 7 does.
- // To handle both with one specification, we currently ignore the problem.
- // Investigate what a cleaner solution is, e.g. having a separate Java 7 specification that overrides
- // the Java 6 specification.
- // System.out.printf("Dying. theCompilationUnit=%s%n", theCompilationUnit);
- if (debugStubParser) {
+ if (debugStubParser) {
+ int numParams = (typeParameters == null ? 0 : typeParameters.size());
+ int numArgs = (typeArguments == null ? 0 : typeArguments.size());
+ if (numParams != numArgs) {
stubDebug(
String.format(
- "parseType: mismatched sizes for params and args%n decl=%s%n typeParameters=%s%n elt=%s (%s)%n type=%s (%s)%n typeArguments (size %d)=%s%n theCompilationUnit=%s%nEnd of message for parseType: mismatched sizes for params and args%n",
- decl,
+ "parseType: mismatched sizes for typeParameters=%s (size %d) and typeArguments=%s (size %d); decl=%s; elt=%s (%s); type=%s (%s); theCompilationUnit=%s",
typeParameters,
- elt,
+ numParams,
+ typeArguments,
+ numArgs,
+ decl.toString().replace(LINE_SEPARATOR, " "),
+ elt.toString().replace(LINE_SEPARATOR, " "),
elt.getClass(),
type,
type.getClass(),
- typeArguments.size(),
- typeArguments,
theCompilationUnit));
}
- /*
- throw new Error(String.format("parseType: mismatched sizes for params and args%n decl=%s%n typeParameters=%s%n elt=%s (%s)%n type=%s (%s)%n typeArguments (size %d)=%s%n",
- decl, typeParameters,
- elt, elt.getClass(), type, type.getClass(), typeArguments.size(), typeArguments));
- */
}
- if ((typeParameters != null) && (typeParameters.size() != typeArguments.size())) {
- // TODO: decide how severe this problem really is; see comment above.
- // System.out.printf("Dying. theCompilationUnit=%s%n", theCompilationUnit);
- if (debugStubParser) {
- stubDebug(
- String.format(
- "parseType: mismatched sizes for params and args%n decl=%s%n typeParameters (size %d)=%s%n elt=%s (%s)%n type=%s (%s)%n typeArguments (size %d)=%s%n theCompilationUnit=%s%nEnd of message for parseType: mismatched sizes for params and args%n",
- decl,
- typeParameters.size(),
- typeParameters,
- elt,
- elt.getClass(),
- type,
- type.getClass(),
- typeArguments.size(),
- typeArguments,
- theCompilationUnit));
+ annotateTypeParameters(decl, elt, atypes, typeArguments, typeParameters);
+ annotateSupertypes(decl, type);
+ putNew(atypes, elt, type);
+ List typeVariables = new ArrayList<>();
+ for (AnnotatedTypeMirror typeV : type.getTypeArguments()) {
+ if (typeV.getKind() != TypeKind.TYPEVAR) {
+ stubAlwaysWarn(
+ "Expected an AnnotatedTypeVariable but found type kind "
+ + typeV.getKind()
+ + ": "
+ + typeV);
+ } else {
+ typeVariables.add((AnnotatedTypeVariable) typeV);
}
- /*
- throw new Error(String.format("parseType: mismatched sizes for params and args%n decl=%s%n typeParameters (size %d)=%s%n elt=%s (%s)%n type=%s (%s)%n typeArguments (size %d)=%s%n",
- decl, typeParameters.size(), typeParameters,
- elt, elt.getClass(), type, type.getClass(), typeArguments.size(), typeArguments));
- */
}
+ return typeVariables;
+ }
+
+ /**
+ * Gathers and returns a list of AnnotatedTypeVariable of the enum's type parameter
+ * declarations.
+ *
+ * @param decl actual enum declaration
+ * @param elt element representing enum
+ * @param atypes map of annotated types
+ * @param declAnnos map of declarations annotations
+ * @return list of AnnotatedTypeVariable of the enum's type parameter declarations
+ */
+ private List parseEnum(
+ EnumDeclaration decl,
+ TypeElement elt,
+ Map atypes,
+ Map> declAnnos) {
+
+ annotateDecl(declAnnos, elt, decl.getAnnotations());
+ AnnotatedDeclaredType type = atypeFactory.fromElement(elt);
+ annotate(type, decl.getAnnotations());
- annotateTypeParameters(atypes, typeArguments, typeParameters);
- annotateSupertypes(decl, type);
putNew(atypes, elt, type);
List typeVariables = new ArrayList<>();
for (AnnotatedTypeMirror typeV : type.getTypeArguments()) {
if (typeV.getKind() != TypeKind.TYPEVAR) {
stubAlwaysWarn(
- "Expected an AnnotatedTypeVariable but found type kind"
+ "Expected an AnnotatedTypeVariable but found type kind "
+ typeV.getKind()
+ ": "
+ typeV);
@@ -522,8 +552,8 @@ private List parseType(
private void annotateSupertypes(
ClassOrInterfaceDeclaration typeDecl, AnnotatedDeclaredType type) {
- if (typeDecl.getExtends() != null) {
- for (ClassOrInterfaceType superType : typeDecl.getExtends()) {
+ if (typeDecl.getExtendedTypes() != null) {
+ for (ClassOrInterfaceType superType : typeDecl.getExtendedTypes()) {
AnnotatedDeclaredType foundType = findType(superType, type.directSuperTypes());
assert foundType != null
: "StubParser: could not find superclass "
@@ -536,8 +566,8 @@ private void annotateSupertypes(
}
}
}
- if (typeDecl.getImplements() != null) {
- for (ClassOrInterfaceType superType : typeDecl.getImplements()) {
+ if (typeDecl.getImplementedTypes() != null) {
+ for (ClassOrInterfaceType superType : typeDecl.getImplementedTypes()) {
AnnotatedDeclaredType foundType = findType(superType, type.directSuperTypes());
// TODO: Java 7 added a few AutoCloseable superinterfaces to classes.
// We specify those as superinterfaces in the jdk.astub file. Let's ignore
@@ -563,13 +593,19 @@ private void parseMethod(
ExecutableElement elt,
Map atypes,
Map> declAnnos) {
+ // Switch annotations between method declaration and type.
+ NodeList list = decl.getType().getAnnotations();
+ decl.getType().setAnnotations(decl.getAnnotations());
+ decl.setAnnotations(list);
+
annotateDecl(declAnnos, elt, decl.getAnnotations());
// StubParser parses all annotations in type annotation position as type annotations
annotateDecl(declAnnos, elt, decl.getType().getAnnotations());
addDeclAnnotations(declAnnos, elt);
AnnotatedExecutableType methodType = atypeFactory.fromElement(elt);
- annotateTypeParameters(atypes, methodType.getTypeVariables(), decl.getTypeParameters());
+ annotateTypeParameters(
+ decl, elt, atypes, methodType.getTypeVariables(), decl.getTypeParameters());
typeParameters.addAll(methodType.getTypeVariables());
annotate(methodType.getReturnType(), decl.getType());
@@ -585,6 +621,9 @@ private void parseMethod(
annotateDecl(declAnnos, paramElt, param.getAnnotations());
annotateDecl(declAnnos, paramElt, param.getType().getAnnotations());
+ // Duplicate parameter annotations to the type.
+ param.getType().setAnnotations(param.getAnnotations());
+
if (param.isVarArgs()) {
// workaround
assert paramType.getKind() == TypeKind.ARRAY;
@@ -612,33 +651,34 @@ private void parseMethod(
}
/**
- * Handle existing annotations on the type. Stub files should override the existing annotations
- * on a type. Using {@code replaceAnnotation} is usually good enough to achieve this; however,
- * for annotations on type variables, the stub file sometimes needs to be able to remove an
- * existing annotation, leaving no annotation on the type variable. This method achieves this by
- * calling {@code clearAnnotations}.
+ * Handle existing annotations on the type, by removing them.
+ *
+ *
Stub files should override the existing annotations on a type. Using {@code
+ * replaceAnnotation} is usually good enough to achieve this; however, for annotations on type
+ * variables, the stub file sometimes needs to be able to remove an existing annotation, leaving
+ * no annotation on the type variable. This method achieves this by calling {@code
+ * clearAnnotations}.
*
* @param atype the type to modify
* @param typeDef the type from the stub file, for warnings
*/
private void handleExistingAnnotations(AnnotatedTypeMirror atype, Type typeDef) {
Set annos = atype.getAnnotations();
+ // TODO: instead of comparison against flow.astub, this should
+ // check whether the stub file is @AnnotatedFor the current type system.
+ // flow.astub isn't annotated for any particular type system, so let's
+ // not warn for now, as @AnnotatedFor isn't integrated in stub files yet.
if (annos != null && !annos.isEmpty() && !"flow.astub".equals(filename)) {
- // TODO: instead of comparison against flow.astub, this should
- // check whether the stub file is @AnnotatedFor the current type system.
- // flow.astub isn't annotated for any particular type system, so let's
- // not warn for now, as @AnnotatedFor isn't integrated in stub files yet.
- stubWarnIfOverwritesBytecode(
- String.format(
- "in file %s at line %s ignored existing annotations on type: %s%n",
- filename.substring(filename.lastIndexOf('/') + 1),
- typeDef.getBeginLine(),
- atype.toString(true)));
- // TODO: filename is the simple "jdk.astub" and "flow.astub" for those pre-defined files,
- // without complete path, but the full path in other situations.
- // All invocations should provide the short path or the full path.
- // For testing it is easier if only the file name is used.
-
+ // TODO: only produce output if the removed annotation is interesting.
+ // Probably that means it isn't the top and default annotation in the type hierarchy.
+ if (false) { // disable for now, because the output is boring and verbose
+ stubWarnIfOverwritesBytecode(
+ String.format(
+ "in file %s at line %s removed existing annotations on type: %s",
+ filename.substring(filename.lastIndexOf('/') + 1),
+ typeDef.getBegin().get().line,
+ atype.toString(true)));
+ }
// Clear existing annotations, which only makes a difference for
// type variables, but doesn't hurt in other cases.
atype.clearAnnotations();
@@ -676,13 +716,13 @@ private List arrayAllComponents(AnnotatedArrayType atype) {
private void annotateAsArray(AnnotatedArrayType atype, ReferenceType typeDef) {
List arrayTypes = arrayAllComponents(atype);
- assert typeDef.getArrayCount() == arrayTypes.size() - 1
+ assert typeDef.getArrayLevel() == arrayTypes.size() - 1
||
// We want to allow simply using "Object" as return type of a
// method, regardless of what the real type is.
- typeDef.getArrayCount() == 0
+ typeDef.getArrayLevel() == 0
: "Mismatched array lengths; typeDef: "
- + typeDef.getArrayCount()
+ + typeDef.getArrayLevel()
+ " vs. arrayTypes: "
+ (arrayTypes.size() - 1)
+ "\n typedef: "
@@ -711,8 +751,8 @@ private void annotateAsArray(AnnotatedArrayType atype, ReferenceType typeDef) {
private ClassOrInterfaceType unwrapDeclaredType(Type type) {
if (type instanceof ClassOrInterfaceType) {
return (ClassOrInterfaceType) type;
- } else if (type instanceof ReferenceType && ((ReferenceType) type).getArrayCount() == 0) {
- return unwrapDeclaredType(((ReferenceType) type).getType());
+ } else if (type instanceof ReferenceType && type.getArrayLevel() == 0) {
+ return unwrapDeclaredType(type.getElementType());
} else {
return null;
}
@@ -729,28 +769,31 @@ private void annotate(AnnotatedTypeMirror atype, Type typeDef) {
ClassOrInterfaceType declType = unwrapDeclaredType(typeDef);
if (atype.getKind() == TypeKind.DECLARED && declType != null) {
AnnotatedDeclaredType adeclType = (AnnotatedDeclaredType) atype;
- if (declType.getTypeArgs() != null
- && !declType.getTypeArgs().isEmpty()
+ if (declType.getTypeArguments().isPresent()
+ && !declType.getTypeArguments().get().isEmpty()
&& !adeclType.getTypeArguments().isEmpty()) {
- assert declType.getTypeArgs().size() == adeclType.getTypeArguments().size()
+ assert declType.getTypeArguments().get().size()
+ == adeclType.getTypeArguments().size()
: String.format(
"Mismatch in type argument size between %s (%d) and %s (%d)",
declType,
- declType.getTypeArgs().size(),
+ declType.getTypeArguments().get().size(),
adeclType,
adeclType.getTypeArguments().size());
- for (int i = 0; i < declType.getTypeArgs().size(); ++i) {
- annotate(adeclType.getTypeArguments().get(i), declType.getTypeArgs().get(i));
+ for (int i = 0; i < declType.getTypeArguments().get().size(); ++i) {
+ annotate(
+ adeclType.getTypeArguments().get(i),
+ declType.getTypeArguments().get().get(i));
}
}
} else if (atype.getKind() == TypeKind.WILDCARD) {
AnnotatedWildcardType wildcardType = (AnnotatedWildcardType) atype;
WildcardType wildcardDef = (WildcardType) typeDef;
- if (wildcardDef.getExtends() != null) {
- annotate(wildcardType.getExtendsBound(), wildcardDef.getExtends());
+ if (wildcardDef.getExtendedType().isPresent()) {
+ annotate(wildcardType.getExtendsBound(), wildcardDef.getExtendedType().get());
annotate(wildcardType.getSuperBound(), typeDef.getAnnotations());
- } else if (wildcardDef.getSuper() != null) {
- annotate(wildcardType.getSuperBound(), wildcardDef.getSuper());
+ } else if (wildcardDef.getSuperType().isPresent()) {
+ annotate(wildcardType.getSuperBound(), wildcardDef.getSuperType().get());
annotate(wildcardType.getExtendsBound(), typeDef.getAnnotations());
} else {
annotate(atype, typeDef.getAnnotations());
@@ -783,6 +826,9 @@ private void parseConstructor(
for (int i = 0; i < methodType.getParameterTypes().size(); ++i) {
AnnotatedTypeMirror paramType = methodType.getParameterTypes().get(i);
Parameter param = decl.getParameters().get(i);
+ if (param.getAnnotations() != null) {
+ param.getType().setAnnotations(param.getAnnotations());
+ }
annotate(paramType, param.getType());
}
@@ -810,9 +856,9 @@ private void parseField(
addDeclAnnotations(declAnnos, elt);
annotateDecl(declAnnos, elt, decl.getAnnotations());
// StubParser parses all annotations in type annotation position as type annotations
- annotateDecl(declAnnos, elt, decl.getType().getAnnotations());
+ annotateDecl(declAnnos, elt, decl.getElementType().getAnnotations());
AnnotatedTypeMirror fieldType = atypeFactory.fromElement(elt);
- annotate(fieldType, decl.getType());
+ annotate(fieldType, decl.getElementType());
putNew(atypes, elt, fieldType);
}
@@ -847,6 +893,8 @@ private void annotateDecl(
}
private void annotateTypeParameters(
+ BodyDeclaration> decl, // for debugging
+ Object elt, // for debugging; TypeElement or ExecutableElement
Map atypes,
List extends AnnotatedTypeMirror> typeArguments,
List typeParameters) {
@@ -857,11 +905,14 @@ private void annotateTypeParameters(
if (typeParameters.size() != typeArguments.size()) {
stubAlwaysWarn(
String.format(
- "annotateTypeParameters: mismatched sizes%n typeParameters (size %d)=%s%n typeArguments (size %d)=%s%n For more details, run with -AstubDebug%n",
+ "annotateTypeParameters: mismatched sizes: typeParameters (size %d)=%s; typeArguments (size %d)=%s; decl=%s; elt=%s (%s). For more details, run with -AstubDebug",
typeParameters.size(),
typeParameters,
typeArguments.size(),
- typeArguments));
+ typeArguments,
+ decl.toString().replace(LINE_SEPARATOR, " "),
+ elt.toString().replace(LINE_SEPARATOR, " "),
+ elt.getClass()));
}
for (int i = 0; i < typeParameters.size(); ++i) {
TypeParameter param = typeParameters.get(i);
@@ -882,68 +933,63 @@ private void annotateTypeParameters(
}
}
- private static final Set nestedClassWarnings = new HashSet();
-
- private Map getMembers(
- TypeElement typeElt, TypeDeclaration typeDecl) {
- assert (typeElt.getSimpleName().contentEquals(typeDecl.getName())
- || typeDecl.getName().endsWith("$" + typeElt.getSimpleName().toString()))
+ private Map> getMembers(
+ TypeElement typeElt, TypeDeclaration> typeDecl) {
+ assert (typeElt.getSimpleName().contentEquals(typeDecl.getNameAsString())
+ || typeDecl.getNameAsString()
+ .endsWith("$" + typeElt.getSimpleName().toString()))
: String.format("%s %s", typeElt.getSimpleName(), typeDecl.getName());
- Map result = new HashMap<>();
+ Map> result = new HashMap<>();
+ for (BodyDeclaration> member : typeDecl.getMembers()) {
+ putNewElement(typeElt, result, member, typeDecl.getNameAsString());
+ }
+ return result;
+ }
- for (BodyDeclaration member : typeDecl.getMembers()) {
- if (member instanceof MethodDeclaration) {
- Element elt = findElement(typeElt, (MethodDeclaration) member);
- if (elt != null) {
- putNew(result, elt, member);
- }
- } else if (member instanceof ConstructorDeclaration) {
- Element elt = findElement(typeElt, (ConstructorDeclaration) member);
- if (elt != null) {
- putNew(result, elt, member);
- }
- } else if (member instanceof FieldDeclaration) {
- FieldDeclaration fieldDecl = (FieldDeclaration) member;
- for (VariableDeclarator var : fieldDecl.getVariables()) {
- Element varelt = findElement(typeElt, var);
- if (varelt != null) {
- putNew(result, varelt, fieldDecl);
- }
- }
- } else if (member instanceof ClassOrInterfaceDeclaration) {
- // TODO: handle nested classes
- ClassOrInterfaceDeclaration ciDecl = (ClassOrInterfaceDeclaration) member;
- String nestedClass = typeDecl.getName() + "." + ciDecl.getName();
- if (nestedClassWarnings.add(nestedClass)) { // avoid duplicate warnings
- stubAlwaysWarn(
- String.format(
- "Warning: ignoring nested class in %s at line %d:%n class %s { class %s { ... } }%n",
- filename,
- ciDecl.getBeginLine(),
- typeDecl.getName(),
- ciDecl.getName())
- + "\n"
- + String.format(
- " Instead, write the nested class as a top-level class:%n class %s { ... }%n class %s$%s { ... }%n",
- typeDecl.getName(),
- typeDecl.getName(),
- ciDecl.getName()));
+ private void putNewElement(
+ TypeElement typeElt,
+ Map> result,
+ BodyDeclaration> member,
+ String typeDeclName) {
+ if (member instanceof MethodDeclaration) {
+ Element elt = findElement(typeElt, (MethodDeclaration) member);
+ if (elt != null) {
+ putNew(result, elt, member);
+ }
+ } else if (member instanceof ConstructorDeclaration) {
+ Element elt = findElement(typeElt, (ConstructorDeclaration) member);
+ if (elt != null) {
+ putNew(result, elt, member);
+ }
+ } else if (member instanceof FieldDeclaration) {
+ FieldDeclaration fieldDecl = (FieldDeclaration) member;
+ for (VariableDeclarator var : fieldDecl.getVariables()) {
+ Element varelt = findElement(typeElt, var);
+ if (varelt != null) {
+ putNew(result, varelt, fieldDecl);
}
- } else {
- stubWarnIfNotFound(
- String.format(
- "Ignoring element of type %s in getMembers", member.getClass()));
}
+ } else if (member instanceof ClassOrInterfaceDeclaration) {
+ Element elt = findElement(typeElt, (ClassOrInterfaceDeclaration) member);
+ if (elt != null) {
+ putNew(result, elt, member);
+ }
+ } else if (member instanceof EnumDeclaration) {
+ Element elt = findElement(typeElt, (EnumDeclaration) member);
+ if (elt != null) {
+ putNew(result, elt, member);
+ }
+ } else {
+ stubWarnIfNotFound(
+ String.format(
+ "Ignoring element of type %s in %s", member.getClass(), typeDeclName));
}
- // // remove null keys, which can result from findElement returning null
- // result.remove(null);
- return result;
}
private AnnotatedDeclaredType findType(
ClassOrInterfaceType type, List types) {
- String typeString = type.getName();
+ String typeString = type.getNameAsString();
for (AnnotatedDeclaredType superType : types) {
if (superType
.getUnderlyingType()
@@ -956,21 +1002,91 @@ private AnnotatedDeclaredType findType(
stubWarnIfNotFound("Type " + typeString + " not found");
if (debugStubParser) {
for (AnnotatedDeclaredType superType : types) {
- stubDebug(String.format(" %s%n", superType));
+ stubDebug(String.format(" %s", superType));
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Looks for the nested type element in the typeElt and returns it if the element has the same
+ * name as provided class or interface declaration. In case nested element is not found it
+ * returns null.
+ *
+ * @param typeElt an element where nested type element should be looked for
+ * @param ciDecl class or interface declaration which name should be found among nested elements
+ * of the typeElt
+ * @return nested in typeElt element with the name of the class or interface or null if nested
+ * element is not found
+ */
+ private Element findElement(TypeElement typeElt, ClassOrInterfaceDeclaration ciDecl) {
+ final String wantedClassOrInterfaceName = ciDecl.getNameAsString();
+ for (TypeElement typeElement : ElementUtils.getAllTypeElementsIn(typeElt)) {
+ if (wantedClassOrInterfaceName.equals(typeElement.getSimpleName().toString())) {
+ return typeElement;
+ }
+ }
+
+ stubWarnIfNotFound(
+ "Class/interface " + wantedClassOrInterfaceName + " not found in type " + typeElt);
+ if (debugStubParser) {
+ for (ExecutableElement method :
+ ElementFilter.methodsIn(typeElt.getEnclosedElements())) {
+ stubDebug(String.format(" Here are the type declarations of %s:", typeElt));
+ stubDebug(String.format(" %s", method));
}
}
return null;
}
+ /**
+ * Looks for the nested enum element in the typeElt and returns it if the element has the same
+ * name as provided enum declaration. In case nested element is not found it returns null.
+ *
+ * @param typeElt an element where nested enum element should be looked for
+ * @param enumDecl enum declaration which name should be found among nested elements of the
+ * typeElt
+ * @return nested in typeElt enum element with the name of the provided enum or null if nested
+ * element is not found
+ */
+ private Element findElement(TypeElement typeElt, EnumDeclaration enumDecl) {
+ final String wantedEnumName = enumDecl.getNameAsString();
+ for (TypeElement typeElement : ElementUtils.getAllTypeElementsIn(typeElt)) {
+ if (wantedEnumName.equals(typeElement.getSimpleName().toString())) {
+ return typeElement;
+ }
+ }
+
+ stubWarnIfNotFound("Enum " + wantedEnumName + " not found in type " + typeElt);
+ if (debugStubParser) {
+ for (ExecutableElement method :
+ ElementFilter.methodsIn(typeElt.getEnclosedElements())) {
+ stubDebug(String.format(" Here are the type declarations of %s:", typeElt));
+ stubDebug(String.format(" %s", method));
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Looks for method element in the typeElt and returns it if the element has the same signature
+ * as provided method declaration. In case method element is not found it returns null.
+ *
+ * @param typeElt type element where method element should be looked for
+ * @param methodDecl method declaration with signature that should be found among methods in the
+ * typeElt
+ * @return method element in typeElt with the same signature as the provided method declaration
+ * or null if method element is not found
+ */
private ExecutableElement findElement(TypeElement typeElt, MethodDeclaration methodDecl) {
- final String wantedMethodName = methodDecl.getName();
+ final String wantedMethodName = methodDecl.getNameAsString();
final int wantedMethodParams =
(methodDecl.getParameters() == null) ? 0 : methodDecl.getParameters().size();
final String wantedMethodString = StubUtil.toString(methodDecl);
for (ExecutableElement method : ElementUtils.getAllMethodsIn(elements, typeElt)) {
// do heuristics first
if (wantedMethodParams == method.getParameters().size()
- && wantedMethodName.contentEquals(method.getSimpleName())
+ && wantedMethodName.contentEquals(method.getSimpleName().toString())
&& StubUtil.toString(method).equals(wantedMethodString)) {
return method;
}
@@ -979,16 +1095,31 @@ private ExecutableElement findElement(TypeElement typeElt, MethodDeclaration met
if (debugStubParser) {
for (ExecutableElement method :
ElementFilter.methodsIn(typeElt.getEnclosedElements())) {
- stubDebug(String.format(" %s%n", method));
+ stubDebug(String.format(" Here are the methods of %s:", typeElt));
+ stubDebug(String.format(" %s", method));
}
}
return null;
}
- private ExecutableElement findElement(TypeElement typeElt, ConstructorDeclaration methodDecl) {
+ /**
+ * Looks for a constructor element in the typeElt and returns it if the element has the same
+ * signature as provided constructor declaration. In case constructor element is not found it
+ * returns null.
+ *
+ * @param typeElt type element where constructor element should be looked for
+ * @param constructorDecl constructor declaration with signature that should be found among
+ * constructors in the typeElt
+ * @return constructor element in typeElt with the same signature as the provided constructor
+ * declaration or null if constructor element is not found
+ */
+ private ExecutableElement findElement(
+ TypeElement typeElt, ConstructorDeclaration constructorDecl) {
final int wantedMethodParams =
- (methodDecl.getParameters() == null) ? 0 : methodDecl.getParameters().size();
- final String wantedMethodString = StubUtil.toString(methodDecl);
+ (constructorDecl.getParameters() == null)
+ ? 0
+ : constructorDecl.getParameters().size();
+ final String wantedMethodString = StubUtil.toString(constructorDecl);
for (ExecutableElement method :
ElementFilter.constructorsIn(typeElt.getEnclosedElements())) {
// do heuristics first
@@ -1002,17 +1133,25 @@ private ExecutableElement findElement(TypeElement typeElt, ConstructorDeclaratio
if (debugStubParser) {
for (ExecutableElement method :
ElementFilter.constructorsIn(typeElt.getEnclosedElements())) {
- stubDebug(String.format(" %s%n", method));
+ stubDebug(String.format(" %s", method));
}
}
return null;
}
private VariableElement findElement(TypeElement typeElt, VariableDeclarator variable) {
- final String fieldName = variable.getId().getName();
+ final String fieldName = variable.getNameAsString();
return findFieldElement(typeElt, fieldName);
}
+ /**
+ * Looks for a field element in the typeElt and returns it if the element has the same name as
+ * provided. In case field element is not found it returns null.
+ *
+ * @param typeElt type element where field element should be looked for
+ * @param fieldName field name that should be found
+ * @return field element in typeElt with the provided name or null if field element is not found
+ */
private VariableElement findFieldElement(TypeElement typeElt, String fieldName) {
for (VariableElement field : ElementUtils.getAllFieldsIn(elements, typeElt)) {
// field.getSimpleName() is a CharSequence, not a String
@@ -1024,7 +1163,7 @@ private VariableElement findFieldElement(TypeElement typeElt, String fieldName)
stubWarnIfNotFound("Field " + fieldName + " not found in type " + typeElt);
if (debugStubParser) {
for (VariableElement field : ElementFilter.fieldsIn(typeElt.getEnclosedElements())) {
- stubDebug(String.format(" %s%n", field));
+ stubDebug(String.format(" %s", field));
}
}
return null;
@@ -1060,20 +1199,9 @@ private static void putNew(Map m, K key, V value) {
return;
}
if (m.containsKey(key) && !m.get(key).equals(value)) {
- ErrorReporter.errorAbort(
- "StubParser: key is already in map: "
- + LINE_SEPARATOR
- + " "
- + key
- + " => "
- + m.get(key)
- + LINE_SEPARATOR
- + "while adding: "
- + LINE_SEPARATOR
- + " "
- + key
- + " => "
- + value);
+ // Super method should not be written to the map
+ // if child class contains overriden method that is already in the map.
+ return;
}
m.put(key, value);
}
@@ -1120,9 +1248,11 @@ private static void putAllNew(Map m, Map m2) {
private static Set warnings = new HashSet();
/**
- * Issues the given warning about missing elements, only if it has not been previously issued.
+ * Issues the given warning about missing elements, only if it has not been previously issued
+ * and the -AstubWarnIfNotFound command-line argument was passed.
*/
private void stubWarnIfNotFound(String warning) {
+ ensureSingleLine(warning, "stubWarnIfNotFound");
if (warnings.add(warning) && (warnIfNotFound || debugStubParser)) {
processingEnv
.getMessager()
@@ -1132,9 +1262,10 @@ private void stubWarnIfNotFound(String warning) {
/**
* Issues the given warning about overwriting bytecode, only if it has not been previously
- * issued.
+ * issued and the -AstubWarnIfOverwritesBytecode command-line argument was passed.
*/
private void stubWarnIfOverwritesBytecode(String warning) {
+ ensureSingleLine(warning, "stubWarnIfOverwritesBytecode");
if (warnings.add(warning) && (warnIfStubOverwritesBytecode || debugStubParser)) {
processingEnv
.getMessager()
@@ -1147,6 +1278,7 @@ private void stubWarnIfOverwritesBytecode(String warning) {
* passed.
*/
private void stubAlwaysWarn(String warning) {
+ ensureSingleLine(warning, "stubAlwaysWarn");
if (warnings.add(warning)) {
processingEnv
.getMessager()
@@ -1155,6 +1287,7 @@ private void stubAlwaysWarn(String warning) {
}
private void stubDebug(String warning) {
+ ensureSingleLine(warning, "stubDebug");
if (warnings.add(warning) && debugStubParser) {
processingEnv
.getMessager()
@@ -1162,15 +1295,29 @@ private void stubDebug(String warning) {
}
}
+ /**
+ * Throw an error if the message contains line separator characters. (Any characters after a
+ * line separator are silently discarded and not shown to the user.)
+ */
+ private void ensureSingleLine(String message, String methodName) {
+ if (message.contains(LINE_SEPARATOR)) {
+ throw new Error(
+ "Don't pass multi-line strings to "
+ + methodName
+ + ": "
+ + message.replace(LINE_SEPARATOR, "%n"));
+ }
+ }
+
private AnnotationMirror getAnnotation(
AnnotationExpr annotation, Map supportedAnnotations) {
AnnotationMirror annoMirror;
if (annotation instanceof MarkerAnnotationExpr) {
- String annoName = ((MarkerAnnotationExpr) annotation).getName().getName();
+ String annoName = ((MarkerAnnotationExpr) annotation).getNameAsString();
annoMirror = supportedAnnotations.get(annoName);
} else if (annotation instanceof NormalAnnotationExpr) {
NormalAnnotationExpr nrmanno = (NormalAnnotationExpr) annotation;
- String annoName = nrmanno.getName().getName();
+ String annoName = nrmanno.getNameAsString();
annoMirror = supportedAnnotations.get(annoName);
if (annoMirror == null) {
// Not a supported qualifier -> ignore
@@ -1180,7 +1327,7 @@ private AnnotationMirror getAnnotation(
List pairs = nrmanno.getPairs();
if (pairs != null) {
for (MemberValuePair mvp : pairs) {
- String meth = mvp.getName();
+ String meth = mvp.getNameAsString();
Expression exp = mvp.getValue();
handleExpr(builder, meth, exp);
}
@@ -1188,7 +1335,7 @@ private AnnotationMirror getAnnotation(
return builder.build();
} else if (annotation instanceof SingleMemberAnnotationExpr) {
SingleMemberAnnotationExpr sglanno = (SingleMemberAnnotationExpr) annotation;
- String annoName = sglanno.getName().getName();
+ String annoName = sglanno.getNameAsString();
annoMirror = supportedAnnotations.get(annoName);
if (annoMirror == null) {
// Not a supported qualifier -> ignore
@@ -1416,7 +1563,7 @@ private void handleExpr(AnnotationBuilder builder, String name, Expression expr)
}
}
- VariableElement res = findFieldElement(rcvElt, faexpr.getField());
+ VariableElement res = findFieldElement(rcvElt, faexpr.getNameAsString());
faexprcache.put(faexpr, res);
return res;
}
diff --git a/framework/src/org/checkerframework/framework/stub/StubUtil.java b/framework/src/org/checkerframework/framework/stub/StubUtil.java
index 5457bb2a874..027cc8eb1de 100644
--- a/framework/src/org/checkerframework/framework/stub/StubUtil.java
+++ b/framework/src/org/checkerframework/framework/stub/StubUtil.java
@@ -1,5 +1,11 @@
package org.checkerframework.framework.stub;
+import com.github.javaparser.ast.CompilationUnit;
+import com.github.javaparser.ast.Node;
+import com.github.javaparser.ast.StubUnit;
+import com.github.javaparser.ast.body.*;
+import com.github.javaparser.ast.type.*;
+import com.github.javaparser.ast.visitor.SimpleVoidVisitor;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -20,34 +26,18 @@
import javax.lang.model.type.TypeVariable;
import org.checkerframework.javacutil.ErrorReporter;
import org.checkerframework.javacutil.Pair;
-import org.checkerframework.stubparser.ast.CompilationUnit;
-import org.checkerframework.stubparser.ast.IndexUnit;
-import org.checkerframework.stubparser.ast.Node;
-import org.checkerframework.stubparser.ast.body.BodyDeclaration;
-import org.checkerframework.stubparser.ast.body.ConstructorDeclaration;
-import org.checkerframework.stubparser.ast.body.FieldDeclaration;
-import org.checkerframework.stubparser.ast.body.MethodDeclaration;
-import org.checkerframework.stubparser.ast.body.Parameter;
-import org.checkerframework.stubparser.ast.body.TypeDeclaration;
-import org.checkerframework.stubparser.ast.body.VariableDeclarator;
-import org.checkerframework.stubparser.ast.type.ClassOrInterfaceType;
-import org.checkerframework.stubparser.ast.type.PrimitiveType;
-import org.checkerframework.stubparser.ast.type.ReferenceType;
-import org.checkerframework.stubparser.ast.type.VoidType;
-import org.checkerframework.stubparser.ast.type.WildcardType;
-import org.checkerframework.stubparser.ast.visitor.SimpleVoidVisitor;
/** Utility class for stub files */
public class StubUtil {
- /*package-scope*/ static TypeDeclaration findDeclaration(
- String className, IndexUnit indexFile) {
+ /*package-scope*/ static TypeDeclaration> findDeclaration(
+ String className, StubUnit indexFile) {
int indexOfDot = className.lastIndexOf('.');
if (indexOfDot == -1) {
// classes not within a package needs to be the first in the index file
assert !indexFile.getCompilationUnits().isEmpty();
- assert indexFile.getCompilationUnits().get(0).getPackage() == null;
+ assert indexFile.getCompilationUnits().get(0).getPackageDeclaration() == null;
return findDeclaration(className, indexFile.getCompilationUnits().get(0));
}
@@ -55,9 +45,9 @@ public class StubUtil {
final String simpleName = className.substring(indexOfDot + 1);
for (CompilationUnit cu : indexFile.getCompilationUnits()) {
- if (cu.getPackage() != null
- && cu.getPackage().getName().getName().equals(packageName)) {
- TypeDeclaration type = findDeclaration(simpleName, cu);
+ if (cu.getPackageDeclaration().isPresent()
+ && cu.getPackageDeclaration().get().getNameAsString().equals(packageName)) {
+ TypeDeclaration> type = findDeclaration(simpleName, cu);
if (type != null) {
return type;
}
@@ -68,20 +58,20 @@ public class StubUtil {
return null;
}
- /*package-scope*/ static TypeDeclaration findDeclaration(
- TypeElement type, IndexUnit indexFile) {
+ /*package-scope*/ static TypeDeclaration> findDeclaration(
+ TypeElement type, StubUnit indexFile) {
return findDeclaration(type.getQualifiedName().toString(), indexFile);
}
/*package-scope*/ static FieldDeclaration findDeclaration(
- VariableElement field, IndexUnit indexFile) {
- TypeDeclaration type =
+ VariableElement field, StubUnit indexFile) {
+ TypeDeclaration> type =
findDeclaration((TypeElement) field.getEnclosingElement(), indexFile);
if (type == null) {
return null;
}
- for (BodyDeclaration member : type.getMembers()) {
+ for (BodyDeclaration> member : type.getMembers()) {
if (!(member instanceof FieldDeclaration)) {
continue;
}
@@ -95,9 +85,9 @@ public class StubUtil {
return null;
}
- /*package-scope*/ static BodyDeclaration findDeclaration(
- ExecutableElement method, IndexUnit indexFile) {
- TypeDeclaration type =
+ /*package-scope*/ static BodyDeclaration> findDeclaration(
+ ExecutableElement method, StubUnit indexFile) {
+ TypeDeclaration> type =
findDeclaration((TypeElement) method.getEnclosingElement(), indexFile);
if (type == null) {
return null;
@@ -105,7 +95,7 @@ public class StubUtil {
String methodRep = toString(method);
- for (BodyDeclaration member : type.getMembers()) {
+ for (BodyDeclaration> member : type.getMembers()) {
if (member instanceof MethodDeclaration) {
if (toString((MethodDeclaration) member).equals(methodRep)) {
return member;
@@ -119,10 +109,10 @@ public class StubUtil {
return null;
}
- /*package-scope*/ static TypeDeclaration findDeclaration(
+ /*package-scope*/ static TypeDeclaration> findDeclaration(
String simpleName, CompilationUnit cu) {
- for (TypeDeclaration type : cu.getTypes()) {
- if (simpleName.equals(type.getName())) {
+ for (TypeDeclaration> type : cu.getTypes()) {
+ if (simpleName.equals(type.getNameAsString())) {
return type;
}
}
@@ -139,7 +129,7 @@ public class StubUtil {
}
/*package-scope*/ static String toString(VariableDeclarator field) {
- return field.getId().getName();
+ return field.getNameAsString();
}
/*package-scope*/ static String toString(FieldDeclaration field) {
@@ -269,11 +259,6 @@ public void visit(MethodDeclaration n, Void arg) {
@Override
public void visit(Parameter n, Void arg) {
- if (n.getId().getArrayCount() > 0) {
- ErrorReporter.errorAbort(
- "StubUtil: put array brackets on the type, not the variable: " + n);
- }
-
n.getType().accept(this, arg);
if (n.isVarArgs()) {
sb.append("[]");
@@ -289,28 +274,28 @@ public void visit(ClassOrInterfaceType n, Void arg) {
@Override
public void visit(PrimitiveType n, Void arg) {
switch (n.getType()) {
- case Boolean:
+ case BOOLEAN:
sb.append("boolean");
break;
- case Byte:
+ case BYTE:
sb.append("byte");
break;
- case Char:
+ case CHAR:
sb.append("char");
break;
- case Double:
+ case DOUBLE:
sb.append("double");
break;
- case Float:
+ case FLOAT:
sb.append("float");
break;
- case Int:
+ case INT:
sb.append("int");
break;
- case Long:
+ case LONG:
sb.append("long");
break;
- case Short:
+ case SHORT:
sb.append("short");
break;
default:
@@ -320,8 +305,16 @@ public void visit(PrimitiveType n, Void arg) {
@Override
public void visit(ReferenceType n, Void arg) {
- n.getType().accept(this, arg);
- for (int i = 0; i < n.getArrayCount(); ++i) {
+ n.getElementType().accept(this, arg);
+ for (int i = 0; i < n.getArrayLevel(); ++i) {
+ sb.append("[]");
+ }
+ }
+
+ @Override
+ public void visit(com.github.javaparser.ast.type.ArrayType n, Void arg) {
+ n.getComponentType().accept(this, arg);
+ for (int i = 0; i < n.getArrayLevel(); ++i) {
sb.append("[]");
}
}
diff --git a/framework/src/org/checkerframework/framework/stub/ToIndexFileConverter.java b/framework/src/org/checkerframework/framework/stub/ToIndexFileConverter.java
index a8576a3b305..528def68362 100644
--- a/framework/src/org/checkerframework/framework/stub/ToIndexFileConverter.java
+++ b/framework/src/org/checkerframework/framework/stub/ToIndexFileConverter.java
@@ -16,6 +16,29 @@
import annotations.field.AnnotationFieldType;
import annotations.io.IndexFileParser;
import annotations.io.IndexFileWriter;
+import com.github.javaparser.JavaParser;
+import com.github.javaparser.ParseException;
+import com.github.javaparser.ParseProblemException;
+import com.github.javaparser.ast.*;
+import com.github.javaparser.ast.body.AnnotationDeclaration;
+import com.github.javaparser.ast.body.BodyDeclaration;
+import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
+import com.github.javaparser.ast.body.ConstructorDeclaration;
+import com.github.javaparser.ast.body.EnumConstantDeclaration;
+import com.github.javaparser.ast.body.EnumDeclaration;
+import com.github.javaparser.ast.body.FieldDeclaration;
+import com.github.javaparser.ast.body.InitializerDeclaration;
+import com.github.javaparser.ast.body.MethodDeclaration;
+import com.github.javaparser.ast.body.Parameter;
+import com.github.javaparser.ast.body.TypeDeclaration;
+import com.github.javaparser.ast.body.VariableDeclarator;
+import com.github.javaparser.ast.expr.AnnotationExpr;
+import com.github.javaparser.ast.expr.Expression;
+import com.github.javaparser.ast.expr.ObjectCreationExpr;
+import com.github.javaparser.ast.expr.VariableDeclarationExpr;
+import com.github.javaparser.ast.stmt.BlockStmt;
+import com.github.javaparser.ast.type.*;
+import com.github.javaparser.ast.visitor.GenericVisitorAdapter;
import com.sun.tools.javac.code.TypeAnnotationPosition.TypePathEntry;
import java.io.BufferedWriter;
import java.io.FileInputStream;
@@ -31,37 +54,7 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.checkerframework.framework.util.PluginUtil;
-import org.checkerframework.stubparser.JavaParser;
-import org.checkerframework.stubparser.ParseException;
-import org.checkerframework.stubparser.ast.CompilationUnit;
-import org.checkerframework.stubparser.ast.ImportDeclaration;
-import org.checkerframework.stubparser.ast.IndexUnit;
-import org.checkerframework.stubparser.ast.PackageDeclaration;
-import org.checkerframework.stubparser.ast.TypeParameter;
-import org.checkerframework.stubparser.ast.body.AnnotationDeclaration;
-import org.checkerframework.stubparser.ast.body.BodyDeclaration;
-import org.checkerframework.stubparser.ast.body.ClassOrInterfaceDeclaration;
-import org.checkerframework.stubparser.ast.body.ConstructorDeclaration;
-import org.checkerframework.stubparser.ast.body.EnumConstantDeclaration;
-import org.checkerframework.stubparser.ast.body.EnumDeclaration;
-import org.checkerframework.stubparser.ast.body.FieldDeclaration;
-import org.checkerframework.stubparser.ast.body.InitializerDeclaration;
-import org.checkerframework.stubparser.ast.body.MethodDeclaration;
-import org.checkerframework.stubparser.ast.body.Parameter;
-import org.checkerframework.stubparser.ast.body.TypeDeclaration;
-import org.checkerframework.stubparser.ast.body.VariableDeclarator;
-import org.checkerframework.stubparser.ast.expr.AnnotationExpr;
-import org.checkerframework.stubparser.ast.expr.Expression;
-import org.checkerframework.stubparser.ast.expr.ObjectCreationExpr;
-import org.checkerframework.stubparser.ast.expr.VariableDeclarationExpr;
-import org.checkerframework.stubparser.ast.stmt.BlockStmt;
-import org.checkerframework.stubparser.ast.type.ClassOrInterfaceType;
-import org.checkerframework.stubparser.ast.type.PrimitiveType;
-import org.checkerframework.stubparser.ast.type.ReferenceType;
-import org.checkerframework.stubparser.ast.type.Type;
-import org.checkerframework.stubparser.ast.type.VoidType;
-import org.checkerframework.stubparser.ast.type.WildcardType;
-import org.checkerframework.stubparser.ast.visitor.GenericVisitorAdapter;
+import org.checkerframework.javacutil.ErrorReporter;
/**
* Convert a JAIF file plus a stub file into index files (JAIFs). Note that the resulting index
@@ -98,7 +91,7 @@ public class ToIndexFileConverter extends GenericVisitorAdapter
public ToIndexFileConverter(
PackageDeclaration pkgDecl, List importDecls, AScene scene) {
this.scene = scene;
- pkgName = pkgDecl == null ? "" : pkgDecl.getName().getName();
+ pkgName = pkgDecl == null ? "" : pkgDecl.getNameAsString();
if (importDecls == null) {
imports = Collections.emptyList();
} else {
@@ -170,7 +163,17 @@ public static void main(String[] args) {
*/
private static void convert(AScene scene, InputStream in, OutputStream out)
throws IOException, DefException, ParseException {
- IndexUnit iu = JavaParser.parse(in);
+ StubUnit iu;
+ try {
+ iu = JavaParser.parseStubUnit(in);
+ } catch (ParseProblemException e) {
+ iu = null;
+ ErrorReporter.errorAbort(
+ "ToIndexFileConverter: exception from JavaParser.parseStubUnit for InputStream."
+ + System.lineSeparator()
+ + "Problem message with problems encountered: "
+ + e.getMessage());
+ }
extractScene(iu, scene);
try (Writer w = new BufferedWriter(new OutputStreamWriter(out))) {
IndexFileWriter.write(scene, w);
@@ -182,19 +185,19 @@ private static void convert(AScene scene, InputStream in, OutputStream out)
* stub and scene in parallel, descending into them in the same way. It augments the existing
* scene (it does not create a new scene).
*
- * @param iu {@link IndexUnit} representing stubfile
+ * @param iu {@link StubUnit} representing stubfile
*/
- private static void extractScene(IndexUnit iu, AScene scene) {
+ private static void extractScene(StubUnit iu, AScene scene) {
for (CompilationUnit cu : iu.getCompilationUnits()) {
- List typeDecls = cu.getTypes();
- if (typeDecls != null) {
+ NodeList> typeDecls = cu.getTypes();
+ if (typeDecls != null && cu.getPackageDeclaration().isPresent()) {
List impDecls = cu.getImports();
- PackageDeclaration pkgDecl = cu.getPackage();
- for (TypeDeclaration typeDecl : typeDecls) {
+ PackageDeclaration pkgDecl = cu.getPackageDeclaration().get();
+ for (TypeDeclaration> typeDecl : typeDecls) {
ToIndexFileConverter converter =
new ToIndexFileConverter(pkgDecl, impDecls, scene);
String pkgName = converter.pkgName;
- String name = typeDecl.getName();
+ String name = typeDecl.getNameAsString();
if (!pkgName.isEmpty()) {
name = pkgName + "." + name;
}
@@ -241,8 +244,8 @@ public Void visit(ClassOrInterfaceDeclaration decl, AElement elem) {
@Override
public Void visit(ConstructorDeclaration decl, AElement elem) {
List params = decl.getParameters();
- List rcvrAnnos = decl.getReceiverAnnotations();
- BlockStmt body = decl.getBlock();
+ List rcvrAnnos = decl.getAnnotations();
+ BlockStmt body = decl.getBody();
StringBuilder sb = new StringBuilder("(");
AClass clazz = (AClass) elem;
AMethod method;
@@ -277,7 +280,7 @@ public Void visit(ConstructorDeclaration decl, AElement elem) {
@Override
public Void visit(EnumConstantDeclaration decl, AElement elem) {
- AField field = ((AClass) elem).fields.vivify(decl.getName());
+ AField field = ((AClass) elem).fields.vivify(decl.getNameAsString());
visitDecl(decl, field);
return super.visit(decl, field);
}
@@ -292,16 +295,16 @@ public Void visit(EnumDeclaration decl, AElement elem) {
public Void visit(FieldDeclaration decl, AElement elem) {
for (VariableDeclarator v : decl.getVariables()) {
AClass clazz = (AClass) elem;
- AField field = clazz.fields.vivify(v.getId().getName());
+ AField field = clazz.fields.vivify(v.getNameAsString());
visitDecl(decl, field);
- visitType(decl.getType(), field.type);
+ visitType(decl.getCommonType(), field.type);
}
return null;
}
@Override
public Void visit(InitializerDeclaration decl, AElement elem) {
- BlockStmt block = decl.getBlock();
+ BlockStmt block = decl.getBody();
AClass clazz = (AClass) elem;
block.accept(this, clazz.methods.vivify(decl.isStatic() ? "" : ""));
return null;
@@ -313,8 +316,8 @@ public Void visit(MethodDeclaration decl, AElement elem) {
List params = decl.getParameters();
List typeParams = decl.getTypeParameters();
List rcvrAnnos = decl.getReceiverAnnotations();
- BlockStmt body = decl.getBody();
- StringBuilder sb = new StringBuilder(decl.getName()).append('(');
+ BlockStmt body = decl.getBody().orElse(null);
+ StringBuilder sb = new StringBuilder(decl.getNameAsString()).append('(');
AClass clazz = (AClass) elem;
AMethod method;
if (params != null) {
@@ -359,11 +362,11 @@ public Void visit(MethodDeclaration decl, AElement elem) {
@Override
public Void visit(ObjectCreationExpr expr, AElement elem) {
ClassOrInterfaceType type = expr.getType();
- AClass clazz = scene.classes.vivify(type.getName());
- Expression scope = expr.getScope();
- List typeArgs = expr.getTypeArgs();
- List args = expr.getArgs();
- List decls = expr.getAnonymousClassBody();
+ AClass clazz = scene.classes.vivify(type.getNameAsString());
+ Expression scope = expr.getScope().orElse(null);
+ List typeArgs = expr.getTypeArguments().orElse(null);
+ List args = expr.getArguments();
+ NodeList> bodyDecls = expr.getAnonymousClassBody().orElse(null);
if (scope != null) {
scope.accept(this, elem);
}
@@ -378,8 +381,8 @@ public Void visit(ObjectCreationExpr expr, AElement elem) {
}
}
type.accept(this, clazz);
- if (decls != null) {
- for (BodyDeclaration decl : decls) {
+ if (bodyDecls != null) {
+ for (BodyDeclaration> decl : bodyDecls) {
decl.accept(this, clazz);
}
}
@@ -390,12 +393,12 @@ public Void visit(ObjectCreationExpr expr, AElement elem) {
public Void visit(VariableDeclarationExpr expr, AElement elem) {
List annos = expr.getAnnotations();
AMethod method = (AMethod) elem;
- List varDecls = expr.getVars();
+ List varDecls = expr.getVariables();
for (int i = 0; i < varDecls.size(); i++) {
VariableDeclarator decl = varDecls.get(i);
- LocalLocation loc = new LocalLocation(decl.getId().getName(), i);
+ LocalLocation loc = new LocalLocation(decl.getNameAsString(), i);
AField field = method.body.locals.vivify(loc);
- visitType(expr.getType(), field.type);
+ visitType(expr.getCommonType(), field.type);
if (annos != null) {
for (AnnotationExpr annoExpr : annos) {
Annotation anno = extractAnnotation(annoExpr);
@@ -410,8 +413,8 @@ public Void visit(VariableDeclarationExpr expr, AElement elem) {
* Copies information from an AST declaration node to an {@link ADeclaration}. Called by
* visitors for BodyDeclaration subclasses.
*/
- private Void visitDecl(BodyDeclaration decl, ADeclaration elem) {
- List annoExprs = decl.getAnnotations();
+ private Void visitDecl(BodyDeclaration> decl, ADeclaration elem) {
+ NodeList annoExprs = decl.getAnnotations();
if (annoExprs != null) {
for (AnnotationExpr annoExpr : annoExprs) {
Annotation anno = extractAnnotation(annoExpr);
@@ -442,11 +445,13 @@ private static Void visitInnerTypes(Type type, final ATypeElement elem) {
new GenericVisitorAdapter() {
@Override
public Void visit(ClassOrInterfaceType type, InnerTypeLocation loc) {
- List typeArgs = type.getTypeArgs();
- for (int i = 0; i < typeArgs.size(); i++) {
- Type inner = typeArgs.get(i);
- InnerTypeLocation ext = extendedTypePath(loc, 3, i);
- visitInnerType(inner, ext);
+ if (type.getTypeArguments().isPresent()) {
+ List typeArgs = type.getTypeArguments().get();
+ for (int i = 0; i < typeArgs.size(); i++) {
+ Type inner = typeArgs.get(i);
+ InnerTypeLocation ext = extendedTypePath(loc, 3, i);
+ visitInnerType(inner, ext);
+ }
}
return null;
}
@@ -468,8 +473,8 @@ public Void visit(ReferenceType type, InnerTypeLocation loc) {
@Override
public Void visit(WildcardType type, InnerTypeLocation loc) {
- ReferenceType lower = type.getExtends();
- ReferenceType upper = type.getSuper();
+ ReferenceType lower = type.getExtendedType().orElse(null);
+ ReferenceType upper = type.getSuperType().orElse(null);
if (lower != null) {
InnerTypeLocation ext = extendedTypePath(loc, 2, 0);
visitInnerType(lower, ext);
@@ -496,7 +501,7 @@ private void visitInnerType(Type type, InnerTypeLocation loc) {
/**
* Extends type path by one element.
*
- * @see TypePathEntry.fromBinary
+ * @see TypePathEntry#fromBinary(int, int)
*/
private InnerTypeLocation extendedTypePath(
InnerTypeLocation loc, int tag, int arg) {
@@ -521,7 +526,7 @@ private String getJVML(Type type) {
new GenericVisitorAdapter() {
@Override
public String visit(ClassOrInterfaceType type, Void v) {
- String typeName = type.getName();
+ String typeName = type.getNameAsString();
String name = resolve(typeName);
if (name == null) {
// could be defined in the same stub file
@@ -533,21 +538,21 @@ public String visit(ClassOrInterfaceType type, Void v) {
@Override
public String visit(PrimitiveType type, Void v) {
switch (type.getType()) {
- case Boolean:
+ case BOOLEAN:
return "Z";
- case Byte:
+ case BYTE:
return "B";
- case Char:
+ case CHAR:
return "C";
- case Double:
+ case DOUBLE:
return "D";
- case Float:
+ case FLOAT:
return "F";
- case Int:
+ case INT:
return "I";
- case Long:
+ case LONG:
return "J";
- case Short:
+ case SHORT:
return "S";
default:
throw new IllegalArgumentException(
@@ -557,9 +562,9 @@ public String visit(PrimitiveType type, Void v) {
@Override
public String visit(ReferenceType type, Void v) {
- String typeName = type.getType().accept(this, null);
+ String typeName = type.getElementType().accept(this, null);
StringBuilder sb = new StringBuilder();
- int n = type.getArrayCount();
+ int n = type.getArrayLevel();
for (int i = 0; i < n; i++) {
sb.append("[");
}
@@ -574,7 +579,7 @@ public String visit(VoidType type, Void v) {
@Override
public String visit(WildcardType type, Void v) {
- return type.getSuper().accept(this, null);
+ return type.getSuperType().get().accept(this, null);
}
},
null);
@@ -624,8 +629,8 @@ private String resolve(String className) {
/**
* Combines an import with a name, yielding a fully-qualified name.
*
- * @param prefix name of imported package
- * @param base name of class, possibly qualified
+ * @param importName package name; for an inner class, it should include the outer class
+ * @param className the class name
* @return fully qualified class name if resolution succeeds, null otherwise
*/
private static String mergeImport(String importName, String className) {
diff --git a/framework/src/org/checkerframework/framework/test/TypecheckResult.java b/framework/src/org/checkerframework/framework/test/TypecheckResult.java
index c4836d63081..072f3556165 100644
--- a/framework/src/org/checkerframework/framework/test/TypecheckResult.java
+++ b/framework/src/org/checkerframework/framework/test/TypecheckResult.java
@@ -130,10 +130,9 @@ public String summarize() {
}
}
- summaryBuilder.append(
- "While type-checking "
- + TestUtilities.summarizeSourceFiles(
- configuration.getTestSourceFiles()));
+ summaryBuilder
+ .append("While type-checking ")
+ .append(TestUtilities.summarizeSourceFiles(configuration.getTestSourceFiles()));
return summaryBuilder.toString();
}
diff --git a/framework/tests/aliasing/stubfile.astub b/framework/tests/aliasing/stubfile.astub
index b593bf43a37..cb5a0b93333 100644
--- a/framework/tests/aliasing/stubfile.astub
+++ b/framework/tests/aliasing/stubfile.astub
@@ -6,7 +6,7 @@ class String {
class StringBuffer {
@Unique StringBuffer();
- StringBuffer append(@NonLeaked String s) @LeakedToResult;
+ StringBuffer append(@LeakedToResult StringBuffer this, @NonLeaked String s);
}
class Exception {
diff --git a/framework/tests/annotationclassloader/Makefile b/framework/tests/annotationclassloader/Makefile
index c0618bceae1..ba0620237d0 100644
--- a/framework/tests/annotationclassloader/Makefile
+++ b/framework/tests/annotationclassloader/Makefile
@@ -14,6 +14,8 @@ PROJECTDIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
FRAMEWORKJAR := $(PROJECTDIR)/../../dist/framework.jar
+STUBPARSERJAR := $(PROJECTDIR)/../../../framework/lib/javaparser-core.jar
+
# When called by the ant tests, JAVACJAR is defined as ${jsr308.langtools.dist}/lib/javac.jar
# When executed as a demo, we'll use javac.jar located in a directory structure
# which assumes that the jsr308-langtools project is located in the same
@@ -23,7 +25,6 @@ JAVACJAR ?= $(PROJECTDIR)/../../../../jsr308-langtools/dist/lib/javac.jar
# build directories
DATAFLOWBUILD := $(PROJECTDIR)/../../../dataflow/build/
JAVACUTILBUILD := $(PROJECTDIR)/../../../javacutil/build/
-STUBPARSERBUILD := $(PROJECTDIR)/../../../stubparser/build/
FRAMEWORKBUILD := $(PROJECTDIR)/../../build/
all: load-from-dir-test load-from-jar-test
@@ -34,7 +35,7 @@ all: load-from-dir-test load-from-jar-test
demo1:
@echo "***** This command is expected to produce an error on line 7:"
$(JAVAC) \
- -J-Xbootclasspath/p:$(DATAFLOWBUILD):$(JAVACUTILBUILD):$(STUBPARSERBUILD):$(FRAMEWORKBUILD):$(JAVACJAR) \
+ -J-Xbootclasspath/p:$(DATAFLOWBUILD):$(JAVACUTILBUILD):$(STUBPARSERJAR):$(FRAMEWORKBUILD):$(JAVACJAR) \
-classpath $(PROJECTDIR) \
-processor org.checkerframework.common.aliasing.AliasingChecker \
-Anomsgtext \
@@ -46,7 +47,7 @@ demo1:
demo2:
@echo "***** This command is expected to produce an error on line 7:"
$(JAVAC) \
- -J-Xbootclasspath/p:$(FRAMEWORKJAR):$(JAVACJAR) \
+ -J-Xbootclasspath/p:$(FRAMEWORKJAR):$(STUBPARSERJAR):$(JAVACJAR) \
-classpath :$(PROJECTDIR) \
-processor org.checkerframework.common.aliasing.AliasingChecker \
-Anomsgtext \
@@ -59,7 +60,7 @@ demo2:
# loads from build directories
load-from-dir-test:
$(JAVAC) \
- -J-Xbootclasspath/p:$(DATAFLOWBUILD):$(JAVACUTILBUILD):$(STUBPARSERBUILD):$(FRAMEWORKBUILD):$(JAVACJAR) \
+ -J-Xbootclasspath/p:$(DATAFLOWBUILD):$(JAVACUTILBUILD):$(STUBPARSERJAR):$(FRAMEWORKBUILD):$(JAVACJAR) \
-classpath $(PROJECTDIR) \
-processor org.checkerframework.common.aliasing.AliasingChecker \
-Anomsgtext \
@@ -72,7 +73,7 @@ load-from-dir-test:
# loads from framework.jar
load-from-jar-test:
$(JAVAC) \
- -J-Xbootclasspath/p:$(FRAMEWORKJAR):$(JAVACJAR) \
+ -J-Xbootclasspath/p:$(FRAMEWORKJAR):$(STUBPARSERJAR):$(JAVACJAR) \
-classpath $(PROJECTDIR) \
-processor org.checkerframework.common.aliasing.AliasingChecker \
-Anomsgtext \
diff --git a/framework/tests/reflection/reflection.astub b/framework/tests/reflection/reflection.astub
index 940e65f4bb5..9d218b0ee44 100644
--- a/framework/tests/reflection/reflection.astub
+++ b/framework/tests/reflection/reflection.astub
@@ -4,10 +4,10 @@ package java.lang.reflect;
class Method {
- @Top Object invoke(@ReflectBottom Object obj, @ReflectBottom Object @ReflectBottom [] args) @Top;
+ @Top Object invoke(@Top Method this, @ReflectBottom Object obj, @ReflectBottom Object @ReflectBottom [] args);
}
class Constructor {
- @Top Object newInstance(@ReflectBottom Object obj, @ReflectBottom Object @ReflectBottom [] args) @Top;
+ @Top Object newInstance(@Top Constructor this, @ReflectBottom Object obj, @ReflectBottom Object @ReflectBottom [] args);
}
diff --git a/javacutil/src/org/checkerframework/javacutil/ElementUtils.java b/javacutil/src/org/checkerframework/javacutil/ElementUtils.java
index 4abfa86cb77..4bde2eb39ac 100644
--- a/javacutil/src/org/checkerframework/javacutil/ElementUtils.java
+++ b/javacutil/src/org/checkerframework/javacutil/ElementUtils.java
@@ -430,6 +430,13 @@ public static List getAllMethodsIn(Elements elements, TypeEle
return Collections.unmodifiableList(meths);
}
+ /** Return all nested/inner classes/interfaces declared in the given type. */
+ public static List getAllTypeElementsIn(TypeElement type) {
+ List types = new ArrayList<>();
+ types.addAll(ElementFilter.typesIn(type.getEnclosedElements()));
+ return types;
+ }
+
public static boolean isTypeDeclaration(Element elt) {
switch (elt.getKind()) {
// These tree kinds are always declarations. Uses of the declared
diff --git a/stubparser/.classpath b/stubparser/.classpath
deleted file mode 100644
index bdb2412f2ca..00000000000
--- a/stubparser/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/stubparser/.project b/stubparser/.project
deleted file mode 100644
index 81a63768367..00000000000
--- a/stubparser/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- stubparser
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/stubparser/LICENSE b/stubparser/LICENSE
deleted file mode 100644
index 012ddda7574..00000000000
--- a/stubparser/LICENSE
+++ /dev/null
@@ -1,6 +0,0 @@
-JavaParser is available either under the terms of the LGPL License or the Apache License. You as the user are entitled to choose the terms under which to adopt JavaParser.
-
-For details about the LGPL License please refer to LICENSE.LGPL. Please note
-that LGPL is just an extension to GPL, located in LICENSE.GPL.
-
-For details about the Apache License please refer to LICENSE.APACHE
diff --git a/stubparser/LICENSE.APACHE b/stubparser/LICENSE.APACHE
deleted file mode 100644
index d6456956733..00000000000
--- a/stubparser/LICENSE.APACHE
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/stubparser/LICENSE.GPL b/stubparser/LICENSE.GPL
deleted file mode 100644
index fb1a1b0ba7e..00000000000
--- a/stubparser/LICENSE.GPL
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- Java 1.5 japa.parser and Abstract Syntax Tree
- Copyright (C) 2007 J�lio Vilmar Gesser
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Java 1.5 japa.parser and Abstract Syntax Tree Copyright (C) 2007 J�lio Vilmar Gesser
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/stubparser/LICENSE.LGPL b/stubparser/LICENSE.LGPL
deleted file mode 100644
index b87303c39a7..00000000000
--- a/stubparser/LICENSE.LGPL
+++ /dev/null
@@ -1,165 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/stubparser/README b/stubparser/README
deleted file mode 100644
index 684a5c1e5d1..00000000000
--- a/stubparser/README
+++ /dev/null
@@ -1,25 +0,0 @@
-stubparser
-__________
-
-A JSR-308-conforming Java parser with AST generation and visitor support.
-The project is based on javaparser (http://javaparser.github.io/javaparser/).
-
-The project branched off of javaparser 1.0.7, available at:
- http://code.google.com/p/javaparser/downloads/list
-
-Known Issues:
-- does not parse annotations on new class or new array expressions
-- uses the old receiver parameter syntax, must be adapted
-- This is only a Java 1.5 parser, ideally we would update to a more recent
- version that supports Java 8. This is low priority because users are
- encouraged to use annotated libraries rather than stub files.
-
--------------------------------------------------------------------------
-To modify and rebuild the parser, install javacc (the Java Compiler
-Compiler, available from http://javacc.java.net/), edit the grammar
-in src/japa/parser/java_1_5.jj, and rebuild the parser:
- cd src/java/parser
- javacc java_1_5.jj
-
-When debugging parser changes, the -debug_parser option is helpful. It
-provides extensive debug output about what parses are attempted.
diff --git a/stubparser/build.properties b/stubparser/build.properties
deleted file mode 100644
index cc16487468e..00000000000
--- a/stubparser/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-## This is a configuration file for use by Ant when building the
-## Checker Framework.
diff --git a/stubparser/build.xml b/stubparser/build.xml
deleted file mode 100644
index 6d1cd64a520..00000000000
--- a/stubparser/build.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
- Builds the Java parser for Checker Framework stub files.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/stubparser/readme.txt b/stubparser/readme.txt
deleted file mode 100644
index b6b17833b2f..00000000000
--- a/stubparser/readme.txt
+++ /dev/null
@@ -1,150 +0,0 @@
-+-------------------------------------------------------------------------------+
-| Java 1.5 parser and Abstract Syntax Tree. |
-+-------------------------------------------------------------------------------+
-| Copyright (C) 2007 Júlio Vilmar Gesser |
-| jgesser@gmail.com |
-| http://code.google.com/p/javaparser/ |
-+-------------------------------------------------------------------------------+
-| This program 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. |
-| |
-| This program 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. |
-| |
-| You should have received a copy of the GNU Lesser General Public License |
-| along with this program. If not, see . |
-+-------------------------------------------------------------------------------+
-
-This package contains a Java 1.5 Parser with AST generation and visitor support.
-The AST records the source code structure, javadoc and comments. Soon will be
-possible change the AST nodes or create new ones to modify source code like refactoring.
-This parser is based on Sreenivasa Viswanadha Java 1.5 parser.
-
-Visit the project site, there you can get help, view some sample codes, report
-bugs and feature enhacement and download the latest version:
- http://code.google.com/p/javaparser/
-
-
-Version history
----------------
-
-1.0.8 (2010-01-17)
-- Fixed issues:
- - Issue 17: A refactor suggestion for AnnotationExpr and its subclasses
- - Issue 21: Java 5 JavaParser compiled JARs
- - Issue 22: Please use java.lang.reflect.Modifier constants in cfjapa.parser.ast.body.ModifierSet
- - Issue 27: Implement the "equal" method
- - Issue 30: equals and hashCode methods
-
-1.0.7 (2009-04-12)
-- Issue 19 fixed:
-- Tests changed to run with junit 4
-
-1.0.6 (2009-01-11)
-- Issue 11 fixed: changed method get/setPakage to get/setPackage in the class CompilationUnit
-- Created new visitor adapter to help AST modification: ModifierVisitorAdapter
-- Changed visitor adapters to abstract
-
-1.0.5 (2008-10-26)
-- Created simplified constructors in the nodes of the AST (without positional arguments)
-- Created ASTHelper class with some helpful methods (more methods are still needed)
-
-1.0.4 (2008-10-07)
-- Moved to javacc 4.1.
-- The java_1_5.jj can be build alone without compilation errors
-
-1.0.3 (2008-09-06)
-- Removed SuperMemberAccessExpr class, it was no longer used
-- Removed the methods get/setTypeArgs() from ArrayCreationExpr, this node shouldn't have these methods.
-- Fixed the bug with start/end position of the nodes IntegerLiteralMinValueExpr and LongLiteralMinValueExpr
-- The methods get/setAnnotations() from all BodyDeclaration subclasses were pushed down to BodyDeclaration class
-
-1.0.2 (2008-07-20)
- Issue fixed: Issue 1: Add support for editing AST nodes or create new ones
-
-1.0.1 (2008-07-01)
-- Issue fixed: Issue 5: end line and end column equal to begin line and begin column
-
-1.0.0 (2008-06-25)
-- Changed version numbering, starting version 1.0.0
-- Javadoc done for packages:
- - cfjapa.parser
- - cfjapa.parser.ast
-- Corrected bug when parsing in multithread:
- - JavaParser.setCacheParser(false) must be called before to use the parser concurrent
-
-2008-06-19
-- No code changes, added binary distribution to download page
-
-2008-06-11
-- Bug corrected: NPE in VoidVisitorAdapter
- - http://code.google.com/p/javaparser/issues/detail?id=2
-
-2008-06-09
-- Added Adapters for de visitors
-
-2008-05-28
-- This project now is published at Google Code:
- - http://code.google.com/p/javaparser/
-
-2008-05-25
-- Added support for comments and javadoc to the tree.
- - Javadocs are stored directly to members (BodyDeclaration and all deriveds (classes, methods, fields, etc.)), accessible by the method getJavadoc().
- - All comments are stored in the CompilationUnit, accessible by the method getComments().
-
-2008-04-01
-- Changed all nodes public attributes to be private and created getters to access them
-- Changed the methods of the Node getLine e getColumn to getBeginLine and getBeginColumn
-- Added the methods getEndLine and getEndColumn to the Node class (works only in the BlockNode)
-
-2007-12-22
-- Corrected ConditionalExpression bug
-
-2007-10-21
-- Added LGPL License
-
-2007-10-21
-- Bugs corrected:
- - Created PackageDeclaration member of CompilationUnit to add suport for annotations in the package declaration
- - Parameterized anonymous constructor invocation
- - Explicit constructor invotation Type Arguments
- - ctrl+z ("\u001A") ar end of compilation unit
-
-2007-10-09
-- EnumConstantDeclaration annotation support corrected
-- Parssing Java Unicode escape characters suport added
-
-2007-10-03
-- Bug corrected: "MotifComboPopup.this.super()" statement was generating parser error
-
-2007-10-01
-- Bug corrected: Casting signed primitive values
- double d = (double) -1;
- ^
-
-2007-08-06
-- Bug with the ingle line comments in the final of the unit corrected
-
-2007-07-31
-- Fixed the bug with the following expression:
- Class c = (int.class);
-
-2007-06-26
-- Bug fixes from Leon Poyyayil work
- - suport for hex floating point
- - unicode digits in indentifier
- - MemberValueArrayInitializer
-
-2007-03-09
-- Long and Integer literal MIN_VALUE bug
-
-2007-02-24
-- '\0' bug fixed
-
-2007-02-01
-- Many bug fixes
-- Added line/column to nodes
diff --git a/stubparser/src/org/checkerframework/stubparser/ASTHelper.java b/stubparser/src/org/checkerframework/stubparser/ASTHelper.java
deleted file mode 100644
index 39c27862169..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ASTHelper.java
+++ /dev/null
@@ -1,258 +0,0 @@
-package org.checkerframework.stubparser;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.checkerframework.stubparser.ast.CompilationUnit;
-import org.checkerframework.stubparser.ast.body.BodyDeclaration;
-import org.checkerframework.stubparser.ast.body.FieldDeclaration;
-import org.checkerframework.stubparser.ast.body.MethodDeclaration;
-import org.checkerframework.stubparser.ast.body.Parameter;
-import org.checkerframework.stubparser.ast.body.TypeDeclaration;
-import org.checkerframework.stubparser.ast.body.VariableDeclarator;
-import org.checkerframework.stubparser.ast.body.VariableDeclaratorId;
-import org.checkerframework.stubparser.ast.expr.Expression;
-import org.checkerframework.stubparser.ast.expr.MethodCallExpr;
-import org.checkerframework.stubparser.ast.expr.NameExpr;
-import org.checkerframework.stubparser.ast.expr.QualifiedNameExpr;
-import org.checkerframework.stubparser.ast.expr.VariableDeclarationExpr;
-import org.checkerframework.stubparser.ast.stmt.BlockStmt;
-import org.checkerframework.stubparser.ast.stmt.ExpressionStmt;
-import org.checkerframework.stubparser.ast.stmt.Statement;
-import org.checkerframework.stubparser.ast.type.ClassOrInterfaceType;
-import org.checkerframework.stubparser.ast.type.PrimitiveType;
-import org.checkerframework.stubparser.ast.type.ReferenceType;
-import org.checkerframework.stubparser.ast.type.Type;
-import org.checkerframework.stubparser.ast.type.VoidType;
-import org.checkerframework.stubparser.ast.type.PrimitiveType.Primitive;
-
-/**
- * This class helps to construct new nodes.
- *
- * @author Julio Vilmar Gesser
- */
-public final class ASTHelper {
-
- public static final PrimitiveType BYTE_TYPE = new PrimitiveType(Primitive.Byte);
-
- public static final PrimitiveType SHORT_TYPE = new PrimitiveType(Primitive.Short);
-
- public static final PrimitiveType INT_TYPE = new PrimitiveType(Primitive.Int);
-
- public static final PrimitiveType LONG_TYPE = new PrimitiveType(Primitive.Long);
-
- public static final PrimitiveType FLOAT_TYPE = new PrimitiveType(Primitive.Float);
-
- public static final PrimitiveType DOUBLE_TYPE = new PrimitiveType(Primitive.Double);
-
- public static final PrimitiveType BOOLEAN_TYPE = new PrimitiveType(Primitive.Boolean);
-
- public static final PrimitiveType CHAR_TYPE = new PrimitiveType(Primitive.Char);
-
- public static final VoidType VOID_TYPE = new VoidType();
-
- private ASTHelper() {
- // nop
- }
-
- /**
- * Creates a new {@link NameExpr} from a qualified name.
- * The qualified name can contains "." (dot) characters.
- *
- * @param qualifiedName
- * qualified name
- * @return instanceof {@link NameExpr}
- */
- public static NameExpr createNameExpr(String qualifiedName) {
- String[] split = qualifiedName.split("\\.");
- NameExpr ret = new NameExpr(split[0]);
- for (int i = 1; i < split.length; i++) {
- ret = new QualifiedNameExpr(ret, split[i]);
- }
- return ret;
- }
-
- /**
- * Creates a new {@link Parameter}.
- *
- * @param type
- * type of the parameter
- * @param name
- * name of the parameter
- * @return instance of {@link Parameter}
- */
- public static Parameter createParameter(Type type, String name) {
- return new Parameter(type, new VariableDeclaratorId(name));
- }
-
- /**
- * Creates a {@link FieldDeclaration}.
- *
- * @param modifiers
- * modifiers
- * @param type
- * type
- * @param variable
- * variable declarator
- * @return instance of {@link FieldDeclaration}
- */
- public static FieldDeclaration createFieldDeclaration(int modifiers, Type type, VariableDeclarator variable) {
- List variables = new ArrayList();
- variables.add(variable);
- FieldDeclaration ret = new FieldDeclaration(modifiers, type, variables);
- return ret;
- }
-
- /**
- * Creates a {@link FieldDeclaration}.
- *
- * @param modifiers
- * modifiers
- * @param type
- * type
- * @param name
- * field name
- * @return instance of {@link FieldDeclaration}
- */
- public static FieldDeclaration createFieldDeclaration(int modifiers, Type type, String name) {
- VariableDeclaratorId id = new VariableDeclaratorId(name);
- VariableDeclarator variable = new VariableDeclarator(id);
- return createFieldDeclaration(modifiers, type, variable);
- }
-
- /**
- * Creates a {@link VariableDeclarationExpr}.
- *
- * @param type
- * type
- * @param name
- * name
- * @return instance of {@link VariableDeclarationExpr}
- */
- public static VariableDeclarationExpr createVariableDeclarationExpr(Type type, String name) {
- List vars = new ArrayList();
- vars.add(new VariableDeclarator(new VariableDeclaratorId(name)));
- return new VariableDeclarationExpr(type, vars);
- }
-
- /**
- * Adds the given parameter to the method. The list of parameters will be
- * initialized if it is {@code null}.
- *
- * @param method
- * method
- * @param parameter
- * parameter
- */
- public static void addParameter(MethodDeclaration method, Parameter parameter) {
- List parameters = method.getParameters();
- if (parameters == null) {
- parameters = new ArrayList();
- method.setParameters(parameters);
- }
- parameters.add(parameter);
- }
-
- /**
- * Adds the given argument to the method call. The list of arguments will be
- * initialized if it is {@code null}.
- *
- * @param call
- * method call
- * @param arg
- * argument value
- */
- public static void addArgument(MethodCallExpr call, Expression arg) {
- List args = call.getArgs();
- if (args == null) {
- args = new ArrayList();
- call.setArgs(args);
- }
- args.add(arg);
- }
-
- /**
- * Adds the given type declaration to the compilation unit. The list of
- * types will be initialized if it is {@code null}.
- *
- * @param cu
- * compilation unit
- * @param type
- * type declaration
- */
- public static void addTypeDeclaration(CompilationUnit cu, TypeDeclaration type) {
- List types = cu.getTypes();
- if (types == null) {
- types = new ArrayList();
- cu.setTypes(types);
- }
- types.add(type);
-
- }
-
- /**
- * Creates a new {@link ReferenceType} for a class or interface.
- *
- * @param name
- * name of the class or interface
- * @param arrayCount
- * number os arrays or {@code 0} if is not a array.
- * @return instanceof {@link ReferenceType}
- */
- public static ReferenceType createReferenceType(String name, int arrayCount) {
- return new ReferenceType(new ClassOrInterfaceType(name), arrayCount);
- }
-
- /**
- * Creates a new {@link ReferenceType} for the given primitive type.
- *
- * @param type
- * primitive type
- * @param arrayCount
- * number os arrays or {@code 0} if is not a array.
- * @return instanceof {@link ReferenceType}
- */
- public static ReferenceType createReferenceType(PrimitiveType type, int arrayCount) {
- return new ReferenceType(type, arrayCount);
- }
-
- /**
- * Adds the given statement to the specified block. The list of statements
- * will be initialized if it is {@code null}.
- */
- public static void addStmt(BlockStmt block, Statement stmt) {
- List stmts = block.getStmts();
- if (stmts == null) {
- stmts = new ArrayList();
- block.setStmts(stmts);
- }
- stmts.add(stmt);
- }
-
- /**
- * Adds the given expression to the specified block. The list of statements
- * will be initialized if it is {@code null}.
- */
- public static void addStmt(BlockStmt block, Expression expr) {
- addStmt(block, new ExpressionStmt(expr));
- }
-
- /**
- * Adds the given declaration to the specified type. The list of members
- * will be initialized if it is {@code null}.
- *
- * @param type
- * type declaration
- * @param decl
- * member declaration
- */
- public static void addMember(TypeDeclaration type, BodyDeclaration decl) {
- List members = type.getMembers();
- if (members == null) {
- members = new ArrayList();
- type.setMembers(members);
- }
- members.add(decl);
- }
-
-}
diff --git a/stubparser/src/org/checkerframework/stubparser/ASTParser.java b/stubparser/src/org/checkerframework/stubparser/ASTParser.java
deleted file mode 100644
index febb4e7d1d1..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ASTParser.java
+++ /dev/null
@@ -1,8536 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ASTParser.java */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-import java.io.*;
-import java.util.*;
-
-import org.checkerframework.stubparser.ast.*;
-import org.checkerframework.stubparser.ast.body.*;
-import org.checkerframework.stubparser.ast.expr.*;
-import org.checkerframework.stubparser.ast.stmt.*;
-import org.checkerframework.stubparser.ast.type.*;
-
-/**
- *
This class was generated automatically by javacc, do not edit.
- * @author Júlio Vilmar Gesser
- */
-final class ASTParser implements ASTParserConstants {
-
- void reset(InputStream in, String encoding) {
- ReInit(in, encoding);
- token_source.clearComments();
- }
-
- 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 static 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 pushJavadoc() {
- token_source.pushJavadoc();
- }
-
- private JavadocComment popJavadoc() {
- return token_source.popJavadoc();
- }
-
- private List getComments() {
- return token_source.getComments();
- }
-
- 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;
- }
-
- 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);
- }
- }
-
-/*****************************************
- * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
- *****************************************/
- final public IndexUnit IndexUnit() throws ParseException {
- /* Actual Type */
- List compilationUnits = new LinkedList();
- CompilationUnit cu;
-
- /* Parsing the compilation unit itself */
- 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) {
- if (jj_2_2(2147483647)) {
- ;
- } else {
- break label_2;
- }
- tn = TypeDeclaration();
- if (line==-1){line = tn.getBeginLine(); column = tn.getBeginColumn();} types = add(types, tn);
- }
- cu = new CompilationUnit(line == -1 ? 0 : line, column, token.endLine, token.endColumn,pakage, imports, types, getComments());
- compilationUnits.add(cu);
- label_3:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case PACKAGE:
- case AT:
- ;
- break;
- default:
- jj_la1[1] = jj_gen;
- break label_3;
- }
- pakage = PackageDeclaration();
- line = pakage.getBeginLine(); column = pakage.getBeginColumn(); imports = new LinkedList(); types = new LinkedList();
- label_4:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IMPORT:
- ;
- break;
- default:
- jj_la1[2] = jj_gen;
- break label_4;
- }
- in = ImportDeclaration();
- if (line==-1){line = in.getBeginLine(); column = in.getBeginColumn();} imports = add(imports, in);
- }
- label_5:
- while (true) {
- if (jj_2_3(2147483647)) {
- ;
- } else {
- break label_5;
- }
- tn = TypeDeclaration();
- if (line==-1){line = tn.getBeginLine(); column = tn.getBeginColumn();} types = add(types, tn);
- }
- cu = new CompilationUnit(line == -1 ? 0 : line, column, token.endLine, token.endColumn,pakage, imports, types, getComments());
- compilationUnits.add(cu);
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case 0:
- jj_consume_token(0);
- break;
- case 128:
- jj_consume_token(128);
- break;
- default:
- jj_la1[3] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return new IndexUnit(compilationUnits);}
- throw new Error("Missing return statement in function");
- }
-
-/*
- * 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_4(2147483647)) {
- pakage = PackageDeclaration();
- line = pakage.getBeginLine(); column = pakage.getBeginColumn();
- } else {
- ;
- }
- label_6:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IMPORT:
- ;
- break;
- default:
- jj_la1[4] = jj_gen;
- break label_6;
- }
- in = ImportDeclaration();
- if (line==-1){line = in.getBeginLine(); column = in.getBeginColumn();} imports = add(imports, in);
- }
- label_7:
- while (true) {
- if (jj_2_5(2147483647)) {
- ;
- } else {
- break label_7;
- }
- 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 128:
- jj_consume_token(128);
- break;
- default:
- jj_la1[5] = 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, getComments());}
- 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_8:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case AT:
- ;
- break;
- default:
- jj_la1[6] = jj_gen;
- break label_8;
- }
- 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[7] = 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[8] = 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_9:
- while (true) {
- if (jj_2_6(2)) {
- ;
- } else {
- break label_9;
- }
- 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[9] = 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;
- pushJavadoc();
- 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, popJavadoc());
- 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[10] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- default:
- jj_la1[11] = 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;
- String 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[12] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- if (line == -1) {line=token.beginLine; column=token.beginColumn;}
- jj_consume_token(IDENTIFIER);
- name = token.image;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typePar = TypeParameters();
- typePar.remove(0);
- break;
- default:
- jj_la1[13] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case EXTENDS:
- extList = ExtendsList(isInterface);
- break;
- default:
- jj_la1[14] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IMPLEMENTS:
- impList = ImplementsList(isInterface);
- break;
- default:
- jj_la1[15] = jj_gen;
- ;
- }
- members = ClassOrInterfaceBody(isInterface);
- {if (true) return new ClassOrInterfaceDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, isInterface, name, typePar, extList, impList, members);}
- 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;
- jj_consume_token(EXTENDS);
- cit = ClassOrInterfaceType();
- ret.add(cit);
- label_10:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[16] = jj_gen;
- break label_10;
- }
- 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;
- jj_consume_token(IMPLEMENTS);
- cit = ClassOrInterfaceType();
- ret.add(cit);
- label_11:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[17] = jj_gen;
- break label_11;
- }
- 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 {
- String 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;}
- jj_consume_token(IDENTIFIER);
- name = token.image;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IMPLEMENTS:
- impList = ImplementsList(false);
- break;
- default:
- jj_la1[18] = 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_12:
- while (true) {
- if (jj_2_7(2)) {
- ;
- } else {
- break label_12;
- }
- jj_consume_token(COMMA);
- entry = EnumConstantDeclaration();
- entries.add(entry);
- }
- break;
- default:
- jj_la1[19] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- jj_consume_token(COMMA);
- break;
- default:
- jj_la1[20] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case SEMICOLON:
- jj_consume_token(SEMICOLON);
- label_13:
- 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 VOID:
- case VOLATILE:
- case IDENTIFIER:
- case LBRACE:
- case SEMICOLON:
- case AT:
- case LT:
- ;
- break;
- default:
- jj_la1[21] = jj_gen;
- break label_13;
- }
- member = ClassOrInterfaceBodyDeclaration(false);
- members = add(members, member);
- }
- break;
- default:
- jj_la1[22] = jj_gen;
- ;
- }
- jj_consume_token(RBRACE);
- {if (true) return new EnumDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, name, impList, entries, members);}
- 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;
- pushJavadoc();
- label_14:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case AT:
- ;
- break;
- default:
- jj_la1[23] = jj_gen;
- break label_14;
- }
- 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[24] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACE:
- classBody = ClassOrInterfaceBody(false);
- break;
- default:
- jj_la1[25] = jj_gen;
- ;
- }
- {if (true) return new EnumConstantDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), annotations, name, args, classBody);}
- throw new Error("Missing return statement in function");
- }
-
- final public List TypeParameters() throws ParseException {
- List ret = new LinkedList();
- TypeParameter tp;
- jj_consume_token(LT);
- ret.add(new int[]{token.beginLine, token.beginColumn});
- tp = TypeParameter();
- ret.add(tp);
- label_15:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[26] = jj_gen;
- break label_15;
- }
- jj_consume_token(COMMA);
- tp = TypeParameter();
- ret.add(tp);
- }
- 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 annotations = null;
- List typeBound = null;
- int line;
- int column;
- annotations = Annotationsopt();
- 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[27] = jj_gen;
- ;
- }
- {if (true) return new TypeParameter(line, column, token.endLine, token.endColumn, name, annotations, typeBound);}
- throw new Error("Missing return statement in function");
- }
-
- final public List TypeBound() throws ParseException {
- List ret = new LinkedList();
- ClassOrInterfaceType cit;
- jj_consume_token(EXTENDS);
- cit = ClassOrInterfaceType();
- ret.add(cit);
- label_16:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case BIT_AND:
- ;
- break;
- default:
- jj_la1[28] = jj_gen;
- break label_16;
- }
- jj_consume_token(BIT_AND);
- cit = ClassOrInterfaceType();
- ret.add(cit);
- }
- {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_17:
- 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 VOID:
- case VOLATILE:
- case IDENTIFIER:
- case LBRACE:
- case SEMICOLON:
- case AT:
- case LT:
- ;
- break;
- default:
- jj_la1[29] = jj_gen;
- break label_17;
- }
- 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;
- BodyDeclaration ret;
- pushJavadoc();
- if (jj_2_10(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 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 CLASS:
- case INTERFACE:
- ret = ClassOrInterfaceDeclaration(modifier);
- break;
- case ENUM:
- ret = EnumDeclaration(modifier);
- break;
- case AT:
- ret = AnnotationTypeDeclaration(modifier);
- break;
- default:
- jj_la1[30] = jj_gen;
- if (jj_2_8(2147483647)) {
- ret = ConstructorDeclaration(modifier);
- } else if (jj_2_9(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 AT:
- case LT:
- ret = MethodDeclaration(modifier);
- break;
- default:
- jj_la1[31] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- }
- break;
- case SEMICOLON:
- jj_consume_token(SEMICOLON);
- ret = new EmptyMemberDeclaration(token.beginLine, token.beginColumn, token.endLine, token.endColumn, popJavadoc());
- break;
- default:
- jj_la1[32] = 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 = UnType();
- val = VariableDeclarator();
- variables.add(val);
- label_18:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[33] = jj_gen;
- break label_18;
- }
- 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(); }
- type.setAnnotations(modifier.annotations);
- {if (true) return new FieldDeclaration(line, column, token.endLine, token.endColumn, popJavadoc(), modifier.modifiers, null, 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[34] = 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_19:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACKET:
- ;
- break;
- default:
- jj_la1[35] = jj_gen;
- break label_19;
- }
- 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[36] = 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_20:
- while (true) {
- if (jj_2_11(2)) {
- ;
- } else {
- break label_20;
- }
- jj_consume_token(COMMA);
- val = VariableInitializer();
- values = add(values, val);
- }
- break;
- default:
- jj_la1[37] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- jj_consume_token(COMMA);
- break;
- default:
- jj_la1[38] = 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;
- String name;
- List parameters;
- int arrayCount = 0;
- List annotations = null;
- List receiverAnnotations = null;
- 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[39] = jj_gen;
- ;
- }
- annotations = Annotationsopt();
- type = UnResultType();
- if (line==-1){line=type.getBeginLine(); column=type.getBeginColumn();}
- jj_consume_token(IDENTIFIER);
- name = token.image;
- parameters = FormalParameters();
- label_21:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACKET:
- ;
- break;
- default:
- jj_la1[40] = jj_gen;
- break label_21;
- }
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- arrayCount++;
- }
- receiverAnnotations = Annotationsopt();
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case THROWS:
- jj_consume_token(THROWS);
- throws_ = NameList();
- break;
- default:
- jj_la1[41] = 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[42] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- if (annotations == null) {
- annotations = modifier.annotations;
- } else if (modifier.annotations != null) {
- annotations.addAll(0, modifier.annotations);
- }
- type.setAnnotations(annotations);
- {if (true) return new MethodDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, null, typeParameters, type, name, parameters, arrayCount, receiverAnnotations, throws_, block);}
- 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_22:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[43] = jj_gen;
- break label_22;
- }
- jj_consume_token(COMMA);
- par = FormalParameter();
- ret = add(ret, par);
- }
- break;
- default:
- jj_la1[44] = jj_gen;
- ;
- }
- jj_consume_token(RPAREN);
- {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;
- List varArgAnnotations = null;
- VariableDeclaratorId id;
- modifier = Modifiers();
- type = UnType();
- if (jj_2_12(2147483647)) {
- varArgAnnotations = Annotationsopt();
- jj_consume_token(ELLIPSIS);
- isVarArg = true;
- } else {
- ;
- }
- id = VariableDeclaratorId();
- int line = modifier.beginLine;
- int column = modifier.beginColumn;
- if (line==-1){ line=type.getBeginLine(); column=type.getBeginColumn(); }
- type.setAnnotations(modifier.annotations);
- {if (true) return new Parameter(line, column, token.endLine, token.endColumn, modifier.modifiers, null, type, isVarArg, id);}
- throw new Error("Missing return statement in function");
- }
-
- final public ConstructorDeclaration ConstructorDeclaration(Modifier modifier) throws ParseException {
- List typeParameters = null;
- String name;
- List parameters;
- List receiverAnnotations;
- List throws_ = null;
- ExplicitConstructorInvocationStmt exConsInv = null;
- List stmts = null;
- 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[45] = jj_gen;
- ;
- }
- jj_consume_token(IDENTIFIER);
- name = token.image; if (line==-1){line=token.beginLine; column=token.beginColumn;}
- parameters = FormalParameters();
- receiverAnnotations = Annotationsopt();
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case THROWS:
- jj_consume_token(THROWS);
- throws_ = NameList();
- break;
- default:
- jj_la1[46] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACE:
- jj_consume_token(LBRACE);
- bbLine=token.beginLine; bbColumn=token.beginColumn;
- if (jj_2_13(2147483647)) {
- exConsInv = ExplicitConstructorInvocation();
- } else {
- ;
- }
- stmts = Statements();
- jj_consume_token(RBRACE);
- break;
- case SEMICOLON:
- jj_consume_token(SEMICOLON);
- break;
- default:
- jj_la1[47] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- if (exConsInv != null) {
- stmts = add(0, stmts, exConsInv);
- }
- {if (true) return new ConstructorDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, typeParameters, name, parameters, receiverAnnotations, throws_, new BlockStmt(bbLine, bbColumn, token.endLine, token.endColumn, stmts));}
- 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_15(2147483647)) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typeArgs = TypeArguments();
- int[] lineCol=(int[])typeArgs.remove(0); line=lineCol[0]; column=lineCol[1];
- break;
- default:
- jj_la1[48] = 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:
- if (jj_2_14(2147483647)) {
- expr = PrimaryExpressionWithoutSuperSuffix();
- jj_consume_token(DOT);
- line=expr.getBeginLine(); column=expr.getBeginColumn();
- } else {
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typeArgs = TypeArguments();
- int[] lineCol=(int[])typeArgs.remove(0); if (line == -1) {line=lineCol[0]; column=lineCol[1];}
- break;
- default:
- jj_la1[49] = 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[50] = 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_23:
- 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[51] = jj_gen;
- break label_23;
- }
- 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[52] = jj_gen;
- ;
- }
- block = Block();
- if (line==-1){line=block.getBeginLine(); column=block.getBeginColumn();}
- {if (true) return new InitializerDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), 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_16(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:
- case AT:
- ret = PrimitiveType();
- break;
- default:
- jj_la1[53] = 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;
- List arrayAnnotations = new LinkedList();
- List levelAnn;
- annotations = Annotationsopt();
- 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 = UnPrimitiveType();
- label_24:
- while (true) {
- levelAnn = Annotationsopt();
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- arrayCount++; arrayAnnotations.add(levelAnn);
- if (jj_2_17(2147483647)) {
- ;
- } else {
- break label_24;
- }
- }
- break;
- case IDENTIFIER:
- type = UnClassOrInterfaceType();
- label_25:
- while (true) {
- if (jj_2_18(2147483647)) {
- ;
- } else {
- break label_25;
- }
- levelAnn = Annotationsopt();
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- arrayCount++; arrayAnnotations.add(levelAnn);
- }
- break;
- default:
- jj_la1[54] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- ReferenceType ret = new ReferenceType(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type, arrayCount, arrayAnnotations);
- ret.setAnnotations(annotations);
- {if (true) return ret;}
- 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;
- annotations = Annotationsopt();
- jj_consume_token(IDENTIFIER);
- line=token.beginLine; column=token.beginColumn;
- name = token.image;
- if (jj_2_19(2)) {
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- } else {
- ;
- }
- ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,null, name, typeArgs);
- label_26:
- while (true) {
- if (jj_2_20(2)) {
- ;
- } else {
- break label_26;
- }
- jj_consume_token(DOT);
- jj_consume_token(IDENTIFIER);
- name = token.image;
- if (jj_2_21(2)) {
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- } else {
- ;
- }
- ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,ret, name, typeArgs);
- }
- ret.setAnnotations(annotations); {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public List TypeArguments() throws ParseException {
- List ret = new LinkedList();
- Type type;
- jj_consume_token(LT);
- ret.add(new int[]{token.beginLine, token.beginColumn});
- type = TypeArgument();
- ret.add(type);
- label_27:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[55] = jj_gen;
- break label_27;
- }
- jj_consume_token(COMMA);
- type = TypeArgument();
- ret.add(type);
- }
- jj_consume_token(GT);
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public Type TypeArgument() throws ParseException {
- Type ret;
- List annotations = new LinkedList();
- annotations = Annotationsopt();
- 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 = UnReferenceType();
- break;
- case HOOK:
- ret = UnWildcard();
- break;
- default:
- jj_la1[56] = 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;
- List annotations;
- annotations = Annotationsopt();
- 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);
- ext = ReferenceType();
- break;
- case SUPER:
- jj_consume_token(SUPER);
- sup = ReferenceType();
- break;
- default:
- jj_la1[57] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- default:
- jj_la1[58] = jj_gen;
- ;
- }
- WildcardType ret = new WildcardType(line, column, token.endLine, token.endColumn,ext, sup);
- ret.setAnnotations(annotations);
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public PrimitiveType PrimitiveType() throws ParseException {
- PrimitiveType ret;
- List annotations;
- annotations = Annotationsopt();
- 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[59] = 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 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:
- case AT:
- ret = Type();
- break;
- default:
- jj_la1[60] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
-/*
- * Unannotated Type, name and expression syntax follows.
- */
- final public Type UnType() throws ParseException {
- Type ret;
- if (jj_2_22(2)) {
- ret = UnReferenceType();
- } 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 = UnPrimitiveType();
- break;
- default:
- jj_la1[61] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public ReferenceType UnReferenceType() throws ParseException {
- Type type;
- int arrayCount = 0;
- List arrayAnnotations = new LinkedList();
- List levelAnn;
- 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 = UnPrimitiveType();
- label_28:
- while (true) {
- levelAnn = Annotationsopt();
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- arrayCount++; arrayAnnotations.add(levelAnn);
- if (jj_2_23(2147483647)) {
- ;
- } else {
- break label_28;
- }
- }
- break;
- case IDENTIFIER:
- type = UnClassOrInterfaceType();
- label_29:
- while (true) {
- if (jj_2_24(2147483647)) {
- ;
- } else {
- break label_29;
- }
- levelAnn = Annotationsopt();
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- arrayCount++; arrayAnnotations.add(levelAnn);
- }
- 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, arrayAnnotations);}
- throw new Error("Missing return statement in function");
- }
-
- final public ClassOrInterfaceType UnClassOrInterfaceType() throws ParseException {
- ClassOrInterfaceType ret;
- String name;
- List typeArgs = null;
- int line;
- int column;
- jj_consume_token(IDENTIFIER);
- line=token.beginLine; column=token.beginColumn;
- name = token.image;
- if (jj_2_25(2)) {
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- } else {
- ;
- }
- ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,null, name, typeArgs);
- label_30:
- while (true) {
- if (jj_2_26(2)) {
- ;
- } else {
- break label_30;
- }
- jj_consume_token(DOT);
- jj_consume_token(IDENTIFIER);
- name = token.image;
- if (jj_2_27(2)) {
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- } else {
- ;
- }
- ret = new ClassOrInterfaceType(line, column, token.endLine, token.endColumn,ret, name, typeArgs);
- }
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public PrimitiveType UnPrimitiveType() 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[63] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public WildcardType UnWildcard() throws ParseException {
- ReferenceType ext = null;
- ReferenceType sup = null;
- int line;
- int column;
- 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);
- ext = ReferenceType();
- break;
- case SUPER:
- jj_consume_token(SUPER);
- sup = ReferenceType();
- break;
- default:
- jj_la1[64] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- default:
- jj_la1[65] = 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 Type UnResultType() 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 = UnType();
- break;
- default:
- jj_la1[66] = 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_31:
- while (true) {
- if (jj_2_28(2)) {
- ;
- } else {
- break label_31;
- }
- 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 NameList() throws ParseException {
- List ret = new LinkedList();
- NameExpr name;
- name = Name();
- ret.add(name);
- label_32:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[67] = jj_gen;
- break label_32;
- }
- 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;
- ret = ConditionalExpression();
- if (jj_2_29(2)) {
- op = AssignmentOperator();
- value = Expression();
- ret = new AssignExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, value, op);
- } else {
- ;
- }
- {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[68] = 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[69] = 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_33:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case SC_OR:
- ;
- break;
- default:
- jj_la1[70] = jj_gen;
- break label_33;
- }
- 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_34:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case SC_AND:
- ;
- break;
- default:
- jj_la1[71] = jj_gen;
- break label_34;
- }
- 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_35:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case BIT_OR:
- ;
- break;
- default:
- jj_la1[72] = jj_gen;
- break label_35;
- }
- 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_36:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case XOR:
- ;
- break;
- default:
- jj_la1[73] = jj_gen;
- break label_36;
- }
- 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_37:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case BIT_AND:
- ;
- break;
- default:
- jj_la1[74] = jj_gen;
- break label_37;
- }
- 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_38:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case EQ:
- case NE:
- ;
- break;
- default:
- jj_la1[75] = jj_gen;
- break label_38;
- }
- 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[76] = 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[77] = 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_39:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- case LE:
- case GE:
- case GT:
- ;
- break;
- default:
- jj_la1[78] = jj_gen;
- break label_39;
- }
- 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[79] = 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_40:
- while (true) {
- if (jj_2_30(1)) {
- ;
- } else {
- break label_40;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LSHIFT:
- jj_consume_token(LSHIFT);
- op = BinaryExpr.Operator.lShift;
- break;
- default:
- jj_la1[80] = jj_gen;
- if (jj_2_31(1)) {
- RSIGNEDSHIFT();
- op = BinaryExpr.Operator.rSignedShift;
- } else if (jj_2_32(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_41:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case PLUS:
- case MINUS:
- ;
- break;
- default:
- jj_la1[81] = jj_gen;
- break label_41;
- }
- 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[82] = 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_42:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case STAR:
- case SLASH:
- case REM:
- ;
- break;
- default:
- jj_la1[83] = jj_gen;
- break label_42;
- }
- 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[84] = 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[85] = 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[86] = 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[87] = 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[88] = jj_gen;
- if (jj_2_33(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[89] = 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_34(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[90] = 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;
- jj_consume_token(LPAREN);
- line=token.beginLine; column=token.beginColumn;
- if (jj_2_35(2)) {
- type = PrimitiveType();
- jj_consume_token(RPAREN);
- ret = UnaryExpression();
- 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:
- case AT:
- type = ReferenceType();
- jj_consume_token(RPAREN);
- ret = UnaryExpressionNotPlusMinus();
- ret = new CastExpr(line, column, token.endLine, token.endColumn,type, ret);
- break;
- default:
- jj_la1[91] = 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_43:
- while (true) {
- if (jj_2_36(2)) {
- ;
- } else {
- break label_43;
- }
- 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_44:
- while (true) {
- if (jj_2_37(2147483647)) {
- ;
- } else {
- break label_44;
- }
- ret = PrimarySuffixWithoutSuper(ret);
- }
- {if (true) return ret;}
- throw new Error("Missing return statement in function");
- }
-
- final public Expression PrimaryPrefix() throws ParseException {
- Expression ret;
- String name;
- List typeArgs = null;
- List args = null;
- boolean hasArgs = false;
- Type type;
- int line;
- int column;
- 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);
- jj_consume_token(DOT);
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- break;
- default:
- jj_la1[92] = jj_gen;
- ;
- }
- jj_consume_token(IDENTIFIER);
- name = token.image;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LPAREN:
- args = Arguments();
- hasArgs=true;
- break;
- default:
- jj_la1[93] = jj_gen;
- ;
- }
- ret = hasArgs
- ? new MethodCallExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, typeArgs, name, args)
- : new FieldAccessExpr(ret.getBeginLine(), ret.getBeginColumn(), token.endLine, token.endColumn, ret, null, name);
- break;
- case LPAREN:
- jj_consume_token(LPAREN);
- line=token.beginLine; column=token.beginColumn;
- ret = Expression();
- jj_consume_token(RPAREN);
- ret = new EnclosedExpr(line, column, token.endLine, token.endColumn,ret);
- break;
- case NEW:
- ret = AllocationExpression(null);
- break;
- default:
- jj_la1[95] = jj_gen;
- if (jj_2_38(2147483647)) {
- type = UnResultType();
- jj_consume_token(DOT);
- jj_consume_token(CLASS);
- ret = new ClassExpr(type.getBeginLine(), type.getBeginColumn(), token.endLine, token.endColumn, type);
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case IDENTIFIER:
- jj_consume_token(IDENTIFIER);
- name = token.image; line=token.beginLine; column=token.beginColumn;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LPAREN:
- args = Arguments();
- hasArgs=true;
- break;
- default:
- jj_la1[94] = jj_gen;
- ;
- }
- ret = hasArgs
- ? new MethodCallExpr(line, column, token.endLine, token.endColumn, null, null, name, args)
- : new NameExpr(line, column, token.endLine, token.endColumn, name);
- break;
- default:
- jj_la1[96] = 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_39(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[97] = 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;
- String 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[100] = jj_gen;
- if (jj_2_40(2147483647)) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- break;
- default:
- jj_la1[98] = jj_gen;
- ;
- }
- jj_consume_token(IDENTIFIER);
- name = token.image;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LPAREN:
- args = Arguments();
- hasArgs=true;
- break;
- default:
- jj_la1[99] = jj_gen;
- ;
- }
- ret = hasArgs
- ? new MethodCallExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, name, args)
- : new FieldAccessExpr(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, typeArgs, 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(scope.getBeginLine(), scope.getBeginColumn(), token.endLine, token.endColumn, scope, ret);
- break;
- default:
- jj_la1[101] = 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[102] = 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[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 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[104] = 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_45:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[105] = jj_gen;
- break label_45;
- }
- 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;
- Type type;
- Object[] arr = null;
- List typeArgs = null;
- List anonymousBody = null;
- List args;
- int line;
- int column;
- jj_consume_token(NEW);
- if (scope==null) {line=token.beginLine; column=token.beginColumn;} else {line=scope.getBeginLine(); column=scope.getBeginColumn();}
- 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 = UnPrimitiveType();
- arr = ArrayDimsAndInits();
- if (arr[0] instanceof Integer) {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, ((Integer)arr[0]).intValue(), (ArrayInitializerExpr)arr[1]);
- } else {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, (List)arr[0], ((Integer)arr[1]).intValue());
- }
- break;
- case IDENTIFIER:
- case LT:
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LT:
- typeArgs = TypeArguments();
- typeArgs.remove(0);
- break;
- default:
- jj_la1[106] = jj_gen;
- ;
- }
- type = UnClassOrInterfaceType();
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACKET:
- arr = ArrayDimsAndInits();
- if (arr[0] instanceof Integer) {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, ((Integer)arr[0]).intValue(), (ArrayInitializerExpr)arr[1]);
- } else {
- ret = new ArrayCreationExpr(line, column, token.endLine, token.endColumn, type, (List)arr[0], ((Integer)arr[1]).intValue());
- }
- break;
- case LPAREN:
- args = Arguments();
- if (jj_2_41(2)) {
- anonymousBody = ClassOrInterfaceBody(false);
- } else {
- ;
- }
- ret = new ObjectCreationExpr(line, column, token.endLine, token.endColumn, scope, (ClassOrInterfaceType) type, typeArgs, args, anonymousBody);
- break;
- default:
- jj_la1[107] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- default:
- jj_la1[108] = 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[2];
- Expression expr;
- List inits = null;
- int i = 0;
- if (jj_2_44(2)) {
- label_46:
- while (true) {
- jj_consume_token(LBRACKET);
- expr = Expression();
- inits = add(inits, expr);
- jj_consume_token(RBRACKET);
- if (jj_2_42(2)) {
- ;
- } else {
- break label_46;
- }
- }
- label_47:
- while (true) {
- if (jj_2_43(2)) {
- ;
- } else {
- break label_47;
- }
- jj_consume_token(LBRACKET);
- jj_consume_token(RBRACKET);
- i++;
- }
- ret[0] = inits; ret[1] = Integer.valueOf(i);
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case LBRACKET:
- label_48:
- 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[109] = jj_gen;
- break label_48;
- }
- }
- expr = ArrayInitializer();
- ret[0] = Integer.valueOf(i); ret[1] = expr;
- break;
- default:
- jj_la1[110] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- {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_45(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[111] = 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[112] = 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_46(2147483647)) {
- pushJavadoc();
- modifier = Modifiers();
- typeDecl = ClassOrInterfaceDeclaration(modifier);
- ret = new TypeDeclarationStmt(typeDecl.getBeginLine(), typeDecl.getBeginColumn(), token.endLine, token.endColumn, typeDecl);
- } else if (jj_2_47(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[113] = 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 = UnType();
- var = VariableDeclarator();
- vars.add(var);
- label_49:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[114] = jj_gen;
- break label_49;
- }
- 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(); }
- type.setAnnotations(modifier.annotations);
- {if (true) return new VariableDeclarationExpr(line, column, token.endLine, token.endColumn, modifier.modifiers, null, 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 ExpressionStmt StatementExpression() throws ParseException {
- Expression expr;
- AssignExpr.Operator op;
- Expression value;
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case INCR:
- expr = PreIncrementExpression();
- break;
- 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:
- 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;
- default:
- jj_la1[115] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- break;
- default:
- jj_la1[116] = jj_gen;
- ;
- }
- break;
- default:
- jj_la1[117] = 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_50:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case CASE:
- case _DEFAULT:
- ;
- break;
- default:
- jj_la1[118] = jj_gen;
- break label_50;
- }
- 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[119] = 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;
- 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[120] = jj_gen;
- ;
- }
- {if (true) return new IfStmt(line, column, token.endLine, token.endColumn,condition, thenStmt, elseStmt);}
- 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_48(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[121] = 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[122] = 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[123] = jj_gen;
- ;
- }
- break;
- default:
- jj_la1[124] = 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_49(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[125] = 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_51:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[126] = jj_gen;
- break label_51;
- }
- 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[127] = 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[128] = 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[129] = 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 {
- BlockStmt tryBlock;
- BlockStmt finallyBlock = null;
- List catchs = null;
- Parameter except;
- BlockStmt catchBlock;
- int line;
- int column;
- int cLine;
- int cColumn;
- jj_consume_token(TRY);
- line=token.beginLine; column=token.beginColumn;
- tryBlock = Block();
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case CATCH:
- label_52:
- while (true) {
- jj_consume_token(CATCH);
- cLine=token.beginLine; cColumn=token.beginColumn;
- jj_consume_token(LPAREN);
- except = FormalParameter();
- jj_consume_token(RPAREN);
- catchBlock = Block();
- catchs = add(catchs, new CatchClause(cLine, cColumn, token.endLine, token.endColumn, except, catchBlock));
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case CATCH:
- ;
- break;
- default:
- jj_la1[130] = jj_gen;
- break label_52;
- }
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case FINALLY:
- jj_consume_token(FINALLY);
- finallyBlock = Block();
- break;
- default:
- jj_la1[131] = jj_gen;
- ;
- }
- break;
- case FINALLY:
- jj_consume_token(FINALLY);
- finallyBlock = Block();
- break;
- default:
- jj_la1[132] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return new TryStmt(line, column, token.endLine, token.endColumn,tryBlock, catchs, finallyBlock);}
- 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 List Annotationsopt() throws ParseException {
- List annotations = new LinkedList();
- AnnotationExpr ann;
- label_53:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case AT:
- ;
- break;
- default:
- jj_la1[133] = jj_gen;
- break label_53;
- }
- ann = Annotation();
- annotations.add(ann);
- }
- {if (true) return annotations;}
- throw new Error("Missing return statement in function");
- }
-
- final public AnnotationExpr Annotation() throws ParseException {
- AnnotationExpr ret;
- if (jj_2_50(2147483647)) {
- ret = NormalAnnotation();
- } else if (jj_2_51(2147483647)) {
- ret = SingleMemberAnnotation();
- } else {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case AT:
- ret = MarkerAnnotation();
- 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");
- }
-
- 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[135] = 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_54:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- ;
- break;
- default:
- jj_la1[136] = jj_gen;
- break label_54;
- }
- 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[137] = 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_55:
- while (true) {
- if (jj_2_52(2)) {
- ;
- } else {
- break label_55;
- }
- jj_consume_token(COMMA);
- member = MemberValue();
- ret.add(member);
- }
- break;
- default:
- jj_la1[138] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
- case COMMA:
- jj_consume_token(COMMA);
- break;
- default:
- jj_la1[139] = 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 {
- String 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);
- jj_consume_token(IDENTIFIER);
- name = token.image;
- members = AnnotationTypeBody();
- {if (true) return new AnnotationDeclaration(line, column, token.endLine, token.endColumn,popJavadoc(), modifier.modifiers, modifier.annotations, name, members);}
- throw new Error("Missing return statement in function");
- }
-
- final public List AnnotationTypeBody() throws ParseException {
- List ret = null;
- BodyDeclaration member;
- jj_consume_token(LBRACE);
- label_56:
- 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[140] = jj_gen;
- break label_56;
- }
- 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;
- pushJavadoc();
- 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, popJavadoc());
- 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_53(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[141] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- break;
- default:
- jj_la1[142] = 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[143] = 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, popJavadoc(), 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_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_3R_265() {
- if (jj_3R_292()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_34()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_231() {
- if (jj_3R_89()) return true;
- return false;
- }
-
- private boolean jj_3R_232() {
- if (jj_3R_265()) return true;
- return false;
- }
-
- private boolean jj_3R_264() {
- if (jj_scan_token(BANG)) return true;
- return false;
- }
-
- private boolean jj_3R_263() {
- if (jj_scan_token(TILDE)) return true;
- return false;
- }
-
- private boolean jj_3R_367() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_156()) return true;
- return false;
- }
-
- private boolean jj_3_9() {
- if (jj_3R_73()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_74()) { jj_scanpos = xsp; break; }
- }
- xsp = jj_scanpos;
- if (jj_scan_token(87)) {
- jj_scanpos = xsp;
- if (jj_scan_token(90)) {
- jj_scanpos = xsp;
- if (jj_scan_token(86)) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_230() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_263()) {
- jj_scanpos = xsp;
- if (jj_3R_264()) return true;
- }
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3R_206() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_101()) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_103()) return true;
- if (jj_scan_token(RPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_72() {
- if (jj_3R_110()) return true;
- return false;
- }
-
- private boolean jj_3_8() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_72()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_295() {
- if (jj_3R_73()) return true;
- if (jj_3R_156()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_367()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_102() {
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(ASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_272() {
- if (jj_3R_296()) return true;
- return false;
- }
-
- private boolean jj_3R_236() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_194() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_230()) {
- jj_scanpos = xsp;
- if (jj_3R_231()) {
- jj_scanpos = xsp;
- if (jj_3R_232()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_271() {
- if (jj_3R_295()) return true;
- return false;
- }
-
- private boolean jj_3R_207() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_101()) return true;
- return false;
- }
-
- private boolean jj_3R_270() {
- if (jj_3R_294()) return true;
- return false;
- }
-
- private boolean jj_3R_269() {
- if (jj_3R_204()) return true;
- return false;
- }
-
- private boolean jj_3R_268() {
- if (jj_3R_203()) return true;
- return false;
- }
-
- private boolean jj_3_51() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_101()) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_267() {
- if (jj_3R_202()) return true;
- return false;
- }
-
- private boolean jj_3R_260() {
- if (jj_scan_token(DECR)) return true;
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3_50() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_101()) return true;
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_102()) {
- jj_scanpos = xsp;
- if (jj_scan_token(81)) return true;
- }
- return false;
- }
-
- private boolean jj_3R_205() {
- if (jj_scan_token(AT)) return true;
- if (jj_3R_101()) return true;
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_273()) jj_scanpos = xsp;
- if (jj_scan_token(RPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_235() {
- if (jj_3R_99()) return true;
- Token xsp;
- xsp = jj_scanpos;
- 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()) {
- jj_scanpos = xsp;
- if (jj_3R_272()) return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_167() {
- if (jj_3R_207()) return true;
- return false;
- }
-
- private boolean jj_3R_166() {
- if (jj_3R_206()) return true;
- return false;
- }
-
- private boolean jj_3R_259() {
- if (jj_scan_token(INCR)) return true;
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3R_165() {
- if (jj_3R_205()) return true;
- return false;
- }
-
- private boolean jj_3_10() {
- if (jj_3R_75()) return true;
- return false;
- }
-
- private boolean jj_3R_229() {
- if (jj_3R_194()) return true;
- return false;
- }
-
- private boolean jj_3R_108() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_165()) {
- jj_scanpos = xsp;
- if (jj_3R_166()) {
- jj_scanpos = xsp;
- if (jj_3R_167()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_198() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_10()) {
- jj_scanpos = xsp;
- if (jj_3R_235()) {
- jj_scanpos = xsp;
- if (jj_3R_236()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_116() {
- if (jj_3R_108()) return true;
- return false;
- }
-
- private boolean jj_3R_155() {
- if (jj_3R_198()) return true;
- return false;
- }
-
- private boolean jj_3R_262() {
- if (jj_scan_token(MINUS)) return true;
- return false;
- }
-
- private boolean jj_3R_261() {
- if (jj_scan_token(PLUS)) return true;
- return false;
- }
-
- private boolean jj_3R_228() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_261()) {
- jj_scanpos = xsp;
- if (jj_3R_262()) return true;
- }
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3R_77() {
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_116()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_97() {
- if (jj_scan_token(LBRACE)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_155()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_227() {
- if (jj_3R_260()) return true;
- return false;
- }
-
- private boolean jj_3R_139() {
- return false;
- }
-
- private boolean jj_3R_226() {
- if (jj_3R_259()) return true;
- return false;
- }
-
- private boolean jj_3_7() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_71()) return true;
- return false;
- }
-
- private boolean jj_3R_279() {
- if (jj_scan_token(BIT_AND)) return true;
- if (jj_3R_278()) return true;
- return false;
- }
-
- private boolean jj_3R_246() {
- if (jj_scan_token(EXTENDS)) return true;
- if (jj_3R_278()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_279()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_140() {
- return false;
- }
-
- private boolean jj_3R_193() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_226()) {
- jj_scanpos = xsp;
- if (jj_3R_227()) {
- jj_scanpos = xsp;
- if (jj_3R_228()) {
- jj_scanpos = xsp;
- if (jj_3R_229()) return true;
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_87() {
- jj_lookingAhead = true;
- jj_semLA = getToken(1).kind == GT &&
- ((GTToken)getToken(1)).realKind == RSIGNEDSHIFT;
- jj_lookingAhead = false;
- if (!jj_semLA || jj_3R_139()) return true;
- if (jj_scan_token(GT)) return true;
- if (jj_scan_token(GT)) return true;
- return false;
- }
-
- private boolean jj_3R_398() {
- if (jj_scan_token(REM)) return true;
- return false;
- }
-
- private boolean jj_3R_397() {
- if (jj_scan_token(SLASH)) return true;
- return false;
- }
-
- private boolean jj_3R_396() {
- if (jj_scan_token(STAR)) return true;
- return false;
- }
-
- private boolean jj_3R_414() {
- if (jj_scan_token(CATCH)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_382()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_168() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_208()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_393() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_396()) {
- jj_scanpos = xsp;
- if (jj_3R_397()) {
- jj_scanpos = xsp;
- if (jj_3R_398()) return true;
- }
- }
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3R_301() {
- if (jj_3R_97()) return true;
- return false;
- }
-
- private boolean jj_3R_415() {
- if (jj_scan_token(FINALLY)) return true;
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_408() {
- if (jj_scan_token(FINALLY)) return true;
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_88() {
- jj_lookingAhead = true;
- jj_semLA = getToken(1).kind == GT &&
- ((GTToken)getToken(1)).realKind == RUNSIGNEDSHIFT;
- jj_lookingAhead = false;
- if (!jj_semLA || jj_3R_140()) 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_406() {
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_407() {
- Token xsp;
- if (jj_3R_414()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_414()) { jj_scanpos = xsp; break; }
- }
- xsp = jj_scanpos;
- if (jj_3R_415()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_385() {
- if (jj_3R_193()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_393()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_169() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_168()) return true;
- return false;
- }
-
- private boolean jj_3R_395() {
- if (jj_scan_token(MINUS)) return true;
- return false;
- }
-
- private boolean jj_3R_394() {
- if (jj_scan_token(PLUS)) return true;
- return false;
- }
-
- private boolean jj_3R_110() {
- if (jj_scan_token(LT)) return true;
- if (jj_3R_168()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_169()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(GT)) return true;
- return false;
- }
-
- private boolean jj_3R_405() {
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3R_392() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_394()) {
- jj_scanpos = xsp;
- if (jj_3R_395()) return true;
- }
- if (jj_3R_385()) return true;
- return false;
- }
-
- private boolean jj_3R_300() {
- if (jj_3R_174()) return true;
- return false;
- }
-
- private boolean jj_3R_378() {
- if (jj_3R_385()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_392()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_355() {
- if (jj_scan_token(TRY)) return true;
- if (jj_3R_113()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_407()) {
- jj_scanpos = xsp;
- if (jj_3R_408()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_109() {
- if (jj_3R_108()) return true;
- return false;
- }
-
- private boolean jj_3R_276() {
- if (jj_3R_198()) return true;
- return false;
- }
-
- private boolean jj_3R_71() {
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_109()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(IDENTIFIER)) return true;
- xsp = jj_scanpos;
- if (jj_3R_300()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_301()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3_32() {
- if (jj_3R_88()) return true;
- return false;
- }
-
- private boolean jj_3R_404() {
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3_31() {
- if (jj_3R_87()) return true;
- return false;
- }
-
- private boolean jj_3R_86() {
- if (jj_scan_token(LSHIFT)) return true;
- return false;
- }
-
- private boolean jj_3R_244() {
- if (jj_scan_token(SEMICOLON)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_276()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3_30() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_86()) {
- jj_scanpos = xsp;
- if (jj_3_31()) {
- jj_scanpos = xsp;
- if (jj_3_32()) return true;
- }
- }
- if (jj_3R_378()) return true;
- return false;
- }
-
- private boolean jj_3R_379() {
- if (jj_scan_token(INSTANCEOF)) return true;
- if (jj_3R_104()) return true;
- return false;
- }
-
- private boolean jj_3R_372() {
- if (jj_3R_378()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_30()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_354() {
- if (jj_scan_token(SYNCHRONIZED)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_391() {
- if (jj_scan_token(GE)) return true;
- return false;
- }
-
- private boolean jj_3R_243() {
- if (jj_3R_71()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_7()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_390() {
- if (jj_scan_token(LE)) return true;
- return false;
- }
-
- private boolean jj_3R_389() {
- if (jj_scan_token(GT)) return true;
- return false;
- }
-
- private boolean jj_3R_388() {
- if (jj_scan_token(LT)) return true;
- return false;
- }
-
- private boolean jj_3R_386() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_388()) {
- jj_scanpos = xsp;
- if (jj_3R_389()) {
- jj_scanpos = xsp;
- if (jj_3R_390()) {
- jj_scanpos = xsp;
- if (jj_3R_391()) return true;
- }
- }
- }
- if (jj_3R_372()) return true;
- return false;
- }
-
- private boolean jj_3R_242() {
- if (jj_3R_275()) return true;
- return false;
- }
-
- private boolean jj_3R_353() {
- if (jj_scan_token(THROW)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_203() {
- if (jj_scan_token(ENUM)) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_242()) jj_scanpos = xsp;
- if (jj_scan_token(LBRACE)) return true;
- xsp = jj_scanpos;
- if (jj_3R_243()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(87)) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_244()) jj_scanpos = xsp;
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_362() {
- if (jj_3R_372()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_386()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_363() {
- if (jj_scan_token(BIT_AND)) return true;
- if (jj_3R_334()) return true;
- return false;
- }
-
- private boolean jj_3R_352() {
- if (jj_scan_token(RETURN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_406()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_356() {
- if (jj_3R_362()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_379()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_426() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_299() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_278()) return true;
- return false;
- }
-
- private boolean jj_3R_275() {
- if (jj_scan_token(IMPLEMENTS)) return true;
- if (jj_3R_278()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_299()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_381() {
- if (jj_scan_token(NE)) return true;
- return false;
- }
-
- private boolean jj_3R_401() {
- if (jj_scan_token(ELSE)) return true;
- if (jj_3R_303()) return true;
- return false;
- }
-
- private boolean jj_3R_380() {
- if (jj_scan_token(EQ)) return true;
- return false;
- }
-
- private boolean jj_3R_351() {
- if (jj_scan_token(CONTINUE)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_405()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_373() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_380()) {
- jj_scanpos = xsp;
- if (jj_3R_381()) return true;
- }
- if (jj_3R_356()) return true;
- return false;
- }
-
- private boolean jj_3R_357() {
- if (jj_scan_token(XOR)) return true;
- if (jj_3R_309()) return true;
- return false;
- }
-
- private boolean jj_3R_335() {
- if (jj_scan_token(BIT_OR)) return true;
- if (jj_3R_291()) return true;
- return false;
- }
-
- private boolean jj_3R_334() {
- if (jj_3R_356()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_373()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_413() {
- if (jj_3R_422()) return true;
- return false;
- }
-
- private boolean jj_3R_298() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_278()) return true;
- return false;
- }
-
- private boolean jj_3R_350() {
- if (jj_scan_token(BREAK)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_404()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_274() {
- if (jj_scan_token(EXTENDS)) return true;
- if (jj_3R_278()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_298()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_310() {
- if (jj_scan_token(SC_AND)) return true;
- if (jj_3R_258()) return true;
- return false;
- }
-
- private boolean jj_3R_309() {
- if (jj_3R_334()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_363()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_238() {
- if (jj_scan_token(INTERFACE)) return true;
- return false;
- }
-
- private boolean jj_3R_293() {
- if (jj_scan_token(SC_OR)) return true;
- if (jj_3R_225()) return true;
- return false;
- }
-
- private boolean jj_3R_422() {
- if (jj_3R_425()) return true;
- return false;
- }
-
- private boolean jj_3R_241() {
- if (jj_3R_275()) return true;
- return false;
- }
-
- private boolean jj_3R_240() {
- if (jj_3R_274()) return true;
- return false;
- }
-
- private boolean jj_3R_291() {
- if (jj_3R_309()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_357()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_239() {
- if (jj_3R_110()) return true;
- return false;
- }
-
- private boolean jj_3_49() {
- if (jj_3R_99()) return true;
- if (jj_3R_73()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3R_202() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(20)) {
- jj_scanpos = xsp;
- if (jj_3R_238()) return true;
- }
- if (jj_scan_token(IDENTIFIER)) return true;
- xsp = jj_scanpos;
- if (jj_3R_239()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_240()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_241()) jj_scanpos = xsp;
- if (jj_3R_97()) return true;
- return false;
- }
-
- private boolean jj_3R_425() {
- if (jj_3R_85()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_426()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_424() {
- if (jj_3R_425()) return true;
- return false;
- }
-
- private boolean jj_3R_412() {
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_258() {
- if (jj_3R_291()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_335()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_423() {
- if (jj_3R_100()) return true;
- return false;
- }
-
- private boolean jj_3R_164() {
- if (jj_3R_204()) return true;
- return false;
- }
-
- private boolean jj_3R_163() {
- if (jj_3R_203()) return true;
- return false;
- }
-
- private boolean jj_3R_225() {
- if (jj_3R_258()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_310()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_421() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_423()) {
- jj_scanpos = xsp;
- if (jj_3R_424()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_162() {
- if (jj_3R_202()) return true;
- return false;
- }
-
- private boolean jj_3R_107() {
- if (jj_3R_99()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_162()) {
- jj_scanpos = xsp;
- if (jj_3R_163()) {
- jj_scanpos = xsp;
- if (jj_3R_164()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_106() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3_48() {
- if (jj_3R_100()) return true;
- if (jj_scan_token(COLON)) return true;
- return false;
- }
-
- private boolean jj_3R_192() {
- if (jj_3R_225()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_293()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_58() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_106()) {
- jj_scanpos = xsp;
- if (jj_3R_107()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_411() {
- if (jj_3R_421()) return true;
- return false;
- }
-
- private boolean jj_3R_403() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_411()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- xsp = jj_scanpos;
- if (jj_3R_412()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- xsp = jj_scanpos;
- if (jj_3R_413()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_266() {
- if (jj_scan_token(HOOK)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(COLON)) return true;
- if (jj_3R_138()) return true;
- return false;
- }
-
- private boolean jj_3R_402() {
- if (jj_3R_100()) return true;
- if (jj_scan_token(COLON)) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_138() {
- if (jj_3R_192()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_266()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_349() {
- if (jj_scan_token(FOR)) return true;
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_402()) {
- jj_scanpos = xsp;
- if (jj_3R_403()) return true;
- }
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_303()) return true;
- return false;
- }
-
- private boolean jj_3R_137() {
- if (jj_scan_token(ORASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_70() {
- if (jj_3R_108()) return true;
- return false;
- }
-
- private boolean jj_3R_136() {
- if (jj_scan_token(XORASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_135() {
- if (jj_scan_token(ANDASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_69() {
- if (jj_scan_token(STRICTFP)) return true;
- return false;
- }
-
- private boolean jj_3R_134() {
- if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_133() {
- if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_68() {
- if (jj_scan_token(VOLATILE)) return true;
- return false;
- }
-
- private boolean jj_3R_132() {
- if (jj_scan_token(LSHIFTASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_131() {
- if (jj_scan_token(MINUSASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_67() {
- if (jj_scan_token(TRANSIENT)) return true;
- return false;
- }
-
- private boolean jj_3R_130() {
- if (jj_scan_token(PLUSASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_129() {
- if (jj_scan_token(REMASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_66() {
- if (jj_scan_token(NATIVE)) return true;
- return false;
- }
-
- private boolean jj_3R_128() {
- if (jj_scan_token(SLASHASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_127() {
- if (jj_scan_token(STARASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_65() {
- if (jj_scan_token(SYNCHRONIZED)) return true;
- return false;
- }
-
- private boolean jj_3R_126() {
- if (jj_scan_token(ASSIGN)) return true;
- return false;
- }
-
- private boolean jj_3R_348() {
- if (jj_scan_token(DO)) return true;
- if (jj_3R_303()) return true;
- if (jj_scan_token(WHILE)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_64() {
- if (jj_scan_token(ABSTRACT)) return true;
- return false;
- }
-
- private boolean jj_3R_63() {
- if (jj_scan_token(FINAL)) return true;
- return false;
- }
-
- private boolean jj_3R_84() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_126()) {
- jj_scanpos = xsp;
- if (jj_3R_127()) {
- jj_scanpos = xsp;
- if (jj_3R_128()) {
- jj_scanpos = xsp;
- if (jj_3R_129()) {
- jj_scanpos = xsp;
- if (jj_3R_130()) {
- jj_scanpos = xsp;
- if (jj_3R_131()) {
- jj_scanpos = xsp;
- if (jj_3R_132()) {
- jj_scanpos = xsp;
- if (jj_3R_133()) {
- jj_scanpos = xsp;
- if (jj_3R_134()) {
- jj_scanpos = xsp;
- if (jj_3R_135()) {
- jj_scanpos = xsp;
- if (jj_3R_136()) {
- jj_scanpos = xsp;
- if (jj_3R_137()) return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_62() {
- if (jj_scan_token(PRIVATE)) return true;
- return false;
- }
-
- private boolean jj_3R_384() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_101()) return true;
- return false;
- }
-
- private boolean jj_3R_61() {
- if (jj_scan_token(PROTECTED)) return true;
- return false;
- }
-
- private boolean jj_3R_60() {
- if (jj_scan_token(STATIC)) return true;
- return false;
- }
-
- private boolean jj_3R_59() {
- if (jj_scan_token(PUBLIC)) return true;
- return false;
- }
-
- private boolean jj_3R_347() {
- if (jj_scan_token(WHILE)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_303()) return true;
- return false;
- }
-
- private boolean jj_3_29() {
- if (jj_3R_84()) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3_6() {
- Token xsp;
- xsp = jj_scanpos;
- 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()) return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_99() {
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_6()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_85() {
- if (jj_3R_138()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_29()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_346() {
- if (jj_scan_token(IF)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_303()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_401()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_157() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_156()) return true;
- return false;
- }
-
- private boolean jj_3R_420() {
- if (jj_scan_token(_DEFAULT)) return true;
- return false;
- }
-
- private boolean jj_3R_419() {
- if (jj_scan_token(CASE)) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_375() {
- if (jj_3R_101()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_384()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_105() {
- if (jj_3R_108()) return true;
- return false;
- }
-
- private boolean jj_3R_57() {
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_105()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(PACKAGE)) return true;
- if (jj_3R_101()) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_410() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_419()) {
- jj_scanpos = xsp;
- if (jj_3R_420()) return true;
- }
- if (jj_scan_token(COLON)) return true;
- if (jj_3R_171()) return true;
- return false;
- }
-
- private boolean jj_3_5() {
- if (jj_3R_58()) return true;
- return false;
- }
-
- private boolean jj_3_28() {
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3_4() {
- if (jj_3R_57()) return true;
- return false;
- }
-
- private boolean jj_3R_101() {
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_28()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_400() {
- if (jj_3R_410()) return true;
- return false;
- }
-
- private boolean jj_3R_154() {
- if (jj_3R_73()) return true;
- return false;
- }
-
- private boolean jj_3R_153() {
- if (jj_scan_token(VOID)) return true;
- return false;
- }
-
- private boolean jj_3R_345() {
- if (jj_scan_token(SWITCH)) return true;
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) 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_400()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_308() {
- if (jj_scan_token(SUPER)) return true;
- if (jj_3R_81()) return true;
- return false;
- }
-
- private boolean jj_3R_307() {
- if (jj_scan_token(EXTENDS)) return true;
- if (jj_3R_81()) return true;
- return false;
- }
-
- private boolean jj_3R_290() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_307()) {
- jj_scanpos = xsp;
- if (jj_3R_308()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_418() {
- if (jj_3R_84()) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_95() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_153()) {
- jj_scanpos = xsp;
- if (jj_3R_154()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_417() {
- if (jj_scan_token(DECR)) return true;
- return false;
- }
-
- private boolean jj_3R_416() {
- if (jj_scan_token(INCR)) return true;
- return false;
- }
-
- private boolean jj_3R_409() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_416()) {
- jj_scanpos = xsp;
- if (jj_3R_417()) {
- jj_scanpos = xsp;
- if (jj_3R_418()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3_3() {
- if (jj_3R_58()) return true;
- return false;
- }
-
- private boolean jj_3R_361() {
- if (jj_3R_292()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_409()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_360() {
- if (jj_3R_260()) return true;
- return false;
- }
-
- private boolean jj_3R_359() {
- if (jj_3R_259()) return true;
- return false;
- }
-
- private boolean jj_3_2() {
- if (jj_3R_58()) return true;
- return false;
- }
-
- private boolean jj_3R_224() {
- if (jj_scan_token(HOOK)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_290()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3_1() {
- if (jj_3R_57()) return true;
- return false;
- }
-
- private boolean jj_3R_344() {
- 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;
- }
- }
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3_24() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_216() {
- if (jj_scan_token(DOUBLE)) return true;
- return false;
- }
-
- private boolean jj_3R_215() {
- if (jj_scan_token(FLOAT)) return true;
- return false;
- }
-
- private boolean jj_3R_399() {
- if (jj_scan_token(COLON)) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_214() {
- if (jj_scan_token(LONG)) return true;
- return false;
- }
-
- private boolean jj_3R_213() {
- if (jj_scan_token(INT)) return true;
- return false;
- }
-
- private boolean jj_3_23() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_212() {
- if (jj_scan_token(SHORT)) return true;
- return false;
- }
-
- private boolean jj_3R_343() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_191() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_211() {
- if (jj_scan_token(BYTE)) return true;
- return false;
- }
-
- private boolean jj_3R_210() {
- if (jj_scan_token(CHAR)) return true;
- return false;
- }
-
- private boolean jj_3R_209() {
- if (jj_scan_token(BOOLEAN)) return true;
- return false;
- }
-
- private boolean jj_3_27() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_170() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_209()) {
- jj_scanpos = xsp;
- if (jj_3R_210()) {
- jj_scanpos = xsp;
- if (jj_3R_211()) {
- jj_scanpos = xsp;
- if (jj_3R_212()) {
- jj_scanpos = xsp;
- if (jj_3R_213()) {
- jj_scanpos = xsp;
- if (jj_3R_214()) {
- jj_scanpos = xsp;
- if (jj_3R_215()) {
- jj_scanpos = xsp;
- if (jj_3R_216()) return true;
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3_26() {
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_27()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_190() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3_47() {
- if (jj_3R_100()) return true;
- return false;
- }
-
- private boolean jj_3R_100() {
- if (jj_3R_99()) return true;
- if (jj_3R_73()) return true;
- if (jj_3R_156()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_157()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3_46() {
- if (jj_3R_99()) 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_3_25() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_282() {
- if (jj_3R_303()) return true;
- return false;
- }
-
- private boolean jj_3R_186() {
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_25()) jj_scanpos = xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_26()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_281() {
- if (jj_3R_100()) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_280() {
- if (jj_3R_99()) return true;
- if (jj_3R_202()) return true;
- return false;
- }
-
- private boolean jj_3R_125() {
- if (jj_3R_186()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_191()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_124() {
- if (jj_3R_170()) return true;
- Token xsp;
- if (jj_3R_190()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_190()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_247() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_280()) {
- jj_scanpos = xsp;
- if (jj_3R_281()) {
- jj_scanpos = xsp;
- if (jj_3R_282()) return true;
- }
- }
- return false;
- }
-
- private boolean jj_3R_83() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_124()) {
- jj_scanpos = xsp;
- if (jj_3R_125()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_111() {
- if (jj_3R_170()) return true;
- return false;
- }
-
- private boolean jj_3_22() {
- if (jj_3R_83()) return true;
- return false;
- }
-
- private boolean jj_3_43() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_113() {
- if (jj_scan_token(LBRACE)) return true;
- if (jj_3R_171()) return true;
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_73() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_22()) {
- jj_scanpos = xsp;
- if (jj_3R_111()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_98() {
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(COLON)) return true;
- if (jj_3R_303()) return true;
- return false;
- }
-
- private boolean jj_3R_342() {
- if (jj_scan_token(ASSERT)) return true;
- if (jj_3R_85()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_399()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_332() {
- if (jj_3R_355()) return true;
- return false;
- }
-
- private boolean jj_3R_149() {
- if (jj_scan_token(DOUBLE)) return true;
- return false;
- }
-
- private boolean jj_3R_331() {
- if (jj_3R_354()) return true;
- return false;
- }
-
- private boolean jj_3R_148() {
- if (jj_scan_token(FLOAT)) return true;
- return false;
- }
-
- private boolean jj_3R_330() {
- if (jj_3R_353()) return true;
- return false;
- }
-
- private boolean jj_3R_147() {
- if (jj_scan_token(LONG)) return true;
- return false;
- }
-
- private boolean jj_3R_329() {
- if (jj_3R_352()) return true;
- return false;
- }
-
- private boolean jj_3R_146() {
- if (jj_scan_token(INT)) return true;
- return false;
- }
-
- private boolean jj_3R_328() {
- if (jj_3R_351()) return true;
- return false;
- }
-
- private boolean jj_3R_145() {
- if (jj_scan_token(SHORT)) return true;
- return false;
- }
-
- private boolean jj_3R_327() {
- if (jj_3R_350()) return true;
- return false;
- }
-
- private boolean jj_3R_144() {
- if (jj_scan_token(BYTE)) return true;
- return false;
- }
-
- private boolean jj_3R_326() {
- if (jj_3R_349()) return true;
- return false;
- }
-
- private boolean jj_3R_143() {
- if (jj_scan_token(CHAR)) return true;
- return false;
- }
-
- private boolean jj_3R_325() {
- if (jj_3R_348()) return true;
- return false;
- }
-
- private boolean jj_3R_142() {
- if (jj_scan_token(BOOLEAN)) return true;
- return false;
- }
-
- private boolean jj_3R_324() {
- if (jj_3R_347()) return true;
- return false;
- }
-
- private boolean jj_3R_92() {
- if (jj_3R_77()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_142()) {
- jj_scanpos = xsp;
- if (jj_3R_143()) {
- jj_scanpos = xsp;
- if (jj_3R_144()) {
- jj_scanpos = xsp;
- if (jj_3R_145()) {
- jj_scanpos = xsp;
- if (jj_3R_146()) {
- jj_scanpos = xsp;
- if (jj_3R_147()) {
- jj_scanpos = xsp;
- if (jj_3R_148()) {
- jj_scanpos = xsp;
- if (jj_3R_149()) return true;
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_323() {
- if (jj_3R_346()) return true;
- return false;
- }
-
- private boolean jj_3R_184() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_123()) return true;
- return false;
- }
-
- private boolean jj_3R_322() {
- if (jj_3R_345()) return true;
- return false;
- }
-
- private boolean jj_3R_321() {
- if (jj_3R_344()) return true;
- return false;
- }
-
- private boolean jj_3R_320() {
- if (jj_3R_343()) return true;
- return false;
- }
-
- private boolean jj_3R_319() {
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_318() {
- if (jj_3R_342()) return true;
- return false;
- }
-
- private boolean jj_3_45() {
- if (jj_3R_98()) return true;
- return false;
- }
-
- private boolean jj_3R_303() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_45()) {
- jj_scanpos = xsp;
- if (jj_3R_318()) {
- jj_scanpos = xsp;
- if (jj_3R_319()) {
- jj_scanpos = xsp;
- if (jj_3R_320()) {
- jj_scanpos = xsp;
- if (jj_3R_321()) {
- jj_scanpos = xsp;
- if (jj_3R_322()) {
- jj_scanpos = xsp;
- if (jj_3R_323()) {
- jj_scanpos = xsp;
- if (jj_3R_324()) {
- 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()) return true;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_333() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_306() {
- Token xsp;
- if (jj_3R_333()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_333()) { jj_scanpos = xsp; break; }
- }
- if (jj_3R_172()) return true;
- return false;
- }
-
- private boolean jj_3R_189() {
- if (jj_3R_224()) return true;
- return false;
- }
-
- private boolean jj_3_42() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_188() {
- if (jj_3R_83()) return true;
- return false;
- }
-
- private boolean jj_3_44() {
- Token xsp;
- if (jj_3_42()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_42()) { jj_scanpos = xsp; break; }
- }
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_43()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3_18() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_123() {
- if (jj_3R_77()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_188()) {
- jj_scanpos = xsp;
- if (jj_3R_189()) return true;
- }
- return false;
- }
-
- private boolean jj_3_41() {
- if (jj_3R_97()) return true;
- return false;
- }
-
- private boolean jj_3R_286() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_44()) {
- jj_scanpos = xsp;
- if (jj_3R_306()) return true;
- }
- return false;
- }
-
- private boolean jj_3_17() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_82() {
- if (jj_scan_token(LT)) return true;
- if (jj_3R_123()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_184()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(GT)) return true;
- return false;
- }
-
- private boolean jj_3R_187() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3_21() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3_20() {
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_21()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_185() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_289() {
- if (jj_3R_174()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_41()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_283() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3_19() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_287() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_278() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_19()) jj_scanpos = xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_20()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_257() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_287()) jj_scanpos = xsp;
- if (jj_3R_186()) return true;
- xsp = jj_scanpos;
- if (jj_3R_288()) {
- jj_scanpos = xsp;
- if (jj_3R_289()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_288() {
- if (jj_3R_286()) return true;
- return false;
- }
-
- private boolean jj_3R_256() {
- if (jj_3R_170()) return true;
- if (jj_3R_286()) return true;
- return false;
- }
-
- private boolean jj_3R_122() {
- if (jj_3R_186()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_187()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_121() {
- if (jj_3R_170()) return true;
- Token xsp;
- if (jj_3R_185()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_185()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_222() {
- if (jj_scan_token(NEW)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_256()) {
- jj_scanpos = xsp;
- if (jj_3R_257()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_81() {
- if (jj_3R_77()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_121()) {
- jj_scanpos = xsp;
- if (jj_3R_122()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_161() {
- if (jj_3R_92()) return true;
- return false;
- }
-
- private boolean jj_3_16() {
- if (jj_3R_81()) return true;
- return false;
- }
-
- private boolean jj_3R_248() {
- if (jj_3R_85()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_283()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_104() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_16()) {
- jj_scanpos = xsp;
- if (jj_3R_161()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_218() {
- if (jj_3R_248()) return true;
- return false;
- }
-
- private boolean jj_3R_174() {
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_218()) jj_scanpos = xsp;
- if (jj_scan_token(RPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_112() {
- if (jj_scan_token(STATIC)) return true;
- return false;
- }
-
- private boolean jj_3R_75() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_112()) jj_scanpos = xsp;
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_305() {
- if (jj_scan_token(FALSE)) return true;
- return false;
- }
-
- private boolean jj_3R_285() {
- if (jj_scan_token(NULL)) return true;
- return false;
- }
-
- private boolean jj_3R_217() {
- if (jj_3R_247()) return true;
- return false;
- }
-
- private boolean jj_3R_304() {
- if (jj_scan_token(TRUE)) return true;
- return false;
- }
-
- private boolean jj_3R_171() {
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_217()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3_14() {
- if (jj_3R_79()) return true;
- if (jj_scan_token(DOT)) return true;
- return false;
- }
-
- private boolean jj_3R_284() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_304()) {
- jj_scanpos = xsp;
- if (jj_3R_305()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_80() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_176() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_255() {
- if (jj_3R_285()) return true;
- return false;
- }
-
- private boolean jj_3_15() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_80()) jj_scanpos = xsp;
- if (jj_scan_token(THIS)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_254() {
- if (jj_3R_284()) return true;
- return false;
- }
-
- private boolean jj_3R_175() {
- if (jj_3R_79()) return true;
- if (jj_scan_token(DOT)) return true;
- return false;
- }
-
- private boolean jj_3R_118() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_175()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_176()) jj_scanpos = xsp;
- if (jj_scan_token(SUPER)) return true;
- if (jj_3R_174()) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_253() {
- if (jj_scan_token(STRING_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3R_173() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_371() {
- if (jj_3R_377()) return true;
- return false;
- }
-
- private boolean jj_3R_252() {
- if (jj_scan_token(CHARACTER_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3R_117() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_173()) jj_scanpos = xsp;
- if (jj_scan_token(THIS)) return true;
- if (jj_3R_174()) return true;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_251() {
- if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3_11() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_76()) return true;
- return false;
- }
-
- private boolean jj_3R_250() {
- if (jj_scan_token(LONG_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3R_78() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_117()) {
- jj_scanpos = xsp;
- if (jj_3R_118()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_249() {
- if (jj_scan_token(INTEGER_LITERAL)) return true;
- return false;
- }
-
- private boolean jj_3_12() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(ELLIPSIS)) return true;
- return false;
- }
-
- private boolean jj_3R_96() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3_40() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_96()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
- return false;
- }
-
- private boolean jj_3_13() {
- if (jj_3R_78()) return true;
- return false;
- }
-
- private boolean jj_3R_219() {
- Token xsp;
- xsp = jj_scanpos;
- 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()) {
- jj_scanpos = xsp;
- if (jj_3R_255()) return true;
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_383() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_382()) return true;
- return false;
- }
-
- private boolean jj_3R_152() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_234() {
- if (jj_3R_174()) return true;
- return false;
- }
-
- private boolean jj_3R_387() {
- if (jj_3R_77()) return true;
- if (jj_scan_token(ELLIPSIS)) return true;
- return false;
- }
-
- private boolean jj_3R_233() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_376() {
- if (jj_3R_78()) return true;
- return false;
- }
-
- private boolean jj_3R_197() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_233()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
- xsp = jj_scanpos;
- if (jj_3R_234()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_196() {
- if (jj_3R_222()) return true;
- return false;
- }
-
- private boolean jj_3R_368() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_366() {
- if (jj_scan_token(LBRACE)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_376()) jj_scanpos = xsp;
- if (jj_3R_171()) return true;
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_195() {
- if (jj_scan_token(THIS)) return true;
- return false;
- }
-
- private boolean jj_3R_365() {
- if (jj_scan_token(THROWS)) return true;
- if (jj_3R_375()) return true;
- return false;
- }
-
- private boolean jj_3R_311() {
- if (jj_3R_110()) return true;
- return false;
- }
-
- private boolean jj_3R_294() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_311()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_3R_364()) return true;
- if (jj_3R_77()) return true;
- xsp = jj_scanpos;
- if (jj_3R_365()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_366()) {
- jj_scanpos = xsp;
- if (jj_scan_token(86)) return true;
- }
- return false;
- }
-
- private boolean jj_3R_151() {
- if (jj_scan_token(DOT)) return true;
- Token xsp;
- xsp = jj_scanpos;
- 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_377() {
- if (jj_scan_token(_DEFAULT)) return true;
- if (jj_3R_103()) return true;
- return false;
- }
-
- private boolean jj_3R_94() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_151()) {
- jj_scanpos = xsp;
- if (jj_3R_152()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_150() {
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(SUPER)) return true;
- return false;
- }
-
- private boolean jj_3R_358() {
- if (jj_3R_104()) 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_371()) jj_scanpos = xsp;
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3_39() {
- if (jj_3R_94()) return true;
- return false;
- }
-
- private boolean jj_3R_237() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3_53() {
- if (jj_3R_104()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(LPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_341() {
- if (jj_3R_295()) return true;
- return false;
- }
-
- private boolean jj_3R_382() {
- if (jj_3R_99()) return true;
- if (jj_3R_73()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_387()) jj_scanpos = xsp;
- if (jj_3R_199()) return true;
- return false;
- }
-
- private boolean jj_3R_340() {
- if (jj_3R_204()) return true;
- return false;
- }
-
- private boolean jj_3R_223() {
- if (jj_3R_174()) return true;
- return false;
- }
-
- private boolean jj_3R_339() {
- if (jj_3R_203()) return true;
- return false;
- }
-
- private boolean jj_3R_93() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_39()) {
- jj_scanpos = xsp;
- if (jj_3R_150()) return true;
- }
- return false;
- }
-
- private boolean jj_3_38() {
- if (jj_3R_95()) return true;
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(CLASS)) return true;
- return false;
- }
-
- private boolean jj_3R_313() {
- if (jj_3R_76()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_11()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_338() {
- if (jj_3R_202()) return true;
- return false;
- }
-
- private boolean jj_3R_183() {
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_223()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_337() {
- if (jj_3R_358()) return true;
- return false;
- }
-
- private boolean jj_3R_374() {
- if (jj_3R_382()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_383()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3_52() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_103()) return true;
- return false;
- }
-
- private boolean jj_3R_182() {
- if (jj_3R_95()) return true;
- if (jj_scan_token(DOT)) return true;
- if (jj_scan_token(CLASS)) return true;
- return false;
- }
-
- private boolean jj_3R_364() {
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_374()) jj_scanpos = xsp;
- if (jj_scan_token(RPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_316() {
- if (jj_scan_token(SEMICOLON)) return true;
- return false;
- }
-
- private boolean jj_3R_181() {
- if (jj_3R_222()) return true;
- return false;
- }
-
- private boolean jj_3R_317() {
- if (jj_3R_99()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_337()) {
- jj_scanpos = xsp;
- if (jj_3R_338()) {
- jj_scanpos = xsp;
- if (jj_3R_339()) {
- jj_scanpos = xsp;
- if (jj_3R_340()) {
- jj_scanpos = xsp;
- if (jj_3R_341()) return true;
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3R_180() {
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_85()) return true;
- if (jj_scan_token(RPAREN)) return true;
- return false;
- }
-
- private boolean jj_3R_302() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_316()) {
- jj_scanpos = xsp;
- if (jj_3R_317()) return true;
- }
- return false;
- }
-
- private boolean jj_3_37() {
- if (jj_3R_94()) return true;
- return false;
- }
-
- private boolean jj_3R_221() {
- if (jj_3R_174()) return true;
- return false;
- }
-
- private boolean jj_3R_220() {
- if (jj_3R_82()) return true;
- return false;
- }
-
- private boolean jj_3R_277() {
- if (jj_3R_302()) return true;
- return false;
- }
-
- private boolean jj_3R_179() {
- if (jj_scan_token(SUPER)) return true;
- if (jj_scan_token(DOT)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_220()) jj_scanpos = xsp;
- if (jj_scan_token(IDENTIFIER)) return true;
- xsp = jj_scanpos;
- if (jj_3R_221()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3R_178() {
- if (jj_scan_token(THIS)) return true;
- return false;
- }
-
- private boolean jj_3R_370() {
- if (jj_3R_113()) return true;
- return false;
- }
-
- private boolean jj_3R_369() {
- if (jj_scan_token(THROWS)) return true;
- if (jj_3R_375()) return true;
- return false;
- }
-
- private boolean jj_3R_177() {
- if (jj_3R_219()) return true;
- return false;
- }
-
- private boolean jj_3R_120() {
- if (jj_3R_94()) return true;
- return false;
- }
-
- private boolean jj_3R_245() {
- if (jj_scan_token(LBRACE)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_277()) { jj_scanpos = xsp; break; }
- }
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_312() {
- if (jj_3R_110()) return true;
- return false;
- }
-
- private boolean jj_3R_296() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_312()) jj_scanpos = xsp;
- if (jj_3R_77()) return true;
- if (jj_3R_95()) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_3R_364()) return true;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_368()) { jj_scanpos = xsp; break; }
- }
- if (jj_3R_77()) return true;
- xsp = jj_scanpos;
- if (jj_3R_369()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_3R_370()) {
- jj_scanpos = xsp;
- if (jj_scan_token(86)) return true;
- }
- return false;
- }
-
- private boolean jj_3R_119() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_177()) {
- jj_scanpos = xsp;
- if (jj_3R_178()) {
- jj_scanpos = xsp;
- if (jj_3R_179()) {
- jj_scanpos = xsp;
- if (jj_3R_180()) {
- jj_scanpos = xsp;
- if (jj_3R_181()) {
- jj_scanpos = xsp;
- if (jj_3R_182()) {
- jj_scanpos = xsp;
- if (jj_3R_183()) return true;
- }
- }
- }
- }
- }
- }
- return false;
- }
-
- private boolean jj_3_36() {
- if (jj_3R_93()) return true;
- return false;
- }
-
- private boolean jj_3R_204() {
- if (jj_scan_token(AT)) return true;
- if (jj_scan_token(INTERFACE)) return true;
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_3R_245()) return true;
- return false;
- }
-
- private boolean jj_3R_315() {
- if (jj_scan_token(COMMA)) return true;
- if (jj_3R_314()) return true;
- return false;
- }
-
- private boolean jj_3R_336() {
- if (jj_3R_103()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_52()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_79() {
- if (jj_3R_119()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_120()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_172() {
- if (jj_scan_token(LBRACE)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_313()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(87)) jj_scanpos = xsp;
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_273() {
- if (jj_3R_297()) return true;
- return false;
- }
-
- private boolean jj_3R_201() {
- if (jj_scan_token(LBRACE)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_336()) jj_scanpos = xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(87)) jj_scanpos = xsp;
- if (jj_scan_token(RBRACE)) return true;
- return false;
- }
-
- private boolean jj_3R_115() {
- if (jj_3R_85()) return true;
- return false;
- }
-
- private boolean jj_3R_114() {
- if (jj_3R_172()) return true;
- return false;
- }
-
- private boolean jj_3R_200() {
- if (jj_scan_token(ASSIGN)) return true;
- if (jj_3R_76()) return true;
- return false;
- }
-
- private boolean jj_3R_160() {
- if (jj_3R_138()) return true;
- return false;
- }
-
- private boolean jj_3R_292() {
- if (jj_3R_119()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3_36()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_159() {
- if (jj_3R_201()) return true;
- return false;
- }
-
- private boolean jj_3R_141() {
- if (jj_3R_81()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_194()) return true;
- return false;
- }
-
- private boolean jj_3R_158() {
- if (jj_3R_108()) return true;
- return false;
- }
-
- private boolean jj_3_35() {
- if (jj_3R_92()) return true;
- if (jj_scan_token(RPAREN)) return true;
- if (jj_3R_193()) return true;
- return false;
- }
-
- private boolean jj_3R_76() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_114()) {
- jj_scanpos = xsp;
- if (jj_3R_115()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_103() {
- Token xsp;
- xsp = jj_scanpos;
- 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_89() {
- if (jj_scan_token(LPAREN)) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3_35()) {
- jj_scanpos = xsp;
- if (jj_3R_141()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_199() {
- if (jj_scan_token(IDENTIFIER)) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_237()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_314() {
- if (jj_scan_token(IDENTIFIER)) return true;
- if (jj_scan_token(ASSIGN)) return true;
- if (jj_3R_103()) return true;
- return false;
- }
-
- private boolean jj_3R_74() {
- if (jj_scan_token(LBRACKET)) return true;
- if (jj_scan_token(RBRACKET)) return true;
- return false;
- }
-
- private boolean jj_3R_91() {
- if (jj_scan_token(DECR)) return true;
- return false;
- }
-
- private boolean jj_3_34() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_90()) {
- jj_scanpos = xsp;
- if (jj_3R_91()) return true;
- }
- return false;
- }
-
- private boolean jj_3R_90() {
- if (jj_scan_token(INCR)) return true;
- return false;
- }
-
- private boolean jj_3R_156() {
- if (jj_3R_199()) return true;
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_200()) jj_scanpos = xsp;
- return false;
- }
-
- private boolean jj_3_33() {
- if (jj_3R_89()) return true;
- return false;
- }
-
- private boolean jj_3R_297() {
- if (jj_3R_314()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_315()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- private boolean jj_3R_208() {
- if (jj_3R_246()) return true;
- 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[144];
- 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,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x40001000,0x8100000,0x48101000,0x100000,0x0,0x10000000,0x0,0x0,0x0,0x0,0x0,0x0,0x4a195000,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x4a195000,0x8100000,0x2094000,0x4a195000,0x0,0x0,0x0,0x22094000,0x22094000,0x0,0x0,0x0,0x0,0x0,0x0,0x42095000,0x0,0x0,0x0,0x0,0x0,0x22094000,0x6359f000,0x0,0x2094000,0x2094000,0x0,0x2094000,0x10000000,0x10000000,0x2094000,0x2094000,0x2094000,0x2094000,0x2094000,0x10000000,0x10000000,0x2094000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x22094000,0x0,0x0,0x22094000,0x0,0x2094000,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x20000000,0x22094000,0x0,0x0,0x0,0x2094000,0x0,0x0,0x2349e000,0x0,0x2349e000,0x0,0x0,0x0,0x22094000,0x820000,0x820000,0x4000000,0x62095000,0x22094000,0x22094000,0x62095000,0x22094000,0x0,0x0,0x0,0x22094000,0x40000,0x80000000,0x80040000,0x0,0x0,0x0,0x0,0x22094000,0x22094000,0x0,0x4a195000,0xa194000,0x4a195000,0x800000,};
- }
- private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x20,0x2000,0x20,0x0,0x20,0x0,0x0,0x80000,0x0,0x8899c400,0x100,0x8899c500,0x100,0x0,0x0,0x10,0x0,0x0,0x10,0x0,0x0,0xc89dc781,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc89dc781,0x100,0x40040281,0xc89dc781,0x0,0x0,0x0,0x51241a81,0x51241a81,0x0,0x0,0x0,0x4000000,0x0,0x0,0x889dc681,0x0,0x4000000,0x0,0x0,0x0,0x51241a81,0xfbffdf8b,0x80000,0x40281,0x40281,0x0,0x40281,0x200000,0x200000,0x40281,0x40040281,0x40281,0x40281,0x40281,0x200000,0x200000,0x40040281,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51241a81,0x0,0x0,0x51241a81,0x0,0x40281,0x0,0x0,0x0,0x11201800,0x0,0x0,0x0,0x0,0x1000800,0x0,0x10001000,0x10000000,0x51241a81,0x0,0x0,0x0,0x40281,0x0,0x0,0x73e61a8b,0x0,0x73e61a8b,0x0,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,0x2000000,0x0,0x0,0x0,0x0,0x2000000,0x0,0x1000000,0x2000000,0x2000000,0x2400000,0x0,0x8000000,0x0,0x0,0x800000,0x800000,0x0,0x2002000,0x800000,0xa442000,0x400000,0x2000000,0x10000,0x40000,0x800000,0x0,0x0,0xa442000,0x2000000,0xa002000,0xa402000,0x800000,0x4000000,0x100000,0x30053846,0x30053846,0x800000,0x8000000,0x100000,0x0,0x440000,0x800000,0x2002000,0x8000000,0x0,0x440000,0x8000000,0x8000000,0x8013846,0x2453847,0x0,0x2000000,0x2000,0x800000,0x40002000,0x0,0x0,0x0,0x2002000,0x0,0x2000,0x0,0x0,0x0,0x2000,0x800000,0x4000000,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x30013846,0x30000000,0x30000000,0x13846,0x0,0x2002000,0x8000000,0x10000,0x10000,0x11846,0x2000,0x1000000,0x8000000,0x10000,0x0,0x1100000,0x1846,0x0,0x30013846,0x800000,0x8000000,0x110000,0x8002000,0x100000,0x100000,0x453847,0x80000000,0x453847,0x800000,0x4000000,0x4000000,0x13846,0x0,0x0,0x0,0x32013846,0x30013846,0x30013846,0x32413846,0x30013846,0x800000,0x2000,0x2000,0x30013846,0x0,0x0,0x0,0x2000000,0x2000000,0x2000,0x800000,0x32053846,0x32053846,0x800000,0x2402000,0x2002000,0x2402000,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,0x1000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffe0000,0x0,0x10,0x20,0x2000,0x4000,0x1000,0x9,0x9,0x0,0x80000006,0x80000006,0x10000,0x300,0x300,0x8c00,0x8c00,0x300,0x3c0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0xc0,0x0,0xffe00c0,0xffe00c0,0xc0,0x0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,};
- }
- private static void jj_la1_init_4() {
- jj_la1_4 = new int[] {0x0,0x0,0x0,0x1,0x0,0x1,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,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,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[53];
- 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 < 144; 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 < 144; 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 < 144; 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 < 144; 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 < 144; 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 < 144; 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[129];
- if (jj_kind >= 0) {
- la1tokens[jj_kind] = true;
- jj_kind = -1;
- }
- for (int i = 0; i < 144; 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;
- }
- }
- 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/stubparser/src/org/checkerframework/stubparser/ASTParserConstants.java b/stubparser/src/org/checkerframework/stubparser/ASTParserConstants.java
deleted file mode 100644
index 51c3c676ab5..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ASTParserConstants.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ASTParserConstants.java */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-
-/**
- * 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 FLOATING_POINT_LITERAL = 70;
- /** RegularExpression Id. */
- int DECIMAL_FLOATING_POINT_LITERAL = 71;
- /** RegularExpression Id. */
- int DECIMAL_EXPONENT = 72;
- /** RegularExpression Id. */
- int HEXADECIMAL_FLOATING_POINT_LITERAL = 73;
- /** RegularExpression Id. */
- int HEXADECIMAL_EXPONENT = 74;
- /** RegularExpression Id. */
- int CHARACTER_LITERAL = 75;
- /** RegularExpression Id. */
- int STRING_LITERAL = 76;
- /** RegularExpression Id. */
- int IDENTIFIER = 77;
- /** RegularExpression Id. */
- int LETTER = 78;
- /** RegularExpression Id. */
- int PART_LETTER = 79;
- /** RegularExpression Id. */
- int LPAREN = 80;
- /** RegularExpression Id. */
- int RPAREN = 81;
- /** RegularExpression Id. */
- int LBRACE = 82;
- /** RegularExpression Id. */
- int RBRACE = 83;
- /** RegularExpression Id. */
- int LBRACKET = 84;
- /** RegularExpression Id. */
- int RBRACKET = 85;
- /** RegularExpression Id. */
- int SEMICOLON = 86;
- /** RegularExpression Id. */
- int COMMA = 87;
- /** RegularExpression Id. */
- int DOT = 88;
- /** RegularExpression Id. */
- int AT = 89;
- /** RegularExpression Id. */
- int ASSIGN = 90;
- /** RegularExpression Id. */
- int LT = 91;
- /** RegularExpression Id. */
- int BANG = 92;
- /** RegularExpression Id. */
- int TILDE = 93;
- /** RegularExpression Id. */
- int HOOK = 94;
- /** RegularExpression Id. */
- int COLON = 95;
- /** RegularExpression Id. */
- int EQ = 96;
- /** RegularExpression Id. */
- int LE = 97;
- /** RegularExpression Id. */
- int GE = 98;
- /** RegularExpression Id. */
- int NE = 99;
- /** RegularExpression Id. */
- int SC_OR = 100;
- /** RegularExpression Id. */
- int SC_AND = 101;
- /** RegularExpression Id. */
- int INCR = 102;
- /** RegularExpression Id. */
- int DECR = 103;
- /** RegularExpression Id. */
- int PLUS = 104;
- /** RegularExpression Id. */
- int MINUS = 105;
- /** RegularExpression Id. */
- int STAR = 106;
- /** RegularExpression Id. */
- int SLASH = 107;
- /** RegularExpression Id. */
- int BIT_AND = 108;
- /** RegularExpression Id. */
- int BIT_OR = 109;
- /** RegularExpression Id. */
- int XOR = 110;
- /** RegularExpression Id. */
- int REM = 111;
- /** RegularExpression Id. */
- int LSHIFT = 112;
- /** RegularExpression Id. */
- int PLUSASSIGN = 113;
- /** RegularExpression Id. */
- int MINUSASSIGN = 114;
- /** RegularExpression Id. */
- int STARASSIGN = 115;
- /** RegularExpression Id. */
- int SLASHASSIGN = 116;
- /** RegularExpression Id. */
- int ANDASSIGN = 117;
- /** RegularExpression Id. */
- int ORASSIGN = 118;
- /** RegularExpression Id. */
- int XORASSIGN = 119;
- /** RegularExpression Id. */
- int REMASSIGN = 120;
- /** RegularExpression Id. */
- int LSHIFTASSIGN = 121;
- /** RegularExpression Id. */
- int RSIGNEDSHIFTASSIGN = 122;
- /** RegularExpression Id. */
- int RUNSIGNEDSHIFTASSIGN = 123;
- /** RegularExpression Id. */
- int ELLIPSIS = 124;
- /** RegularExpression Id. */
- int RUNSIGNEDSHIFT = 125;
- /** RegularExpression Id. */
- int RSIGNEDSHIFT = 126;
- /** RegularExpression Id. */
- int GT = 127;
-
- /** 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\"",
- };
-
-}
diff --git a/stubparser/src/org/checkerframework/stubparser/ASTParserTokenManager.java b/stubparser/src/org/checkerframework/stubparser/ASTParserTokenManager.java
deleted file mode 100644
index 9fee9e8656d..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ASTParserTokenManager.java
+++ /dev/null
@@ -1,2530 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ASTParserTokenManager.java */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-import java.util.*;
-
-import org.checkerframework.stubparser.ast.*;
-import org.checkerframework.stubparser.ast.body.*;
-
-/** Token Manager. */
-public class ASTParserTokenManager implements ASTParserConstants
-{
- private List comments;
- private final Stack javadocStack = new Stack();
- private JavadocComment lastJavadoc;
-
- void pushJavadoc() {
- javadocStack.push(lastJavadoc);
- }
-
- JavadocComment popJavadoc() {
- return javadocStack.pop();
- }
-
- List getComments() {
- return comments;
- }
-
- void clearComments() {
- comments = null;
- javadocStack.clear();
- lastJavadoc = null;
- }
-
- private void CommonTokenAction(Token token) {
- lastJavadoc = null;
- if (token.specialToken != null) {
- if (comments == null) {
- comments = new LinkedList();
- }
- Token special = token.specialToken;
- if (special.kind == JAVA_DOC_COMMENT) {
- lastJavadoc = new JavadocComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(3, special.image.length()-2));
- comments.add(lastJavadoc);
- } else if (special.kind == SINGLE_LINE_COMMENT) {
- LineComment comment = new LineComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2));
- comments.add(comment);
- } else if (special.kind == MULTI_LINE_COMMENT) {
- BlockComment comment = new BlockComment(special.beginLine, special.beginColumn, special.endLine, special.endColumn, special.image.substring(2, special.image.length()-2));
- comments.add(comment);
- }
- }
- }
-
- /** 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 = 77;
- return 37;
- }
- if ((active1 & 0x1000000001000000L) != 0L) {
- return 1;
- }
- if ((active0 & 0x100L) != 0L || (active1 & 0x10080000000000L) != 0L) {
- return 54;
- }
- return -1;
- case 1:
- if ((active0 & 0x100L) != 0L) {
- return 59;
- }
- if ((active0 & 0x803000000L) != 0L) {
- return 37;
- }
- if ((active0 & 0xfffffff7fcfff000L) != 0L || (active1 & 0x1L) != 0L)
- {
- if (jjmatchedPos != 1)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 1;
- }
- return 37;
- }
- return -1;
- case 2:
- if ((active0 & 0xdffff675fefff000L) != 0L || (active1 & 0x1L) != 0L)
- {
- if (jjmatchedPos != 2)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 2;
- }
- return 37;
- }
- if ((active0 & 0x2000098200000000L) != 0L) {
- return 37;
- }
- return -1;
- case 3:
- if ((active0 & 0x8effe571f2f4f000L) != 0L || (active1 & 0x1L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 3;
- return 37;
- }
- if ((active0 & 0x510012040c0b0000L) != 0L) {
- return 37;
- }
- return -1;
- case 4:
- if ((active0 & 0x88dbe57012c07000L) != 0L)
- {
- if (jjmatchedPos != 4)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 4;
- }
- return 37;
- }
- if ((active0 & 0x6240001e0348000L) != 0L || (active1 & 0x1L) != 0L) {
- return 37;
- }
- return -1;
- case 5:
- if ((active0 & 0x8890e15090c05000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 5;
- return 37;
- }
- if ((active0 & 0x44b042002002000L) != 0L) {
- return 37;
- }
- return -1;
- case 6:
- if ((active0 & 0x8890815000401000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 6;
- return 37;
- }
- if ((active0 & 0x600090804000L) != 0L) {
- return 37;
- }
- return -1;
- case 7:
- if ((active0 & 0x880815000000000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 7;
- return 37;
- }
- if ((active0 & 0x8010000000401000L) != 0L) {
- return 37;
- }
- return -1;
- case 8:
- if ((active0 & 0x800810000000000L) != 0L) {
- return 37;
- }
- if ((active0 & 0x80005000000000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 8;
- return 37;
- }
- return -1;
- case 9:
- if ((active0 & 0x80000000000000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 9;
- return 37;
- }
- if ((active0 & 0x5000000000L) != 0L) {
- return 37;
- }
- return -1;
- case 10:
- if ((active0 & 0x80000000000000L) != 0L)
- {
- jjmatchedKind = 77;
- jjmatchedPos = 10;
- return 37;
- }
- 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, 128);
- case 33:
- jjmatchedKind = 92;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x800000000L);
- case 37:
- jjmatchedKind = 111;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000000000L);
- case 38:
- jjmatchedKind = 108;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x20002000000000L);
- case 40:
- return jjStopAtPos(0, 80);
- case 41:
- return jjStopAtPos(0, 81);
- case 42:
- jjmatchedKind = 106;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000000000L);
- case 43:
- jjmatchedKind = 104;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x2004000000000L);
- case 44:
- return jjStopAtPos(0, 87);
- case 45:
- jjmatchedKind = 105;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x4008000000000L);
- case 46:
- jjmatchedKind = 88;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000000000L);
- case 47:
- jjmatchedKind = 107;
- return jjMoveStringLiteralDfa1_0(0x100L, 0x10000000000000L);
- case 58:
- return jjStopAtPos(0, 95);
- case 59:
- return jjStopAtPos(0, 86);
- case 60:
- jjmatchedKind = 91;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x201000200000000L);
- case 61:
- jjmatchedKind = 90;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000L);
- case 62:
- jjmatchedKind = 127;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x6c00000400000000L);
- case 63:
- return jjStopAtPos(0, 94);
- case 64:
- return jjStopAtPos(0, 89);
- case 91:
- return jjStopAtPos(0, 84);
- case 93:
- return jjStopAtPos(0, 85);
- case 94:
- jjmatchedKind = 110;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x80000000000000L);
- case 97:
- return jjMoveStringLiteralDfa1_0(0x3000L, 0x0L);
- case 98:
- return jjMoveStringLiteralDfa1_0(0x1c000L, 0x0L);
- case 99:
- return jjMoveStringLiteralDfa1_0(0x7e0000L, 0x0L);
- case 100:
- return jjMoveStringLiteralDfa1_0(0x3800000L, 0x0L);
- case 101:
- return jjMoveStringLiteralDfa1_0(0x1c000000L, 0x0L);
- case 102:
- return jjMoveStringLiteralDfa1_0(0x3e0000000L, 0x0L);
- case 103:
- return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L);
- case 105:
- return jjMoveStringLiteralDfa1_0(0x1f800000000L, 0x0L);
- case 108:
- return jjMoveStringLiteralDfa1_0(0x20000000000L, 0x0L);
- case 110:
- return jjMoveStringLiteralDfa1_0(0x1c0000000000L, 0x0L);
- case 112:
- return jjMoveStringLiteralDfa1_0(0x1e00000000000L, 0x0L);
- case 114:
- return jjMoveStringLiteralDfa1_0(0x2000000000000L, 0x0L);
- case 115:
- return jjMoveStringLiteralDfa1_0(0xfc000000000000L, 0x0L);
- case 116:
- return jjMoveStringLiteralDfa1_0(0x3f00000000000000L, 0x0L);
- case 118:
- return jjMoveStringLiteralDfa1_0(0xc000000000000000L, 0x0L);
- case 119:
- return jjMoveStringLiteralDfa1_0(0x0L, 0x1L);
- case 123:
- return jjStopAtPos(0, 82);
- case 124:
- jjmatchedKind = 109;
- return jjMoveStringLiteralDfa1_0(0x0L, 0x40001000000000L);
- case 125:
- return jjStopAtPos(0, 83);
- case 126:
- return jjStopAtPos(0, 93);
- default :
- return jjMoveNfa_0(0, 0);
- }
-}
-private int jjMoveStringLiteralDfa1_0(long active0, long active1)
-{
- try { curChar = input_stream.readChar(); }
- catch (java.io.IOException e) {
- jjStopStringLiteralDfa_0(0, active0, active1, 0L);
- return 1;
- }
- switch(curChar)
- {
- case 38:
- if ((active1 & 0x2000000000L) != 0L) {
- return jjStopAtPos(1, 101);
- }
- break;
- case 42:
- if ((active0 & 0x100L) != 0L) {
- return jjStartNfaWithStates_0(1, 8, 59);
- }
- break;
- case 43:
- if ((active1 & 0x4000000000L) != 0L) {
- return jjStopAtPos(1, 102);
- }
- break;
- case 45:
- if ((active1 & 0x8000000000L) != 0L) {
- return jjStopAtPos(1, 103);
- }
- break;
- case 46:
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x1000000000000000L);
- case 60:
- if ((active1 & 0x1000000000000L) != 0L)
- {
- jjmatchedKind = 112;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x200000000000000L);
- case 61:
- if ((active1 & 0x100000000L) != 0L) {
- return jjStopAtPos(1, 96);
- } else 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 & 0x2000000000000L) != 0L)
- return jjStopAtPos(1, 113);
- 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);
- break;
- case 62:
- if ((active1 & 0x4000000000000000L) != 0L)
- {
- jjmatchedKind = 126;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2c00000000000000L);
- case 97:
- return jjMoveStringLiteralDfa2_0(active0, 0x240020060000L, active1, 0L);
- case 98:
- return jjMoveStringLiteralDfa2_0(active0, 0x1000L, active1, 0L);
- case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x2080000800000L, active1, 0L);
- case 102:
- if ((active0 & 0x800000000L) != 0L) {
- return jjStartNfaWithStates_0(1, 35, 37);
- }
- break;
- case 104:
- return jjMoveStringLiteralDfa2_0(active0, 0x704000000080000L, active1, 0x1L);
- case 105:
- return jjMoveStringLiteralDfa2_0(active0, 0xc0000000L, active1, 0L);
- case 108:
- return jjMoveStringLiteralDfa2_0(active0, 0x104100000L, active1, 0L);
- case 109:
- return jjMoveStringLiteralDfa2_0(active0, 0x3000000000L, active1, 0L);
- case 110:
- return jjMoveStringLiteralDfa2_0(active0, 0x1c008000000L, active1, 0L);
- case 111:
- if ((active0 & 0x1000000L) != 0L)
- {
- jjmatchedKind = 24;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0xc000020602604000L, active1, 0L);
- case 114:
- return jjMoveStringLiteralDfa2_0(active0, 0x3800c00000008000L, active1, 0L);
- case 115:
- return jjMoveStringLiteralDfa2_0(active0, 0x2000L, active1, 0L);
- case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0x18000000000000L, active1, 0L);
- case 117:
- return jjMoveStringLiteralDfa2_0(active0, 0x21100000000000L, active1, 0L);
- case 119:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000000000000L, active1, 0L);
- case 120:
- return jjMoveStringLiteralDfa2_0(active0, 0x10000000L, active1, 0L);
- case 121:
- return jjMoveStringLiteralDfa2_0(active0, 0x80000000010000L, active1, 0L);
- case 124:
- if ((active1 & 0x1000000000L) != 0L) {
- return jjStopAtPos(1, 100);
- }
- break;
- default :
- break;
- }
- return jjStartNfa_0(0, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
-{
- if (((active0 &= old0) | (active1 &= old1)) == 0L) {
- return jjStartNfa_0(0, old0, old1, 0L);
- }
- try { curChar = input_stream.readChar(); }
- catch (java.io.IOException e) {
- jjStopStringLiteralDfa_0(1, active0, active1, 0L);
- return 2;
- }
- switch(curChar)
- {
- case 46:
- if ((active1 & 0x1000000000000000L) != 0L) {
- return jjStopAtPos(2, 124);
- }
- break;
- case 61:
- if ((active1 & 0x200000000000000L) != 0L) {
- return jjStopAtPos(2, 121);
- } else if ((active1 & 0x400000000000000L) != 0L)
- return jjStopAtPos(2, 122);
- break;
- case 62:
- if ((active1 & 0x2000000000000000L) != 0L)
- {
- jjmatchedKind = 125;
- jjmatchedPos = 2;
- }
- return jjMoveStringLiteralDfa3_0(active0, 0L, active1, 0x800000000000000L);
- case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x808000000180000L, active1, 0L);
- case 98:
- return jjMoveStringLiteralDfa3_0(active0, 0x1000000000000L, active1, 0L);
- case 99:
- return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0L);
- case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000L, active1, 0L);
- case 102:
- return jjMoveStringLiteralDfa3_0(active0, 0x800000L, active1, 0L);
- case 105:
- return jjMoveStringLiteralDfa3_0(active0, 0x4140400000000000L, active1, 0x1L);
- case 108:
- return jjMoveStringLiteralDfa3_0(active0, 0x8000100020000000L, active1, 0L);
- case 110:
- return jjMoveStringLiteralDfa3_0(active0, 0x800200c0600000L, active1, 0L);
- case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x4800100004000L, active1, 0L);
- case 112:
- return jjMoveStringLiteralDfa3_0(active0, 0x20003000000000L, active1, 0L);
- case 114:
- if ((active0 & 0x200000000L) != 0L) {
- return jjStartNfaWithStates_0(2, 33, 37);
- }
- return jjMoveStringLiteralDfa3_0(active0, 0x610000000000000L, active1, 0L);
- case 115:
- return jjMoveStringLiteralDfa3_0(active0, 0x4004023000L, active1, 0L);
- case 116:
- if ((active0 & 0x8000000000L) != 0L)
- {
- jjmatchedKind = 39;
- jjmatchedPos = 2;
- }
- return jjMoveStringLiteralDfa3_0(active0, 0x2050410050000L, active1, 0L);
- case 117:
- return jjMoveStringLiteralDfa3_0(active0, 0x100000000a000000L, active1, 0L);
- case 119:
- if ((active0 & 0x80000000000L) != 0L) {
- return jjStartNfaWithStates_0(2, 43, 37);
- }
- break;
- case 121:
- if ((active0 & 0x2000000000000000L) != 0L) {
- return jjStartNfaWithStates_0(2, 61, 37);
- }
- break;
- default :
- break;
- }
- return jjStartNfa_0(1, active0, active1, 0L);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
-{
- if (((active0 &= old0) | (active1 &= old1)) == 0L) {
- return jjStartNfa_0(1, old0, old1, 0L);
- }
- try { curChar = input_stream.readChar(); }
- catch (java.io.IOException e) {
- jjStopStringLiteralDfa_0(2, active0, active1, 0L);
- return 3;
- }
- switch(curChar)
- {
- case 61:
- if ((active1 & 0x800000000000000L) != 0L) {
- return jjStopAtPos(3, 123);
- }
- 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, 37);
- }
- break;
- case 101:
- if ((active0 & 0x10000L) != 0L) {
- return jjStartNfaWithStates_0(3, 16, 37);
- } else if ((active0 & 0x20000L) != 0L)
- return jjStartNfaWithStates_0(3, 17, 37);
- else if ((active0 & 0x4000000L) != 0L)
- return jjStartNfaWithStates_0(3, 26, 37);
- else if ((active0 & 0x1000000000000000L) != 0L)
- return jjStartNfaWithStates_0(3, 60, 37);
- return jjMoveStringLiteralDfa4_0(active0, 0x20010010002000L, active1, 0L);
- case 103:
- if ((active0 & 0x20000000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 41, 37);
- }
- 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, 37);
- }
- return jjMoveStringLiteralDfa4_0(active0, 0x1001000004000L, active1, 0x1L);
- case 109:
- if ((active0 & 0x8000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 27, 37);
- }
- break;
- case 110:
- return jjMoveStringLiteralDfa4_0(active0, 0x800000000000000L, active1, 0L);
- case 111:
- if ((active0 & 0x400000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 34, 37);
- }
- return jjMoveStringLiteralDfa4_0(active0, 0x600002000000000L, active1, 0L);
- case 114:
- if ((active0 & 0x80000L) != 0L) {
- return jjStartNfaWithStates_0(3, 19, 37);
- }
- return jjMoveStringLiteralDfa4_0(active0, 0x4000000000000L, active1, 0L);
- case 115:
- if ((active0 & 0x100000000000000L) != 0L) {
- return jjStartNfaWithStates_0(3, 56, 37);
- }
- 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, 37);
- } else if ((active1 & 0x1L) != 0L)
- return jjStartNfaWithStates_0(4, 64, 37);
- return jjMoveStringLiteralDfa5_0(active0, 0x801000004000L, active1, 0L);
- case 104:
- if ((active0 & 0x40000L) != 0L) {
- return jjStartNfaWithStates_0(4, 18, 37);
- }
- 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, 37);
- }
- 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, 37);
- }
- return jjMoveStringLiteralDfa5_0(active0, 0x2012000003000L, active1, 0L);
- case 115:
- if ((active0 & 0x100000L) != 0L) {
- return jjStartNfaWithStates_0(4, 20, 37);
- }
- return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0L);
- case 116:
- if ((active0 & 0x200000L) != 0L) {
- return jjStartNfaWithStates_0(4, 21, 37);
- } else if ((active0 & 0x100000000L) != 0L)
- return jjStartNfaWithStates_0(4, 32, 37);
- else if ((active0 & 0x4000000000000L) != 0L)
- return jjStartNfaWithStates_0(4, 50, 37);
- 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, 37);
- } else if ((active0 & 0x8000000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 51, 37);
- return jjMoveStringLiteralDfa6_0(active0, 0x800000000000L);
- case 100:
- return jjMoveStringLiteralDfa6_0(active0, 0x10000000L);
- case 101:
- if ((active0 & 0x2000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 25, 37);
- } else if ((active0 & 0x40000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 42, 37);
- 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, 37);
- }
- 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, 37);
- }
- return jjMoveStringLiteralDfa6_0(active0, 0x4000400000L);
- case 114:
- return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L);
- case 115:
- if ((active0 & 0x400000000000000L) != 0L) {
- return jjStartNfaWithStates_0(5, 58, 37);
- }
- break;
- case 116:
- if ((active0 & 0x2000L) != 0L) {
- return jjStartNfaWithStates_0(5, 13, 37);
- } else if ((active0 & 0x2000000000L) != 0L)
- return jjStartNfaWithStates_0(5, 37, 37);
- 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, 37);
- } else if ((active0 & 0x400000000000L) != 0L)
- return jjStartNfaWithStates_0(6, 46, 37);
- 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, 37);
- }
- break;
- case 111:
- return jjMoveStringLiteralDfa7_0(active0, 0x80000000000000L);
- case 115:
- if ((active0 & 0x10000000L) != 0L) {
- return jjStartNfaWithStates_0(6, 28, 37);
- }
- break;
- case 116:
- if ((active0 & 0x800000L) != 0L) {
- return jjStartNfaWithStates_0(6, 23, 37);
- }
- return jjMoveStringLiteralDfa7_0(active0, 0x800000000000L);
- case 117:
- return jjMoveStringLiteralDfa7_0(active0, 0x400000L);
- case 121:
- if ((active0 & 0x80000000L) != 0L) {
- return jjStartNfaWithStates_0(6, 31, 37);
- }
- 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, 37);
- } else if ((active0 & 0x8000000000000000L) != 0L)
- return jjStartNfaWithStates_0(7, 63, 37);
- return jjMoveStringLiteralDfa8_0(active0, 0x804000000000L);
- case 110:
- return jjMoveStringLiteralDfa8_0(active0, 0x880001000000000L);
- case 112:
- if ((active0 & 0x10000000000000L) != 0L) {
- return jjStartNfaWithStates_0(7, 52, 37);
- }
- break;
- case 116:
- if ((active0 & 0x1000L) != 0L) {
- return jjStartNfaWithStates_0(7, 12, 37);
- }
- 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, 37);
- }
- break;
- case 101:
- if ((active0 & 0x10000000000L) != 0L) {
- return jjStartNfaWithStates_0(8, 40, 37);
- }
- 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, 37);
- }
- 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, 37);
- }
- break;
- case 115:
- if ((active0 & 0x1000000000L) != 0L) {
- return jjStartNfaWithStates_0(9, 36, 37);
- }
- 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, 37);
- }
- 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 = 86;
- 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 54:
- if (curChar == 42) {
- jjstateSet[jjnewStateCnt++] = 59;
- } else if (curChar == 47)
- {
- if (kind > 6) {
- kind = 6;
- }
- jjCheckNAddStates(0, 2);
- }
- break;
- case 0:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(3, 9);
- } else if (curChar == 47)
- jjAddStates(10, 11);
- else if (curChar == 36)
- {
- if (kind > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- }
- else if (curChar == 34)
- jjCheckNAddStates(12, 15);
- else if (curChar == 39)
- jjAddStates(16, 18);
- else if (curChar == 46)
- jjCheckNAdd(1);
- if ((0x3fe000000000000L & l) != 0L)
- {
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAddStates(19, 21);
- }
- else if (curChar == 48)
- {
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAddStates(22, 28);
- }
- break;
- case 1:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddStates(29, 31);
- break;
- case 3:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(4);
- }
- break;
- case 4:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddTwoStates(4, 5);
- break;
- case 6:
- if (curChar == 39) {
- jjAddStates(16, 18);
- }
- break;
- case 7:
- if ((0xffffff7fffffdbffL & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 8:
- if (curChar == 39 && kind > 75) {
- kind = 75;
- }
- break;
- case 10:
- if ((0x8400000000L & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 11:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(12, 8);
- }
- break;
- case 12:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 13:
- if ((0xf000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 14;
- }
- break;
- case 14:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAdd(12);
- }
- break;
- case 16:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 17;
- }
- break;
- case 17:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 18;
- }
- break;
- case 18:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 19;
- }
- break;
- case 19:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 21:
- if (curChar == 34) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 22:
- if ((0xfffffffbffffdbffL & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 24:
- if ((0x8400000000L & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 26:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 27;
- }
- break;
- case 27:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 28;
- }
- break;
- case 28:
- if ((0x3ff000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 29;
- }
- break;
- case 29:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 31:
- if (curChar == 34 && kind > 76) {
- kind = 76;
- }
- break;
- case 32:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAddStates(32, 36);
- }
- break;
- case 33:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 34:
- if ((0xf000000000000L & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 35;
- }
- break;
- case 35:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAdd(33);
- }
- break;
- case 36:
- if (curChar != 36) {
- break;
- }
- if (kind > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 37:
- if ((0x3ff00100fffc1ffL & l) == 0L) {
- break;
- }
- if (kind > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 38:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(3, 9);
- }
- break;
- case 39:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(37, 39);
- }
- break;
- case 41:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(42);
- }
- break;
- case 42:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(42, 5);
- }
- break;
- case 43:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(43, 44);
- }
- break;
- case 45:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(46);
- }
- break;
- case 46:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddTwoStates(46, 5);
- break;
- case 47:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(47, 48);
- }
- break;
- case 48:
- if (curChar != 46) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddStates(40, 42);
- break;
- case 49:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddStates(40, 42);
- break;
- case 51:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(52);
- }
- break;
- case 52:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddTwoStates(52, 5);
- break;
- case 53:
- if (curChar == 47) {
- jjAddStates(10, 11);
- }
- break;
- case 55:
- if ((0xffffffffffffdbffL & l) == 0L) {
- break;
- }
- if (kind > 6) {
- kind = 6;
- }
- jjCheckNAddStates(0, 2);
- break;
- case 56:
- if ((0x2400L & l) != 0L && kind > 6) {
- kind = 6;
- }
- break;
- case 57:
- if (curChar == 10 && kind > 6) {
- kind = 6;
- }
- break;
- case 58:
- if (curChar == 13) {
- jjstateSet[jjnewStateCnt++] = 57;
- }
- break;
- case 59:
- if (curChar == 42) {
- jjstateSet[jjnewStateCnt++] = 60;
- }
- break;
- case 60:
- if ((0xffff7fffffffffffL & l) != 0L && kind > 7) {
- kind = 7;
- }
- break;
- case 61:
- if (curChar == 42) {
- jjstateSet[jjnewStateCnt++] = 59;
- }
- break;
- case 62:
- if ((0x3fe000000000000L & l) == 0L) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAddStates(19, 21);
- break;
- case 63:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(63, 64);
- }
- break;
- case 65:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAdd(65);
- break;
- case 66:
- if (curChar != 48) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAddStates(22, 28);
- break;
- case 68:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(68, 64);
- }
- break;
- case 69:
- if ((0xff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(69, 64);
- }
- break;
- case 71:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjstateSet[jjnewStateCnt++] = 71;
- break;
- case 72:
- if ((0xff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAdd(72);
- break;
- case 74:
- if ((0x3ff000000000000L & l) != 0L) {
- jjAddStates(43, 44);
- }
- break;
- case 75:
- if (curChar == 46) {
- jjCheckNAdd(76);
- }
- break;
- case 76:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddTwoStates(76, 77);
- }
- break;
- case 78:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(79);
- }
- break;
- case 79:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddTwoStates(79, 5);
- break;
- case 81:
- if ((0x3ff000000000000L & l) != 0L) {
- jjCheckNAddStates(45, 47);
- }
- break;
- case 82:
- if (curChar == 46) {
- jjCheckNAdd(83);
- }
- break;
- case 84:
- if ((0x280000000000L & l) != 0L) {
- jjCheckNAdd(85);
- }
- break;
- case 85:
- if ((0x3ff000000000000L & l) == 0L) {
- break;
- }
- if (kind > 70) {
- kind = 70;
- }
- jjCheckNAddTwoStates(85, 5);
- 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 > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 2:
- if ((0x2000000020L & l) != 0L) {
- jjAddStates(48, 49);
- }
- break;
- case 5:
- if ((0x5000000050L & l) != 0L && kind > 70) {
- kind = 70;
- }
- break;
- case 7:
- if ((0xffffffffefffffffL & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 9:
- if (curChar == 92) {
- jjAddStates(50, 52);
- }
- break;
- case 10:
- if ((0x14404410000000L & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 15:
- if (curChar == 117) {
- jjstateSet[jjnewStateCnt++] = 16;
- }
- break;
- case 16:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 17;
- }
- break;
- case 17:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 18;
- }
- break;
- case 18:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 19;
- }
- break;
- case 19:
- if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAdd(8);
- }
- break;
- case 20:
- if (curChar == 92) {
- jjstateSet[jjnewStateCnt++] = 15;
- }
- break;
- case 22:
- if ((0xffffffffefffffffL & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 23:
- if (curChar == 92) {
- jjAddStates(53, 55);
- }
- break;
- case 24:
- if ((0x14404410000000L & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 25:
- if (curChar == 117) {
- jjstateSet[jjnewStateCnt++] = 26;
- }
- break;
- case 26:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 27;
- }
- break;
- case 27:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 28;
- }
- break;
- case 28:
- if ((0x7e0000007eL & l) != 0L) {
- jjstateSet[jjnewStateCnt++] = 29;
- }
- break;
- case 29:
- if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(12, 15);
- }
- break;
- case 30:
- if (curChar == 92) {
- jjstateSet[jjnewStateCnt++] = 25;
- }
- break;
- case 37:
- if ((0x87fffffe87fffffeL & l) == 0L) {
- break;
- }
- if (kind > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 40:
- if ((0x2000000020L & l) != 0L) {
- jjAddStates(56, 57);
- }
- break;
- case 44:
- if ((0x2000000020L & l) != 0L) {
- jjAddStates(58, 59);
- }
- break;
- case 50:
- if ((0x2000000020L & l) != 0L) {
- jjAddStates(60, 61);
- }
- break;
- case 55:
- if (kind > 6) {
- kind = 6;
- }
- jjAddStates(0, 2);
- break;
- case 60:
- if (kind > 7) {
- kind = 7;
- }
- break;
- case 64:
- if ((0x100000001000L & l) != 0L && kind > 65) {
- kind = 65;
- }
- break;
- case 67:
- if ((0x100000001000000L & l) != 0L) {
- jjCheckNAdd(68);
- }
- break;
- case 68:
- if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddTwoStates(68, 64);
- }
- break;
- case 70:
- if ((0x100000001000000L & l) != 0L) {
- jjCheckNAdd(71);
- }
- break;
- case 71:
- if ((0x7e0000007eL & l) == 0L) {
- break;
- }
- if (kind > 66) {
- kind = 66;
- }
- jjCheckNAdd(71);
- break;
- case 73:
- if ((0x100000001000000L & l) != 0L) {
- jjCheckNAddTwoStates(74, 75);
- }
- break;
- case 74:
- if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddTwoStates(74, 75);
- }
- break;
- case 76:
- if ((0x7e0000007eL & l) != 0L) {
- jjAddStates(62, 63);
- }
- break;
- case 77:
- if ((0x1000000010000L & l) != 0L) {
- jjAddStates(64, 65);
- }
- break;
- case 80:
- if ((0x100000001000000L & l) != 0L) {
- jjCheckNAdd(81);
- }
- break;
- case 81:
- if ((0x7e0000007eL & l) != 0L) {
- jjCheckNAddStates(45, 47);
- }
- break;
- case 83:
- if ((0x1000000010000L & l) != 0L) {
- jjAddStates(66, 67);
- }
- break;
- default : break;
- }
- } while (i != startsAt);
- }
- else
- {
- int hiByte = 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 > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 7:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
- jjstateSet[jjnewStateCnt++] = 8;
- }
- break;
- case 22:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2)) {
- jjAddStates(12, 15);
- }
- break;
- case 37:
- if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) {
- break;
- }
- if (kind > 77) {
- kind = 77;
- }
- jjCheckNAdd(37);
- break;
- case 55:
- if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) {
- break;
- }
- if (kind > 6) {
- kind = 6;
- }
- jjAddStates(0, 2);
- break;
- case 60:
- 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 = 86 - (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 = {
- 55, 56, 58, 39, 40, 5, 43, 44, 47, 48, 54, 61, 22, 23, 30, 31,
- 7, 9, 20, 63, 64, 65, 67, 69, 64, 70, 72, 73, 80, 1, 2, 5,
- 22, 23, 33, 30, 31, 39, 40, 5, 49, 50, 5, 74, 75, 81, 82, 83,
- 3, 4, 10, 11, 13, 24, 32, 34, 41, 42, 45, 46, 51, 52, 76, 77,
- 78, 79, 84, 85,
-};
-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, "\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", "\76\76\76", "\76\76", "\76", "\32", };
-
-/** 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,
-};
-static final long[] jjtoToken = {
- 0xfffffffffffff001L, 0xffffffffffff3847L, 0x1L,
-};
-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[86];
-private final int[] jjstateSet = new int[172];
-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 = 86; 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;
- CommonTokenAction(matchedToken);
- 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];
- }
- CommonTokenAction(matchedToken);
- 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 125 :
- image.append(jjstrLiteralImages[125]);
- lengthOfMatch = jjstrLiteralImages[125].length();
- matchedToken.kind = GT;
- ((ASTParser.GTToken)matchedToken).realKind = RUNSIGNEDSHIFT;
- input_stream.backup(2);
- break;
- case 126 :
- image.append(jjstrLiteralImages[126]);
- lengthOfMatch = jjstrLiteralImages[126].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/stubparser/src/org/checkerframework/stubparser/JavaCharStream.java b/stubparser/src/org/checkerframework/stubparser/JavaCharStream.java
deleted file mode 100644
index e353ed0d4a0..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/JavaCharStream.java
+++ /dev/null
@@ -1,644 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 5.0 */
-/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-/**
- * An implementation of interface CharStream, where the stream is assumed to
- * contain only ASCII characters (with java-like unicode escape processing).
- */
-
-public
-class JavaCharStream
-{
- /** Whether parser is static. */
- public static final boolean staticFlag = false;
-
- static final int hexval(char c) throws java.io.IOException {
- switch(c)
- {
- case '0' :
- return 0;
- case '1' :
- return 1;
- case '2' :
- return 2;
- case '3' :
- return 3;
- case '4' :
- return 4;
- case '5' :
- return 5;
- case '6' :
- return 6;
- case '7' :
- return 7;
- case '8' :
- return 8;
- case '9' :
- return 9;
-
- case 'a' :
- case 'A' :
- return 10;
- case 'b' :
- case 'B' :
- return 11;
- case 'c' :
- case 'C' :
- return 12;
- case 'd' :
- case 'D' :
- return 13;
- case 'e' :
- case 'E' :
- return 14;
- case 'f' :
- case 'F' :
- return 15;
- }
-
- throw new java.io.IOException(); // Should never come here
- }
-
-/** Position in buffer. */
- public int bufpos = -1;
- int bufsize;
- int available;
- int tokenBegin;
- protected int bufline[];
- protected int bufcolumn[];
-
- protected int column = 0;
- protected int line = 1;
-
- protected boolean prevCharIsCR = false;
- protected boolean prevCharIsLF = false;
-
- protected java.io.Reader inputStream;
-
- protected char[] nextCharBuf;
- protected char[] buffer;
- protected int maxNextCharInd = 0;
- protected int nextCharInd = -1;
- protected int inBuf = 0;
- protected int tabSize = 8;
-
- protected void setTabSize(int i) { tabSize = i; }
- protected int getTabSize(int i) { return tabSize; }
-
- protected void ExpandBuff(boolean wrapAround)
- {
- char[] newbuffer = new char[bufsize + 2048];
- int newbufline[] = new int[bufsize + 2048];
- int newbufcolumn[] = new int[bufsize + 2048];
-
- try
- {
- if (wrapAround)
- {
- System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
- System.arraycopy(buffer, 0, newbuffer, bufsize - tokenBegin, bufpos);
- buffer = newbuffer;
-
- System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
- System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
- bufline = newbufline;
-
- System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
- System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
- bufcolumn = newbufcolumn;
-
- bufpos += (bufsize - tokenBegin);
- }
- else
- {
- System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
- buffer = newbuffer;
-
- System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
- bufline = newbufline;
-
- System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
- bufcolumn = newbufcolumn;
-
- bufpos -= tokenBegin;
- }
- }
- catch (Throwable t)
- {
- throw new Error(t.getMessage());
- }
-
- available = (bufsize += 2048);
- tokenBegin = 0;
- }
-
- protected void FillBuff() throws java.io.IOException
- {
- int i;
- if (maxNextCharInd == 4096) {
- maxNextCharInd = nextCharInd = 0;
- }
-
- try {
- if ((i = inputStream.read(nextCharBuf, maxNextCharInd,
- 4096 - maxNextCharInd)) == -1)
- {
- inputStream.close();
- throw new java.io.IOException();
- }
- else
- maxNextCharInd += i;
- return;
- }
- catch (java.io.IOException e) {
- if (bufpos != 0)
- {
- --bufpos;
- backup(0);
- }
- else
- {
- bufline[bufpos] = line;
- bufcolumn[bufpos] = column;
- }
- throw e;
- }
- }
-
- protected char ReadByte() throws java.io.IOException
- {
- if (++nextCharInd >= maxNextCharInd) {
- FillBuff();
- }
-
- return nextCharBuf[nextCharInd];
- }
-
-/** @return starting character for token. */
- public char BeginToken() throws java.io.IOException
- {
- if (inBuf > 0)
- {
- --inBuf;
-
- if (++bufpos == bufsize) {
- bufpos = 0;
- }
-
- tokenBegin = bufpos;
- return buffer[bufpos];
- }
-
- tokenBegin = 0;
- bufpos = -1;
-
- return readChar();
- }
-
- protected void AdjustBuffSize()
- {
- if (available == bufsize)
- {
- if (tokenBegin > 2048)
- {
- bufpos = 0;
- available = tokenBegin;
- }
- else
- ExpandBuff(false);
- }
- else if (available > tokenBegin)
- available = bufsize;
- else if ((tokenBegin - available) < 2048)
- ExpandBuff(true);
- else
- available = tokenBegin;
- }
-
- protected void UpdateLineColumn(char c)
- {
- column++;
-
- if (prevCharIsLF)
- {
- prevCharIsLF = false;
- line += (column = 1);
- }
- else if (prevCharIsCR)
- {
- prevCharIsCR = false;
- if (c == '\n')
- {
- prevCharIsLF = true;
- }
- else
- line += (column = 1);
- }
-
- switch (c)
- {
- case '\r' :
- prevCharIsCR = true;
- break;
- case '\n' :
- prevCharIsLF = true;
- break;
- case '\t' :
- column--;
- column += (tabSize - (column % tabSize));
- break;
- default :
- break;
- }
-
- bufline[bufpos] = line;
- bufcolumn[bufpos] = column;
- }
-
-/** Read a character. */
- public char readChar() throws java.io.IOException
- {
- if (inBuf > 0)
- {
- --inBuf;
-
- if (++bufpos == bufsize) {
- bufpos = 0;
- }
-
- return buffer[bufpos];
- }
-
- char c;
-
- if (++bufpos == available) {
- AdjustBuffSize();
- }
-
- if ((buffer[bufpos] = c = ReadByte()) == '\\')
- {
- UpdateLineColumn(c);
-
- int backSlashCnt = 1;
-
- for (;;) // Read all the backslashes
- {
- if (++bufpos == available) {
- AdjustBuffSize();
- }
-
- try
- {
- if ((buffer[bufpos] = c = ReadByte()) != '\\')
- {
- UpdateLineColumn(c);
- // found a non-backslash char.
- if ((c == 'u') && ((backSlashCnt & 1) == 1))
- {
- if (--bufpos < 0) {
- bufpos = bufsize - 1;
- }
-
- break;
- }
-
- backup(backSlashCnt);
- return '\\';
- }
- }
- catch (java.io.IOException e)
- {
- // We are returning one backslash so we should only backup (count-1)
- if (backSlashCnt > 1) {
- backup(backSlashCnt-1);
- }
-
- return '\\';
- }
-
- UpdateLineColumn(c);
- backSlashCnt++;
- }
-
- // Here, we have seen an odd number of backslash's followed by a 'u'
- try
- {
- while ((c = ReadByte()) == 'u')
- ++column;
-
- buffer[bufpos] = c = (char)(hexval(c) << 12 |
- hexval(ReadByte()) << 8 |
- hexval(ReadByte()) << 4 |
- hexval(ReadByte()));
-
- column += 4;
- }
- catch (java.io.IOException e)
- {
- throw new Error("Invalid escape character at line " + line +
- " column " + column + ".");
- }
-
- if (backSlashCnt == 1) {
- return c;
- } else
- {
- backup(backSlashCnt - 1);
- return '\\';
- }
- }
- else
- {
- UpdateLineColumn(c);
- return c;
- }
- }
-
- @Deprecated
- /**
- * @deprecated
- * @see #getEndColumn
- */
- public int getColumn() {
- return bufcolumn[bufpos];
- }
-
- @Deprecated
- /**
- * @deprecated
- * @see #getEndLine
- */
- public int getLine() {
- return bufline[bufpos];
- }
-
-/** Get end column. */
- public int getEndColumn() {
- return bufcolumn[bufpos];
- }
-
-/** Get end line. */
- public int getEndLine() {
- return bufline[bufpos];
- }
-
-/** @return column of token start */
- public int getBeginColumn() {
- return bufcolumn[tokenBegin];
- }
-
-/** @return line number of token start */
- public int getBeginLine() {
- return bufline[tokenBegin];
- }
-
-/** Retreat. */
- public void backup(int amount) {
-
- inBuf += amount;
- if ((bufpos -= amount) < 0) {
- bufpos += bufsize;
- }
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.Reader dstream,
- int startline, int startcolumn, int buffersize)
- {
- inputStream = dstream;
- line = startline;
- column = startcolumn - 1;
-
- available = bufsize = buffersize;
- buffer = new char[buffersize];
- bufline = new int[buffersize];
- bufcolumn = new int[buffersize];
- nextCharBuf = new char[4096];
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.Reader dstream,
- int startline, int startcolumn)
- {
- this(dstream, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.Reader dstream)
- {
- this(dstream, 1, 1, 4096);
- }
-/** Reinitialise. */
- public void ReInit(java.io.Reader dstream,
- int startline, int startcolumn, int buffersize)
- {
- inputStream = dstream;
- line = startline;
- column = startcolumn - 1;
-
- if (buffer == null || buffersize != buffer.length)
- {
- available = bufsize = buffersize;
- buffer = new char[buffersize];
- bufline = new int[buffersize];
- bufcolumn = new int[buffersize];
- nextCharBuf = new char[4096];
- }
- prevCharIsLF = prevCharIsCR = false;
- tokenBegin = inBuf = maxNextCharInd = 0;
- nextCharInd = bufpos = -1;
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.Reader dstream,
- int startline, int startcolumn)
- {
- ReInit(dstream, startline, startcolumn, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.Reader dstream)
- {
- ReInit(dstream, 1, 1, 4096);
- }
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
- {
- this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, int startline,
- int startcolumn, int buffersize)
- {
- this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn) throws java.io.UnsupportedEncodingException
- {
- this(dstream, encoding, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, int startline,
- int startcolumn)
- {
- this(dstream, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
- {
- this(dstream, encoding, 1, 1, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream)
- {
- this(dstream, 1, 1, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
- {
- ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, int startline,
- int startcolumn, int buffersize)
- {
- ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn) throws java.io.UnsupportedEncodingException
- {
- ReInit(dstream, encoding, startline, startcolumn, 4096);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, int startline,
- int startcolumn)
- {
- ReInit(dstream, startline, startcolumn, 4096);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
- {
- ReInit(dstream, encoding, 1, 1, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream)
- {
- ReInit(dstream, 1, 1, 4096);
- }
-
- /** @return token image as String */
- public String GetImage()
- {
- if (bufpos >= tokenBegin) {
- return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
- } else
- return new String(buffer, tokenBegin, bufsize - tokenBegin) +
- new String(buffer, 0, bufpos + 1);
- }
-
- /** @return suffix */
- public char[] GetSuffix(int len)
- {
- char[] ret = new char[len];
-
- if ((bufpos + 1) >= len) {
- System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
- } else
- {
- System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
- len - bufpos - 1);
- System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
- }
-
- return ret;
- }
-
- /** Set buffers back to null when finished. */
- public void Done()
- {
- nextCharBuf = null;
- buffer = null;
- bufline = null;
- bufcolumn = null;
- }
-
- /**
- * Method to adjust line and column numbers for the start of a token.
- */
- public void adjustBeginLineColumn(int newLine, int newCol)
- {
- int start = tokenBegin;
- int len;
-
- if (bufpos >= tokenBegin)
- {
- len = bufpos - tokenBegin + inBuf + 1;
- }
- else
- {
- len = bufsize - tokenBegin + bufpos + 1 + inBuf;
- }
-
- int i = 0, j = 0, k = 0;
- int nextColDiff = 0, columnDiff = 0;
-
- while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
- {
- bufline[j] = newLine;
- nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
- bufcolumn[j] = newCol + columnDiff;
- columnDiff = nextColDiff;
- i++;
- }
-
- if (i < len)
- {
- bufline[j] = newLine++;
- bufcolumn[j] = newCol + columnDiff;
-
- while (i++ < len)
- {
- if (bufline[j = start % bufsize] != bufline[++start % bufsize]) {
- bufline[j] = newLine++;
- } else
- bufline[j] = newLine;
- }
- }
-
- line = bufline[j];
- column = bufcolumn[j];
- }
-
-}
-/* JavaCC - OriginalChecksum=a9554b5268ee777c60eb53f84c03c865 (do not edit this line) */
diff --git a/stubparser/src/org/checkerframework/stubparser/JavaParser.java b/stubparser/src/org/checkerframework/stubparser/JavaParser.java
deleted file mode 100644
index afd162a1616..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/JavaParser.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-/*
- * Created on 05/10/2006
- */
-package org.checkerframework.stubparser;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.checkerframework.stubparser.ast.CompilationUnit;
-import org.checkerframework.stubparser.ast.IndexUnit;
-
-/**
- *
This class was generated automatically by javacc, do not edit.
- *
Parse Java 1.5 source code and creates Abstract Syntax Tree classes.
- *
Note: To use this parser asynchronously, disable de parser cache
- * by calling the method {@link #setCacheParser} with {@code false}
- * as argument.
- *
- * @author Júlio Vilmar Gesser
- */
-public final class JavaParser {
-
- private static ASTParser parser;
-
- private static boolean cacheParser = true;
-
- private JavaParser() {
- // hide the constructor
- }
-
- /**
- * Changes the way that the parser acts when starts to parse. If the
- * parser cache is enabled, only one insance of this object will be
- * used in every call to parse methods.
- * If this parser is intend to be used asynchonously, the cache must
- * be disabled setting this flag to {@code false}.
- * By default, the cache is enabled.
- * @param value {@code false} to disable the parser instance cache.
- */
- public static void setCacheParser(boolean value) {
- cacheParser = value;
- if (!value) {
- parser = null;
- }
- }
-
- /**
- * Parses the Java code contained in the {@link InputStream} and returns
- * a {@link CompilationUnit} that represents it.
- * @param in {@link InputStream} containing Java source code
- * @param encoding encoding of the source code
- * @return CompilationUnit representing the Java source code
- * @throws ParseException if the source code has parser errors
- */
- public static IndexUnit parse(InputStream in, String encoding) throws ParseException {
- if (cacheParser) {
- if (parser == null) {
- parser = new ASTParser(in, encoding);
- } else {
- parser.reset(in, encoding);
- }
- return parser.IndexUnit();
- }
- return new ASTParser(in, encoding).IndexUnit();
- }
-
- /**
- * Parses the Java code contained in the {@link InputStream} and returns
- * a {@link CompilationUnit} that represents it.
- * @param in {@link InputStream} containing Java source code
- * @return CompilationUnit representing the Java source code
- * @throws ParseException if the source code has parser errors
- */
- public static IndexUnit parse(InputStream in) throws ParseException {
- return parse(in, null);
- }
-
- /**
- * Parses the Java code contained in a {@link File} and returns
- * a {@link CompilationUnit} that represents it.
- * @param file {@link File} containing Java source code
- * @param encoding encoding of the source code
- * @return CompilationUnit representing the Java source code
- * @throws ParseException if the source code has parser errors
- */
- public static IndexUnit parse(File file, String encoding) throws ParseException, IOException {
- FileInputStream in = new FileInputStream(file);
- try {
- return parse(in, encoding);
- } finally {
- in.close();
- }
- }
-
- /**
- * Parses the Java code contained in a {@link File} and returns
- * a {@link CompilationUnit} that represents it.
- * @param file {@link File} containing Java source code
- * @return CompilationUnit representing the Java source code
- * @throws ParseException if the source code has parser errors
- */
- public static IndexUnit parse(File file) throws ParseException, IOException {
- return parse(file, null);
- }
-}
diff --git a/stubparser/src/org/checkerframework/stubparser/ParseException.java b/stubparser/src/org/checkerframework/stubparser/ParseException.java
deleted file mode 100644
index d8e7339281c..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ParseException.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 5.0 */
-/* JavaCCOptions:KEEP_LINE_COL=null */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-/**
- * This exception is thrown when parse errors are encountered.
- * You can explicitly create objects of this exception type by
- * calling the method generateParseException in the generated
- * parser.
- *
- * You can modify this class to customize your error reporting
- * mechanisms so long as you retain the public fields.
- */
-public class ParseException extends Exception {
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the serialized form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * This constructor is used by the method "generateParseException"
- * in the generated parser. Calling this constructor generates
- * a new object of this type with the fields "currentToken",
- * "expectedTokenSequences", and "tokenImage" set.
- */
- public ParseException(Token currentTokenVal,
- int[][] expectedTokenSequencesVal,
- String[] tokenImageVal
- )
- {
- super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal));
- currentToken = currentTokenVal;
- expectedTokenSequences = expectedTokenSequencesVal;
- tokenImage = tokenImageVal;
- }
-
- /**
- * The following constructors are for use by you for whatever
- * purpose you can think of. Constructing the exception in this
- * manner makes the exception behave in the normal way -- i.e., as
- * documented in the class {@link Throwable}. The fields
- * {@link #expectedTokenSequences}, and {@link #tokenImage} do not contain
- * relevant information. The JavaCC generated code does not use
- * these constructors.
- */
-
- public ParseException() {
- super();
- }
-
- /** Constructor with message. */
- public ParseException(String message) {
- super(message);
- }
-
-
- /**
- * This is the last token that has been consumed successfully. If
- * this object has been created due to a parse error, the token
- * followng this token will (therefore) be the first error token.
- */
- public Token currentToken;
-
- /**
- * Each entry in this array is an array of integers. Each array
- * of integers represents a sequence of tokens (by their ordinal
- * values) that is expected at this point of the parse.
- */
- public int[][] expectedTokenSequences;
-
- /**
- * This is a reference to the "tokenImage" array of the generated
- * parser within which the parse error occurred. This array is
- * defined in the generated ...Constants interface.
- */
- public String[] tokenImage;
-
- /**
- * It uses "currentToken" and "expectedTokenSequences" to generate a parse
- * error message and returns it. If this object has been created
- * due to a parse error, and you do not catch it (it gets thrown
- * from the parser) the correct error message
- * gets displayed.
- */
- private static String initialise(Token currentToken,
- int[][] expectedTokenSequences,
- String[] tokenImage) {
- String eol = System.getProperty("line.separator", "\n");
- StringBuffer expected = new StringBuffer();
- int maxSize = 0;
- for (int i = 0; i < expectedTokenSequences.length; i++) {
- if (maxSize < expectedTokenSequences[i].length) {
- maxSize = expectedTokenSequences[i].length;
- }
- for (int j = 0; j < expectedTokenSequences[i].length; j++) {
- expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' ');
- }
- if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
- expected.append("...");
- }
- expected.append(eol).append(" ");
- }
- String retval = "Encountered \"";
- Token tok = currentToken.next;
- for (int i = 0; i < maxSize; i++) {
- if (i != 0) retval += " ";
- if (tok.kind == 0) {
- retval += tokenImage[0];
- break;
- }
- retval += " " + tokenImage[tok.kind];
- retval += " \"";
- retval += add_escapes(tok.image);
- retval += " \"";
- tok = tok.next;
- }
- retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
- retval += "." + eol;
- if (expectedTokenSequences.length == 1) {
- retval += "Was expecting:" + eol + " ";
- } else {
- retval += "Was expecting one of:" + eol + " ";
- }
- retval += expected.toString();
- return retval;
- }
-
- /**
- * The end of line string for this machine.
- */
- protected String eol = System.getProperty("line.separator", "\n");
-
- /**
- * Used to convert raw characters to their escaped version
- * when these raw version cannot be used as part of an ASCII
- * string literal.
- */
- static String add_escapes(String str) {
- StringBuffer retval = new StringBuffer();
- char ch;
- for (int i = 0; i < str.length(); i++) {
- switch (str.charAt(i))
- {
- case 0 :
- continue;
- case '\b':
- retval.append("\\b");
- continue;
- case '\t':
- retval.append("\\t");
- continue;
- case '\n':
- retval.append("\\n");
- continue;
- case '\f':
- retval.append("\\f");
- continue;
- case '\r':
- retval.append("\\r");
- continue;
- case '\"':
- retval.append("\\\"");
- continue;
- case '\'':
- retval.append("\\\'");
- continue;
- case '\\':
- retval.append("\\\\");
- continue;
- default:
- if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
- String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
- } else {
- retval.append(ch);
- }
- continue;
- }
- }
- return retval.toString();
- }
-
-}
-/* JavaCC - OriginalChecksum=f5fd9133164106959891595a82a9ae90 (do not edit this line) */
diff --git a/stubparser/src/org/checkerframework/stubparser/Token.java b/stubparser/src/org/checkerframework/stubparser/Token.java
deleted file mode 100644
index 81823acd973..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/Token.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 5.0 */
-/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-/**
- * Describes the input token stream.
- */
-
-public class Token implements java.io.Serializable {
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the serialized form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * An integer that describes the kind of this token. This numbering
- * system is determined by JavaCCParser, and a table of these numbers is
- * stored in the file ...Constants.java.
- */
- public int kind;
-
- /** The line number of the first character of this Token. */
- public int beginLine;
- /** The column number of the first character of this Token. */
- public int beginColumn;
- /** The line number of the last character of this Token. */
- public int endLine;
- /** The column number of the last character of this Token. */
- public int endColumn;
-
- /**
- * The string image of the token.
- */
- public String image;
-
- /**
- * A reference to the next regular (non-special) token from the input
- * stream. If this is the last token from the input stream, or if the
- * token manager has not read tokens beyond this one, this field is
- * set to null. This is true only if this token is also a regular
- * token. Otherwise, see below for a description of the contents of
- * this field.
- */
- public Token next;
-
- /**
- * This field is used to access special tokens that occur prior to this
- * token, but after the immediately preceding regular (non-special) token.
- * If there are no such special tokens, this field is set to null.
- * When there are more than one such special token, this field refers
- * to the last of these special tokens, which in turn refers to the next
- * previous special token through its specialToken field, and so on
- * until the first special token (whose specialToken field is null).
- * The next fields of special tokens refer to other special tokens that
- * immediately follow it (without an intervening regular token). If there
- * is no such token, this field is null.
- */
- public Token specialToken;
-
- /**
- * An optional attribute value of the Token.
- * Tokens which are not used as syntactic sugar will often contain
- * meaningful values that will be used later on by the compiler or
- * interpreter. This attribute value is often different from the image.
- * Any subclass of Token that actually wants to return a non-null value can
- * override this method as appropriate.
- */
- public Object getValue() {
- return null;
- }
-
- /**
- * No-argument constructor
- */
- public Token() {}
-
- /**
- * Constructs a new token for the specified Image.
- */
- public Token(int kind)
- {
- this(kind, null);
- }
-
- /**
- * Constructs a new token for the specified Image and Kind.
- */
- public Token(int kind, String image)
- {
- this.kind = kind;
- this.image = image;
- }
-
- /**
- * Returns the image.
- */
- @Override
- public String toString()
- {
- return image;
- }
-
- /**
- * Returns a new Token object, by default. However, if you want, you
- * can create and return subclass objects based on the value of ofKind.
- * Simply add the cases to the switch for all those special cases.
- * For example, if you have a subclass of Token called IDToken that
- * you want to create if ofKind is ID, simply add something like :
- *
- *
case MyParserConstants.ID : return new IDToken(ofKind, image);
- *
- * to the following switch statement. Then you can cast matchedToken
- * variable to the appropriate type and use sit in your lexical actions.
- */
- public static Token newToken(int ofKind, String image)
- {
- switch(ofKind)
- {
- default : return new Token(ofKind, image);
- }
- }
-
- public static Token newToken(int ofKind)
- {
- return newToken(ofKind, null);
- }
-
-}
-/* JavaCC - OriginalChecksum=560de154774da347a5578272cd7d5ec0 (do not edit this line) */
diff --git a/stubparser/src/org/checkerframework/stubparser/TokenMgrError.java b/stubparser/src/org/checkerframework/stubparser/TokenMgrError.java
deleted file mode 100644
index b52c24d00d9..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/TokenMgrError.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 */
-/* JavaCCOptions: */
-/*
- * Copyright (C) 2008 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-package org.checkerframework.stubparser;
-
-/** Token Manager Error. */
-public class TokenMgrError extends Error
-{
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the serialized form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /*
- * Ordinals for various reasons why an Error of this type can be thrown.
- */
-
- /**
- * Lexical error occurred.
- */
- static final int LEXICAL_ERROR = 0;
-
- /**
- * An attempt was made to create a second instance of a static token manager.
- */
- static final int STATIC_LEXER_ERROR = 1;
-
- /**
- * Tried to change to an invalid lexical state.
- */
- static final int INVALID_LEXICAL_STATE = 2;
-
- /**
- * Detected (and bailed out of) an infinite loop in the token manager.
- */
- static final int LOOP_DETECTED = 3;
-
- /**
- * Indicates the reason why the exception is thrown. It will have
- * one of the above 4 values.
- */
- int errorCode;
-
- /**
- * Replaces unprintable characters by their escaped (or unicode escaped)
- * equivalents in the given string
- */
- protected static final String addEscapes(String str) {
- StringBuffer retval = new StringBuffer();
- char ch;
- for (int i = 0; i < str.length(); i++) {
- switch (str.charAt(i))
- {
- case 0 :
- continue;
- case '\b':
- retval.append("\\b");
- continue;
- case '\t':
- retval.append("\\t");
- continue;
- case '\n':
- retval.append("\\n");
- continue;
- case '\f':
- retval.append("\\f");
- continue;
- case '\r':
- retval.append("\\r");
- continue;
- case '\"':
- retval.append("\\\"");
- continue;
- case '\'':
- retval.append("\\\'");
- continue;
- case '\\':
- retval.append("\\\\");
- continue;
- default:
- if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
- String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
- } else {
- retval.append(ch);
- }
- continue;
- }
- }
- return retval.toString();
- }
-
- /**
- * Returns a detailed message for the Error when it is thrown by the
- * token manager to indicate a lexical error.
- * Parameters :
- * EOFSeen : indicates if EOF caused the lexical error
- * curLexState : lexical state in which this error occurred
- * errorLine : line number when the error occurred
- * errorColumn : column number when the error occurred
- * errorAfter : prefix that was seen before this error occurred
- * curchar : the offending character
- * Note: You can customize the lexical error message by modifying this method.
- */
- protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
- return("Lexical error at line " +
- errorLine + ", column " +
- errorColumn + ". Encountered: " +
- (EOFSeen ? " " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
- "after : \"" + addEscapes(errorAfter) + "\"");
- }
-
- /**
- * You can also modify the body of this method to customize your error messages.
- * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
- * of end-users concern, so you can return something like :
- *
- * "Internal Error : Please file a bug report .... "
- *
- * from this method for such cases in the release version of your parser.
- */
- @Override
- public String getMessage() {
- return super.getMessage();
- }
-
- /*
- * Constructors of various flavors follow.
- */
-
- /** No arg constructor. */
- public TokenMgrError() {
- }
-
- /** Constructor with message and reason. */
- public TokenMgrError(String message, int reason) {
- super(message);
- errorCode = reason;
- }
-
- /** Full Constructor. */
- public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
- this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
- }
-}
-/* JavaCC - OriginalChecksum=a627342c87c087822f913ab7293c280e (do not edit this line) */
diff --git a/stubparser/src/org/checkerframework/stubparser/ast/BlockComment.java b/stubparser/src/org/checkerframework/stubparser/ast/BlockComment.java
deleted file mode 100644
index 8c4d8463d27..00000000000
--- a/stubparser/src/org/checkerframework/stubparser/ast/BlockComment.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2007 Júlio Vilmar Gesser.
- *
- * This file is part of Java 1.5 parser and Abstract Syntax Tree.
- *
- * Java 1.5 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.
- *
- * Java 1.5 parser and Abstract Syntax Tree 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.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Java 1.5 parser and Abstract Syntax Tree. If not, see .
- */
-/*
- * Created on 23/05/2008
- */
-package org.checkerframework.stubparser.ast;
-
-import org.checkerframework.stubparser.ast.visitor.GenericVisitor;
-import org.checkerframework.stubparser.ast.visitor.VoidVisitor;
-
-/**
- *