diff options
author | Mark Thomas <markt@apache.org> | 2017-02-13 20:19:41 +0000 |
---|---|---|
committer | Mark Thomas <markt@apache.org> | 2017-02-13 20:19:41 +0000 |
commit | 5f5fa24f351870d57a196a2280ae7a0b668f26c7 (patch) | |
tree | d2ca3f0af5b8635029534f92819bc946e2a3a354 | |
parent | 28d51dace3fbbf8f0bd71f749e5290685b0c5df2 (diff) | |
download | apache-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
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++; } } |