Author: tcurdt
Date: Sun Jan 10 20:41:44 2010
New Revision: 897702

URL: http://svn.apache.org/viewvc?rev=897702&view=rev
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=47073 by Mattias Ulbrich

fixed dump of StackMapTable


Modified:
    
jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java

Modified: 
jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
URL: 
http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java?rev=897702&r1=897701&r2=897702&view=diff
==============================================================================
--- 
jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
 (original)
+++ 
jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
 Sun Jan 10 20:41:44 2010
@@ -114,17 +114,19 @@
      */
     public final void dump( DataOutputStream file ) throws IOException {
        file.write(frame_type);
-       if (frame_type >= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME && 
frame_type <= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME_MAX) {
-               types_of_stack_items[0].dump(file);
+       if (frame_type >= Constants.SAME_FRAME && frame_type <= 
Constants.SAME_FRAME_MAX) {
+           // nothing to be done
+       } else if (frame_type >= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME && 
frame_type <= Constants.SAME_LOCALS_1_STACK_ITEM_FRAME_MAX) {
+           types_of_stack_items[0].dump(file);
         } else if (frame_type == 
Constants.SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED) {
-               file.write(byte_code_offset_delta);
+            file.writeShort(byte_code_offset_delta);
                types_of_stack_items[0].dump(file);
         } else if (frame_type >= Constants.CHOP_FRAME && frame_type <= 
Constants.CHOP_FRAME_MAX) {
-               file.write(byte_code_offset_delta);
+            file.writeShort(byte_code_offset_delta);
         } else if (frame_type == Constants.SAME_FRAME_EXTENDED) {
-               file.write(byte_code_offset_delta);
+            file.writeShort(byte_code_offset_delta);
         } else if (frame_type >= Constants.APPEND_FRAME && frame_type <= 
Constants.APPEND_FRAME_MAX) {
-               file.write(byte_code_offset_delta);
+            file.writeShort(byte_code_offset_delta);
                for (int i = 0; i < number_of_locals; i++) {
                        types_of_locals[i].dump(file);
                }               



---------------------------------------------------------------------
To unsubscribe, e-mail: bcel-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: bcel-dev-h...@jakarta.apache.org

Reply via email to