static class StackMapTable.SimpleCopy extends StackMapTable.Walker
| Modifier and Type | Field and Description |
|---|---|
private StackMapTable.Writer |
writer |
info, numOfEntries| Constructor and Description |
|---|
SimpleCopy(byte[] data) |
| Modifier and Type | Method and Description |
|---|---|
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. |
protected int[] |
copyData(int[] tags,
int[] data) |
protected int |
copyData(int tag,
int data) |
byte[] |
doit() |
void |
fullFrame(int pos,
int offsetDelta,
int[] localTags,
int[] localData,
int[] stackTags,
int[] stackData)
Invoked if the visited frame is
full_frame. |
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. |
objectOrUninitialized, parse, size, stackMapFramesprivate StackMapTable.Writer writer
public byte[] doit()
throws BadBytecode
BadBytecodepublic void sameFrame(int pos,
int offsetDelta)
StackMapTable.Walkersame_frame or
a same_frame_extended.sameFrame in class StackMapTable.Walkerpos - the position of this frame in the info
field of attribute_info structure.public void sameLocals(int pos,
int offsetDelta,
int stackTag,
int stackData)
StackMapTable.Walkersame_locals_1_stack_item_frame
or a same_locals_1_stack_item_frame_extended.sameLocals in class StackMapTable.Walkerpos - the position.stackTag - stack[0].tag.stackData - stack[0].cpool_index
if the tag is OBJECT,
or stack[0].offset
if the tag is UNINIT.public void chopFrame(int pos,
int offsetDelta,
int k)
StackMapTable.Walkerchop_frame.chopFrame in class StackMapTable.Walkerpos - the position.k - the public void appendFrame(int pos,
int offsetDelta,
int[] tags,
int[] data)
StackMapTable.Walkerappend_frame.appendFrame in class StackMapTable.Walkerpos - the position.tags - locals[i].tag.data - locals[i].cpool_index
or public void fullFrame(int pos,
int offsetDelta,
int[] localTags,
int[] localData,
int[] stackTags,
int[] stackData)
StackMapTable.Walkerfull_frame.fullFrame in class StackMapTable.Walkerpos - the position.localTags - locals[i].taglocalData - locals[i].cpool_index
or locals[i].offsetstackTags - stack[i].tagstackData - stack[i].cpool_index
or stack[i].offsetprotected int copyData(int tag,
int data)
protected int[] copyData(int[] tags,
int[] data)