You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/08/25 19:34:46 UTC

svn commit: r1697746 - in /commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: ./ classfile/ generic/ util/

Author: sebb
Date: Tue Aug 25 17:34:46 2015
New Revision: 1697746

URL: http://svn.apache.org/r1697746
Log:
Prepare for eventual privatisation of OPCODE_NAMES

Modified:
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/Constants.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Utility.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CPInstruction.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldInstruction.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionList.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InvokeInstruction.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/BCELFactory.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/CodeHTML.java
    commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/InstructionFinder.java

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/Constants.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/Constants.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/Constants.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/Constants.java Tue Aug 25 17:34:46 2015
@@ -1595,7 +1595,9 @@ public final class Constants {
 
   /**
    * Names of opcodes.  Indexed by opcode.  OPCODE_NAMES[ALOAD] = "aload".
+   * @deprecated Do not use; will be made private . Use getOpcodeName(int) instead
    */
+  @Deprecated
   public static final String[] OPCODE_NAMES = {
     "nop", "aconst_null", "iconst_m1", "iconst_0", "iconst_1",
     "iconst_2", "iconst_3", "iconst_4", "iconst_5", "lconst_0",
@@ -1646,6 +1648,19 @@ public final class Constants {
   };
 
   /**
+   * @since 6.0
+   */
+  public static final int OPCODE_NAMES_LENGTH = OPCODE_NAMES.length;
+
+
+  /**
+   * @since 6.0
+   */
+  public static String getOpcodeName(int index) {
+      return OPCODE_NAMES[index]; 
+  }
+
+  /**
    * Number of words consumed on operand stack by instructions.
    * Indexed by opcode.  CONSUME_STACK[FALOAD] = number of words
    * consumed from the stack by a faload instruction.

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Utility.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Utility.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Utility.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/Utility.java Tue Aug 25 17:34:46 2015
@@ -198,7 +198,7 @@ public abstract class Utility {
         int[] jump_table;
         int no_pad_bytes = 0;
         int offset;
-        StringBuilder buf = new StringBuilder(Constants.OPCODE_NAMES[opcode]);
+        StringBuilder buf = new StringBuilder(Constants.getOpcodeName(opcode));
         /* Special case: Skip (0-3) padding bytes, i.e., the
          * following bytes are 4-byte-aligned
          */
@@ -209,7 +209,7 @@ public abstract class Utility {
                 byte b;
                 if ((b = bytes.readByte()) != 0) {
                     System.err.println("Warning: Padding byte != 0 in "
-                            + Constants.OPCODE_NAMES[opcode] + ":" + b);
+                            + Constants.getOpcodeName(opcode) + ":" + b);
                 }
             }
             // Both cases have a field default_offset in common
@@ -1101,8 +1101,8 @@ public abstract class Utility {
      */
     public static short searchOpcode( String name ) {
         name = name.toLowerCase(Locale.ENGLISH);
-        for (short i = 0; i < Constants.OPCODE_NAMES.length; i++) {
-            if (Constants.OPCODE_NAMES[i].equals(name)) {
+        for (short i = 0; i < Constants.OPCODE_NAMES_LENGTH; i++) {
+            if (Constants.getOpcodeName(i).equals(name)) {
                 return i;
             }
         }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CPInstruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CPInstruction.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CPInstruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/CPInstruction.java Tue Aug 25 17:34:46 2015
@@ -98,7 +98,7 @@ public abstract class CPInstruction exte
         if (c instanceof ConstantClass) {
             str = str.replace('.', '/');
         }
-        return org.apache.commons.bcel6.Constants.OPCODE_NAMES[super.getOpcode()] + " " + str;
+        return org.apache.commons.bcel6.Constants.getOpcodeName(super.getOpcode()) + " " + str;
     }
 
 

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldInstruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldInstruction.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldInstruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldInstruction.java Tue Aug 25 17:34:46 2015
@@ -47,7 +47,7 @@ public abstract class FieldInstruction e
      */
     @Override
     public String toString( ConstantPool cp ) {
-        return org.apache.commons.bcel6.Constants.OPCODE_NAMES[super.getOpcode()] + " "
+        return org.apache.commons.bcel6.Constants.getOpcodeName(super.getOpcode()) + " "
                 + cp.constantToString(super.getIndex(), org.apache.commons.bcel6.Constants.CONSTANT_Fieldref);
     }
 

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java Tue Aug 25 17:34:46 2015
@@ -72,7 +72,7 @@ public abstract class Instruction implem
     /** @return name of instruction, i.e., opcode name
      */
     public String getName() {
-        return Constants.OPCODE_NAMES[opcode];
+        return Constants.getOpcodeName(opcode);
     }
 
 

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionList.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionList.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionList.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionList.java Tue Aug 25 17:34:46 2015
@@ -871,7 +871,7 @@ public class InstructionList {
                     Instruction inst = ((BranchInstruction) i).getTarget().getInstruction();
                     if (!contains(inst)) {
                         throw new ClassGenException("Branch target of "
-                                + Constants.OPCODE_NAMES[i.getOpcode()] + ":" + inst
+                                + Constants.getOpcodeName(i.getOpcode()) + ":" + inst
                                 + " not in instruction list");
                     }
                     if (i instanceof Select) {
@@ -880,14 +880,14 @@ public class InstructionList {
                             inst = target.getInstruction();
                             if (!contains(inst)) {
                                 throw new ClassGenException("Branch target of "
-                                        + Constants.OPCODE_NAMES[i.getOpcode()] + ":" + inst
+                                        + Constants.getOpcodeName(i.getOpcode()) + ":" + inst
                                         + " not in instruction list");
                             }
                         }
                     }
                     if (!(ih instanceof BranchHandle)) {
                         throw new ClassGenException("Branch instruction "
-                                + Constants.OPCODE_NAMES[i.getOpcode()] + ":" + inst
+                                + Constants.getOpcodeName(i.getOpcode()) + ":" + inst
                                 + " not contained in BranchHandle.");
                     }
                 }

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InvokeInstruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InvokeInstruction.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InvokeInstruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InvokeInstruction.java Tue Aug 25 17:34:46 2015
@@ -54,7 +54,7 @@ public abstract class InvokeInstruction
     public String toString( ConstantPool cp ) {
         Constant c = cp.getConstant(super.getIndex());
         StringTokenizer tok = new StringTokenizer(cp.constantToString(c));
-        return Constants.OPCODE_NAMES[super.getOpcode()] + " " + tok.nextToken().replace('.', '/')
+        return Constants.getOpcodeName(super.getOpcode()) + " " + tok.nextToken().replace('.', '/')
                 + tok.nextToken();
     }
 

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/BCELFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/BCELFactory.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/BCELFactory.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/BCELFactory.java Tue Aug 25 17:34:46 2015
@@ -151,7 +151,7 @@ class BCELFactory extends EmptyVisitor {
         Type type = i.getFieldType(_cp);
         _out.println("il.append(_factory.createFieldAccess(\"" + class_name + "\", \"" + field_name
                 + "\", " + BCELifier.printType(type) + ", " + "Constants."
-                + Constants.OPCODE_NAMES[opcode].toUpperCase(Locale.ENGLISH) + "));");
+                + Constants.getOpcodeName(opcode).toUpperCase(Locale.ENGLISH) + "));");
     }
 
 
@@ -165,7 +165,7 @@ class BCELFactory extends EmptyVisitor {
         _out.println("il.append(_factory.createInvoke(\"" + class_name + "\", \"" + method_name
                 + "\", " + BCELifier.printType(type) + ", "
                 + BCELifier.printArgumentTypes(arg_types) + ", " + "Constants."
-                + Constants.OPCODE_NAMES[opcode].toUpperCase(Locale.ENGLISH) + "));");
+                + Constants.getOpcodeName(opcode).toUpperCase(Locale.ENGLISH) + "));");
     }
 
 

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/CodeHTML.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/CodeHTML.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/CodeHTML.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/CodeHTML.java Tue Aug 25 17:34:46 2015
@@ -92,7 +92,7 @@ final class CodeHTML {
         int no_pad_bytes = 0;
         int offset;
         StringBuilder buf = new StringBuilder(256); // CHECKSTYLE IGNORE MagicNumber
-        buf.append("<TT>").append(Constants.OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
+        buf.append("<TT>").append(Constants.getOpcodeName(opcode)).append("</TT></TD><TD>");
         /* Special case: Skip (0-3) padding bytes, i.e., the
          * following bytes are 4-byte-aligned
          */
@@ -416,7 +416,7 @@ final class CodeHTML {
         // Get target addresses from GOTO, JSR, TABLESWITCH, etc.
         for (; bytes.available() > 0;) {
             opcode = bytes.readUnsignedByte();
-            //System.out.println(OPCODE_NAMES[opcode]);
+            //System.out.println(getOpcodeName(opcode));
             switch (opcode) {
                 case Constants.TABLESWITCH:
                 case Constants.LOOKUPSWITCH:

Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/InstructionFinder.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/InstructionFinder.java?rev=1697746&r1=1697745&r2=1697746&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/InstructionFinder.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/InstructionFinder.java Tue Aug 25 17:34:46 2015
@@ -114,7 +114,7 @@ public class InstructionFinder {
             return result;
         }
         for (short i = 0; i < NO_OPCODES; i++) {
-            if (pattern.equals(Constants.OPCODE_NAMES[i])) {
+            if (pattern.equals(Constants.getOpcodeName(i))) {
                 return "" + makeChar(i);
             }
         }
@@ -407,7 +407,7 @@ public class InstructionFinder {
 //            char ch = pattern.charAt(i);
 //            if (ch >= OFFSET) {
 //                if (make_string) {
-//                    buf.append(Constants.OPCODE_NAMES[ch - OFFSET]);
+//                    buf.append(Constants.getOpcodeName(ch - OFFSET));
 //                } else {
 //                    buf.append((ch - OFFSET));
 //                }