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, stackMapFrames
private StackMapTable.Writer writer
public byte[] doit() throws BadBytecode
BadBytecode
public void sameFrame(int pos, int offsetDelta)
StackMapTable.Walker
same_frame
or
a same_frame_extended
.sameFrame
in class StackMapTable.Walker
pos
- 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.Walker
same_locals_1_stack_item_frame
or a same_locals_1_stack_item_frame_extended
.sameLocals
in class StackMapTable.Walker
pos
- 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.Walker
chop_frame
.chopFrame
in class StackMapTable.Walker
pos
- the position.k
- the public void appendFrame(int pos, int offsetDelta, int[] tags, int[] data)
StackMapTable.Walker
append_frame
.appendFrame
in class StackMapTable.Walker
pos
- 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.Walker
full_frame
.fullFrame
in class StackMapTable.Walker
pos
- the position.localTags
- locals[i].tag
localData
- locals[i].cpool_index
or locals[i].offset
stackTags
- stack[i].tag
stackData
- stack[i].cpool_index
or stack[i].offset
protected int copyData(int tag, int data)
protected int[] copyData(int[] tags, int[] data)