Author: ebourg
Date: Fri Mar 6 09:51:40 2015
New Revision: 1664574
URL: http://svn.apache.org/r1664574
Log:
Removed the redundant number_of_* fields
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ExceptionTable.java
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/InnerClasses.java
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapEntry.java
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ExceptionTable.java
URL:
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ExceptionTable.java?rev=1664574&r1=1664573&r2=1664574&view=diff
==============================================================================
---
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ExceptionTable.java
(original)
+++
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/ExceptionTable.java
Fri Mar 6 09:51:40 2015
@@ -13,8 +13,8 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
+
package org.apache.bcel.classfile;
import java.io.DataInput;
@@ -37,7 +37,7 @@ import org.apache.bcel.Constants;
public final class ExceptionTable extends Attribute {
private static final long serialVersionUID = 2045358830660883220L;
- private int number_of_exceptions; // Table of indices into
+
private int[] exception_index_table; // constant pool
@@ -71,10 +71,9 @@ public final class ExceptionTable extend
* @param constant_pool Array of constants
* @throws IOException
*/
- ExceptionTable(int name_index, int length, DataInput input, ConstantPool
constant_pool)
- throws IOException {
+ ExceptionTable(int name_index, int length, DataInput input, ConstantPool
constant_pool) throws IOException {
this(name_index, length, (int[]) null, constant_pool);
- number_of_exceptions = input.readUnsignedShort();
+ int number_of_exceptions = input.readUnsignedShort();
exception_index_table = new int[number_of_exceptions];
for (int i = 0; i < number_of_exceptions; i++) {
exception_index_table[i] = input.readUnsignedShort();
@@ -104,9 +103,9 @@ public final class ExceptionTable extend
@Override
public final void dump( DataOutputStream file ) throws IOException {
super.dump(file);
- file.writeShort(number_of_exceptions);
- for (int i = 0; i < number_of_exceptions; i++) {
- file.writeShort(exception_index_table[i]);
+ file.writeShort(exception_index_table.length);
+ for (int index : exception_index_table) {
+ file.writeShort(index);
}
}
@@ -123,7 +122,7 @@ public final class ExceptionTable extend
* @return Length of exception table.
*/
public final int getNumberOfExceptions() {
- return number_of_exceptions;
+ return exception_index_table == null ? 0 :
exception_index_table.length;
}
@@ -131,9 +130,9 @@ public final class ExceptionTable extend
* @return class names of thrown exceptions
*/
public final String[] getExceptionNames() {
- String[] names = new String[number_of_exceptions];
- for (int i = 0; i < number_of_exceptions; i++) {
- names[i] =
constant_pool.getConstantString(exception_index_table[i],
+ String[] names = new String[exception_index_table.length];
+ for (int i = 0; i < exception_index_table.length; i++) {
+ names[i] =
constant_pool.getConstantString(exception_index_table[i],
Constants.CONSTANT_Class).replace('/', '.');
}
return names;
@@ -145,8 +144,7 @@ public final class ExceptionTable extend
* Also redefines number_of_exceptions according to table length.
*/
public final void setExceptionIndexTable( int[] exception_index_table ) {
- this.exception_index_table = exception_index_table;
- number_of_exceptions = (exception_index_table == null) ? 0 :
exception_index_table.length;
+ this.exception_index_table = exception_index_table != null ?
exception_index_table : new int[0];
}
@@ -157,11 +155,10 @@ public final class ExceptionTable extend
public final String toString() {
StringBuilder buf = new StringBuilder();
String str;
- for (int i = 0; i < number_of_exceptions; i++) {
- str = constant_pool.getConstantString(exception_index_table[i],
- Constants.CONSTANT_Class);
+ for (int i = 0; i < exception_index_table.length; i++) {
+ str = constant_pool.getConstantString(exception_index_table[i],
Constants.CONSTANT_Class);
buf.append(Utility.compactClassName(str, false));
- if (i < number_of_exceptions - 1) {
+ if (i < exception_index_table.length - 1) {
buf.append(", ");
}
}
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/InnerClasses.java
URL:
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/InnerClasses.java?rev=1664574&r1=1664573&r2=1664574&view=diff
==============================================================================
---
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/InnerClasses.java
(original)
+++
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/InnerClasses.java
Fri Mar 6 09:51:40 2015
@@ -36,7 +36,6 @@ public final class InnerClasses extends
private static final long serialVersionUID = 4570147726361753700L;
private InnerClass[] inner_classes;
- private int number_of_classes;
/**
@@ -73,7 +72,7 @@ public final class InnerClasses extends
InnerClasses(int name_index, int length, DataInput input, ConstantPool
constant_pool)
throws IOException {
this(name_index, length, (InnerClass[]) null, constant_pool);
- number_of_classes = input.readUnsignedShort();
+ int number_of_classes = input.readUnsignedShort();
inner_classes = new InnerClass[number_of_classes];
for (int i = 0; i < number_of_classes; i++) {
inner_classes[i] = new InnerClass(input);
@@ -103,9 +102,9 @@ public final class InnerClasses extends
@Override
public final void dump( DataOutputStream file ) throws IOException {
super.dump(file);
- file.writeShort(number_of_classes);
- for (int i = 0; i < number_of_classes; i++) {
- inner_classes[i].dump(file);
+ file.writeShort(inner_classes.length);
+ for (InnerClass inner_class : inner_classes) {
+ inner_class.dump(file);
}
}
@@ -122,8 +121,7 @@ public final class InnerClasses extends
* @param inner_classes the array of inner classes
*/
public final void setInnerClasses( InnerClass[] inner_classes ) {
- this.inner_classes = inner_classes;
- number_of_classes = (inner_classes == null) ? 0 : inner_classes.length;
+ this.inner_classes = inner_classes != null ? inner_classes : new
InnerClass[0];
}
@@ -133,8 +131,8 @@ public final class InnerClasses extends
@Override
public final String toString() {
StringBuilder buf = new StringBuilder();
- for (int i = 0; i < number_of_classes; i++) {
- buf.append(inner_classes[i].toString(constant_pool)).append("\n");
+ for (InnerClass inner_class : inner_classes) {
+ buf.append(inner_class.toString(constant_pool)).append("\n");
}
return buf.toString();
}
@@ -146,8 +144,8 @@ public final class InnerClasses extends
@Override
public Attribute copy( ConstantPool _constant_pool ) {
InnerClasses c = (InnerClasses) clone();
- c.inner_classes = new InnerClass[number_of_classes];
- for (int i = 0; i < number_of_classes; i++) {
+ c.inner_classes = new InnerClass[inner_classes.length];
+ for (int i = 0; i < inner_classes.length; i++) {
c.inner_classes[i] = inner_classes[i].copy();
}
c.constant_pool = _constant_pool;
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapEntry.java
URL:
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapEntry.java?rev=1664574&r1=1664573&r2=1664574&view=diff
==============================================================================
---
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapEntry.java
(original)
+++
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapEntry.java
Fri Mar 6 09:51:40 2015
@@ -13,8 +13,8 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
+
package org.apache.bcel.classfile;
import java.io.DataInput;
@@ -37,9 +37,7 @@ public final class StackMapEntry impleme
private static final long serialVersionUID = 1L;
private int byte_code_offset;
- private int number_of_locals;
private StackMapType[] types_of_locals;
- private int number_of_stack_items;
private StackMapType[] types_of_stack_items;
private ConstantPool constant_pool;
@@ -51,12 +49,16 @@ public final class StackMapEntry impleme
* @throws IOException
*/
StackMapEntry(DataInput input, ConstantPool constant_pool) throws
IOException {
- this(input.readShort(), input.readShort(), null, -1, null,
constant_pool);
+ this.constant_pool = constant_pool;
+ this.byte_code_offset = input.readShort();
+
+ int number_of_locals = input.readShort();
types_of_locals = new StackMapType[number_of_locals];
for (int i = 0; i < number_of_locals; i++) {
types_of_locals[i] = new StackMapType(input, constant_pool);
}
- number_of_stack_items = input.readShort();
+
+ int number_of_stack_items = input.readShort();
types_of_stack_items = new StackMapType[number_of_stack_items];
for (int i = 0; i < number_of_stack_items; i++) {
types_of_stack_items[i] = new StackMapType(input, constant_pool);
@@ -68,10 +70,8 @@ public final class StackMapEntry impleme
StackMapType[] types_of_locals, int number_of_stack_items,
StackMapType[] types_of_stack_items, ConstantPool constant_pool) {
this.byte_code_offset = byte_code_offset;
- this.number_of_locals = number_of_locals;
- this.types_of_locals = types_of_locals;
- this.number_of_stack_items = number_of_stack_items;
- this.types_of_stack_items = types_of_stack_items;
+ setTypesOfLocals(types_of_locals);
+ setTypesOfStackItems(types_of_stack_items);
this.constant_pool = constant_pool;
}
@@ -84,13 +84,13 @@ public final class StackMapEntry impleme
*/
public final void dump( DataOutputStream file ) throws IOException {
file.writeShort(byte_code_offset);
- file.writeShort(number_of_locals);
- for (int i = 0; i < number_of_locals; i++) {
- types_of_locals[i].dump(file);
- }
- file.writeShort(number_of_stack_items);
- for (int i = 0; i < number_of_stack_items; i++) {
- types_of_stack_items[i].dump(file);
+ file.writeShort(types_of_locals.length);
+ for (StackMapType type : types_of_locals) {
+ type.dump(file);
+ }
+ file.writeShort(types_of_stack_items.length);
+ for (StackMapType type : types_of_stack_items) {
+ type.dump(file);
}
}
@@ -102,21 +102,21 @@ public final class StackMapEntry impleme
public final String toString() {
StringBuilder buf = new StringBuilder(64);
buf.append("(offset=").append(byte_code_offset);
- if (number_of_locals > 0) {
+ if (types_of_locals.length > 0) {
buf.append(", locals={");
- for (int i = 0; i < number_of_locals; i++) {
+ for (int i = 0; i < types_of_locals.length; i++) {
buf.append(types_of_locals[i]);
- if (i < number_of_locals - 1) {
+ if (i < types_of_locals.length - 1) {
buf.append(", ");
}
}
buf.append("}");
}
- if (number_of_stack_items > 0) {
+ if (types_of_stack_items.length > 0) {
buf.append(", stack items={");
- for (int i = 0; i < number_of_stack_items; i++) {
+ for (int i = 0; i < types_of_stack_items.length; i++) {
buf.append(types_of_stack_items[i]);
- if (i < number_of_stack_items - 1) {
+ if (i < types_of_stack_items.length - 1) {
buf.append(", ");
}
}
@@ -137,18 +137,18 @@ public final class StackMapEntry impleme
}
+ @java.lang.Deprecated
public void setNumberOfLocals( int n ) {
- number_of_locals = n;
}
public int getNumberOfLocals() {
- return number_of_locals;
+ return types_of_locals == null ? 0 : types_of_locals.length;
}
- public void setTypesOfLocals( StackMapType[] t ) {
- types_of_locals = t;
+ public void setTypesOfLocals( StackMapType[] types ) {
+ types_of_locals = types != null ? types : new StackMapType[0];
}
@@ -157,18 +157,18 @@ public final class StackMapEntry impleme
}
+ @java.lang.Deprecated
public void setNumberOfStackItems( int n ) {
- number_of_stack_items = n;
}
public int getNumberOfStackItems() {
- return number_of_stack_items;
+ return types_of_stack_items == null ? 0 : types_of_stack_items.length;
}
- public void setTypesOfStackItems( StackMapType[] t ) {
- types_of_stack_items = t;
+ public void setTypesOfStackItems( StackMapType[] types ) {
+ types_of_stack_items = types != null ? types : new StackMapType[0];
}
Modified:
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
URL:
http://svn.apache.org/viewvc/commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java?rev=1664574&r1=1664573&r2=1664574&view=diff
==============================================================================
---
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
(original)
+++
commons/proper/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
Fri Mar 6 09:51:40 2015
@@ -13,8 +13,8 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
+
package org.apache.bcel.classfile;
import java.io.DataInput;
@@ -41,31 +41,28 @@ public final class StackMapTableEntry im
private final int frame_type;
private int byte_code_offset_delta;
- private int number_of_locals;
private StackMapType[] types_of_locals;
- private int number_of_stack_items;
private StackMapType[] types_of_stack_items;
private ConstantPool constant_pool;
/**
* Construct object from file stream.
+ * *
* @param file Input stream
* @throws IOException
*/
StackMapTableEntry(DataInput file, ConstantPool constant_pool) throws
IOException {
- this(file.readByte() & 0xFF, -1, -1, null, -1, null, constant_pool);
+ this(file.readByte() & 0xFF, -1, null, null, constant_pool);
if (frame_type >= Constants.SAME_FRAME && frame_type <=
Constants.SAME_FRAME_MAX) {
byte_code_offset_delta = frame_type - Constants.SAME_FRAME;
} else if (frame_type >= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME &&
frame_type <= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME_MAX) {
byte_code_offset_delta = frame_type -
Constants.SAME_LOCALS_1_STACK_ITEM_FRAME;
- number_of_stack_items = 1;
types_of_stack_items = new StackMapType[1];
types_of_stack_items[0] = new StackMapType(file, constant_pool);
} else if (frame_type ==
Constants.SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED) {
byte_code_offset_delta = file.readShort();
- number_of_stack_items = 1;
types_of_stack_items = new StackMapType[1];
types_of_stack_items[0] = new StackMapType(file, constant_pool);
} else if (frame_type >= Constants.CHOP_FRAME && frame_type <=
Constants.CHOP_FRAME_MAX) {
@@ -74,19 +71,19 @@ public final class StackMapTableEntry im
byte_code_offset_delta = file.readShort();
} else if (frame_type >= Constants.APPEND_FRAME && frame_type <=
Constants.APPEND_FRAME_MAX) {
byte_code_offset_delta = file.readShort();
- number_of_locals = frame_type - 251;
+ int number_of_locals = frame_type - 251;
types_of_locals = new StackMapType[number_of_locals];
for (int i = 0; i < number_of_locals; i++) {
types_of_locals[i] = new StackMapType(file, constant_pool);
}
} else if (frame_type == Constants.FULL_FRAME) {
byte_code_offset_delta = file.readShort();
- number_of_locals = file.readShort();
+ int number_of_locals = file.readShort();
types_of_locals = new StackMapType[number_of_locals];
for (int i = 0; i < number_of_locals; i++) {
types_of_locals[i] = new StackMapType(file, constant_pool);
}
- number_of_stack_items = file.readShort();
+ int number_of_stack_items = file.readShort();
types_of_stack_items = new StackMapType[number_of_stack_items];
for (int i = 0; i < number_of_stack_items; i++) {
types_of_stack_items[i] = new StackMapType(file,
constant_pool);
@@ -98,15 +95,13 @@ public final class StackMapTableEntry im
}
- public StackMapTableEntry(int tag, int byte_code_offset_delta, int
number_of_locals,
- StackMapType[] types_of_locals, int number_of_stack_items,
+ public StackMapTableEntry(int tag, int byte_code_offset_delta,
+ StackMapType[] types_of_locals,
StackMapType[] types_of_stack_items, ConstantPool constant_pool) {
this.frame_type = tag;
this.byte_code_offset_delta = byte_code_offset_delta;
- this.number_of_locals = number_of_locals;
- this.types_of_locals = types_of_locals;
- this.number_of_stack_items = number_of_stack_items;
- this.types_of_stack_items = types_of_stack_items;
+ setTypesOfLocals(types_of_locals);
+ setTypesOfStackItems(types_of_stack_items);
this.constant_pool = constant_pool;
}
@@ -132,18 +127,18 @@ public final class StackMapTableEntry im
file.writeShort(byte_code_offset_delta);
} else if (frame_type >= Constants.APPEND_FRAME && frame_type <=
Constants.APPEND_FRAME_MAX) {
file.writeShort(byte_code_offset_delta);
- for (int i = 0; i < number_of_locals; i++) {
- types_of_locals[i].dump(file);
+ for (StackMapType type : types_of_locals) {
+ type.dump(file);
}
} else if (frame_type == Constants.FULL_FRAME) {
file.writeShort(byte_code_offset_delta);
- file.writeShort(number_of_locals);
- for (int i = 0; i < number_of_locals; i++) {
- types_of_locals[i].dump(file);
- }
- file.writeShort(number_of_stack_items);
- for (int i = 0; i < number_of_stack_items; i++) {
- types_of_stack_items[i].dump(file);
+ file.writeShort(types_of_locals.length);
+ for (StackMapType type : types_of_locals) {
+ type.dump(file);
+ }
+ file.writeShort(types_of_stack_items.length);
+ for (StackMapType type : types_of_stack_items) {
+ type.dump(file);
}
} else {
/* Can't happen */
@@ -177,21 +172,21 @@ public final class StackMapTableEntry im
buf.append("UNKNOWN");
}
buf.append(", offset delta=").append(byte_code_offset_delta);
- if (number_of_locals > 0) {
+ if (types_of_locals.length > 0) {
buf.append(", locals={");
- for (int i = 0; i < number_of_locals; i++) {
+ for (int i = 0; i < types_of_locals.length; i++) {
buf.append(types_of_locals[i]);
- if (i < number_of_locals - 1) {
+ if (i < types_of_locals.length - 1) {
buf.append(", ");
}
}
buf.append("}");
}
- if (number_of_stack_items > 0) {
+ if (types_of_stack_items.length > 0) {
buf.append(", stack items={");
- for (int i = 0; i < number_of_stack_items; i++) {
+ for (int i = 0; i < types_of_stack_items.length; i++) {
buf.append(types_of_stack_items[i]);
- if (i < number_of_stack_items - 1) {
+ if (i < types_of_stack_items.length - 1) {
buf.append(", ");
}
}
@@ -211,19 +206,14 @@ public final class StackMapTableEntry im
return byte_code_offset_delta;
}
-
- public void setNumberOfLocals( int n ) {
- number_of_locals = n;
- }
-
-
+
public int getNumberOfLocals() {
- return number_of_locals;
+ return types_of_locals.length;
}
- public void setTypesOfLocals( StackMapType[] t ) {
- types_of_locals = t;
+ public void setTypesOfLocals( StackMapType[] types ) {
+ types_of_locals = types != null ? types : new StackMapType[0];
}
@@ -232,18 +222,13 @@ public final class StackMapTableEntry im
}
- public void setNumberOfStackItems( int n ) {
- number_of_stack_items = n;
- }
-
-
public int getNumberOfStackItems() {
- return number_of_stack_items;
+ return types_of_stack_items.length;
}
- public void setTypesOfStackItems( StackMapType[] t ) {
- types_of_stack_items = t;
+ public void setTypesOfStackItems( StackMapType[] types ) {
+ types_of_stack_items = types != null ? types : new StackMapType[0];
}