aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Thomas <markt@apache.org>2017-02-13 20:19:41 +0000
committerMark Thomas <markt@apache.org>2017-02-13 20:19:41 +0000
commit5f5fa24f351870d57a196a2280ae7a0b668f26c7 (patch)
treed2ca3f0af5b8635029534f92819bc946e2a3a354
parent28d51dace3fbbf8f0bd71f749e5290685b0c5df2 (diff)
downloadapache-commons-bcel-5f5fa24f351870d57a196a2280ae7a0b668f26c7.tar.gz
First pass at Java 9 support based on EA releases and http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-2.6
The motivation is primarily to provide the minimum required by Tomcat to parse Java 9 class files. I have assumed (early access) Java 9 support will make the next release 6.1 git-svn-id: https://svn.apache.org/repos/asf/commons/proper/bcel/trunk@1782852 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/main/java/org/apache/bcel/Const.java539
-rw-r--r--src/main/java/org/apache/bcel/classfile/ConstantModule.java133
-rw-r--r--src/main/java/org/apache/bcel/classfile/ConstantPackage.java133
-rw-r--r--src/main/java/org/apache/bcel/classfile/DescendingVisitor.java15
-rw-r--r--src/main/java/org/apache/bcel/classfile/EmptyVisitor.java16
-rw-r--r--src/main/java/org/apache/bcel/classfile/Visitor.java12
-rw-r--r--src/test/java/org/apache/bcel/visitors/CounterVisitor.java26
7 files changed, 605 insertions, 269 deletions
diff --git a/src/main/java/org/apache/bcel/Const.java b/src/main/java/org/apache/bcel/Const.java
index 2833592a..5a7471e3 100644
--- a/src/main/java/org/apache/bcel/Const.java
+++ b/src/main/java/org/apache/bcel/Const.java
@@ -261,7 +261,7 @@ public final class Const {
/** @since 6.0 */
public static final int ACCESS_NAMES_LENGTH = ACCESS_NAMES.length;
-
+
/**
* @param index
* @return the ACCESS_NAMES entry at the given index
@@ -347,6 +347,18 @@ public final class Const {
* The Constant Pool in The Java Virtual Machine Specification</a> */
public static final byte CONSTANT_InvokeDynamic = 18;
+ /** Marks a constant pool entry as a Module Reference.
+ * @see <a href="http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-2.6">
+ * JPMS: Modules in the Java Language and JVM</a>
+ * Note: Early access Java 9 support- currently subject to change */
+ public static final byte CONSTANT_Module = 19;
+
+ /** Marks a constant pool entry as a Package Reference.
+ * @see <a href="http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html#jigsaw-2.6">
+ * JPMS: Modules in the Java Language and JVM</a>
+ * Note: Early access Java 9 support- currently subject to change */
+ public static final byte CONSTANT_Package = 20;
+
/**
* The names of the types of entries in a constant pool.
* Use getConstantName instead
@@ -357,10 +369,11 @@ public final class Const {
"CONSTANT_Class", "CONSTANT_String", "CONSTANT_Fieldref",
"CONSTANT_Methodref", "CONSTANT_InterfaceMethodref",
"CONSTANT_NameAndType", "", "", "CONSTANT_MethodHandle",
- "CONSTANT_MethodType", "", "CONSTANT_InvokeDynamic" };
+ "CONSTANT_MethodType", "", "CONSTANT_InvokeDynamic",
+ "CONSTANT_Module", "CONSTANT_Package"};
/**
- *
+ *
* @param index
* @return the CONSTANT_NAMES entry at the given index
* @since 6.0
@@ -405,7 +418,7 @@ public final class Const {
* One of the limitations of the Java Virtual Machine.
* Note vmspec2 page 152 ("Limitations") says:
* "The amount of code per non-native, non-abstract method is limited to 65536 bytes by
- * the sizes of the indices in the exception_table of the Code attribute (§4.7.3),
+ * the sizes of the indices in the exception_table of the Code attribute (§4.7.3),
* in the LineNumberTable attribute (§4.7.8), and in the LocalVariableTable attribute (§4.7.9)."
* However this should be taken as an upper limit rather than the defined maximum.
* On page 134 (4.8.1 Static Constants) of the same spec, it says:
@@ -439,1019 +452,1019 @@ public final class Const {
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
- * Opcode definitions in The Java Virtual Machine Specification</a> */
+ * Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_M1 = 2;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_0 = 3;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_1 = 4;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_2 = 5;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_3 = 6;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_4 = 7;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iconst_i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ICONST_5 = 8;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lconst_l">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LCONST_0 = 9;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lconst_l">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LCONST_1 = 10;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fconst_f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FCONST_0 = 11;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fconst_f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FCONST_1 = 12;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fconst_f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FCONST_2 = 13;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dconst_d">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DCONST_0 = 14;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dconst_d">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DCONST_1 = 15;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.bipush">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short BIPUSH = 16;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.sipush">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short SIPUSH = 17;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ldc">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LDC = 18;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ldc_w">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LDC_W = 19;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ldc2_w">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LDC2_W = 20;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ILOAD = 21;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LLOAD = 22;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FLOAD = 23;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DLOAD = 24;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ALOAD = 25;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ILOAD_0 = 26;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ILOAD_1 = 27;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ILOAD_2 = 28;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ILOAD_3 = 29;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LLOAD_0 = 30;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LLOAD_1 = 31;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LLOAD_2 = 32;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LLOAD_3 = 33;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FLOAD_0 = 34;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FLOAD_1 = 35;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FLOAD_2 = 36;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FLOAD_3 = 37;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DLOAD_0 = 38;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DLOAD_1 = 39;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DLOAD_2 = 40;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DLOAD_3 = 41;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ALOAD_0 = 42;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ALOAD_1 = 43;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ALOAD_2 = 44;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aload_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ALOAD_3 = 45;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iaload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IALOAD = 46;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.laload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LALOAD = 47;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.faload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FALOAD = 48;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.daload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DALOAD = 49;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aaload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short AALOAD = 50;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.baload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short BALOAD = 51;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.caload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short CALOAD = 52;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.saload">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short SALOAD = 53;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.istore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISTORE = 54;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lstore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSTORE = 55;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fstore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSTORE = 56;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dstore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSTORE = 57;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.astore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ASTORE = 58;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.istore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISTORE_0 = 59;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.istore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISTORE_1 = 60;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.istore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISTORE_2 = 61;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.istore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISTORE_3 = 62;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSTORE_0 = 63;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSTORE_1 = 64;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSTORE_2 = 65;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSTORE_3 = 66;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSTORE_0 = 67;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSTORE_1 = 68;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSTORE_2 = 69;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSTORE_3 = 70;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSTORE_0 = 71;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSTORE_1 = 72;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSTORE_2 = 73;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dstore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSTORE_3 = 74;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.astore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ASTORE_0 = 75;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.astore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ASTORE_1 = 76;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.astore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ASTORE_2 = 77;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.astore_n">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ASTORE_3 = 78;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IASTORE = 79;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LASTORE = 80;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FASTORE = 81;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DASTORE = 82;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.aastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short AASTORE = 83;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.bastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short BASTORE = 84;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.castore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short CASTORE = 85;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.sastore">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short SASTORE = 86;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.pop">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short POP = 87;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.pop2">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short POP2 = 88;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP = 89;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup_x1">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP_X1 = 90;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup_x2">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP_X2 = 91;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup2">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP2 = 92;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup2_x1">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP2_X1 = 93;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dup2_x2">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DUP2_X2 = 94;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.swap">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short SWAP = 95;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iadd">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IADD = 96;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ladd">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LADD = 97;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fadd">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FADD = 98;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dadd">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DADD = 99;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.isub">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISUB = 100;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lsub">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSUB = 101;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fsub">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FSUB = 102;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dsub">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DSUB = 103;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.imul">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IMUL = 104;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lmul">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LMUL = 105;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fmul">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FMUL = 106;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dmul">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DMUL = 107;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.idiv">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IDIV = 108;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ldiv">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LDIV = 109;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fdiv">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FDIV = 110;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ddiv">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DDIV = 111;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.irem">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IREM = 112;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lrem">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LREM = 113;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.frem">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FREM = 114;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.drem">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DREM = 115;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ineg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INEG = 116;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lneg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LNEG = 117;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fneg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FNEG = 118;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dneg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DNEG = 119;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ishl">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISHL = 120;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lshl">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSHL = 121;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ishr">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ISHR = 122;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lshr">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LSHR = 123;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iushr">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IUSHR = 124;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lushr">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LUSHR = 125;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iand">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IAND = 126;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.land">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LAND = 127;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ior">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IOR = 128;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lor">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LOR = 129;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ixor">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IXOR = 130;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lxor">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LXOR = 131;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iinc">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IINC = 132;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2l">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2L = 133;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2F = 134;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2d">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2D = 135;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.l2i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short L2I = 136;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.l2f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short L2F = 137;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.l2d">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short L2D = 138;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.f2i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short F2I = 139;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.f2l">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short F2L = 140;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.f2d">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short F2D = 141;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.d2i">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short D2I = 142;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.d2l">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short D2L = 143;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.d2f">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short D2F = 144;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2b">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2B = 145;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INT2BYTE = 145; // Old notation
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2c">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2C = 146;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INT2CHAR = 146; // Old notation
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.i2s">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short I2S = 147;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INT2SHORT = 147; // Old notation
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lcmp">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LCMP = 148;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fcmpl">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FCMPL = 149;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.fcmpg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FCMPG = 150;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dcmpl">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DCMPL = 151;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dcmpg">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DCMPG = 152;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifeq">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFEQ = 153;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifne">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFNE = 154;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.iflt">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFLT = 155;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifge">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFGE = 156;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifgt">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFGT = 157;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifle">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFLE = 158;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPEQ = 159;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPNE = 160;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPLT = 161;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPGE = 162;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPGT = 163;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_icmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ICMPLE = 164;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_acmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ACMPEQ = 165;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.if_acmp_cond">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IF_ACMPNE = 166;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.goto">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short GOTO = 167;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.jsr">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short JSR = 168;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ret">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short RET = 169;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.tableswitch">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short TABLESWITCH = 170;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lookupswitch">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LOOKUPSWITCH = 171;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ireturn">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IRETURN = 172;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.lreturn">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short LRETURN = 173;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.freturn">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short FRETURN = 174;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.dreturn">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short DRETURN = 175;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.areturn">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ARETURN = 176;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.return">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short RETURN = 177;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.getstatic">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short GETSTATIC = 178;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.putstatic">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short PUTSTATIC = 179;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.getfield">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short GETFIELD = 180;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.putfield">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short PUTFIELD = 181;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokevirtual">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKEVIRTUAL = 182;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokespecial">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKESPECIAL = 183;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKENONVIRTUAL = 183; // Old name in JDK 1.0
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokestatic">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKESTATIC = 184;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokeinterface">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKEINTERFACE = 185;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokedynamic">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INVOKEDYNAMIC = 186;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.new">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short NEW = 187;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.newarray">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short NEWARRAY = 188;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.anewarray">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ANEWARRAY = 189;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.arraylength">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ARRAYLENGTH = 190;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.athrow">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short ATHROW = 191;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.checkcast">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short CHECKCAST = 192;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.instanceof">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short INSTANCEOF = 193;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.monitorenter">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short MONITORENTER = 194;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.monitorexit">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short MONITOREXIT = 195;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.wide">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short WIDE = 196;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.multianewarray">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short MULTIANEWARRAY = 197;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifnull">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFNULL = 198;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.ifnonnull">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short IFNONNULL = 199;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.goto_w">
* Opcode definitions in The Java Virtual Machine Specification</a> */
public static final short GOTO_W = 200;
-
+
/** Java VM opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.jsr_w">
* Opcode definitions in The Java Virtual Machine Specification</a> */
@@ -1461,187 +1474,187 @@ public final class Const {
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2">
* Reserved opcodes in the Java Virtual Machine Specification</a> */
public static final short BREAKPOINT = 202;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short LDC_QUICK = 203;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short LDC_W_QUICK = 204;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short LDC2_W_QUICK = 205;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short GETFIELD_QUICK = 206;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short PUTFIELD_QUICK = 207;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short GETFIELD2_QUICK = 208;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short PUTFIELD2_QUICK = 209;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short GETSTATIC_QUICK = 210;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short PUTSTATIC_QUICK = 211;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short GETSTATIC2_QUICK = 212;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short PUTSTATIC2_QUICK = 213;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKEVIRTUAL_QUICK = 214;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKENONVIRTUAL_QUICK = 215;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKESUPER_QUICK = 216;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKESTATIC_QUICK = 217;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKEINTERFACE_QUICK = 218;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKEVIRTUALOBJECT_QUICK = 219;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short NEW_QUICK = 221;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short ANEWARRAY_QUICK = 222;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short MULTIANEWARRAY_QUICK = 223;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short CHECKCAST_QUICK = 224;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INSTANCEOF_QUICK = 225;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short INVOKEVIRTUAL_QUICK_W = 226;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short GETFIELD_QUICK_W = 227;
-
+
/** JVM internal opcode.
* @see <a href="https://web.archive.org/web/20120108031230/http://java.sun.com/docs/books/jvms/first_edition/html/Quick.doc.html">
* Specification of _quick opcodes in the Java Virtual Machine Specification (version 1)</a>
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se5.0/html/ChangesAppendix.doc.html#448885">
* Why the _quick opcodes were removed from the second version of the Java Virtual Machine Specification.</a> */
public static final short PUTFIELD_QUICK_W = 228;
-
+
/** JVM internal opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2">
* Reserved opcodes in the Java Virtual Machine Specification</a> */
public static final short IMPDEP1 = 254;
-
+
/** JVM internal opcode.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.2">
* Reserved opcodes in the Java Virtual Machine Specification</a> */
@@ -1652,7 +1665,7 @@ public final class Const {
* opcode when the class is dumped.
*/
public static final short PUSH = 4711;
-
+
/**
* BCEL virtual instruction for either LOOKUPSWITCH or TABLESWITCH. Will be converted to the appropriate JVM
* opcode when the class is dumped.
@@ -1661,16 +1674,16 @@ public final class Const {
/** Illegal opcode. */
public static final short UNDEFINED = -1;
-
+
/** Illegal opcode. */
public static final short UNPREDICTABLE = -2;
-
+
/** Illegal opcode. */
public static final short RESERVED = -3;
-
+
/** Mnemonic for an illegal opcode. */
public static final String ILLEGAL_OPCODE = "<illegal opcode>";
-
+
/** Mnemonic for an illegal type. */
public static final String ILLEGAL_TYPE = "<illegal type>";
@@ -1678,37 +1691,37 @@ public final class Const {
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_BOOLEAN = 4;
-
+
/** Char data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_CHAR = 5;
-
+
/** Float data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_FLOAT = 6;
-
+
/** Double data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_DOUBLE = 7;
-
+
/** Byte data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_BYTE = 8;
-
+
/** Short data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_SHORT = 9;
-
+
/** Int data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
public static final byte T_INT = 10;
-
+
/** Long data type.
* @see <a href="http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.9.1-120-P">
* Static Constraints in the Java Virtual Machine Specification</a> */
@@ -1716,19 +1729,19 @@ public final class Const {
/** Void data type (non-standard). */
public static final byte T_VOID = 12; // Non-standard
-
+
/** Array data type. */
public static final byte T_ARRAY = 13;
-
+
/** Object data type. */
public static final byte T_OBJECT = 14;
-
+
/** Reference data type (deprecated). */
public static final byte T_REFERENCE = 14; // Deprecated
-
+
/** Unknown data type. */
public static final byte T_UNKNOWN = 15;
-
+
/** Address data type. */
public static final byte T_ADDRESS = 16;
@@ -1784,7 +1797,7 @@ public final class Const {
};
/**
- *
+ *
* @param index
* @return the short type name
* @since 6.0
@@ -1861,7 +1874,7 @@ public final class Const {
};
/**
- *
+ *
* @param index
* @return Number of byte code operands
* @since 6.0
@@ -2015,7 +2028,7 @@ public final class Const {
* @since 6.0
*/
public static String getOpcodeName(final int index) {
- return OPCODE_NAMES[index];
+ return OPCODE_NAMES[index];
}
/**
@@ -2075,9 +2088,9 @@ public final class Const {
};
/**
- *
+ *
* @param index
- * @return Number of words consumed on operand stack
+ * @return Number of words consumed on operand stack
* @since 6.0
*/
public static int getConsumeStack(final int index) {
@@ -2142,7 +2155,7 @@ public final class Const {
};
/**
- *
+ *
* @param index
* @return Number of words produced onto operand stack
* @since 6.0
@@ -2191,7 +2204,7 @@ public final class Const {
};
/**
- *
+ *
* @param index
* @return the attribute name
* @since 6.0
@@ -2218,7 +2231,7 @@ public final class Const {
};
/**
- *
+ *
* @param index
* @return the item name
* @since 6.0
@@ -2250,7 +2263,7 @@ public final class Const {
// Constants defining the behavior of the Method Handles (JVMS �5.4.3.5)
-
+
public static final byte REF_getField = 1;
public static final byte REF_getStatic = 2;
public static final byte REF_putField = 3;
@@ -2260,7 +2273,7 @@ public final class Const {
public static final byte REF_invokeSpecial = 7;
public static final byte REF_newInvokeSpecial = 8;
public static final byte REF_invokeInterface = 9;
-
+
/**
* The names of the reference_kinds of a CONSTANT_MethodHandle_info.
*/
@@ -2269,7 +2282,7 @@ public final class Const {
"invokeStatic", "invokeSpecial", "newInvokeSpecial", "invokeInterface" };
/**
- *
+ *
* @param index
* @return the method handle name
* @since 6.0
diff --git a/src/main/java/org/apache/bcel/classfile/ConstantModule.java b/src/main/java/org/apache/bcel/classfile/ConstantModule.java
new file mode 100644
index 00000000..7261eb77
--- /dev/null
+++ b/src/main/java/org/apache/bcel/classfile/ConstantModule.java
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a module.
+ *
+ * Note: Early access Java 9 support- currently subject to change
+ *
+ * @see Constant
+ */
+public final class ConstantModule extends Constant implements ConstantObject {
+
+ private int name_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantModule(final ConstantModule c) {
+ this(c.getNameIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantModule(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool. Should refer to a
+ * ConstantUtf8.
+ */
+ public ConstantModule(final int name_index) {
+ super(Const.CONSTANT_Module);
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitly
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantModule(this);
+ }
+
+
+ /**
+ * Dump constant module to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of module name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /**
+ * @param name_index the name index in the constant pool of this Constant Module
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(name_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ")";
+ }
+}
diff --git a/src/main/java/org/apache/bcel/classfile/ConstantPackage.java b/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
new file mode 100644
index 00000000..91113d56
--- /dev/null
+++ b/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ *
+ */
+package org.apache.bcel.classfile;
+
+import java.io.DataInput;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.Const;
+
+/**
+ * This class is derived from the abstract {@link Constant}
+ * and represents a reference to a package.
+ *
+ * Note: Early access Java 9 support- currently subject to change
+ *
+ * @see Constant
+ */
+public final class ConstantPackage extends Constant implements ConstantObject {
+
+ private int name_index;
+
+
+ /**
+ * Initialize from another object.
+ */
+ public ConstantPackage(final ConstantPackage c) {
+ this(c.getNameIndex());
+ }
+
+
+ /**
+ * Initialize instance from file data.
+ *
+ * @param file Input stream
+ * @throws IOException
+ */
+ ConstantPackage(final DataInput file) throws IOException {
+ this(file.readUnsignedShort());
+ }
+
+
+ /**
+ * @param name_index Name index in constant pool. Should refer to a
+ * ConstantUtf8.
+ */
+ public ConstantPackage(final int name_index) {
+ super(Const.CONSTANT_Package);
+ this.name_index = name_index;
+ }
+
+
+ /**
+ * Called by objects that are traversing the nodes of the tree implicitely
+ * defined by the contents of a Java class. I.e., the hierarchy of methods,
+ * fields, attributes, etc. spawns a tree of objects.
+ *
+ * @param v Visitor object
+ */
+ @Override
+ public void accept( final Visitor v ) {
+ v.visitConstantPackage(this);
+ }
+
+
+ /**
+ * Dump constant package to file stream in binary format.
+ *
+ * @param file Output file stream
+ * @throws IOException
+ */
+ @Override
+ public final void dump( final DataOutputStream file ) throws IOException {
+ file.writeByte(super.getTag());
+ file.writeShort(name_index);
+ }
+
+
+ /**
+ * @return Name index in constant pool of package name.
+ */
+ public final int getNameIndex() {
+ return name_index;
+ }
+
+
+ /**
+ * @param name_index the name index in the constant pool of this Constant Package
+ */
+ public final void setNameIndex( final int name_index ) {
+ this.name_index = name_index;
+ }
+
+
+ /** @return String object
+ */
+ @Override
+ public Object getConstantValue( final ConstantPool cp ) {
+ final Constant c = cp.getConstant(name_index, Const.CONSTANT_Utf8);
+ return ((ConstantUtf8) c).getBytes();
+ }
+
+
+ /** @return dereferenced string
+ */
+ public String getBytes( final ConstantPool cp ) {
+ return (String) getConstantValue(cp);
+ }
+
+
+ /**
+ * @return String representation.
+ */
+ @Override
+ public final String toString() {
+ return super.toString() + "(name_index = " + name_index + ")";
+ }
+}
diff --git a/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java b/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
index 2eab3fa9..709eca47 100644
--- a/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
+++ b/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
@@ -23,7 +23,7 @@ import java.util.Stack;
* Traverses a JavaClass with another Visitor object 'piggy-backed' that is
* applied to all components of a JavaClass object. I.e. this class supplies the
* traversal strategy, other classes can make use of it.
- *
+ *
* @version $Id$
*/
public class DescendingVisitor implements Visitor
@@ -528,4 +528,17 @@ public class DescendingVisitor implements Visitor
stack.pop();
}
+ @Override
+ public void visitConstantPackage(final ConstantPackage obj) {
+ stack.push(obj);
+ obj.accept(visitor);
+ stack.pop();
+ }
+
+ @Override
+ public void visitConstantModule(final ConstantModule obj) {
+ stack.push(obj);
+ obj.accept(visitor);
+ stack.pop();
+ }
}
diff --git a/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java b/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
index b3ce460b..d7b20a40 100644
--- a/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
+++ b/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
@@ -20,7 +20,7 @@ package org.apache.bcel.classfile;
/**
* Visitor with empty method bodies, can be extended and used in conjunction
* with the DescendingVisitor class, e.g. By courtesy of David Spencer.
- *
+ *
* @see DescendingVisitor
* @version $Id$
*/
@@ -296,4 +296,18 @@ public class EmptyVisitor implements Visitor
@Override
public void visitParameterAnnotationEntry(final ParameterAnnotationEntry parameterAnnotationEntry) {
}
+
+ /**
+ * @since 6.1
+ */
+ @Override
+ public void visitConstantPackage(final ConstantPackage constantPackage) {
+ }
+
+ /**
+ * @since 6.1
+ */
+ @Override
+ public void visitConstantModule(final ConstantModule constantModule) {
+ }
}
diff --git a/src/main/java/org/apache/bcel/classfile/Visitor.java b/src/main/java/org/apache/bcel/classfile/Visitor.java
index 2f02c6a7..6d2f6fb7 100644
--- a/src/main/java/org/apache/bcel/classfile/Visitor.java
+++ b/src/main/java/org/apache/bcel/classfile/Visitor.java
@@ -21,7 +21,7 @@ package org.apache.bcel.classfile;
* Interface to make use of the Visitor pattern programming style. I.e. a class
* that implements this interface can traverse the contents of a Java class just
* by calling the `accept' method which all classes have.
- *
+ *
* @version $Id$
*/
public interface Visitor
@@ -146,4 +146,14 @@ public interface Visitor
* @since 6.0
*/
void visitParameterAnnotationEntry(ParameterAnnotationEntry obj);
+
+ /**
+ * @since 6.1
+ */
+ void visitConstantPackage(ConstantPackage constantPackage);
+
+ /**
+ * @since 6.1
+ */
+ void visitConstantModule(ConstantModule constantModule);
}
diff --git a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java b/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
index 8e743823..112f19b9 100644
--- a/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
+++ b/src/test/java/org/apache/bcel/visitors/CounterVisitor.java
@@ -13,7 +13,7 @@
* 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.
- *
+ *
*/
package org.apache.bcel.visitors;
@@ -35,7 +35,9 @@ import org.apache.bcel.classfile.ConstantLong;
import org.apache.bcel.classfile.ConstantMethodHandle;
import org.apache.bcel.classfile.ConstantMethodType;
import org.apache.bcel.classfile.ConstantMethodref;
+import org.apache.bcel.classfile.ConstantModule;
import org.apache.bcel.classfile.ConstantNameAndType;
+import org.apache.bcel.classfile.ConstantPackage;
import org.apache.bcel.classfile.ConstantPool;
import org.apache.bcel.classfile.ConstantString;
import org.apache.bcel.classfile.ConstantUtf8;
@@ -151,6 +153,12 @@ public class CounterVisitor implements Visitor
/** @since 6.0 */
public int constantInvokeDynamic = 0;
+
+ /** @since 6.1 */
+ public int constantModuleCount = 0;
+
+ /** @since 6.1 */
+ public int constantPackageCount = 0;
// CHECKSTYLE:ON
@@ -406,7 +414,7 @@ public class CounterVisitor implements Visitor
/** @since 6.0 */
@Override
public void visitConstantMethodType(final ConstantMethodType obj) {
- // TODO Auto-generated method stub
+ // TODO Auto-generated method stub
}
/** @since 6.0 */
@@ -418,6 +426,18 @@ public class CounterVisitor implements Visitor
/** @since 6.0 */
@Override
public void visitParameterAnnotationEntry(final ParameterAnnotationEntry parameterAnnotationEntry) {
- // TODO Auto-generated method stub
+ // TODO Auto-generated method stub
+ }
+
+ /** @since 6.1 */
+ @Override
+ public void visitConstantPackage(ConstantPackage constantPackage) {
+ constantPackageCount++;
+ }
+
+ /** @since 6.1 */
+ @Override
+ public void visitConstantModule(ConstantModule constantModule) {
+ constantModuleCount++;
}
}