You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by tc...@apache.org on 2010/01/10 21:41:44 UTC
svn commit: r897702 -
/jakarta/bcel/trunk/src/main/java/org/apache/bcel/classfile/StackMapTableEntry.java
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-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bcel-dev-help@jakarta.apache.org