You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/08/25 17:13:12 UTC
svn commit: r1697695 - in
/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6: generic/
util/ verifier/structurals/
Author: sebb
Date: Tue Aug 25 15:13:11 2015
New Revision: 1697695
URL: http://svn.apache.org/r1697695
Log:
Add deprecated markers to non-private mutable fields so usage is detected
Add getters/setters as necessary to give access
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/BranchInstruction.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ConstantPoolGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ElementValueGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionHandle.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableInstruction.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Select.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Type.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ClassQueue.java
commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/Frame.java
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/BranchInstruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/BranchInstruction.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/BranchInstruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/BranchInstruction.java Tue Aug 25 15:13:11 2015
@@ -32,8 +32,22 @@ import org.apache.commons.bcel6.util.Byt
*/
public abstract class BranchInstruction extends Instruction implements InstructionTargeter {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int index; // Branch target relative to this instruction
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected InstructionHandle target; // Target object in instruction list
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int position; // Byte code offset
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ConstantPoolGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ConstantPoolGen.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ConstantPoolGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ConstantPoolGen.java Tue Aug 25 15:13:11 2015
@@ -53,9 +53,25 @@ import org.apache.commons.bcel6.classfil
public class ConstantPoolGen {
private static final int DEFAULT_BUFFER_SIZE = 256;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int size;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected Constant[] constants;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getSize()
+ */
+ @Deprecated
protected int index = 1; // First entry (0) used by JVM
+
private static final String METHODREF_DELIM = ":";
private static final String IMETHODREF_DELIM = "#";
private static final String FIELDREF_DELIM = "&";
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ElementValueGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ElementValueGen.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ElementValueGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/ElementValueGen.java Tue Aug 25 15:13:11 2015
@@ -34,8 +34,16 @@ import org.apache.commons.bcel6.classfil
*/
public abstract class ElementValueGen
{
+ /**
+ * @deprecated will be made private and final; do not access directly, use getter
+ */
+ @Deprecated
protected int type;
+ /**
+ * @deprecated will be made private and final; do not access directly, use getter
+ */
+ @Deprecated
protected ConstantPoolGen cpGen;
protected ElementValueGen(int type, ConstantPoolGen cpGen)
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/FieldGenOrMethodGen.java Tue Aug 25 15:13:11 2015
@@ -32,10 +32,26 @@ import org.apache.commons.bcel6.classfil
*/
public abstract class FieldGenOrMethodGen extends AccessFlags implements NamedAndTyped, Cloneable {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected String name;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected Type type;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected ConstantPoolGen cp;
+
private final List<Attribute> attribute_vec = new ArrayList<>();
+
// @since 6.0
private final List<AnnotationEntryGen> annotation_vec= new ArrayList<>();
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Instruction.java Tue Aug 25 15:13:11 2015
@@ -31,8 +31,18 @@ import org.apache.commons.bcel6.util.Byt
*/
public abstract class Instruction implements Cloneable {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected short length = 1; // Length of instruction in bytes
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected short opcode = -1; // Opcode number
+
private static InstructionComparator cmp = InstructionComparator.DEFAULT;
@@ -505,11 +515,20 @@ public abstract class Instruction implem
/**
* Needed in readInstruction and subclasses in this package
*/
- void setOpcode( short opcode ) {
+ final void setOpcode( short opcode ) {
this.opcode = opcode;
}
+ /**
+ * Needed in readInstruction and subclasses in this package
+ * @since 6.0
+ */
+ final void setLength( int length ) {
+ this.length = (short) length; // TODO check range?
+ }
+
+
/** Some instructions may be reused, so don't do anything by default.
*/
void dispose() {
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionFactory.java Tue Aug 25 15:13:11 2015
@@ -39,7 +39,16 @@ public class InstructionFactory {
"C", "F", "D", "B", "S", "I", "L"
};
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected ClassGen cg;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected ConstantPoolGen cp;
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionHandle.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionHandle.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionHandle.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/InstructionHandle.java Tue Aug 25 15:13:11 2015
@@ -44,10 +44,17 @@ import org.apache.commons.bcel6.classfil
*/
public class InstructionHandle {
+ // TODO make private
InstructionHandle next;
- InstructionHandle prev; // Will be set from the outside
+ InstructionHandle prev;
Instruction instruction;
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int i_position = -1; // byte code offset of instruction
+
private Set<InstructionTargeter> targeters;
private Map<Object, Object> attributes;
@@ -289,4 +296,24 @@ public class InstructionHandle {
public void accept( Visitor v ) {
instruction.accept(v);
}
+
+
+ /**
+ * @param next the next to set
+ * @ since 6.0
+ */
+ final InstructionHandle setNext(InstructionHandle next) {
+ this.next = next;
+ return next;
+ }
+
+
+ /**
+ * @param prev the prev to set
+ * @ since 6.0
+ */
+ final InstructionHandle setPrev(InstructionHandle prev) {
+ this.prev = prev;
+ return prev;
+ }
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableInstruction.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableInstruction.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableInstruction.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/LocalVariableInstruction.java Tue Aug 25 15:13:11 2015
@@ -31,7 +31,12 @@ import org.apache.commons.bcel6.util.Byt
public abstract class LocalVariableInstruction extends Instruction implements TypedInstruction,
IndexedInstruction {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int n = -1; // index of referenced variable
+
private short c_tag = -1; // compact version, such as ILOAD_0
private short canon_tag = -1; // canonical tag such as ILOAD
@@ -139,7 +144,7 @@ public abstract class LocalVariableInstr
/**
- * @return local variable index referred by this instruction.
+ * @return local variable index (n) referred by this instruction.
*/
@Override
public final int getIndex() {
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Select.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Select.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Select.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Select.java Tue Aug 25 15:13:11 2015
@@ -35,11 +35,40 @@ import org.apache.commons.bcel6.util.Byt
public abstract class Select extends BranchInstruction implements VariableLengthInstruction,
StackConsumer /* @since 6.0 */, StackProducer {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int[] match; // matches, i.e., case 1: ... TODO could be package-protected?
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int[] indices; // target offsets TODO could be package-protected?
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected InstructionHandle[] targets; // target objects in instruction list TODO could be package-protected?
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int fixed_length; // fixed length defined by subclasses TODO could be package-protected?
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int match_length; // number of cases TODO could be package-protected?
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected int padding = 0; // number of pad bytes for alignment TODO could be package-protected?
@@ -243,4 +272,119 @@ public abstract class Select extends Bra
public InstructionHandle[] getTargets() {
return targets;
}
+
+ /**
+ * @return match entry
+ * @since 6.0
+ */
+ final int getMatch(int index) {
+ return match[index];
+ }
+
+
+ /**
+ * @return index entry from indices
+ * @since 6.0
+ */
+ final int getIndices(int index) {
+ return indices[index];
+ }
+
+ /**
+ * @return target entry
+ * @since 6.0
+ */
+ final InstructionHandle getTarget(int index) {
+ return targets[index];
+ }
+
+
+ /**
+ * @return the fixed_length
+ * @since 6.0
+ */
+ final int getFixed_length() {
+ return fixed_length;
+ }
+
+
+ /**
+ * @param fixed_length the fixed_length to set
+ * @since 6.0
+ */
+ final void setFixed_length(int fixed_length) {
+ this.fixed_length = fixed_length;
+ }
+
+
+ /**
+ * @return the match_length
+ * @since 6.0
+ */
+ final int getMatch_length() {
+ return match_length;
+ }
+
+
+ /**
+ * @param match_length the match_length to set
+ * @since 6.0
+ */
+ final int setMatch_length(int match_length) {
+ this.match_length = match_length;
+ return match_length;
+ }
+
+ /**
+ *
+ * @param index
+ * @param value
+ * @since 6.0
+ */
+ final void setMatch(int index, int value) {
+ match[index] = value;
+ }
+
+ /**
+ *
+ * @param array
+ * @since 6.0
+ */
+ final void setIndices(int[] array) {
+ indices = array;
+ }
+
+ /**
+ *
+ * @param array
+ * @since 6.0
+ */
+ final void setMatches(int[] array) {
+ match = array;
+ }
+
+ /**
+ *
+ * @param array
+ * @since 6.0
+ */
+ final void setTargets(InstructionHandle[] array) {
+ targets = array;
+ }
+
+ /**
+ *
+ * @return
+ * @since 6.0
+ */
+ final int getPadding() {
+ return padding;
+ }
+
+
+ /** @since 6.0 */
+ final int setIndices(int i, int value) {
+ indices[i] = value;
+ return value; // Allow use in nested calls
+ }
}
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Type.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Type.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Type.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/generic/Type.java Tue Aug 25 15:13:11 2015
@@ -32,7 +32,16 @@ import org.apache.commons.bcel6.classfil
*/
public abstract class Type {
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected byte type; // TODO should be final (and private)
+
+ /**
+ * @deprecated will be made private; do not access directly, use getter/setter
+ */
+ @Deprecated
protected String signature; // signature for the type TODO should be private
/** Predefined constants
*/
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ClassQueue.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ClassQueue.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ClassQueue.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/util/ClassQueue.java Tue Aug 25 15:13:11 2015
@@ -29,7 +29,11 @@ import org.apache.commons.bcel6.classfil
*/
public class ClassQueue {
- protected LinkedList<JavaClass> vec = new LinkedList<>();
+ /**
+ * @deprecated will be made private; do not access
+ */
+ @Deprecated
+ protected LinkedList<JavaClass> vec = new LinkedList<>(); // TODO not used externally
public void enqueue( JavaClass clazz ) {
Modified: commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/Frame.java
URL: http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/Frame.java?rev=1697695&r1=1697694&r2=1697695&view=diff
==============================================================================
--- commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/Frame.java (original)
+++ commons/proper/bcel/trunk/src/main/java/org/apache/commons/bcel6/verifier/structurals/Frame.java Tue Aug 25 15:13:11 2015
@@ -33,9 +33,10 @@ public class Frame{
* which instance it is that is not initialized yet. It will be
* initialized invoking another constructor later.
* NULL means the instance already *is* initialized.
- * N.B. Use the getter/setter to access the field as it may
+ * @deprecated Use the getter/setter to access the field as it may
* be made private in a later release
*/
+ @Deprecated
protected static UninitializedObjectType _this;
/**