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];
     }
 
 


Reply via email to