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) intprivate StackMapTable(package private) byte[](package private) intFields inherited from class javassist.bytecode.StackMapTable.Walker
info, numOfEntries -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendFrame(int pos, int offsetDelta, int[] tags, int[] data) Invoked if the visited frame is aappend_frame.voidchopFrame(int pos, int offsetDelta, int k) Invoked if the visited frame is achop_frame.voiddoit()voidfullFrame(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) voidsameFrame(int pos, int offsetDelta) Invoked if the visited frame is asame_frameor asame_frame_extended.voidsameLocals(int pos, int offsetDelta, int stackTag, int stackData) Invoked if the visited frame is asame_locals_1_stack_item_frameor asame_locals_1_stack_item_frame_extended.(package private) voidupdate(int pos, int offsetDelta) (package private) voidupdate(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.WalkerInvoked if the visited frame is asame_frameor asame_frame_extended.- Overrides:
sameFramein classStackMapTable.Walker- Parameters:
pos- the position of this frame in theinfofield ofattribute_infostructure.
-
sameLocals
public void sameLocals(int pos, int offsetDelta, int stackTag, int stackData) Description copied from class:StackMapTable.WalkerInvoked if the visited frame is asame_locals_1_stack_item_frameor asame_locals_1_stack_item_frame_extended.- Overrides:
sameLocalsin classStackMapTable.Walker- Parameters:
pos- the position.stackTag-stack[0].tag.stackData-stack[0].cpool_indexif the tag isOBJECT, orstack[0].offsetif 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.WalkerInvoked if the visited frame is achop_frame.- Overrides:
chopFramein classStackMapTable.Walker- Parameters:
pos- the position.k- theklast locals are absent.
-
appendFrame
public void appendFrame(int pos, int offsetDelta, int[] tags, int[] data) Description copied from class:StackMapTable.WalkerInvoked if the visited frame is aappend_frame.- Overrides:
appendFramein classStackMapTable.Walker- Parameters:
pos- the position.tags-locals[i].tag.data-locals[i].cpool_indexorlocals[i].offset.
-
fullFrame
public void fullFrame(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData) Description copied from class:StackMapTable.WalkerInvoked if the visited frame isfull_frame.- Overrides:
fullFramein classStackMapTable.Walker- Parameters:
pos- the position.localTags-locals[i].taglocalData-locals[i].cpool_indexorlocals[i].offsetstackTags-stack[i].tagstackData-stack[i].cpool_indexorstack[i].offset
-
update
void update(int pos, int offsetDelta)
-