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));
// }