Author: markt
Date: Mon Feb 13 20:19:41 2017
New Revision: 1782852

URL: http://svn.apache.org/viewvc?rev=1782852&view=rev
Log:
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 

Added:
    
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantModule.java
    
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
Modified:
    commons/proper/bcel/trunk/src/main/java/org/apache/bcel/Const.java
    
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
    
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
    
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/Visitor.java
    
commons/proper/bcel/trunk/src/test/java/org/apache/bcel/visitors/CounterVisitor.java

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/bcel/Const.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/Const.java?rev=1782852&r1=1782851&r2=1782852&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/bcel/Const.java 
(original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/bcel/Const.java Mon Feb 
13 20:19:41 2017
@@ -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

Added: 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantModule.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantModule.java?rev=1782852&view=auto
==============================================================================
--- 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantModule.java
 (added)
+++ 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantModule.java
 Mon Feb 13 20:19:41 2017
@@ -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 + ")";
+    }
+}

Added: 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantPackage.java?rev=1782852&view=auto
==============================================================================
--- 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
 (added)
+++ 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ConstantPackage.java
 Mon Feb 13 20:19:41 2017
@@ -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 + ")";
+    }
+}

Modified: 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java?rev=1782852&r1=1782851&r2=1782852&view=diff
==============================================================================
--- 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
 (original)
+++ 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/DescendingVisitor.java
 Mon Feb 13 20:19:41 2017
@@ -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 implement
         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();
+    }
 }

Modified: 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java?rev=1782852&r1=1782851&r2=1782852&view=diff
==============================================================================
--- 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
 (original)
+++ 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/EmptyVisitor.java
 Mon Feb 13 20:19:41 2017
@@ -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 Vis
     @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) {
+    }
 }

Modified: 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/Visitor.java
URL: 
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/Visitor.java?rev=1782852&r1=1782851&r2=1782852&view=diff
==============================================================================
--- 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/Visitor.java 
(original)
+++ 
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/Visitor.java 
Mon Feb 13 20:19:41 2017
@@ -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);
 }


Reply via email to