Package javassist.bytecode
Class StackMapTable.Shifter
java.lang.Object
javassist.bytecode.StackMapTable.Walker
javassist.bytecode.StackMapTable.Shifter
- Direct Known Subclasses:
StackMapTable.SwitchShifter
- Enclosing class:
StackMapTable
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean
(package private) int
(package private) int
private StackMapTable
(package private) byte[]
(package private) int
Fields inherited from class javassist.bytecode.StackMapTable.Walker
info, numOfEntries
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendFrame
(int pos, int offsetDelta, int[] tags, int[] data) Invoked if the visited frame is aappend_frame
.void
chopFrame
(int pos, int offsetDelta, int k) Invoked if the visited frame is achop_frame
.void
doit()
void
fullFrame
(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData) Invoked if the visited frame isfull_frame
.(package private) static byte[]
insertGap
(byte[] info, int where, int gap) void
sameFrame
(int pos, int offsetDelta) Invoked if the visited frame is asame_frame
or asame_frame_extended
.void
sameLocals
(int pos, int offsetDelta, int stackTag, int stackData) Invoked if the visited frame is asame_locals_1_stack_item_frame
or asame_locals_1_stack_item_frame_extended
.(package private) void
update
(int pos, int offsetDelta) (package private) void
update
(int pos, int offsetDelta, int base, int entry) Methods inherited from class javassist.bytecode.StackMapTable.Walker
objectOrUninitialized, parse, size, stackMapFrames
-
Field Details
-
stackMap
-
where
int where -
gap
int gap -
position
int position -
updatedInfo
byte[] updatedInfo -
exclusive
boolean exclusive
-
-
Constructor Details
-
Shifter
-
-
Method Details
-
doit
- Throws:
BadBytecode
-
sameFrame
public void sameFrame(int pos, int offsetDelta) Description copied from class:StackMapTable.Walker
Invoked if the visited frame is asame_frame
or asame_frame_extended
.- Overrides:
sameFrame
in classStackMapTable.Walker
- Parameters:
pos
- the position of this frame in theinfo
field ofattribute_info
structure.offsetDelta
-
-
sameLocals
public void sameLocals(int pos, int offsetDelta, int stackTag, int stackData) Description copied from class:StackMapTable.Walker
Invoked if the visited frame is asame_locals_1_stack_item_frame
or asame_locals_1_stack_item_frame_extended
.- Overrides:
sameLocals
in classStackMapTable.Walker
- Parameters:
pos
- the position.offsetDelta
-stackTag
-stack[0].tag
.stackData
-stack[0].cpool_index
if the tag isOBJECT
, orstack[0].offset
if the tag isUNINIT
.
-
update
void update(int pos, int offsetDelta, int base, int entry) -
insertGap
static byte[] insertGap(byte[] info, int where, int gap) -
chopFrame
public void chopFrame(int pos, int offsetDelta, int k) Description copied from class:StackMapTable.Walker
Invoked if the visited frame is achop_frame
.- Overrides:
chopFrame
in classStackMapTable.Walker
- Parameters:
pos
- the position.offsetDelta
-k
- thek
last locals are absent.
-
appendFrame
public void appendFrame(int pos, int offsetDelta, int[] tags, int[] data) Description copied from class:StackMapTable.Walker
Invoked if the visited frame is aappend_frame
.- Overrides:
appendFrame
in classStackMapTable.Walker
- Parameters:
pos
- the position.offsetDelta
-tags
-locals[i].tag
.data
-locals[i].cpool_index
orlocals[i].offset
.
-
fullFrame
public void fullFrame(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData) Description copied from class:StackMapTable.Walker
Invoked if the visited frame isfull_frame
.- Overrides:
fullFrame
in classStackMapTable.Walker
- Parameters:
pos
- the position.offsetDelta
-localTags
-locals[i].tag
localData
-locals[i].cpool_index
orlocals[i].offset
stackTags
-stack[i].tag
stackData
-stack[i].cpool_index
orstack[i].offset
-
update
void update(int pos, int offsetDelta)
-