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 17:29:24 UTC
svn commit: r1695556 - in /commons/proper/bcel/trunk/src: changes/
main/java/org/apache/commons/bcel6/
main/java/org/apache/commons/bcel6/classfile/
main/java/org/apache/commons/bcel6/util/
main/java/org/apache/commons/bcel6/verifier/statics/ main/java...
Author: sebb
Date: Wed Aug 12 15:29:23 2015
New Revision: 1695556
URL: http://svn.apache.org/r1695556
Log:
BCEL-239 Interfaces should not be used to define constants
Modified:
commons/proper/bcel/trunk/src/changes/changes.xml
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/AnnotationEntry.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.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/ConstantHTML.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java
commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java
Modified: commons/proper/bcel/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/changes/changes.xml?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/changes/changes.xml (original)
+++ commons/proper/bcel/trunk/src/changes/changes.xml Wed Aug 12 15:29:23 2015
@@ -63,6 +63,7 @@ The <action> type attribute can be add,u
<body>
<release version="6.0" date="TBA" description="Major release with Java 7 and 8 support">
+ <action issue="BCEL-239" type="fix">Interfaces should not be used to define constants</action>
<action issue="BCEL-235" type="fix">Remove unused setters</action>
<action issue="BCEL-232" type="fix">Make mutable fields private</action>
<action issue="BCEL-233" type="fix">The access_flags field in AccessFlags class should be final</action>
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=1695556&r1=1695555&r2=1695556&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 Wed Aug 12 15:29:23 2015
@@ -22,7 +22,7 @@ package org.apache.commons.bcel6;
*
* @version $Id$
*/
-public interface Constants {
+public class Constants {
/** Major version number of class files for Java 1.1.
* @see #MINOR_1_1
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java Wed Aug 12 15:29:23 2015
@@ -33,7 +33,7 @@ import org.apache.commons.bcel6.Constant
* @version $Id: AnnotationEntry
* @since 6.0
*/
-public class AnnotationEntry implements Node, Constants, Serializable {
+public class AnnotationEntry implements Node, Serializable {
private static final long serialVersionUID = 1L;
@@ -43,7 +43,7 @@ public class AnnotationEntry implements
private List<ElementValuePair> element_value_pairs;
- /**
+ /*
* Factory method to create an AnnotionEntry from a DataInput
*
* @param input
@@ -96,7 +96,7 @@ public class AnnotationEntry implements
* @return the annotation type name
*/
public String getAnnotationType() {
- final ConstantUtf8 c = (ConstantUtf8) constant_pool.getConstant(type_index, CONSTANT_Utf8);
+ final ConstantUtf8 c = (ConstantUtf8) constant_pool.getConstant(type_index, Constants.CONSTANT_Utf8);
return c.getBytes();
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java Wed Aug 12 15:29:23 2015
@@ -32,7 +32,7 @@ import org.apache.commons.bcel6.Constant
* @version $Id$
* @see Code
*/
-public final class CodeException implements Cloneable, Constants, Node, Serializable {
+public final class CodeException implements Cloneable, Node, Serializable {
private static final long serialVersionUID = 2972500041254967221L;
private final int start_pc; // Range in the code the exception handler is
@@ -160,7 +160,7 @@ public final class CodeException impleme
if (catch_type == 0) {
str = "<Any exception>(0)";
} else {
- str = Utility.compactClassName(cp.getConstantString(catch_type, CONSTANT_Class), false)
+ str = Utility.compactClassName(cp.getConstantString(catch_type, Constants.CONSTANT_Class), false)
+ (verbose ? "(" + catch_type + ")" : "");
}
return start_pc + "\t" + end_pc + "\t" + handler_pc + "\t" + str;
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java Wed Aug 12 15:29:23 2015
@@ -31,7 +31,7 @@ import org.apache.commons.bcel6.Constant
* @version $Id$
* @see LocalVariableTable
*/
-public final class LocalVariable implements Constants, Cloneable, Node, Serializable {
+public final class LocalVariable implements Cloneable, Node, Serializable {
private static final long serialVersionUID = -51081099265972179L;
private final int start_pc; // Range in which the variable is valid
@@ -132,7 +132,7 @@ public final class LocalVariable impleme
*/
public final String getName() {
ConstantUtf8 c;
- c = (ConstantUtf8) constant_pool.getConstant(name_index, CONSTANT_Utf8);
+ c = (ConstantUtf8) constant_pool.getConstant(name_index, Constants.CONSTANT_Utf8);
return c.getBytes();
}
@@ -150,7 +150,7 @@ public final class LocalVariable impleme
*/
public final String getSignature() {
ConstantUtf8 c;
- c = (ConstantUtf8) constant_pool.getConstant(signature_index, CONSTANT_Utf8);
+ c = (ConstantUtf8) constant_pool.getConstant(signature_index, Constants.CONSTANT_Utf8);
return c.getBytes();
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java Wed Aug 12 15:29:23 2015
@@ -24,15 +24,13 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import org.apache.commons.bcel6.Constants;
-
/**
* represents one parameter annotation in the parameter annotation table
*
* @version $Id: ParameterAnnotationEntry
* @since 6.0
*/
-public class ParameterAnnotationEntry implements Node, Constants {
+public class ParameterAnnotationEntry implements Node {
private final AnnotationEntry[] annotation_table;
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java Wed Aug 12 15:29:23 2015
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import org.apache.commons.bcel6.Constants;
import org.apache.commons.bcel6.classfile.Attribute;
import org.apache.commons.bcel6.classfile.Code;
import org.apache.commons.bcel6.classfile.CodeException;
@@ -43,7 +44,7 @@ import org.apache.commons.bcel6.classfil
* @version $Id$
*
*/
-final class AttributeHTML implements org.apache.commons.bcel6.Constants {
+final class AttributeHTML {
private final String class_name; // name of current class
private final PrintWriter file; // file to write to
@@ -82,7 +83,7 @@ final class AttributeHTML implements org
final void writeAttribute( Attribute attribute, String anchor, int method_number ) {
byte tag = attribute.getTag();
int index;
- if (tag == ATTR_UNKNOWN) {
+ if (tag == Constants.ATTR_UNKNOWN) {
return;
}
attr_count++; // Increment number of attributes found so far
@@ -91,12 +92,12 @@ final class AttributeHTML implements org
} else {
file.print("<TR BGCOLOR=\"#A0A0A0\"><TD>");
}
- file.println("<H4><A NAME=\"" + anchor + "\">" + attr_count + " " + ATTRIBUTE_NAMES[tag]
+ file.println("<H4><A NAME=\"" + anchor + "\">" + attr_count + " " + Constants.ATTRIBUTE_NAMES[tag]
+ "</A></H4>");
/* Handle different attributes
*/
switch (tag) {
- case ATTR_CODE:
+ case Constants.ATTR_CODE:
Code c = (Code) attribute;
// Some directly printable values
file.print("<UL><LI>Maximum stack size = " + c.getMaxStack()
@@ -124,20 +125,20 @@ final class AttributeHTML implements org
file.print("</UL>");
}
break;
- case ATTR_CONSTANT_VALUE:
+ case Constants.ATTR_CONSTANT_VALUE:
index = ((ConstantValue) attribute).getConstantValueIndex();
// Reference _cp.html
file.print("<UL><LI><A HREF=\"" + class_name + "_cp.html#cp" + index
+ "\" TARGET=\"ConstantPool\">Constant value index(" + index
+ ")</A></UL>\n");
break;
- case ATTR_SOURCE_FILE:
+ case Constants.ATTR_SOURCE_FILE:
index = ((SourceFile) attribute).getSourceFileIndex();
// Reference _cp.html
file.print("<UL><LI><A HREF=\"" + class_name + "_cp.html#cp" + index
+ "\" TARGET=\"ConstantPool\">Source file index(" + index + ")</A></UL>\n");
break;
- case ATTR_EXCEPTIONS:
+ case Constants.ATTR_EXCEPTIONS:
// List thrown exceptions
int[] indices = ((ExceptionTable) attribute).getExceptionIndexTable();
file.print("<UL>");
@@ -148,7 +149,7 @@ final class AttributeHTML implements org
}
file.print("</UL>\n");
break;
- case ATTR_LINE_NUMBER_TABLE:
+ case Constants.ATTR_LINE_NUMBER_TABLE:
LineNumber[] line_numbers = ((LineNumberTable) attribute).getLineNumberTable();
// List line number pairs
file.print("<P>");
@@ -160,14 +161,14 @@ final class AttributeHTML implements org
}
}
break;
- case ATTR_LOCAL_VARIABLE_TABLE:
+ case Constants.ATTR_LOCAL_VARIABLE_TABLE:
LocalVariable[] vars = ((LocalVariableTable) attribute).getLocalVariableTable();
// List name, range and type
file.print("<UL>");
for (LocalVariable var : vars) {
index = var.getSignatureIndex();
String signature = ((ConstantUtf8) constant_pool.getConstant(index,
- CONSTANT_Utf8)).getBytes();
+ Constants.CONSTANT_Utf8)).getBytes();
signature = Utility.signatureToString(signature, false);
int start = var.getStartPC();
int end = (start + var.getLength());
@@ -180,7 +181,7 @@ final class AttributeHTML implements org
}
file.print("</UL>\n");
break;
- case ATTR_INNER_CLASSES:
+ case Constants.ATTR_INNER_CLASSES:
InnerClass[] classes = ((InnerClasses) attribute).getInnerClasses();
// List inner classes
file.print("<UL>");
@@ -188,7 +189,7 @@ final class AttributeHTML implements org
String name, access;
index = classe.getInnerNameIndex();
if (index > 0) {
- name = ((ConstantUtf8) constant_pool.getConstant(index, CONSTANT_Utf8))
+ name = ((ConstantUtf8) constant_pool.getConstant(index, Constants.CONSTANT_Utf8))
.getBytes();
} else {
name = "<anonymous>";
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java Wed Aug 12 15:29:23 2015
@@ -51,7 +51,7 @@ import org.apache.commons.bcel6.classfil
*
* @version $Id$
*/
-public class Class2HTML implements Constants {
+public class Class2HTML {
private final JavaClass java_class; // current class object
private final String dir;
@@ -150,7 +150,7 @@ public class Class2HTML implements Const
* i.e., an index to a string.
*/
static String referenceClass( int index ) {
- String str = constant_pool.getConstantString(index, CONSTANT_Class);
+ String str = constant_pool.getConstantString(index, Constants.CONSTANT_Class);
str = Utility.compactClassName(str);
str = Utility.compactClassName(str, class_package + ".", true);
return "<A HREF=\"" + class_name + "_cp.html#cp" + index + "\" TARGET=ConstantPool>" + str
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=1695556&r1=1695555&r2=1695556&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 Wed Aug 12 15:29:23 2015
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.util.BitSet;
+import org.apache.commons.bcel6.Constants;
import org.apache.commons.bcel6.classfile.Attribute;
import org.apache.commons.bcel6.classfile.Code;
import org.apache.commons.bcel6.classfile.CodeException;
@@ -42,7 +43,7 @@ import org.apache.commons.bcel6.classfil
* @version $Id$
*
*/
-final class CodeHTML implements org.apache.commons.bcel6.Constants {
+final class CodeHTML {
private final String class_name; // name of current class
// private Method[] methods; // Methods to print
@@ -85,11 +86,11 @@ final class CodeHTML implements org.apac
int[] jump_table;
int no_pad_bytes = 0, offset;
buf = new StringBuilder(256);
- buf.append("<TT>").append(OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
+ buf.append("<TT>").append(Constants.OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
/* Special case: Skip (0-3) padding bytes, i.e., the
* following bytes are 4-byte-aligned
*/
- if ((opcode == TABLESWITCH) || (opcode == LOOKUPSWITCH)) {
+ if ((opcode == Constants.TABLESWITCH) || (opcode == Constants.LOOKUPSWITCH)) {
int remainder = bytes.getIndex() % 4;
no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder;
for (int i = 0; i < no_pad_bytes; i++) {
@@ -99,7 +100,7 @@ final class CodeHTML implements org.apac
default_offset = bytes.readInt();
}
switch (opcode) {
- case TABLESWITCH:
+ case Constants.TABLESWITCH:
low = bytes.readInt();
high = bytes.readInt();
offset = bytes.getIndex() - 12 - no_pad_bytes - 1;
@@ -123,7 +124,7 @@ final class CodeHTML implements org.apac
break;
/* Lookup switch has variable length arguments.
*/
- case LOOKUPSWITCH:
+ case Constants.LOOKUPSWITCH:
int npairs = bytes.readInt();
offset = bytes.getIndex() - 8 - no_pad_bytes - 1;
jump_table = new int[npairs];
@@ -148,49 +149,49 @@ final class CodeHTML implements org.apac
/* Two address bytes + offset from start of byte stream form the
* jump target.
*/
- case GOTO:
- case IFEQ:
- case IFGE:
- case IFGT:
- case IFLE:
- case IFLT:
- case IFNE:
- case IFNONNULL:
- case IFNULL:
- case IF_ACMPEQ:
- case IF_ACMPNE:
- case IF_ICMPEQ:
- case IF_ICMPGE:
- case IF_ICMPGT:
- case IF_ICMPLE:
- case IF_ICMPLT:
- case IF_ICMPNE:
- case JSR:
+ case Constants.GOTO:
+ case Constants.IFEQ:
+ case Constants.IFGE:
+ case Constants.IFGT:
+ case Constants.IFLE:
+ case Constants.IFLT:
+ case Constants.IFNE:
+ case Constants.IFNONNULL:
+ case Constants.IFNULL:
+ case Constants.IF_ACMPEQ:
+ case Constants.IF_ACMPNE:
+ case Constants.IF_ICMPEQ:
+ case Constants.IF_ICMPGE:
+ case Constants.IF_ICMPGT:
+ case Constants.IF_ICMPLE:
+ case Constants.IF_ICMPLT:
+ case Constants.IF_ICMPNE:
+ case Constants.JSR:
index = (bytes.getIndex() + bytes.readShort() - 1);
buf.append("<A HREF=\"#code").append(method_number).append("@").append(index)
.append("\">").append(index).append("</A>");
break;
/* Same for 32-bit wide jumps
*/
- case GOTO_W:
- case JSR_W:
+ case Constants.GOTO_W:
+ case Constants.JSR_W:
int windex = bytes.getIndex() + bytes.readInt() - 1;
buf.append("<A HREF=\"#code").append(method_number).append("@").append(windex)
.append("\">").append(windex).append("</A>");
break;
/* Index byte references local variable (register)
*/
- case ALOAD:
- case ASTORE:
- case DLOAD:
- case DSTORE:
- case FLOAD:
- case FSTORE:
- case ILOAD:
- case ISTORE:
- case LLOAD:
- case LSTORE:
- case RET:
+ case Constants.ALOAD:
+ case Constants.ASTORE:
+ case Constants.DLOAD:
+ case Constants.DSTORE:
+ case Constants.FLOAD:
+ case Constants.FSTORE:
+ case Constants.ILOAD:
+ case Constants.ISTORE:
+ case Constants.LLOAD:
+ case Constants.LSTORE:
+ case Constants.RET:
if (wide) {
vindex = bytes.readShort();
wide = false; // Clear flag
@@ -204,30 +205,30 @@ final class CodeHTML implements org.apac
* following instruction. Relies on that the method is called again with
* the following opcode.
*/
- case WIDE:
+ case Constants.WIDE:
wide = true;
buf.append("(wide)");
break;
/* Array of basic type.
*/
- case NEWARRAY:
- buf.append("<FONT COLOR=\"#00FF00\">").append(TYPE_NAMES[bytes.readByte()]).append(
+ case Constants.NEWARRAY:
+ buf.append("<FONT COLOR=\"#00FF00\">").append(Constants.TYPE_NAMES[bytes.readByte()]).append(
"</FONT>");
break;
/* Access object/class fields.
*/
- case GETFIELD:
- case GETSTATIC:
- case PUTFIELD:
- case PUTSTATIC:
+ case Constants.GETFIELD:
+ case Constants.GETSTATIC:
+ case Constants.PUTFIELD:
+ case Constants.PUTSTATIC:
index = bytes.readShort();
ConstantFieldref c1 = (ConstantFieldref) constant_pool.getConstant(index,
- CONSTANT_Fieldref);
+ Constants.CONSTANT_Fieldref);
class_index = c1.getClassIndex();
- name = constant_pool.getConstantString(class_index, CONSTANT_Class);
+ name = constant_pool.getConstantString(class_index, Constants.CONSTANT_Class);
name = Utility.compactClassName(name, false);
index = c1.getNameAndTypeIndex();
- String field_name = constant_pool.constantToString(index, CONSTANT_NameAndType);
+ String field_name = constant_pool.constantToString(index, Constants.CONSTANT_NameAndType);
if (name.equals(class_name)) { // Local field
buf.append("<A HREF=\"").append(class_name).append("_methods.html#field")
.append(field_name).append("\" TARGET=Methods>").append(field_name)
@@ -239,36 +240,36 @@ final class CodeHTML implements org.apac
break;
/* Operands are references to classes in constant pool
*/
- case CHECKCAST:
- case INSTANCEOF:
- case NEW:
+ case Constants.CHECKCAST:
+ case Constants.INSTANCEOF:
+ case Constants.NEW:
index = bytes.readShort();
buf.append(constant_html.referenceConstant(index));
break;
/* Operands are references to methods in constant pool
*/
- case INVOKESPECIAL:
- case INVOKESTATIC:
- case INVOKEVIRTUAL:
- case INVOKEINTERFACE:
- case INVOKEDYNAMIC:
+ case Constants.INVOKESPECIAL:
+ case Constants.INVOKESTATIC:
+ case Constants.INVOKEVIRTUAL:
+ case Constants.INVOKEINTERFACE:
+ case Constants.INVOKEDYNAMIC:
int m_index = bytes.readShort();
String str;
- if (opcode == INVOKEINTERFACE) { // Special treatment needed
+ if (opcode == Constants.INVOKEINTERFACE) { // Special treatment needed
bytes.readUnsignedByte(); // Redundant
bytes.readUnsignedByte(); // Reserved
// int nargs = bytes.readUnsignedByte(); // Redundant
// int reserved = bytes.readUnsignedByte(); // Reserved
ConstantInterfaceMethodref c = (ConstantInterfaceMethodref) constant_pool
- .getConstant(m_index, CONSTANT_InterfaceMethodref);
+ .getConstant(m_index, Constants.CONSTANT_InterfaceMethodref);
class_index = c.getClassIndex();
index = c.getNameAndTypeIndex();
name = Class2HTML.referenceClass(class_index);
- } else if (opcode == INVOKEDYNAMIC) { // Special treatment needed
+ } else if (opcode == Constants.INVOKEDYNAMIC) { // Special treatment needed
bytes.readUnsignedByte(); // Reserved
bytes.readUnsignedByte(); // Reserved
ConstantInvokeDynamic c = (ConstantInvokeDynamic) constant_pool
- .getConstant(m_index, CONSTANT_InvokeDynamic);
+ .getConstant(m_index, Constants.CONSTANT_InvokeDynamic);
index = c.getNameAndTypeIndex();
name = "#" + c.getBootstrapMethodAttrIndex();
} else {
@@ -276,17 +277,17 @@ final class CodeHTML implements org.apac
// reference EITHER a Methodref OR an InterfaceMethodref.
// Not sure if that affects this code or not. (markro)
ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(m_index,
- CONSTANT_Methodref);
+ Constants.CONSTANT_Methodref);
class_index = c.getClassIndex();
index = c.getNameAndTypeIndex();
name = Class2HTML.referenceClass(class_index);
}
str = Class2HTML.toHTML(constant_pool.constantToString(constant_pool.getConstant(
- index, CONSTANT_NameAndType)));
+ index, Constants.CONSTANT_NameAndType)));
// Get signature, i.e., types
ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant(index,
- CONSTANT_NameAndType);
- signature = constant_pool.constantToString(c2.getSignatureIndex(), CONSTANT_Utf8);
+ Constants.CONSTANT_NameAndType);
+ signature = constant_pool.constantToString(c2.getSignatureIndex(), Constants.CONSTANT_Utf8);
String[] args = Utility.methodSignatureArgumentTypes(signature, false);
String type = Utility.methodSignatureReturnType(signature, false);
buf.append(name).append(".<A HREF=\"").append(class_name).append("_cp.html#cp")
@@ -304,15 +305,15 @@ final class CodeHTML implements org.apac
break;
/* Operands are references to items in constant pool
*/
- case LDC_W:
- case LDC2_W:
+ case Constants.LDC_W:
+ case Constants.LDC2_W:
index = bytes.readShort();
buf.append("<A HREF=\"").append(class_name).append("_cp.html#cp").append(index)
.append("\" TARGET=\"ConstantPool\">").append(
Class2HTML.toHTML(constant_pool.constantToString(index,
constant_pool.getConstant(index).getTag()))).append("</a>");
break;
- case LDC:
+ case Constants.LDC:
index = bytes.readUnsignedByte();
buf.append("<A HREF=\"").append(class_name).append("_cp.html#cp").append(index)
.append("\" TARGET=\"ConstantPool\">").append(
@@ -321,13 +322,13 @@ final class CodeHTML implements org.apac
break;
/* Array of references.
*/
- case ANEWARRAY:
+ case Constants.ANEWARRAY:
index = bytes.readShort();
buf.append(constant_html.referenceConstant(index));
break;
/* Multidimensional array of references.
*/
- case MULTIANEWARRAY:
+ case Constants.MULTIANEWARRAY:
index = bytes.readShort();
int dimensions = bytes.readByte();
buf.append(constant_html.referenceConstant(index)).append(":").append(dimensions)
@@ -335,7 +336,7 @@ final class CodeHTML implements org.apac
break;
/* Increment local variable.
*/
- case IINC:
+ case Constants.IINC:
if (wide) {
vindex = bytes.readShort();
constant = bytes.readShort();
@@ -347,16 +348,16 @@ final class CodeHTML implements org.apac
buf.append("%").append(vindex).append(" ").append(constant);
break;
default:
- if (NO_OF_OPERANDS[opcode] > 0) {
- for (int i = 0; i < TYPE_OF_OPERANDS[opcode].length; i++) {
- switch (TYPE_OF_OPERANDS[opcode][i]) {
- case T_BYTE:
+ if (Constants.NO_OF_OPERANDS[opcode] > 0) {
+ for (int i = 0; i < Constants.TYPE_OF_OPERANDS[opcode].length; i++) {
+ switch (Constants.TYPE_OF_OPERANDS[opcode][i]) {
+ case Constants.T_BYTE:
buf.append(bytes.readUnsignedByte());
break;
- case T_SHORT: // Either branch or index
+ case Constants.T_SHORT: // Either branch or index
buf.append(bytes.readShort());
break;
- case T_INT:
+ case Constants.T_INT:
buf.append(bytes.readInt());
break;
default: // Never reached
@@ -393,7 +394,7 @@ final class CodeHTML implements org.apac
// Look for local variables and their range
Attribute[] attributes = code.getAttributes();
for (Attribute attribute : attributes) {
- if (attribute.getTag() == ATTR_LOCAL_VARIABLE_TABLE) {
+ if (attribute.getTag() == Constants.ATTR_LOCAL_VARIABLE_TABLE) {
LocalVariable[] vars = ((LocalVariableTable) attribute)
.getLocalVariableTable();
for (LocalVariable var : vars) {
@@ -411,8 +412,8 @@ final class CodeHTML implements org.apac
opcode = bytes.readUnsignedByte();
//System.out.println(OPCODE_NAMES[opcode]);
switch (opcode) {
- case TABLESWITCH:
- case LOOKUPSWITCH:
+ case Constants.TABLESWITCH:
+ case Constants.LOOKUPSWITCH:
//bytes.readByte(); // Skip already read byte
int remainder = bytes.getIndex() % 4;
int no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder;
@@ -423,7 +424,7 @@ final class CodeHTML implements org.apac
}
// Both cases have a field default_offset in common
default_offset = bytes.readInt();
- if (opcode == TABLESWITCH) {
+ if (opcode == Constants.TABLESWITCH) {
int low = bytes.readInt();
int high = bytes.readInt();
offset = bytes.getIndex() - 12 - no_pad_bytes - 1;
@@ -446,30 +447,30 @@ final class CodeHTML implements org.apac
}
}
break;
- case GOTO:
- case IFEQ:
- case IFGE:
- case IFGT:
- case IFLE:
- case IFLT:
- case IFNE:
- case IFNONNULL:
- case IFNULL:
- case IF_ACMPEQ:
- case IF_ACMPNE:
- case IF_ICMPEQ:
- case IF_ICMPGE:
- case IF_ICMPGT:
- case IF_ICMPLE:
- case IF_ICMPLT:
- case IF_ICMPNE:
- case JSR:
+ case Constants.GOTO:
+ case Constants.IFEQ:
+ case Constants.IFGE:
+ case Constants.IFGT:
+ case Constants.IFLE:
+ case Constants.IFLT:
+ case Constants.IFNE:
+ case Constants.IFNONNULL:
+ case Constants.IFNULL:
+ case Constants.IF_ACMPEQ:
+ case Constants.IF_ACMPNE:
+ case Constants.IF_ICMPEQ:
+ case Constants.IF_ICMPGE:
+ case Constants.IF_ICMPGT:
+ case Constants.IF_ICMPLE:
+ case Constants.IF_ICMPLT:
+ case Constants.IF_ICMPNE:
+ case Constants.JSR:
//bytes.readByte(); // Skip already read byte
index = bytes.getIndex() + bytes.readShort() - 1;
goto_set.set(index);
break;
- case GOTO_W:
- case JSR_W:
+ case Constants.GOTO_W:
+ case Constants.JSR_W:
//bytes.readByte(); // Skip already read byte
index = bytes.getIndex() + bytes.readInt() - 1;
goto_set.set(index);
@@ -517,14 +518,14 @@ final class CodeHTML implements org.apac
file.print("<H4>Attributes</H4><UL>\n");
for (int i = 0; i < attributes.length; i++) {
byte tag = attributes[i].getTag();
- if (tag != ATTR_UNKNOWN) {
+ if (tag != Constants.ATTR_UNKNOWN) {
file.print("<LI><A HREF=\"" + class_name + "_attributes.html#method"
+ method_number + "@" + i + "\" TARGET=Attributes>"
- + ATTRIBUTE_NAMES[tag] + "</A></LI>\n");
+ + Constants.ATTRIBUTE_NAMES[tag] + "</A></LI>\n");
} else {
file.print("<LI>" + attributes[i] + "</LI>");
}
- if (tag == ATTR_CODE) {
+ if (tag == Constants.ATTR_CODE) {
c = (Code) attributes[i];
Attribute[] attributes2 = c.getAttributes();
code = c.getCode();
@@ -533,7 +534,7 @@ final class CodeHTML implements org.apac
tag = attributes2[j].getTag();
file.print("<LI><A HREF=\"" + class_name + "_attributes.html#" + "method"
+ method_number + "@" + i + "@" + j + "\" TARGET=Attributes>"
- + ATTRIBUTE_NAMES[tag] + "</A></LI>\n");
+ + Constants.ATTRIBUTE_NAMES[tag] + "</A></LI>\n");
}
file.print("</UL>");
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java Wed Aug 12 15:29:23 2015
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import org.apache.commons.bcel6.Constants;
import org.apache.commons.bcel6.classfile.Constant;
import org.apache.commons.bcel6.classfile.ConstantClass;
import org.apache.commons.bcel6.classfile.ConstantFieldref;
@@ -38,7 +39,7 @@ import org.apache.commons.bcel6.classfil
* @version $Id$
*
*/
-final class ConstantHTML implements org.apache.commons.bcel6.Constants {
+final class ConstantHTML {
private final String class_name; // name of current class
private final String class_package; // name of package
@@ -87,39 +88,39 @@ final class ConstantHTML implements org.
int class_index, name_index;
String ref;
// The header is always the same
- file.println("<H4> <A NAME=cp" + index + ">" + index + "</A> " + CONSTANT_NAMES[tag]
+ file.println("<H4> <A NAME=cp" + index + ">" + index + "</A> " + Constants.CONSTANT_NAMES[tag]
+ "</H4>");
/* For every constant type get the needed parameters and print them appropiately
*/
switch (tag) {
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_Methodref:
+ case Constants.CONSTANT_InterfaceMethodref:
+ case Constants.CONSTANT_Methodref:
// Get class_index and name_and_type_index, depending on type
- if (tag == CONSTANT_Methodref) {
+ if (tag == Constants.CONSTANT_Methodref) {
ConstantMethodref c = (ConstantMethodref) constant_pool.getConstant(index,
- CONSTANT_Methodref);
+ Constants.CONSTANT_Methodref);
class_index = c.getClassIndex();
name_index = c.getNameAndTypeIndex();
} else {
ConstantInterfaceMethodref c1 = (ConstantInterfaceMethodref) constant_pool
- .getConstant(index, CONSTANT_InterfaceMethodref);
+ .getConstant(index, Constants.CONSTANT_InterfaceMethodref);
class_index = c1.getClassIndex();
name_index = c1.getNameAndTypeIndex();
}
// Get method name and its class
String method_name = constant_pool.constantToString(name_index,
- CONSTANT_NameAndType);
+ Constants.CONSTANT_NameAndType);
String html_method_name = Class2HTML.toHTML(method_name);
// Partially compacted class name, i.e., / -> .
- String method_class = constant_pool.constantToString(class_index, CONSTANT_Class);
+ String method_class = constant_pool.constantToString(class_index, Constants.CONSTANT_Class);
String short_method_class = Utility.compactClassName(method_class); // I.e., remove java.lang.
short_method_class = Utility.compactClassName(short_method_class, class_package
+ ".", true); // Remove class package prefix
// Get method signature
ConstantNameAndType c2 = (ConstantNameAndType) constant_pool.getConstant(
- name_index, CONSTANT_NameAndType);
+ name_index, Constants.CONSTANT_NameAndType);
String signature = constant_pool.constantToString(c2.getSignatureIndex(),
- CONSTANT_Utf8);
+ Constants.CONSTANT_Utf8);
// Get array of strings containing the argument types
String[] args = Utility.methodSignatureArgumentTypes(signature, false);
// Get return type string
@@ -151,19 +152,19 @@ final class ConstantHTML implements org.
+ "\">Class index(" + class_index + ")</A>\n" + "<LI><A HREF=\"#cp"
+ name_index + "\">NameAndType index(" + name_index + ")</A></UL>");
break;
- case CONSTANT_Fieldref:
+ case Constants.CONSTANT_Fieldref:
// Get class_index and name_and_type_index
ConstantFieldref c3 = (ConstantFieldref) constant_pool.getConstant(index,
- CONSTANT_Fieldref);
+ Constants.CONSTANT_Fieldref);
class_index = c3.getClassIndex();
name_index = c3.getNameAndTypeIndex();
// Get method name and its class (compacted)
- String field_class = constant_pool.constantToString(class_index, CONSTANT_Class);
+ String field_class = constant_pool.constantToString(class_index, Constants.CONSTANT_Class);
String short_field_class = Utility.compactClassName(field_class); // I.e., remove java.lang.
short_field_class = Utility.compactClassName(short_field_class,
class_package + ".", true); // Remove class package prefix
String field_name = constant_pool
- .constantToString(name_index, CONSTANT_NameAndType);
+ .constantToString(name_index, Constants.CONSTANT_NameAndType);
if (field_class.equals(class_name)) {
ref = "<A HREF=\"" + field_class + "_methods.html#field" + field_name
+ "\" TARGET=Methods>" + field_name + "</A>";
@@ -180,8 +181,8 @@ final class ConstantHTML implements org.
+ "<LI><A HREF=\"#cp" + name_index + "\">NameAndType(" + name_index
+ ")</A></UL>");
break;
- case CONSTANT_Class:
- ConstantClass c4 = (ConstantClass) constant_pool.getConstant(index, CONSTANT_Class);
+ case Constants.CONSTANT_Class:
+ ConstantClass c4 = (ConstantClass) constant_pool.getConstant(index, Constants.CONSTANT_Class);
name_index = c4.getNameIndex();
String class_name2 = constant_pool.constantToString(index, tag); // / -> .
String short_class_name = Utility.compactClassName(class_name2); // I.e., remove java.lang.
@@ -194,17 +195,17 @@ final class ConstantHTML implements org.
file.println("<P><TT>" + ref + "</TT><UL>" + "<LI><A HREF=\"#cp" + name_index
+ "\">Name index(" + name_index + ")</A></UL>\n");
break;
- case CONSTANT_String:
+ case Constants.CONSTANT_String:
ConstantString c5 = (ConstantString) constant_pool.getConstant(index,
- CONSTANT_String);
+ Constants.CONSTANT_String);
name_index = c5.getStringIndex();
String str = Class2HTML.toHTML(constant_pool.constantToString(index, tag));
file.println("<P><TT>" + str + "</TT><UL>" + "<LI><A HREF=\"#cp" + name_index
+ "\">Name index(" + name_index + ")</A></UL>\n");
break;
- case CONSTANT_NameAndType:
+ case Constants.CONSTANT_NameAndType:
ConstantNameAndType c6 = (ConstantNameAndType) constant_pool.getConstant(index,
- CONSTANT_NameAndType);
+ Constants.CONSTANT_NameAndType);
name_index = c6.getNameIndex();
int signature_index = c6.getSignatureIndex();
file.println("<P><TT>"
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java Wed Aug 12 15:29:23 2015
@@ -21,6 +21,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import org.apache.commons.bcel6.Constants;
import org.apache.commons.bcel6.classfile.Attribute;
import org.apache.commons.bcel6.classfile.Code;
import org.apache.commons.bcel6.classfile.ConstantValue;
@@ -35,7 +36,7 @@ import org.apache.commons.bcel6.classfil
* @version $Id$
*
*/
-final class MethodHTML implements org.apache.commons.bcel6.Constants {
+final class MethodHTML {
private final String class_name; // name of current class
private final PrintWriter file; // file to write to
@@ -88,7 +89,7 @@ final class MethodHTML implements org.ap
attribute_html.writeAttribute(attributes[i], name + "@" + i);
}
for (int i = 0; i < attributes.length; i++) {
- if (attributes[i].getTag() == ATTR_CONSTANT_VALUE) { // Default value
+ if (attributes[i].getTag() == Constants.ATTR_CONSTANT_VALUE) { // Default value
String str = ((ConstantValue) attributes[i]).toString();
// Reference attribute in _attributes.html
file.print("<TD>= <A HREF=\"" + class_name + "_attributes.html#" + name + "@" + i
@@ -135,7 +136,7 @@ final class MethodHTML implements org.ap
attribute_html.writeAttribute(attributes[i], "method" + method_number + "@" + i,
method_number);
byte tag = attributes[i].getTag();
- if (tag == ATTR_EXCEPTIONS) {
+ if (tag == Constants.ATTR_EXCEPTIONS) {
file.print("<TR VALIGN=TOP><TD COLSPAN=2></TD><TH ALIGN=LEFT>throws</TH><TD>");
int[] exceptions = ((ExceptionTable) attributes[i]).getExceptionIndexTable();
for (int j = 0; j < exceptions.length; j++) {
@@ -145,7 +146,7 @@ final class MethodHTML implements org.ap
}
}
file.println("</TD></TR>");
- } else if (tag == ATTR_CODE) {
+ } else if (tag == Constants.ATTR_CODE) {
Attribute[] c_a = ((Code) attributes[i]).getAttributes();
for (int j = 0; j < c_a.length; j++) {
attribute_html.writeAttribute(c_a[j], "method" + method_number + "@" + i + "@"
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java Wed Aug 12 15:29:23 2015
@@ -19,6 +19,7 @@ package org.apache.commons.bcel6.verifie
import java.util.HashMap;
+
import java.util.HashSet;
import java.util.Locale;
import java.util.Map;
@@ -82,7 +83,7 @@ import org.apache.commons.bcel6.verifier
* @version $Id$
* @see #do_verify()
*/
-public final class Pass2Verifier extends PassVerifier implements Constants{
+public final class Pass2Verifier extends PassVerifier {
/**
* The LocalVariableInfo instances used by Pass3bVerifier.
@@ -537,7 +538,7 @@ public final class Pass2Verifier extends
}
}
- if ((obj.getAccessFlags() & ~(ACC_PUBLIC|ACC_PRIVATE|ACC_PROTECTED|ACC_STATIC|ACC_FINAL|ACC_VOLATILE|ACC_TRANSIENT)) > 0){
+ if ((obj.getAccessFlags() & ~(Constants.ACC_PUBLIC|Constants.ACC_PRIVATE|Constants.ACC_PROTECTED|Constants.ACC_STATIC|Constants.ACC_FINAL|Constants.ACC_VOLATILE|Constants.ACC_TRANSIENT)) > 0){
addMessage("Field '"+tostring(obj)+"' has access flag(s) other than ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, ACC_FINAL, ACC_VOLATILE, ACC_TRANSIENT set (ignored).");
}
@@ -638,7 +639,7 @@ public final class Pass2Verifier extends
}
// Nearly forgot this! Funny return values are allowed, but a non-empty arguments list makes a different method out of it!
- if (name.equals(STATIC_INITIALIZER_NAME) && (ts.length != 0)){
+ if (name.equals(Constants.STATIC_INITIALIZER_NAME) && (ts.length != 0)){
throw new ClassConstraintException("Method '"+tostring(obj)+"' has illegal name '"+name+"'. It's name resembles the class or interface initialization method which it isn't because of its arguments (==descriptor).");
}
@@ -679,7 +680,7 @@ public final class Pass2Verifier extends
}
// A specific instance initialization method... (vmspec2,Page 116).
- if (name.equals(CONSTRUCTOR_NAME)) {
+ if (name.equals(Constants.CONSTRUCTOR_NAME)) {
//..may have at most one of ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC set: is checked above.
//..may also have ACC_STRICT set, but none of the other flags in table 4.5 (vmspec2, page 115)
if (obj.isStatic() ||
@@ -692,8 +693,8 @@ public final class Pass2Verifier extends
}
}
else{ // isInterface!
- if (!name.equals(STATIC_INITIALIZER_NAME)){//vmspec2, p.116, 2nd paragraph
- if (jc.getMajor() >= MAJOR_1_8) {
+ if (!name.equals(Constants.STATIC_INITIALIZER_NAME)){//vmspec2, p.116, 2nd paragraph
+ if (jc.getMajor() >= Constants.MAJOR_1_8) {
if (!(obj.isPublic() ^ obj.isPrivate())) {
throw new ClassConstraintException("Interface method '" + tostring(obj) + "' must have exactly one of its ACC_PUBLIC and ACC_PRIVATE modifiers set.");
}
@@ -724,7 +725,7 @@ public final class Pass2Verifier extends
}
}
- if ((obj.getAccessFlags() & ~(ACC_PUBLIC|ACC_PRIVATE|ACC_PROTECTED|ACC_STATIC|ACC_FINAL|ACC_SYNCHRONIZED|ACC_NATIVE|ACC_ABSTRACT|ACC_STRICT)) > 0){
+ if ((obj.getAccessFlags() & ~(Constants.ACC_PUBLIC|Constants.ACC_PRIVATE|Constants.ACC_PROTECTED|Constants.ACC_STATIC|Constants.ACC_FINAL|Constants.ACC_SYNCHRONIZED|Constants.ACC_NATIVE|Constants.ACC_ABSTRACT|Constants.ACC_STRICT)) > 0){
addMessage("Method '"+tostring(obj)+"' has access flag(s) other than ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC, ACC_FINAL, ACC_SYNCHRONIZED, ACC_NATIVE, ACC_ABSTRACT, ACC_STRICT set (ignored).");
}
@@ -827,7 +828,7 @@ public final class Pass2Verifier extends
checkIndex(obj, innername_idx, CONST_Utf8);
}
int acc = ic.getInnerAccessFlags();
- acc = acc & (~ (ACC_PUBLIC | ACC_PRIVATE | ACC_PROTECTED | ACC_STATIC | ACC_FINAL | ACC_INTERFACE | ACC_ABSTRACT));
+ acc = acc & (~ (Constants.ACC_PUBLIC | Constants.ACC_PRIVATE | Constants.ACC_PROTECTED | Constants.ACC_STATIC | Constants.ACC_FINAL | Constants.ACC_INTERFACE | Constants.ACC_ABSTRACT));
if (acc != 0){
addMessage("Unknown access flag for inner class '"+tostring(ic)+"' set (InnerClasses attribute '"+tostring(obj)+"').");
}
@@ -1263,7 +1264,7 @@ public final class Pass2Verifier extends
try{
Type t = Type.getReturnType(sig);
- if ( name.equals(CONSTRUCTOR_NAME) && (t != Type.VOID) ){
+ if ( name.equals(Constants.CONSTRUCTOR_NAME) && (t != Type.VOID) ){
throw new ClassConstraintException("Instance initialization method must have VOID return type.");
}
}
@@ -1295,8 +1296,8 @@ public final class Pass2Verifier extends
try{
Type t = Type.getReturnType(sig);
- if ( name.equals(STATIC_INITIALIZER_NAME) && (t != Type.VOID) ){
- addMessage("Class or interface initialization method '"+STATIC_INITIALIZER_NAME+"' usually has VOID return type instead of '"+t+"'. Note this is really not a requirement of The Java Virtual Machine Specification, Second Edition.");
+ if ( name.equals(Constants.STATIC_INITIALIZER_NAME) && (t != Type.VOID) ){
+ addMessage("Class or interface initialization method '"+Constants.STATIC_INITIALIZER_NAME+"' usually has VOID return type instead of '"+t+"'. Note this is really not a requirement of The Java Virtual Machine Specification, Second Edition.");
}
}
catch (ClassFormatException cfe){
@@ -1332,10 +1333,10 @@ public final class Pass2Verifier extends
}
if (allowStaticInit){
- return (name.equals(CONSTRUCTOR_NAME) || name.equals(STATIC_INITIALIZER_NAME));
+ return (name.equals(Constants.CONSTRUCTOR_NAME) || name.equals(Constants.STATIC_INITIALIZER_NAME));
}
else{
- return name.equals(CONSTRUCTOR_NAME);
+ return name.equals(Constants.CONSTRUCTOR_NAME);
}
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java Wed Aug 12 15:29:23 2015
@@ -29,7 +29,7 @@ import org.apache.commons.bcel6.generic.
*
* @version $Id$
*/
-public class UninitializedObjectType extends ReferenceType implements Constants{
+public class UninitializedObjectType extends ReferenceType{
private static final long serialVersionUID = -1228341777713117641L;
/** The "initialized" version. */
@@ -37,7 +37,7 @@ public class UninitializedObjectType ext
/** Creates a new instance. */
public UninitializedObjectType(ObjectType t){
- super(T_UNKNOWN, "<UNINITIALIZED OBJECT OF TYPE '"+t.getClassName()+"'>");
+ super(Constants.T_UNKNOWN, "<UNINITIALIZED OBJECT OF TYPE '"+t.getClassName()+"'>");
initialized = t;
}
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java Wed Aug 12 15:29:23 2015
@@ -33,13 +33,13 @@ import org.apache.commons.bcel6.generic.
import org.apache.commons.bcel6.generic.Type;
import org.junit.Assert;
-public class TestArrayAccess02Creator extends TestCreator implements Constants {
+public class TestArrayAccess02Creator extends TestCreator {
private InstructionFactory _factory;
private ConstantPoolGen _cp;
private ClassGen _cg;
public TestArrayAccess02Creator() {
- _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", "java.lang.Object", "TestArrayAccess02.java", ACC_PUBLIC | ACC_SUPER, new String[] { });
+ _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", "java.lang.Object", "TestArrayAccess02.java", Constants.ACC_PUBLIC | Constants.ACC_SUPER, new String[] { });
_cp = _cg.getConstantPool();
_factory = new InstructionFactory(_cg, _cp);
@@ -53,7 +53,7 @@ public class TestArrayAccess02Creator ex
private void createMethod_0() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
InstructionHandle ih_0 = il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
Assert.assertNotNull(ih_0); // TODO why is this not used
@@ -68,7 +68,7 @@ public class TestArrayAccess02Creator ex
private void createMethod_1() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC | Constants.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
Assert.assertNotNull(ih_0); // TODO why is this not used
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java Wed Aug 12 15:29:23 2015
@@ -33,13 +33,13 @@ import org.apache.commons.bcel6.generic.
import org.apache.commons.bcel6.generic.Type;
import org.junit.Assert;
-public class TestArrayAccess03Creator extends TestCreator implements Constants {
+public class TestArrayAccess03Creator extends TestCreator {
private InstructionFactory _factory;
private ConstantPoolGen _cp;
private ClassGen _cg;
public TestArrayAccess03Creator() {
- _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", "java.lang.Object", "TestArrayAccess03.java", ACC_PUBLIC | ACC_SUPER, new String[] { });
+ _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", "java.lang.Object", "TestArrayAccess03.java", Constants.ACC_PUBLIC | Constants.ACC_SUPER, new String[] { });
_cp = _cg.getConstantPool();
_factory = new InstructionFactory(_cg, _cp);
@@ -53,7 +53,7 @@ public class TestArrayAccess03Creator ex
private void createMethod_0() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
InstructionHandle ih_0 = il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
Assert.assertNotNull(ih_0); // TODO why is this not used
@@ -68,7 +68,7 @@ public class TestArrayAccess03Creator ex
private void createMethod_1() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC | Constants.ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
Assert.assertNotNull(ih_0); // TODO why is this not used
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java Wed Aug 12 15:29:23 2015
@@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
import org.apache.commons.bcel6.generic.Type;
import org.junit.Assert;
-public class TestArrayAccess04Creator extends TestCreator implements Constants {
+public class TestArrayAccess04Creator extends TestCreator {
private InstructionFactory _factory;
private ConstantPoolGen _cp;
private ClassGen _cg;
public TestArrayAccess04Creator() {
- _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", "java.lang.Object", "TestArrayAccess04.java", ACC_PUBLIC | ACC_SUPER, new String[] { });
+ _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", "java.lang.Object", "TestArrayAccess04.java", Constants.ACC_PUBLIC | Constants.ACC_SUPER, new String[] { });
_cp = _cg.getConstantPool();
_factory = new InstructionFactory(_cg, _cp);
@@ -51,7 +51,7 @@ public class TestArrayAccess04Creator ex
private void createMethod_0() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
InstructionHandle ih_0 = il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
Assert.assertNotNull(ih_0); // TODO why is this not used
@@ -66,7 +66,7 @@ public class TestArrayAccess04Creator ex
private void createMethod_1() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC | Constants.ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" }, "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
Assert.assertNotNull(ih_0); // TODO why is this not used
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java Wed Aug 12 15:29:23 2015
@@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
import org.apache.commons.bcel6.generic.Type;
import org.junit.Assert;
-public class TestReturn01Creator extends TestCreator implements Constants {
+public class TestReturn01Creator extends TestCreator {
private InstructionFactory _factory;
private ConstantPoolGen _cp;
private ClassGen _cg;
public TestReturn01Creator() {
- _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn01", "java.lang.Object", "TestReturn01.java", ACC_PUBLIC | ACC_SUPER, new String[] { });
+ _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn01", "java.lang.Object", "TestReturn01.java", Constants.ACC_PUBLIC | Constants.ACC_SUPER, new String[] { });
_cp = _cg.getConstantPool();
_factory = new InstructionFactory(_cg, _cp);
@@ -51,7 +51,7 @@ public class TestReturn01Creator extends
private void createMethod_0() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
InstructionHandle ih_0 = il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
Assert.assertNotNull(ih_0); // TODO why is this not used
@@ -66,7 +66,7 @@ public class TestReturn01Creator extends
private void createMethod_1() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { }, "foo", "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC | Constants.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { }, "foo", "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
InstructionHandle ih_0 = il.append(_factory.createNew("java.lang.Object"));
Assert.assertNotNull(ih_0); // TODO why is this not used
Modified: commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java (original)
+++ commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java Wed Aug 12 15:29:23 2015
@@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
import org.apache.commons.bcel6.generic.Type;
import org.junit.Assert;
-public class TestReturn03Creator extends TestCreator implements Constants {
+public class TestReturn03Creator extends TestCreator {
private InstructionFactory _factory;
private ConstantPoolGen _cp;
private ClassGen _cg;
public TestReturn03Creator() {
- _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn03", "java.lang.Object", "TestReturn03.java", ACC_PUBLIC | ACC_SUPER, new String[] { });
+ _cg = new ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn03", "java.lang.Object", "TestReturn03.java", Constants.ACC_PUBLIC | Constants.ACC_SUPER, new String[] { });
_cp = _cg.getConstantPool();
_factory = new InstructionFactory(_cg, _cp);
@@ -51,7 +51,7 @@ public class TestReturn03Creator extends
private void createMethod_0() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID, Type.NO_ARGS, new String[] { }, "<init>", "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
InstructionHandle ih_0 = il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
Assert.assertNotNull(ih_0); // TODO why is this not used
@@ -66,7 +66,7 @@ public class TestReturn03Creator extends
private void createMethod_1() {
InstructionList il = new InstructionList();
- MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC, Type.INT, Type.NO_ARGS, new String[] { }, "test3", "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
+ MethodGen method = new MethodGen(Constants.ACC_PUBLIC | Constants.ACC_STATIC, Type.INT, Type.NO_ARGS, new String[] { }, "test3", "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
InstructionHandle ih_0 = il.append(InstructionConstants.ACONST_NULL);
Assert.assertNotNull(ih_0); // TODO why is this not used
Re: svn commit: r1695556 - in /commons/proper/bcel/trunk/src:
changes/ main/java/org/apache/commons/bcel6/ main/java/org/apache/commons/bcel6/classfile/
main/java/org/apache/commons/bcel6/util/ main/java/org/apache/commons/bcel6/verifier/statics/
main/java...
Posted by sebb <se...@gmail.com>.
On 12 August 2015 at 19:20, Dave Brosius <db...@apache.org> wrote:
> The Constants class is used by 3rdparty clients to access fields. I suppose
> this change is ok, given that they need to recompile anyway, but just
> mentioning it.
OK, thanks.
It's quite easy now that there are static imports.
Just replace
implements Constants
with
"import static ...Constants.*';"
I did not do this for the BCEL code as it pollutes the namespace the
same way as using the interface.
> ---
> <br type="_moz" />
>
> On 2015-08-12 11:29, sebb@apache.org wrote:
>>
>> Author: sebb
>> Date: Wed Aug 12 15:29:23 2015
>> New Revision: 1695556
>>
>> URL: http://svn.apache.org/r1695556
>> Log:
>> BCEL-239 Interfaces should not be used to define constants
>>
>> Modified:
>> commons/proper/bcel/trunk/src/changes/changes.xml
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: svn commit: r1695556 - in /commons/proper/bcel/trunk/src:
changes/ main/java/org/apache/commons/bcel6/
main/java/org/apache/commons/bcel6/classfile/
main/java/org/apache/commons/bcel6/util/
main/java/org/apache/commons/bcel6/verifier/statics/ main/java...
Posted by Dave Brosius <db...@apache.org>.
The Constants class is used by 3rdparty clients to access fields. I
suppose this change is ok, given that they need to recompile anyway, but
just mentioning it.
---
<br type="_moz" />
On 2015-08-12 11:29, sebb@apache.org wrote:
> Author: sebb
> Date: Wed Aug 12 15:29:23 2015
> New Revision: 1695556
>
> URL: http://svn.apache.org/r1695556
> Log:
> BCEL-239 Interfaces should not be used to define constants
>
> Modified:
> commons/proper/bcel/trunk/src/changes/changes.xml
>
> 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/AnnotationEntry.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.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/ConstantHTML.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java
>
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java
>
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java
>
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java
>
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java
>
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java
>
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java
>
> Modified: commons/proper/bcel/trunk/src/changes/changes.xml
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/changes/changes.xml?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> --- commons/proper/bcel/trunk/src/changes/changes.xml (original)
> +++ commons/proper/bcel/trunk/src/changes/changes.xml Wed Aug 12
> 15:29:23 2015
> @@ -63,6 +63,7 @@ The <action> type attribute can be add,u
>
> <body>
> <release version="6.0" date="TBA" description="Major release with
> Java 7 and 8 support">
> + <action issue="BCEL-239" type="fix">Interfaces should not be
> used to define constants</action>
> <action issue="BCEL-235" type="fix">Remove unused
> setters</action>
> <action issue="BCEL-232" type="fix">Make mutable fields
> private</action>
> <action issue="BCEL-233" type="fix">The access_flags field in
> AccessFlags class should be final</action>
>
> 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=1695556&r1=1695555&r2=1695556&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 Wed Aug 12 15:29:23 2015
> @@ -22,7 +22,7 @@ package org.apache.commons.bcel6;
> *
> * @version $Id$
> */
> -public interface Constants {
> +public class Constants {
>
> /** Major version number of class files for Java 1.1.
> * @see #MINOR_1_1
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/AnnotationEntry.java Wed Aug 12 15:29:23 2015
> @@ -33,7 +33,7 @@ import org.apache.commons.bcel6.Constant
> * @version $Id: AnnotationEntry
> * @since 6.0
> */
> -public class AnnotationEntry implements Node, Constants, Serializable
> {
> +public class AnnotationEntry implements Node, Serializable {
>
> private static final long serialVersionUID = 1L;
>
> @@ -43,7 +43,7 @@ public class AnnotationEntry implements
>
> private List<ElementValuePair> element_value_pairs;
>
> - /**
> + /*
> * Factory method to create an AnnotionEntry from a DataInput
> *
> * @param input
> @@ -96,7 +96,7 @@ public class AnnotationEntry implements
> * @return the annotation type name
> */
> public String getAnnotationType() {
> - final ConstantUtf8 c = (ConstantUtf8)
> constant_pool.getConstant(type_index, CONSTANT_Utf8);
> + final ConstantUtf8 c = (ConstantUtf8)
> constant_pool.getConstant(type_index, Constants.CONSTANT_Utf8);
> return c.getBytes();
> }
>
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/CodeException.java Wed Aug 12 15:29:23 2015
> @@ -32,7 +32,7 @@ import org.apache.commons.bcel6.Constant
> * @version $Id$
> * @see Code
> */
> -public final class CodeException implements Cloneable, Constants,
> Node, Serializable {
> +public final class CodeException implements Cloneable, Node,
> Serializable {
>
> private static final long serialVersionUID = 2972500041254967221L;
> private final int start_pc; // Range in the code the exception
> handler is
> @@ -160,7 +160,7 @@ public final class CodeException impleme
> if (catch_type == 0) {
> str = "<Any exception>(0)";
> } else {
> - str =
> Utility.compactClassName(cp.getConstantString(catch_type,
> CONSTANT_Class), false)
> + str =
> Utility.compactClassName(cp.getConstantString(catch_type,
> Constants.CONSTANT_Class), false)
> + (verbose ? "(" + catch_type + ")" : "");
> }
> return start_pc + "\t" + end_pc + "\t" + handler_pc + "\t" +
> str;
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/LocalVariable.java Wed Aug 12 15:29:23 2015
> @@ -31,7 +31,7 @@ import org.apache.commons.bcel6.Constant
> * @version $Id$
> * @see LocalVariableTable
> */
> -public final class LocalVariable implements Constants, Cloneable,
> Node, Serializable {
> +public final class LocalVariable implements Cloneable, Node,
> Serializable {
>
> private static final long serialVersionUID = -51081099265972179L;
> private final int start_pc; // Range in which the variable is
> valid
> @@ -132,7 +132,7 @@ public final class LocalVariable impleme
> */
> public final String getName() {
> ConstantUtf8 c;
> - c = (ConstantUtf8) constant_pool.getConstant(name_index,
> CONSTANT_Utf8);
> + c = (ConstantUtf8) constant_pool.getConstant(name_index,
> Constants.CONSTANT_Utf8);
> return c.getBytes();
> }
>
> @@ -150,7 +150,7 @@ public final class LocalVariable impleme
> */
> public final String getSignature() {
> ConstantUtf8 c;
> - c = (ConstantUtf8) constant_pool.getConstant(signature_index,
> CONSTANT_Utf8);
> + c = (ConstantUtf8) constant_pool.getConstant(signature_index,
> Constants.CONSTANT_Utf8);
> return c.getBytes();
> }
>
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/classfile/ParameterAnnotationEntry.java Wed Aug 12 15:29:23 2015
> @@ -24,15 +24,13 @@ import java.util.ArrayList;
> import java.util.Collections;
> import java.util.List;
>
> -import org.apache.commons.bcel6.Constants;
> -
> /**
> * represents one parameter annotation in the parameter annotation
> table
> *
> * @version $Id: ParameterAnnotationEntry
> * @since 6.0
> */
> -public class ParameterAnnotationEntry implements Node, Constants {
> +public class ParameterAnnotationEntry implements Node {
>
> private final AnnotationEntry[] annotation_table;
>
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/AttributeHTML.java Wed Aug 12 15:29:23 2015
> @@ -21,6 +21,7 @@ import java.io.FileOutputStream;
> import java.io.IOException;
> import java.io.PrintWriter;
>
> +import org.apache.commons.bcel6.Constants;
> import org.apache.commons.bcel6.classfile.Attribute;
> import org.apache.commons.bcel6.classfile.Code;
> import org.apache.commons.bcel6.classfile.CodeException;
> @@ -43,7 +44,7 @@ import org.apache.commons.bcel6.classfil
> * @version $Id$
> *
> */
> -final class AttributeHTML implements
> org.apache.commons.bcel6.Constants {
> +final class AttributeHTML {
>
> private final String class_name; // name of current class
> private final PrintWriter file; // file to write to
> @@ -82,7 +83,7 @@ final class AttributeHTML implements org
> final void writeAttribute( Attribute attribute, String anchor,
> int method_number ) {
> byte tag = attribute.getTag();
> int index;
> - if (tag == ATTR_UNKNOWN) {
> + if (tag == Constants.ATTR_UNKNOWN) {
> return;
> }
> attr_count++; // Increment number of attributes found so far
> @@ -91,12 +92,12 @@ final class AttributeHTML implements org
> } else {
> file.print("<TR BGCOLOR=\"#A0A0A0\"><TD>");
> }
> - file.println("<H4><A NAME=\"" + anchor + "\">" + attr_count +
> " " + ATTRIBUTE_NAMES[tag]
> + file.println("<H4><A NAME=\"" + anchor + "\">" + attr_count +
> " " + Constants.ATTRIBUTE_NAMES[tag]
> + "</A></H4>");
> /* Handle different attributes
> */
> switch (tag) {
> - case ATTR_CODE:
> + case Constants.ATTR_CODE:
> Code c = (Code) attribute;
> // Some directly printable values
> file.print("<UL><LI>Maximum stack size = " +
> c.getMaxStack()
> @@ -124,20 +125,20 @@ final class AttributeHTML implements org
> file.print("</UL>");
> }
> break;
> - case ATTR_CONSTANT_VALUE:
> + case Constants.ATTR_CONSTANT_VALUE:
> index = ((ConstantValue)
> attribute).getConstantValueIndex();
> // Reference _cp.html
> file.print("<UL><LI><A HREF=\"" + class_name +
> "_cp.html#cp" + index
> + "\" TARGET=\"ConstantPool\">Constant value
> index(" + index
> + ")</A></UL>\n");
> break;
> - case ATTR_SOURCE_FILE:
> + case Constants.ATTR_SOURCE_FILE:
> index = ((SourceFile) attribute).getSourceFileIndex();
> // Reference _cp.html
> file.print("<UL><LI><A HREF=\"" + class_name +
> "_cp.html#cp" + index
> + "\" TARGET=\"ConstantPool\">Source file
> index(" + index + ")</A></UL>\n");
> break;
> - case ATTR_EXCEPTIONS:
> + case Constants.ATTR_EXCEPTIONS:
> // List thrown exceptions
> int[] indices = ((ExceptionTable)
> attribute).getExceptionIndexTable();
> file.print("<UL>");
> @@ -148,7 +149,7 @@ final class AttributeHTML implements org
> }
> file.print("</UL>\n");
> break;
> - case ATTR_LINE_NUMBER_TABLE:
> + case Constants.ATTR_LINE_NUMBER_TABLE:
> LineNumber[] line_numbers = ((LineNumberTable)
> attribute).getLineNumberTable();
> // List line number pairs
> file.print("<P>");
> @@ -160,14 +161,14 @@ final class AttributeHTML implements org
> }
> }
> break;
> - case ATTR_LOCAL_VARIABLE_TABLE:
> + case Constants.ATTR_LOCAL_VARIABLE_TABLE:
> LocalVariable[] vars = ((LocalVariableTable)
> attribute).getLocalVariableTable();
> // List name, range and type
> file.print("<UL>");
> for (LocalVariable var : vars) {
> index = var.getSignatureIndex();
> String signature = ((ConstantUtf8)
> constant_pool.getConstant(index,
> - CONSTANT_Utf8)).getBytes();
> + Constants.CONSTANT_Utf8)).getBytes();
> signature = Utility.signatureToString(signature,
> false);
> int start = var.getStartPC();
> int end = (start + var.getLength());
> @@ -180,7 +181,7 @@ final class AttributeHTML implements org
> }
> file.print("</UL>\n");
> break;
> - case ATTR_INNER_CLASSES:
> + case Constants.ATTR_INNER_CLASSES:
> InnerClass[] classes = ((InnerClasses)
> attribute).getInnerClasses();
> // List inner classes
> file.print("<UL>");
> @@ -188,7 +189,7 @@ final class AttributeHTML implements org
> String name, access;
> index = classe.getInnerNameIndex();
> if (index > 0) {
> - name = ((ConstantUtf8)
> constant_pool.getConstant(index, CONSTANT_Utf8))
> + name = ((ConstantUtf8)
> constant_pool.getConstant(index, Constants.CONSTANT_Utf8))
> .getBytes();
> } else {
> name = "<anonymous>";
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/Class2HTML.java Wed Aug 12 15:29:23 2015
> @@ -51,7 +51,7 @@ import org.apache.commons.bcel6.classfil
> *
> * @version $Id$
> */
> -public class Class2HTML implements Constants {
> +public class Class2HTML {
>
> private final JavaClass java_class; // current class object
> private final String dir;
> @@ -150,7 +150,7 @@ public class Class2HTML implements Const
> * i.e., an index to a string.
> */
> static String referenceClass( int index ) {
> - String str = constant_pool.getConstantString(index,
> CONSTANT_Class);
> + String str = constant_pool.getConstantString(index,
> Constants.CONSTANT_Class);
> str = Utility.compactClassName(str);
> str = Utility.compactClassName(str, class_package + ".",
> true);
> return "<A HREF=\"" + class_name + "_cp.html#cp" + index +
> "\" TARGET=ConstantPool>" + str
>
> 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=1695556&r1=1695555&r2=1695556&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 Wed Aug 12 15:29:23 2015
> @@ -22,6 +22,7 @@ import java.io.IOException;
> import java.io.PrintWriter;
> import java.util.BitSet;
>
> +import org.apache.commons.bcel6.Constants;
> import org.apache.commons.bcel6.classfile.Attribute;
> import org.apache.commons.bcel6.classfile.Code;
> import org.apache.commons.bcel6.classfile.CodeException;
> @@ -42,7 +43,7 @@ import org.apache.commons.bcel6.classfil
> * @version $Id$
> *
> */
> -final class CodeHTML implements org.apache.commons.bcel6.Constants {
> +final class CodeHTML {
>
> private final String class_name; // name of current class
> // private Method[] methods; // Methods to print
> @@ -85,11 +86,11 @@ final class CodeHTML implements org.apac
> int[] jump_table;
> int no_pad_bytes = 0, offset;
> buf = new StringBuilder(256);
> -
> buf.append("<TT>").append(OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
> +
> buf.append("<TT>").append(Constants.OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
> /* Special case: Skip (0-3) padding bytes, i.e., the
> * following bytes are 4-byte-aligned
> */
> - if ((opcode == TABLESWITCH) || (opcode == LOOKUPSWITCH)) {
> + if ((opcode == Constants.TABLESWITCH) || (opcode ==
> Constants.LOOKUPSWITCH)) {
> int remainder = bytes.getIndex() % 4;
> no_pad_bytes = (remainder == 0) ? 0 : 4 - remainder;
> for (int i = 0; i < no_pad_bytes; i++) {
> @@ -99,7 +100,7 @@ final class CodeHTML implements org.apac
> default_offset = bytes.readInt();
> }
> switch (opcode) {
> - case TABLESWITCH:
> + case Constants.TABLESWITCH:
> low = bytes.readInt();
> high = bytes.readInt();
> offset = bytes.getIndex() - 12 - no_pad_bytes - 1;
> @@ -123,7 +124,7 @@ final class CodeHTML implements org.apac
> break;
> /* Lookup switch has variable length arguments.
> */
> - case LOOKUPSWITCH:
> + case Constants.LOOKUPSWITCH:
> int npairs = bytes.readInt();
> offset = bytes.getIndex() - 8 - no_pad_bytes - 1;
> jump_table = new int[npairs];
> @@ -148,49 +149,49 @@ final class CodeHTML implements org.apac
> /* Two address bytes + offset from start of byte stream
> form the
> * jump target.
> */
> - case GOTO:
> - case IFEQ:
> - case IFGE:
> - case IFGT:
> - case IFLE:
> - case IFLT:
> - case IFNE:
> - case IFNONNULL:
> - case IFNULL:
> - case IF_ACMPEQ:
> - case IF_ACMPNE:
> - case IF_ICMPEQ:
> - case IF_ICMPGE:
> - case IF_ICMPGT:
> - case IF_ICMPLE:
> - case IF_ICMPLT:
> - case IF_ICMPNE:
> - case JSR:
> + case Constants.GOTO:
> + case Constants.IFEQ:
> + case Constants.IFGE:
> + case Constants.IFGT:
> + case Constants.IFLE:
> + case Constants.IFLT:
> + case Constants.IFNE:
> + case Constants.IFNONNULL:
> + case Constants.IFNULL:
> + case Constants.IF_ACMPEQ:
> + case Constants.IF_ACMPNE:
> + case Constants.IF_ICMPEQ:
> + case Constants.IF_ICMPGE:
> + case Constants.IF_ICMPGT:
> + case Constants.IF_ICMPLE:
> + case Constants.IF_ICMPLT:
> + case Constants.IF_ICMPNE:
> + case Constants.JSR:
> index = (bytes.getIndex() + bytes.readShort() - 1);
> buf.append("<A
> HREF=\"#code").append(method_number).append("@").append(index)
> .append("\">").append(index).append("</A>");
> break;
> /* Same for 32-bit wide jumps
> */
> - case GOTO_W:
> - case JSR_W:
> + case Constants.GOTO_W:
> + case Constants.JSR_W:
> int windex = bytes.getIndex() + bytes.readInt() - 1;
> buf.append("<A
> HREF=\"#code").append(method_number).append("@").append(windex)
> .append("\">").append(windex).append("</A>");
> break;
> /* Index byte references local variable (register)
> */
> - case ALOAD:
> - case ASTORE:
> - case DLOAD:
> - case DSTORE:
> - case FLOAD:
> - case FSTORE:
> - case ILOAD:
> - case ISTORE:
> - case LLOAD:
> - case LSTORE:
> - case RET:
> + case Constants.ALOAD:
> + case Constants.ASTORE:
> + case Constants.DLOAD:
> + case Constants.DSTORE:
> + case Constants.FLOAD:
> + case Constants.FSTORE:
> + case Constants.ILOAD:
> + case Constants.ISTORE:
> + case Constants.LLOAD:
> + case Constants.LSTORE:
> + case Constants.RET:
> if (wide) {
> vindex = bytes.readShort();
> wide = false; // Clear flag
> @@ -204,30 +205,30 @@ final class CodeHTML implements org.apac
> * following instruction. Relies on that the method is
> called again with
> * the following opcode.
> */
> - case WIDE:
> + case Constants.WIDE:
> wide = true;
> buf.append("(wide)");
> break;
> /* Array of basic type.
> */
> - case NEWARRAY:
> - buf.append("<FONT
> COLOR=\"#00FF00\">").append(TYPE_NAMES[bytes.readByte()]).append(
> + case Constants.NEWARRAY:
> + buf.append("<FONT
> COLOR=\"#00FF00\">").append(Constants.TYPE_NAMES[bytes.readByte()]).append(
> "</FONT>");
> break;
> /* Access object/class fields.
> */
> - case GETFIELD:
> - case GETSTATIC:
> - case PUTFIELD:
> - case PUTSTATIC:
> + case Constants.GETFIELD:
> + case Constants.GETSTATIC:
> + case Constants.PUTFIELD:
> + case Constants.PUTSTATIC:
> index = bytes.readShort();
> ConstantFieldref c1 = (ConstantFieldref)
> constant_pool.getConstant(index,
> - CONSTANT_Fieldref);
> + Constants.CONSTANT_Fieldref);
> class_index = c1.getClassIndex();
> - name = constant_pool.getConstantString(class_index,
> CONSTANT_Class);
> + name = constant_pool.getConstantString(class_index,
> Constants.CONSTANT_Class);
> name = Utility.compactClassName(name, false);
> index = c1.getNameAndTypeIndex();
> - String field_name =
> constant_pool.constantToString(index, CONSTANT_NameAndType);
> + String field_name =
> constant_pool.constantToString(index, Constants.CONSTANT_NameAndType);
> if (name.equals(class_name)) { // Local field
> buf.append("<A
> HREF=\"").append(class_name).append("_methods.html#field")
> .append(field_name).append("\"
> TARGET=Methods>").append(field_name)
> @@ -239,36 +240,36 @@ final class CodeHTML implements org.apac
> break;
> /* Operands are references to classes in constant pool
> */
> - case CHECKCAST:
> - case INSTANCEOF:
> - case NEW:
> + case Constants.CHECKCAST:
> + case Constants.INSTANCEOF:
> + case Constants.NEW:
> index = bytes.readShort();
> buf.append(constant_html.referenceConstant(index));
> break;
> /* Operands are references to methods in constant pool
> */
> - case INVOKESPECIAL:
> - case INVOKESTATIC:
> - case INVOKEVIRTUAL:
> - case INVOKEINTERFACE:
> - case INVOKEDYNAMIC:
> + case Constants.INVOKESPECIAL:
> + case Constants.INVOKESTATIC:
> + case Constants.INVOKEVIRTUAL:
> + case Constants.INVOKEINTERFACE:
> + case Constants.INVOKEDYNAMIC:
> int m_index = bytes.readShort();
> String str;
> - if (opcode == INVOKEINTERFACE) { // Special treatment
> needed
> + if (opcode == Constants.INVOKEINTERFACE) { // Special
> treatment needed
> bytes.readUnsignedByte(); // Redundant
> bytes.readUnsignedByte(); // Reserved
> // int nargs = bytes.readUnsignedByte(); //
> Redundant
> // int reserved = bytes.readUnsignedByte(); //
> Reserved
> ConstantInterfaceMethodref c =
> (ConstantInterfaceMethodref) constant_pool
> - .getConstant(m_index,
> CONSTANT_InterfaceMethodref);
> + .getConstant(m_index,
> Constants.CONSTANT_InterfaceMethodref);
> class_index = c.getClassIndex();
> index = c.getNameAndTypeIndex();
> name = Class2HTML.referenceClass(class_index);
> - } else if (opcode == INVOKEDYNAMIC) { // Special
> treatment needed
> + } else if (opcode == Constants.INVOKEDYNAMIC) { //
> Special treatment needed
> bytes.readUnsignedByte(); // Reserved
> bytes.readUnsignedByte(); // Reserved
> ConstantInvokeDynamic c = (ConstantInvokeDynamic)
> constant_pool
> - .getConstant(m_index,
> CONSTANT_InvokeDynamic);
> + .getConstant(m_index,
> Constants.CONSTANT_InvokeDynamic);
> index = c.getNameAndTypeIndex();
> name = "#" + c.getBootstrapMethodAttrIndex();
> } else {
> @@ -276,17 +277,17 @@ final class CodeHTML implements org.apac
> // reference EITHER a Methodref OR an
> InterfaceMethodref.
> // Not sure if that affects this code or not.
> (markro)
> ConstantMethodref c = (ConstantMethodref)
> constant_pool.getConstant(m_index,
> - CONSTANT_Methodref);
> + Constants.CONSTANT_Methodref);
> class_index = c.getClassIndex();
> index = c.getNameAndTypeIndex();
> name = Class2HTML.referenceClass(class_index);
> }
> str =
> Class2HTML.toHTML(constant_pool.constantToString(constant_pool.getConstant(
> - index, CONSTANT_NameAndType)));
> + index, Constants.CONSTANT_NameAndType)));
> // Get signature, i.e., types
> ConstantNameAndType c2 = (ConstantNameAndType)
> constant_pool.getConstant(index,
> - CONSTANT_NameAndType);
> - signature =
> constant_pool.constantToString(c2.getSignatureIndex(), CONSTANT_Utf8);
> + Constants.CONSTANT_NameAndType);
> + signature =
> constant_pool.constantToString(c2.getSignatureIndex(),
> Constants.CONSTANT_Utf8);
> String[] args =
> Utility.methodSignatureArgumentTypes(signature, false);
> String type =
> Utility.methodSignatureReturnType(signature, false);
> buf.append(name).append(".<A
> HREF=\"").append(class_name).append("_cp.html#cp")
> @@ -304,15 +305,15 @@ final class CodeHTML implements org.apac
> break;
> /* Operands are references to items in constant pool
> */
> - case LDC_W:
> - case LDC2_W:
> + case Constants.LDC_W:
> + case Constants.LDC2_W:
> index = bytes.readShort();
> buf.append("<A
> HREF=\"").append(class_name).append("_cp.html#cp").append(index)
> .append("\" TARGET=\"ConstantPool\">").append(
>
> Class2HTML.toHTML(constant_pool.constantToString(index,
>
> constant_pool.getConstant(index).getTag()))).append("</a>");
> break;
> - case LDC:
> + case Constants.LDC:
> index = bytes.readUnsignedByte();
> buf.append("<A
> HREF=\"").append(class_name).append("_cp.html#cp").append(index)
> .append("\" TARGET=\"ConstantPool\">").append(
> @@ -321,13 +322,13 @@ final class CodeHTML implements org.apac
> break;
> /* Array of references.
> */
> - case ANEWARRAY:
> + case Constants.ANEWARRAY:
> index = bytes.readShort();
> buf.append(constant_html.referenceConstant(index));
> break;
> /* Multidimensional array of references.
> */
> - case MULTIANEWARRAY:
> + case Constants.MULTIANEWARRAY:
> index = bytes.readShort();
> int dimensions = bytes.readByte();
>
> buf.append(constant_html.referenceConstant(index)).append(":").append(dimensions)
> @@ -335,7 +336,7 @@ final class CodeHTML implements org.apac
> break;
> /* Increment local variable.
> */
> - case IINC:
> + case Constants.IINC:
> if (wide) {
> vindex = bytes.readShort();
> constant = bytes.readShort();
> @@ -347,16 +348,16 @@ final class CodeHTML implements org.apac
> buf.append("%").append(vindex).append("
> ").append(constant);
> break;
> default:
> - if (NO_OF_OPERANDS[opcode] > 0) {
> - for (int i = 0; i <
> TYPE_OF_OPERANDS[opcode].length; i++) {
> - switch (TYPE_OF_OPERANDS[opcode][i]) {
> - case T_BYTE:
> + if (Constants.NO_OF_OPERANDS[opcode] > 0) {
> + for (int i = 0; i <
> Constants.TYPE_OF_OPERANDS[opcode].length; i++) {
> + switch (Constants.TYPE_OF_OPERANDS[opcode][i])
> {
> + case Constants.T_BYTE:
> buf.append(bytes.readUnsignedByte());
> break;
> - case T_SHORT: // Either branch or index
> + case Constants.T_SHORT: // Either branch
> or index
> buf.append(bytes.readShort());
> break;
> - case T_INT:
> + case Constants.T_INT:
> buf.append(bytes.readInt());
> break;
> default: // Never reached
> @@ -393,7 +394,7 @@ final class CodeHTML implements org.apac
> // Look for local variables and their range
> Attribute[] attributes = code.getAttributes();
> for (Attribute attribute : attributes) {
> - if (attribute.getTag() == ATTR_LOCAL_VARIABLE_TABLE) {
> + if (attribute.getTag() ==
> Constants.ATTR_LOCAL_VARIABLE_TABLE) {
> LocalVariable[] vars = ((LocalVariableTable)
> attribute)
> .getLocalVariableTable();
> for (LocalVariable var : vars) {
> @@ -411,8 +412,8 @@ final class CodeHTML implements org.apac
> opcode = bytes.readUnsignedByte();
> //System.out.println(OPCODE_NAMES[opcode]);
> switch (opcode) {
> - case TABLESWITCH:
> - case LOOKUPSWITCH:
> + case Constants.TABLESWITCH:
> + case Constants.LOOKUPSWITCH:
> //bytes.readByte(); // Skip already read byte
> int remainder = bytes.getIndex() % 4;
> int no_pad_bytes = (remainder == 0) ? 0 : 4 -
> remainder;
> @@ -423,7 +424,7 @@ final class CodeHTML implements org.apac
> }
> // Both cases have a field default_offset in
> common
> default_offset = bytes.readInt();
> - if (opcode == TABLESWITCH) {
> + if (opcode == Constants.TABLESWITCH) {
> int low = bytes.readInt();
> int high = bytes.readInt();
> offset = bytes.getIndex() - 12 - no_pad_bytes
> - 1;
> @@ -446,30 +447,30 @@ final class CodeHTML implements org.apac
> }
> }
> break;
> - case GOTO:
> - case IFEQ:
> - case IFGE:
> - case IFGT:
> - case IFLE:
> - case IFLT:
> - case IFNE:
> - case IFNONNULL:
> - case IFNULL:
> - case IF_ACMPEQ:
> - case IF_ACMPNE:
> - case IF_ICMPEQ:
> - case IF_ICMPGE:
> - case IF_ICMPGT:
> - case IF_ICMPLE:
> - case IF_ICMPLT:
> - case IF_ICMPNE:
> - case JSR:
> + case Constants.GOTO:
> + case Constants.IFEQ:
> + case Constants.IFGE:
> + case Constants.IFGT:
> + case Constants.IFLE:
> + case Constants.IFLT:
> + case Constants.IFNE:
> + case Constants.IFNONNULL:
> + case Constants.IFNULL:
> + case Constants.IF_ACMPEQ:
> + case Constants.IF_ACMPNE:
> + case Constants.IF_ICMPEQ:
> + case Constants.IF_ICMPGE:
> + case Constants.IF_ICMPGT:
> + case Constants.IF_ICMPLE:
> + case Constants.IF_ICMPLT:
> + case Constants.IF_ICMPNE:
> + case Constants.JSR:
> //bytes.readByte(); // Skip already read byte
> index = bytes.getIndex() + bytes.readShort() - 1;
> goto_set.set(index);
> break;
> - case GOTO_W:
> - case JSR_W:
> + case Constants.GOTO_W:
> + case Constants.JSR_W:
> //bytes.readByte(); // Skip already read byte
> index = bytes.getIndex() + bytes.readInt() - 1;
> goto_set.set(index);
> @@ -517,14 +518,14 @@ final class CodeHTML implements org.apac
> file.print("<H4>Attributes</H4><UL>\n");
> for (int i = 0; i < attributes.length; i++) {
> byte tag = attributes[i].getTag();
> - if (tag != ATTR_UNKNOWN) {
> + if (tag != Constants.ATTR_UNKNOWN) {
> file.print("<LI><A HREF=\"" + class_name +
> "_attributes.html#method"
> + method_number + "@" + i + "\"
> TARGET=Attributes>"
> - + ATTRIBUTE_NAMES[tag] + "</A></LI>\n");
> + + Constants.ATTRIBUTE_NAMES[tag] +
> "</A></LI>\n");
> } else {
> file.print("<LI>" + attributes[i] + "</LI>");
> }
> - if (tag == ATTR_CODE) {
> + if (tag == Constants.ATTR_CODE) {
> c = (Code) attributes[i];
> Attribute[] attributes2 = c.getAttributes();
> code = c.getCode();
> @@ -533,7 +534,7 @@ final class CodeHTML implements org.apac
> tag = attributes2[j].getTag();
> file.print("<LI><A HREF=\"" + class_name +
> "_attributes.html#" + "method"
> + method_number + "@" + i + "@" + j +
> "\" TARGET=Attributes>"
> - + ATTRIBUTE_NAMES[tag] +
> "</A></LI>\n");
> + + Constants.ATTRIBUTE_NAMES[tag] +
> "</A></LI>\n");
> }
> file.print("</UL>");
> }
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ConstantHTML.java Wed Aug 12 15:29:23 2015
> @@ -21,6 +21,7 @@ import java.io.FileOutputStream;
> import java.io.IOException;
> import java.io.PrintWriter;
>
> +import org.apache.commons.bcel6.Constants;
> import org.apache.commons.bcel6.classfile.Constant;
> import org.apache.commons.bcel6.classfile.ConstantClass;
> import org.apache.commons.bcel6.classfile.ConstantFieldref;
> @@ -38,7 +39,7 @@ import org.apache.commons.bcel6.classfil
> * @version $Id$
> *
> */
> -final class ConstantHTML implements org.apache.commons.bcel6.Constants
> {
> +final class ConstantHTML {
>
> private final String class_name; // name of current class
> private final String class_package; // name of package
> @@ -87,39 +88,39 @@ final class ConstantHTML implements org.
> int class_index, name_index;
> String ref;
> // The header is always the same
> - file.println("<H4> <A NAME=cp" + index + ">" + index + "</A>
> " + CONSTANT_NAMES[tag]
> + file.println("<H4> <A NAME=cp" + index + ">" + index + "</A>
> " + Constants.CONSTANT_NAMES[tag]
> + "</H4>");
> /* For every constant type get the needed parameters and
> print them appropiately
> */
> switch (tag) {
> - case CONSTANT_InterfaceMethodref:
> - case CONSTANT_Methodref:
> + case Constants.CONSTANT_InterfaceMethodref:
> + case Constants.CONSTANT_Methodref:
> // Get class_index and name_and_type_index, depending
> on type
> - if (tag == CONSTANT_Methodref) {
> + if (tag == Constants.CONSTANT_Methodref) {
> ConstantMethodref c = (ConstantMethodref)
> constant_pool.getConstant(index,
> - CONSTANT_Methodref);
> + Constants.CONSTANT_Methodref);
> class_index = c.getClassIndex();
> name_index = c.getNameAndTypeIndex();
> } else {
> ConstantInterfaceMethodref c1 =
> (ConstantInterfaceMethodref) constant_pool
> - .getConstant(index,
> CONSTANT_InterfaceMethodref);
> + .getConstant(index,
> Constants.CONSTANT_InterfaceMethodref);
> class_index = c1.getClassIndex();
> name_index = c1.getNameAndTypeIndex();
> }
> // Get method name and its class
> String method_name =
> constant_pool.constantToString(name_index,
> - CONSTANT_NameAndType);
> + Constants.CONSTANT_NameAndType);
> String html_method_name =
> Class2HTML.toHTML(method_name);
> // Partially compacted class name, i.e., / -> .
> - String method_class =
> constant_pool.constantToString(class_index, CONSTANT_Class);
> + String method_class =
> constant_pool.constantToString(class_index, Constants.CONSTANT_Class);
> String short_method_class =
> Utility.compactClassName(method_class); // I.e., remove java.lang.
> short_method_class =
> Utility.compactClassName(short_method_class, class_package
> + ".", true); // Remove class package prefix
> // Get method signature
> ConstantNameAndType c2 = (ConstantNameAndType)
> constant_pool.getConstant(
> - name_index, CONSTANT_NameAndType);
> + name_index, Constants.CONSTANT_NameAndType);
> String signature =
> constant_pool.constantToString(c2.getSignatureIndex(),
> - CONSTANT_Utf8);
> + Constants.CONSTANT_Utf8);
> // Get array of strings containing the argument types
> String[] args =
> Utility.methodSignatureArgumentTypes(signature, false);
> // Get return type string
> @@ -151,19 +152,19 @@ final class ConstantHTML implements org.
> + "\">Class index(" + class_index + ")</A>\n"
> + "<LI><A HREF=\"#cp"
> + name_index + "\">NameAndType index(" +
> name_index + ")</A></UL>");
> break;
> - case CONSTANT_Fieldref:
> + case Constants.CONSTANT_Fieldref:
> // Get class_index and name_and_type_index
> ConstantFieldref c3 = (ConstantFieldref)
> constant_pool.getConstant(index,
> - CONSTANT_Fieldref);
> + Constants.CONSTANT_Fieldref);
> class_index = c3.getClassIndex();
> name_index = c3.getNameAndTypeIndex();
> // Get method name and its class (compacted)
> - String field_class =
> constant_pool.constantToString(class_index, CONSTANT_Class);
> + String field_class =
> constant_pool.constantToString(class_index, Constants.CONSTANT_Class);
> String short_field_class =
> Utility.compactClassName(field_class); // I.e., remove java.lang.
> short_field_class =
> Utility.compactClassName(short_field_class,
> class_package + ".", true); // Remove class
> package prefix
> String field_name = constant_pool
> - .constantToString(name_index,
> CONSTANT_NameAndType);
> + .constantToString(name_index,
> Constants.CONSTANT_NameAndType);
> if (field_class.equals(class_name)) {
> ref = "<A HREF=\"" + field_class +
> "_methods.html#field" + field_name
> + "\" TARGET=Methods>" + field_name +
> "</A>";
> @@ -180,8 +181,8 @@ final class ConstantHTML implements org.
> + "<LI><A HREF=\"#cp" + name_index +
> "\">NameAndType(" + name_index
> + ")</A></UL>");
> break;
> - case CONSTANT_Class:
> - ConstantClass c4 = (ConstantClass)
> constant_pool.getConstant(index, CONSTANT_Class);
> + case Constants.CONSTANT_Class:
> + ConstantClass c4 = (ConstantClass)
> constant_pool.getConstant(index, Constants.CONSTANT_Class);
> name_index = c4.getNameIndex();
> String class_name2 =
> constant_pool.constantToString(index, tag); // / -> .
> String short_class_name =
> Utility.compactClassName(class_name2); // I.e., remove java.lang.
> @@ -194,17 +195,17 @@ final class ConstantHTML implements org.
> file.println("<P><TT>" + ref + "</TT><UL>" + "<LI><A
> HREF=\"#cp" + name_index
> + "\">Name index(" + name_index +
> ")</A></UL>\n");
> break;
> - case CONSTANT_String:
> + case Constants.CONSTANT_String:
> ConstantString c5 = (ConstantString)
> constant_pool.getConstant(index,
> - CONSTANT_String);
> + Constants.CONSTANT_String);
> name_index = c5.getStringIndex();
> String str =
> Class2HTML.toHTML(constant_pool.constantToString(index, tag));
> file.println("<P><TT>" + str + "</TT><UL>" + "<LI><A
> HREF=\"#cp" + name_index
> + "\">Name index(" + name_index +
> ")</A></UL>\n");
> break;
> - case CONSTANT_NameAndType:
> + case Constants.CONSTANT_NameAndType:
> ConstantNameAndType c6 = (ConstantNameAndType)
> constant_pool.getConstant(index,
> - CONSTANT_NameAndType);
> + Constants.CONSTANT_NameAndType);
> name_index = c6.getNameIndex();
> int signature_index = c6.getSignatureIndex();
> file.println("<P><TT>"
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/MethodHTML.java Wed Aug 12 15:29:23 2015
> @@ -21,6 +21,7 @@ import java.io.FileOutputStream;
> import java.io.IOException;
> import java.io.PrintWriter;
>
> +import org.apache.commons.bcel6.Constants;
> import org.apache.commons.bcel6.classfile.Attribute;
> import org.apache.commons.bcel6.classfile.Code;
> import org.apache.commons.bcel6.classfile.ConstantValue;
> @@ -35,7 +36,7 @@ import org.apache.commons.bcel6.classfil
> * @version $Id$
> *
> */
> -final class MethodHTML implements org.apache.commons.bcel6.Constants {
> +final class MethodHTML {
>
> private final String class_name; // name of current class
> private final PrintWriter file; // file to write to
> @@ -88,7 +89,7 @@ final class MethodHTML implements org.ap
> attribute_html.writeAttribute(attributes[i], name + "@" +
> i);
> }
> for (int i = 0; i < attributes.length; i++) {
> - if (attributes[i].getTag() == ATTR_CONSTANT_VALUE) { //
> Default value
> + if (attributes[i].getTag() ==
> Constants.ATTR_CONSTANT_VALUE) { // Default value
> String str = ((ConstantValue)
> attributes[i]).toString();
> // Reference attribute in _attributes.html
> file.print("<TD>= <A HREF=\"" + class_name +
> "_attributes.html#" + name + "@" + i
> @@ -135,7 +136,7 @@ final class MethodHTML implements org.ap
> attribute_html.writeAttribute(attributes[i], "method" +
> method_number + "@" + i,
> method_number);
> byte tag = attributes[i].getTag();
> - if (tag == ATTR_EXCEPTIONS) {
> + if (tag == Constants.ATTR_EXCEPTIONS) {
> file.print("<TR VALIGN=TOP><TD COLSPAN=2></TD><TH
> ALIGN=LEFT>throws</TH><TD>");
> int[] exceptions = ((ExceptionTable)
> attributes[i]).getExceptionIndexTable();
> for (int j = 0; j < exceptions.length; j++) {
> @@ -145,7 +146,7 @@ final class MethodHTML implements org.ap
> }
> }
> file.println("</TD></TR>");
> - } else if (tag == ATTR_CODE) {
> + } else if (tag == Constants.ATTR_CODE) {
> Attribute[] c_a = ((Code)
> attributes[i]).getAttributes();
> for (int j = 0; j < c_a.length; j++) {
> attribute_html.writeAttribute(c_a[j], "method" +
> method_number + "@" + i + "@"
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/statics/Pass2Verifier.java Wed Aug 12 15:29:23 2015
> @@ -19,6 +19,7 @@ package org.apache.commons.bcel6.verifie
>
>
> import java.util.HashMap;
> +
> import java.util.HashSet;
> import java.util.Locale;
> import java.util.Map;
> @@ -82,7 +83,7 @@ import org.apache.commons.bcel6.verifier
> * @version $Id$
> * @see #do_verify()
> */
> -public final class Pass2Verifier extends PassVerifier implements
> Constants{
> +public final class Pass2Verifier extends PassVerifier {
>
> /**
> * The LocalVariableInfo instances used by Pass3bVerifier.
> @@ -537,7 +538,7 @@ public final class Pass2Verifier extends
> }
> }
>
> - if ((obj.getAccessFlags() &
> ~(ACC_PUBLIC|ACC_PRIVATE|ACC_PROTECTED|ACC_STATIC|ACC_FINAL|ACC_VOLATILE|ACC_TRANSIENT)) > 0){
> + if ((obj.getAccessFlags() &
> ~(Constants.ACC_PUBLIC|Constants.ACC_PRIVATE|Constants.ACC_PROTECTED|Constants.ACC_STATIC|Constants.ACC_FINAL|Constants.ACC_VOLATILE|Constants.ACC_TRANSIENT)) > 0){
> addMessage("Field '"+tostring(obj)+"' has access
> flag(s) other than ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC,
> ACC_FINAL, ACC_VOLATILE, ACC_TRANSIENT set (ignored).");
> }
>
> @@ -638,7 +639,7 @@ public final class Pass2Verifier extends
> }
>
> // Nearly forgot this! Funny return values are allowed,
> but a non-empty arguments list makes a different method out of it!
> - if (name.equals(STATIC_INITIALIZER_NAME) && (ts.length !=
> 0)){
> + if (name.equals(Constants.STATIC_INITIALIZER_NAME) &&
> (ts.length != 0)){
> throw new ClassConstraintException("Method
> '"+tostring(obj)+"' has illegal name '"+name+"'. It's name resembles
> the class or interface initialization method which it isn't because of
> its arguments (==descriptor).");
> }
>
> @@ -679,7 +680,7 @@ public final class Pass2Verifier extends
> }
>
> // A specific instance initialization method...
> (vmspec2,Page 116).
> - if (name.equals(CONSTRUCTOR_NAME)) {
> + if (name.equals(Constants.CONSTRUCTOR_NAME)) {
> //..may have at most one of ACC_PRIVATE,
> ACC_PROTECTED, ACC_PUBLIC set: is checked above.
> //..may also have ACC_STRICT set, but none of the
> other flags in table 4.5 (vmspec2, page 115)
> if (obj.isStatic() ||
> @@ -692,8 +693,8 @@ public final class Pass2Verifier extends
> }
> }
> else{ // isInterface!
> - if (!name.equals(STATIC_INITIALIZER_NAME)){//vmspec2,
> p.116, 2nd paragraph
> - if (jc.getMajor() >= MAJOR_1_8) {
> + if
> (!name.equals(Constants.STATIC_INITIALIZER_NAME)){//vmspec2, p.116,
> 2nd paragraph
> + if (jc.getMajor() >= Constants.MAJOR_1_8) {
> if (!(obj.isPublic() ^ obj.isPrivate())) {
> throw new
> ClassConstraintException("Interface method '" + tostring(obj) + "'
> must have exactly one of its ACC_PUBLIC and ACC_PRIVATE modifiers
> set.");
> }
> @@ -724,7 +725,7 @@ public final class Pass2Verifier extends
> }
> }
>
> - if ((obj.getAccessFlags() &
> ~(ACC_PUBLIC|ACC_PRIVATE|ACC_PROTECTED|ACC_STATIC|ACC_FINAL|ACC_SYNCHRONIZED|ACC_NATIVE|ACC_ABSTRACT|ACC_STRICT)) > 0){
> + if ((obj.getAccessFlags() &
> ~(Constants.ACC_PUBLIC|Constants.ACC_PRIVATE|Constants.ACC_PROTECTED|Constants.ACC_STATIC|Constants.ACC_FINAL|Constants.ACC_SYNCHRONIZED|Constants.ACC_NATIVE|Constants.ACC_ABSTRACT|Constants.ACC_STRICT)) > 0){
> addMessage("Method '"+tostring(obj)+"' has access
> flag(s) other than ACC_PUBLIC, ACC_PRIVATE, ACC_PROTECTED, ACC_STATIC,
> ACC_FINAL, ACC_SYNCHRONIZED, ACC_NATIVE, ACC_ABSTRACT, ACC_STRICT set
> (ignored).");
> }
>
> @@ -827,7 +828,7 @@ public final class Pass2Verifier extends
> checkIndex(obj, innername_idx, CONST_Utf8);
> }
> int acc = ic.getInnerAccessFlags();
> - acc = acc & (~ (ACC_PUBLIC | ACC_PRIVATE |
> ACC_PROTECTED | ACC_STATIC | ACC_FINAL | ACC_INTERFACE |
> ACC_ABSTRACT));
> + acc = acc & (~ (Constants.ACC_PUBLIC |
> Constants.ACC_PRIVATE | Constants.ACC_PROTECTED | Constants.ACC_STATIC
> | Constants.ACC_FINAL | Constants.ACC_INTERFACE |
> Constants.ACC_ABSTRACT));
> if (acc != 0){
> addMessage("Unknown access flag for inner class
> '"+tostring(ic)+"' set (InnerClasses attribute
> '"+tostring(obj)+"').");
> }
> @@ -1263,7 +1264,7 @@ public final class Pass2Verifier extends
>
> try{
> Type t = Type.getReturnType(sig);
> - if ( name.equals(CONSTRUCTOR_NAME) && (t != Type.VOID)
> ){
> + if ( name.equals(Constants.CONSTRUCTOR_NAME) && (t !=
> Type.VOID) ){
> throw new ClassConstraintException("Instance
> initialization method must have VOID return type.");
> }
> }
> @@ -1295,8 +1296,8 @@ public final class Pass2Verifier extends
>
> try{
> Type t = Type.getReturnType(sig);
> - if ( name.equals(STATIC_INITIALIZER_NAME) && (t !=
> Type.VOID) ){
> - addMessage("Class or interface initialization
> method '"+STATIC_INITIALIZER_NAME+"' usually has VOID return type
> instead of '"+t+"'. Note this is really not a requirement of The Java
> Virtual Machine Specification, Second Edition.");
> + if ( name.equals(Constants.STATIC_INITIALIZER_NAME)
> && (t != Type.VOID) ){
> + addMessage("Class or interface initialization
> method '"+Constants.STATIC_INITIALIZER_NAME+"' usually has VOID return
> type instead of '"+t+"'. Note this is really not a requirement of The
> Java Virtual Machine Specification, Second Edition.");
> }
> }
> catch (ClassFormatException cfe){
> @@ -1332,10 +1333,10 @@ public final class Pass2Verifier extends
> }
>
> if (allowStaticInit){
> - return (name.equals(CONSTRUCTOR_NAME) ||
> name.equals(STATIC_INITIALIZER_NAME));
> + return (name.equals(Constants.CONSTRUCTOR_NAME) ||
> name.equals(Constants.STATIC_INITIALIZER_NAME));
> }
> else{
> - return name.equals(CONSTRUCTOR_NAME);
> + return name.equals(Constants.CONSTRUCTOR_NAME);
> }
> }
>
>
> Modified:
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java (original)
> +++
> commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/UninitializedObjectType.java Wed Aug 12 15:29:23 2015
> @@ -29,7 +29,7 @@ import org.apache.commons.bcel6.generic.
> *
> * @version $Id$
> */
> -public class UninitializedObjectType extends ReferenceType implements
> Constants{
> +public class UninitializedObjectType extends ReferenceType{
>
> private static final long serialVersionUID =
> -1228341777713117641L;
> /** The "initialized" version. */
> @@ -37,7 +37,7 @@ public class UninitializedObjectType ext
>
> /** Creates a new instance. */
> public UninitializedObjectType(ObjectType t){
> - super(T_UNKNOWN, "<UNINITIALIZED OBJECT OF TYPE
> '"+t.getClassName()+"'>");
> + super(Constants.T_UNKNOWN, "<UNINITIALIZED OBJECT OF TYPE
> '"+t.getClassName()+"'>");
> initialized = t;
> }
>
>
> Modified:
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java (original)
> +++
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess02Creator.java Wed Aug 12 15:29:23 2015
> @@ -33,13 +33,13 @@ import org.apache.commons.bcel6.generic.
> import org.apache.commons.bcel6.generic.Type;
> import org.junit.Assert;
>
> -public class TestArrayAccess02Creator extends TestCreator implements
> Constants {
> +public class TestArrayAccess02Creator extends TestCreator {
> private InstructionFactory _factory;
> private ConstantPoolGen _cp;
> private ClassGen _cg;
>
> public TestArrayAccess02Creator() {
> - _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess02",
> "java.lang.Object", "TestArrayAccess02.java", ACC_PUBLIC | ACC_SUPER,
> new String[] { });
> + _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess02",
> "java.lang.Object", "TestArrayAccess02.java", Constants.ACC_PUBLIC |
> Constants.ACC_SUPER, new String[] { });
>
> _cp = _cg.getConstantPool();
> _factory = new InstructionFactory(_cg, _cp);
> @@ -53,7 +53,7 @@ public class TestArrayAccess02Creator ex
>
> private void createMethod_0() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
> Assert.assertNotNull(ih_0); // TODO why is this not used
> @@ -68,7 +68,7 @@ public class TestArrayAccess02Creator ex
>
> private void createMethod_1() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC,
> Type.VOID, Type.NO_ARGS, new String[] { }, "test",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC |
> Constants.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { },
> "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess02",
> il, _cp);
>
> InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
> Assert.assertNotNull(ih_0); // TODO why is this not used
>
> Modified:
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java (original)
> +++
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess03Creator.java Wed Aug 12 15:29:23 2015
> @@ -33,13 +33,13 @@ import org.apache.commons.bcel6.generic.
> import org.apache.commons.bcel6.generic.Type;
> import org.junit.Assert;
>
> -public class TestArrayAccess03Creator extends TestCreator implements
> Constants {
> +public class TestArrayAccess03Creator extends TestCreator {
> private InstructionFactory _factory;
> private ConstantPoolGen _cp;
> private ClassGen _cg;
>
> public TestArrayAccess03Creator() {
> - _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess03",
> "java.lang.Object", "TestArrayAccess03.java", ACC_PUBLIC | ACC_SUPER,
> new String[] { });
> + _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess03",
> "java.lang.Object", "TestArrayAccess03.java", Constants.ACC_PUBLIC |
> Constants.ACC_SUPER, new String[] { });
>
> _cp = _cg.getConstantPool();
> _factory = new InstructionFactory(_cg, _cp);
> @@ -53,7 +53,7 @@ public class TestArrayAccess03Creator ex
>
> private void createMethod_0() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
> Assert.assertNotNull(ih_0); // TODO why is this not used
> @@ -68,7 +68,7 @@ public class TestArrayAccess03Creator ex
>
> private void createMethod_1() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC,
> Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" },
> "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03",
> il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC |
> Constants.ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new
> String[] { "arg0" }, "test",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess03", il, _cp);
>
> InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
> Assert.assertNotNull(ih_0); // TODO why is this not used
>
> Modified:
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java (original)
> +++
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestArrayAccess04Creator.java Wed Aug 12 15:29:23 2015
> @@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
> import org.apache.commons.bcel6.generic.Type;
> import org.junit.Assert;
>
> -public class TestArrayAccess04Creator extends TestCreator implements
> Constants {
> +public class TestArrayAccess04Creator extends TestCreator {
> private InstructionFactory _factory;
> private ConstantPoolGen _cp;
> private ClassGen _cg;
>
> public TestArrayAccess04Creator() {
> - _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess04",
> "java.lang.Object", "TestArrayAccess04.java", ACC_PUBLIC | ACC_SUPER,
> new String[] { });
> + _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestArrayAccess04",
> "java.lang.Object", "TestArrayAccess04.java", Constants.ACC_PUBLIC |
> Constants.ACC_SUPER, new String[] { });
>
> _cp = _cg.getConstantPool();
> _factory = new InstructionFactory(_cg, _cp);
> @@ -51,7 +51,7 @@ public class TestArrayAccess04Creator ex
>
> private void createMethod_0() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
> Assert.assertNotNull(ih_0); // TODO why is this not used
> @@ -66,7 +66,7 @@ public class TestArrayAccess04Creator ex
>
> private void createMethod_1() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC,
> Type.VOID, new Type[] { Type.OBJECT }, new String[] { "arg0" },
> "test", "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04",
> il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC |
> Constants.ACC_STATIC, Type.VOID, new Type[] { Type.OBJECT }, new
> String[] { "arg0" }, "test",
> "org.apache.commons.bcel6.verifier.tests.TestArrayAccess04", il, _cp);
>
> InstructionHandle ih_0 = il.append(new PUSH(_cp, 1));
> Assert.assertNotNull(ih_0); // TODO why is this not used
>
> Modified:
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java (original)
> +++
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn01Creator.java Wed Aug 12 15:29:23 2015
> @@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
> import org.apache.commons.bcel6.generic.Type;
> import org.junit.Assert;
>
> -public class TestReturn01Creator extends TestCreator implements
> Constants {
> +public class TestReturn01Creator extends TestCreator {
> private InstructionFactory _factory;
> private ConstantPoolGen _cp;
> private ClassGen _cg;
>
> public TestReturn01Creator() {
> - _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn01",
> "java.lang.Object", "TestReturn01.java", ACC_PUBLIC | ACC_SUPER, new
> String[] { });
> + _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn01",
> "java.lang.Object", "TestReturn01.java", Constants.ACC_PUBLIC |
> Constants.ACC_SUPER, new String[] { });
>
> _cp = _cg.getConstantPool();
> _factory = new InstructionFactory(_cg, _cp);
> @@ -51,7 +51,7 @@ public class TestReturn01Creator extends
>
> private void createMethod_0() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
> Assert.assertNotNull(ih_0); // TODO why is this not used
> @@ -66,7 +66,7 @@ public class TestReturn01Creator extends
>
> private void createMethod_1() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC,
> Type.VOID, Type.NO_ARGS, new String[] { }, "foo",
> "org.apache.commons.bcel6.verifier.tests.TestReturn01", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC |
> Constants.ACC_STATIC, Type.VOID, Type.NO_ARGS, new String[] { },
> "foo", "org.apache.commons.bcel6.verifier.tests.TestReturn01", il,
> _cp);
>
> InstructionHandle ih_0 =
> il.append(_factory.createNew("java.lang.Object"));
> Assert.assertNotNull(ih_0); // TODO why is this not used
>
> Modified:
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java?rev=1695556&r1=1695555&r2=1695556&view=diff
> ==============================================================================
> ---
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java (original)
> +++
> commons/proper/bcel/trunk/src/test/java/org/apache/commons/bcel6/verifier/tests/TestReturn03Creator.java Wed Aug 12 15:29:23 2015
> @@ -31,13 +31,13 @@ import org.apache.commons.bcel6.generic.
> import org.apache.commons.bcel6.generic.Type;
> import org.junit.Assert;
>
> -public class TestReturn03Creator extends TestCreator implements
> Constants {
> +public class TestReturn03Creator extends TestCreator {
> private InstructionFactory _factory;
> private ConstantPoolGen _cp;
> private ClassGen _cg;
>
> public TestReturn03Creator() {
> - _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn03",
> "java.lang.Object", "TestReturn03.java", ACC_PUBLIC | ACC_SUPER, new
> String[] { });
> + _cg = new
> ClassGen("org.apache.commons.bcel6.verifier.tests.TestReturn03",
> "java.lang.Object", "TestReturn03.java", Constants.ACC_PUBLIC |
> Constants.ACC_SUPER, new String[] { });
>
> _cp = _cg.getConstantPool();
> _factory = new InstructionFactory(_cg, _cp);
> @@ -51,7 +51,7 @@ public class TestReturn03Creator extends
>
> private void createMethod_0() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC, Type.VOID,
> Type.NO_ARGS, new String[] { }, "<init>",
> "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionFactory.createLoad(Type.OBJECT, 0));
> Assert.assertNotNull(ih_0); // TODO why is this not used
> @@ -66,7 +66,7 @@ public class TestReturn03Creator extends
>
> private void createMethod_1() {
> InstructionList il = new InstructionList();
> - MethodGen method = new MethodGen(ACC_PUBLIC | ACC_STATIC,
> Type.INT, Type.NO_ARGS, new String[] { }, "test3",
> "org.apache.commons.bcel6.verifier.tests.TestReturn03", il, _cp);
> + MethodGen method = new MethodGen(Constants.ACC_PUBLIC |
> Constants.ACC_STATIC, Type.INT, Type.NO_ARGS, new String[] { },
> "test3", "org.apache.commons.bcel6.verifier.tests.TestReturn03", il,
> _cp);
>
> InstructionHandle ih_0 =
> il.append(InstructionConstants.ACONST_NULL);
> Assert.assertNotNull(ih_0); // TODO why is this not used