|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjavassist.bytecode.StackMapTable.Walker
public static class StackMapTable.Walker
A code walker for a StackMapTable attribute.
| Constructor Summary | |
|---|---|
StackMapTable.Walker(byte[] data)
Constructs a walker. |
|
StackMapTable.Walker(StackMapTable smt)
Constructs a walker. |
|
| Method Summary | |
|---|---|
void |
appendFrame(int pos,
int offsetDelta,
int[] tags,
int[] data)
Invoked if the visited frame is a append_frame. |
void |
chopFrame(int pos,
int offsetDelta,
int k)
Invoked if the visited frame is a chop_frame. |
void |
fullFrame(int pos,
int offsetDelta,
int[] localTags,
int[] localData,
int[] stackTags,
int[] stackData)
Invoked if the visited frame is full_frame. |
void |
parse()
Visits each entry of the stack map frames. |
void |
sameFrame(int pos,
int offsetDelta)
Invoked if the visited frame is a same_frame or
a same_frame_extended. |
void |
sameLocals(int pos,
int offsetDelta,
int stackTag,
int stackData)
Invoked if the visited frame is a same_locals_1_stack_item_frame
or a same_locals_1_stack_item_frame_extended. |
int |
size()
Returns the number of the entries. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public StackMapTable.Walker(StackMapTable smt)
smt - the StackMapTable that this walker
walks around.public StackMapTable.Walker(byte[] data)
data - the info field of the
attribute_info structure.
It can be obtained by get()
in the AttributeInfo class.| Method Detail |
|---|
public final int size()
public void parse()
throws BadBytecode
BadBytecode
public void sameFrame(int pos,
int offsetDelta)
throws BadBytecode
same_frame or
a same_frame_extended.
pos - the position of this frame in the info
field of attribute_info structure.offsetDelta -
BadBytecode
public void sameLocals(int pos,
int offsetDelta,
int stackTag,
int stackData)
throws BadBytecode
same_locals_1_stack_item_frame
or a same_locals_1_stack_item_frame_extended.
pos - the position.offsetDelta - stackTag - stack[0].tag.stackData - stack[0].cpool_index
if the tag is OBJECT,
or stack[0].offset
if the tag is UNINIT.
BadBytecode
public void chopFrame(int pos,
int offsetDelta,
int k)
throws BadBytecode
chop_frame.
pos - the position.offsetDelta - k - the BadBytecode
public void appendFrame(int pos,
int offsetDelta,
int[] tags,
int[] data)
throws BadBytecode
append_frame.
pos - the position.offsetDelta - tags - locals[i].tag.data - locals[i].cpool_index
or BadBytecode
public void fullFrame(int pos,
int offsetDelta,
int[] localTags,
int[] localData,
int[] stackTags,
int[] stackData)
throws BadBytecode
full_frame.
pos - the position.offsetDelta - localTags - locals[i].taglocalData - locals[i].cpool_index
or locals[i].offsetstackTags - stack[i].tagstackData - stack[i].cpool_index
or stack[i].offset
BadBytecode
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||