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/12 16:59:43 UTC
svn commit: r1695546 - in
/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic:
InstructionConstants.java InstructionFactory.java PUSH.java
Author: sebb
Date: Wed Aug 12 14:59:42 2015
New Revision: 1695546
URL: http://svn.apache.org/r1695546
Log:
BCEL-239 Interfaces should not be used to define constants
Convert InstructionConstants to a class
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionConstants.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/PUSH.java
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionConstants.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionConstants.java?rev=1695546&r1=1695545&r2=1695546&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionConstants.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionConstants.java Wed Aug 12 14:59:42 2015
@@ -35,7 +35,7 @@ import org.apache.commons.bcel6.Constant
*
* @version $Id$
*/
-public interface InstructionConstants {
+public class InstructionConstants {
/** Predefined instruction objects
*/
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java?rev=1695546&r1=1695545&r2=1695546&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java Wed Aug 12 14:59:42 2015
@@ -28,7 +28,7 @@ import org.apache.commons.bcel6.Constant
* @version $Id$
* @see Constants
*/
-public class InstructionFactory implements InstructionConstants, java.io.Serializable {
+public class InstructionFactory implements java.io.Serializable {
private static final long serialVersionUID = -1210011499635580258L;
@@ -287,21 +287,21 @@ public class InstructionFactory implemen
switch (type.getType()) {
case Constants.T_ARRAY:
case Constants.T_OBJECT:
- return ARETURN;
+ return InstructionConstants.ARETURN;
case Constants.T_INT:
case Constants.T_SHORT:
case Constants.T_BOOLEAN:
case Constants.T_CHAR:
case Constants.T_BYTE:
- return IRETURN;
+ return InstructionConstants.IRETURN;
case Constants.T_FLOAT:
- return FRETURN;
+ return InstructionConstants.FRETURN;
case Constants.T_DOUBLE:
- return DRETURN;
+ return InstructionConstants.DRETURN;
case Constants.T_LONG:
- return LRETURN;
+ return InstructionConstants.LRETURN;
case Constants.T_VOID:
- return RETURN;
+ return InstructionConstants.RETURN;
default:
throw new RuntimeException("Invalid type: " + type);
}
@@ -311,25 +311,25 @@ public class InstructionFactory implemen
private static ArithmeticInstruction createBinaryIntOp( char first, String op ) {
switch (first) {
case '-':
- return ISUB;
+ return InstructionConstants.ISUB;
case '+':
- return IADD;
+ return InstructionConstants.IADD;
case '%':
- return IREM;
+ return InstructionConstants.IREM;
case '*':
- return IMUL;
+ return InstructionConstants.IMUL;
case '/':
- return IDIV;
+ return InstructionConstants.IDIV;
case '&':
- return IAND;
+ return InstructionConstants.IAND;
case '|':
- return IOR;
+ return InstructionConstants.IOR;
case '^':
- return IXOR;
+ return InstructionConstants.IXOR;
case '<':
- return ISHL;
+ return InstructionConstants.ISHL;
case '>':
- return op.equals(">>>") ? IUSHR : ISHR;
+ return op.equals(">>>") ? InstructionConstants.IUSHR : InstructionConstants.ISHR;
default:
throw new RuntimeException("Invalid operand " + op);
}
@@ -339,25 +339,25 @@ public class InstructionFactory implemen
private static ArithmeticInstruction createBinaryLongOp( char first, String op ) {
switch (first) {
case '-':
- return LSUB;
+ return InstructionConstants.LSUB;
case '+':
- return LADD;
+ return InstructionConstants.LADD;
case '%':
- return LREM;
+ return InstructionConstants.LREM;
case '*':
- return LMUL;
+ return InstructionConstants.LMUL;
case '/':
- return LDIV;
+ return InstructionConstants.LDIV;
case '&':
- return LAND;
+ return InstructionConstants.LAND;
case '|':
- return LOR;
+ return InstructionConstants.LOR;
case '^':
- return LXOR;
+ return InstructionConstants.LXOR;
case '<':
- return LSHL;
+ return InstructionConstants.LSHL;
case '>':
- return op.equals(">>>") ? LUSHR : LSHR;
+ return op.equals(">>>") ? InstructionConstants.LUSHR : InstructionConstants.LSHR;
default:
throw new RuntimeException("Invalid operand " + op);
}
@@ -367,15 +367,15 @@ public class InstructionFactory implemen
private static ArithmeticInstruction createBinaryFloatOp( char op ) {
switch (op) {
case '-':
- return FSUB;
+ return InstructionConstants.FSUB;
case '+':
- return FADD;
+ return InstructionConstants.FADD;
case '*':
- return FMUL;
+ return InstructionConstants.FMUL;
case '/':
- return FDIV;
+ return InstructionConstants.FDIV;
case '%':
- return FREM;
+ return InstructionConstants.FREM;
default:
throw new RuntimeException("Invalid operand " + op);
}
@@ -385,15 +385,15 @@ public class InstructionFactory implemen
private static ArithmeticInstruction createBinaryDoubleOp( char op ) {
switch (op) {
case '-':
- return DSUB;
+ return InstructionConstants.DSUB;
case '+':
- return DADD;
+ return InstructionConstants.DADD;
case '*':
- return DMUL;
+ return InstructionConstants.DMUL;
case '/':
- return DDIV;
+ return InstructionConstants.DDIV;
case '%':
- return DREM;
+ return InstructionConstants.DREM;
default:
throw new RuntimeException("Invalid operand " + op);
}
@@ -429,7 +429,7 @@ public class InstructionFactory implemen
* @param size size of operand, either 1 (int, e.g.) or 2 (double)
*/
public static StackInstruction createPop( int size ) {
- return (size == 2) ? POP2 : POP;
+ return (size == 2) ? InstructionConstants.POP2 : InstructionConstants.POP;
}
@@ -437,7 +437,7 @@ public class InstructionFactory implemen
* @param size size of operand, either 1 (int, e.g.) or 2 (double)
*/
public static StackInstruction createDup( int size ) {
- return (size == 2) ? DUP2 : DUP;
+ return (size == 2) ? InstructionConstants.DUP2 : InstructionConstants.DUP;
}
@@ -445,7 +445,7 @@ public class InstructionFactory implemen
* @param size size of operand, either 1 (int, e.g.) or 2 (double)
*/
public static StackInstruction createDup_2( int size ) {
- return (size == 2) ? DUP2_X2 : DUP_X2;
+ return (size == 2) ? InstructionConstants.DUP2_X2 : InstructionConstants.DUP_X2;
}
@@ -453,7 +453,7 @@ public class InstructionFactory implemen
* @param size size of operand, either 1 (int, e.g.) or 2 (double)
*/
public static StackInstruction createDup_1( int size ) {
- return (size == 2) ? DUP2_X1 : DUP_X1;
+ return (size == 2) ? InstructionConstants.DUP2_X1 : InstructionConstants.DUP_X1;
}
@@ -516,22 +516,22 @@ public class InstructionFactory implemen
switch (type.getType()) {
case Constants.T_BOOLEAN:
case Constants.T_BYTE:
- return BALOAD;
+ return InstructionConstants.BALOAD;
case Constants.T_CHAR:
- return CALOAD;
+ return InstructionConstants.CALOAD;
case Constants.T_SHORT:
- return SALOAD;
+ return InstructionConstants.SALOAD;
case Constants.T_INT:
- return IALOAD;
+ return InstructionConstants.IALOAD;
case Constants.T_FLOAT:
- return FALOAD;
+ return InstructionConstants.FALOAD;
case Constants.T_DOUBLE:
- return DALOAD;
+ return InstructionConstants.DALOAD;
case Constants.T_LONG:
- return LALOAD;
+ return InstructionConstants.LALOAD;
case Constants.T_ARRAY:
case Constants.T_OBJECT:
- return AALOAD;
+ return InstructionConstants.AALOAD;
default:
throw new RuntimeException("Invalid type " + type);
}
@@ -545,22 +545,22 @@ public class InstructionFactory implemen
switch (type.getType()) {
case Constants.T_BOOLEAN:
case Constants.T_BYTE:
- return BASTORE;
+ return InstructionConstants.BASTORE;
case Constants.T_CHAR:
- return CASTORE;
+ return InstructionConstants.CASTORE;
case Constants.T_SHORT:
- return SASTORE;
+ return InstructionConstants.SASTORE;
case Constants.T_INT:
- return IASTORE;
+ return InstructionConstants.IASTORE;
case Constants.T_FLOAT:
- return FASTORE;
+ return InstructionConstants.FASTORE;
case Constants.T_DOUBLE:
- return DASTORE;
+ return InstructionConstants.DASTORE;
case Constants.T_LONG:
- return LASTORE;
+ return InstructionConstants.LASTORE;
case Constants.T_ARRAY:
case Constants.T_OBJECT:
- return AASTORE;
+ return InstructionConstants.AASTORE;
default:
throw new RuntimeException("Invalid type " + type);
}
@@ -677,21 +677,21 @@ public class InstructionFactory implemen
switch (type.getType()) {
case Constants.T_ARRAY:
case Constants.T_OBJECT:
- return ACONST_NULL;
+ return InstructionConstants.ACONST_NULL;
case Constants.T_INT:
case Constants.T_SHORT:
case Constants.T_BOOLEAN:
case Constants.T_CHAR:
case Constants.T_BYTE:
- return ICONST_0;
+ return InstructionConstants.ICONST_0;
case Constants.T_FLOAT:
- return FCONST_0;
+ return InstructionConstants.FCONST_0;
case Constants.T_DOUBLE:
- return DCONST_0;
+ return InstructionConstants.DCONST_0;
case Constants.T_LONG:
- return LCONST_0;
+ return InstructionConstants.LCONST_0;
case Constants.T_VOID:
- return NOP;
+ return InstructionConstants.NOP;
default:
throw new RuntimeException("Invalid type: " + type);
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/PUSH.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/PUSH.java?rev=1695546&r1=1695545&r2=1695546&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/PUSH.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/PUSH.java Wed Aug 12 14:59:42 2015
@@ -25,8 +25,7 @@ import org.apache.commons.bcel6.Constant
*
* @version $Id$
*/
-public final class PUSH implements CompoundInstruction, VariableLengthInstruction,
- InstructionConstants {
+public final class PUSH implements CompoundInstruction, VariableLengthInstruction {
private Instruction instruction;
@@ -39,7 +38,7 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, int value) {
if ((value >= -1) && (value <= 5)) {
- instruction = INSTRUCTIONS[Constants.ICONST_0 + value];
+ instruction = InstructionConstants.INSTRUCTIONS[Constants.ICONST_0 + value];
} else if ((value >= -128) && (value <= 127)) {
instruction = new BIPUSH((byte) value);
} else if ((value >= -32768) && (value <= 32767)) {
@@ -55,7 +54,7 @@ public final class PUSH implements Compo
* @param value to be pushed
*/
public PUSH(ConstantPoolGen cp, boolean value) {
- instruction = INSTRUCTIONS[Constants.ICONST_0 + (value ? 1 : 0)];
+ instruction = InstructionConstants.INSTRUCTIONS[Constants.ICONST_0 + (value ? 1 : 0)];
}
@@ -65,11 +64,11 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, float value) {
if (value == 0.0) {
- instruction = FCONST_0;
+ instruction = InstructionConstants.FCONST_0;
} else if (value == 1.0) {
- instruction = FCONST_1;
+ instruction = InstructionConstants.FCONST_1;
} else if (value == 2.0) {
- instruction = FCONST_2;
+ instruction = InstructionConstants.FCONST_2;
} else {
instruction = new LDC(cp.addFloat(value));
}
@@ -82,9 +81,9 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, long value) {
if (value == 0) {
- instruction = LCONST_0;
+ instruction = InstructionConstants.LCONST_0;
} else if (value == 1) {
- instruction = LCONST_1;
+ instruction = InstructionConstants.LCONST_1;
} else {
instruction = new LDC2_W(cp.addLong(value));
}
@@ -97,9 +96,9 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, double value) {
if (value == 0.0) {
- instruction = DCONST_0;
+ instruction = InstructionConstants.DCONST_0;
} else if (value == 1.0) {
- instruction = DCONST_1;
+ instruction = InstructionConstants.DCONST_1;
} else {
instruction = new LDC2_W(cp.addDouble(value));
}
@@ -112,7 +111,7 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, String value) {
if (value == null) {
- instruction = ACONST_NULL;
+ instruction = InstructionConstants.ACONST_NULL;
} else {
instruction = new LDC(cp.addString(value));
}
@@ -125,7 +124,7 @@ public final class PUSH implements Compo
*/
public PUSH(ConstantPoolGen cp, ObjectType value) {
if (value == null) {
- instruction = ACONST_NULL;
+ instruction = InstructionConstants.ACONST_NULL;
} else {
instruction = new LDC(cp.addClass(value));
}