javassist.bytecode

Class StackMapTable.Walker

public static class StackMapTable.Walker extends Object

A code walker for a StackMapTable attribute.
Constructor Summary
Walker(StackMapTable smt)
Constructs a walker.
Method Summary
voidappendFrame(int pos, int offsetDelta, int[] tags, int[] data)
Invoked if the visited frame is a append_frame.
voidchopFrame(int pos, int offsetDelta, int k)
Invoked if the visited frame is a chop_frame.
voidfullFrame(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData)
Invoked if the visited frame is full_frame.
voidparse()
Visits each entry of the stack map frames.
voidsameFrame(int pos, int offsetDelta)
Invoked if the visited frame is a same_frame or a same_frame_extended.
voidsameLocals(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.
intsize()
Returns the number of the entries.

Constructor Detail

Walker

public Walker(StackMapTable smt)
Constructs a walker.

Method Detail

appendFrame

public void appendFrame(int pos, int offsetDelta, int[] tags, int[] data)
Invoked if the visited frame is a append_frame.

Parameters: pos the position. offsetDelta tags locals[i].tag. data locals[i].cpool_index or locals[i].offset.

chopFrame

public void chopFrame(int pos, int offsetDelta, int k)
Invoked if the visited frame is a chop_frame.

Parameters: pos the position. offsetDelta k the k last locals are absent.

fullFrame

public void fullFrame(int pos, int offsetDelta, int[] localTags, int[] localData, int[] stackTags, int[] stackData)
Invoked if the visited frame is full_frame.

Parameters: pos the position. offsetDelta 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

parse

public void parse()
Visits each entry of the stack map frames.

sameFrame

public void sameFrame(int pos, int offsetDelta)
Invoked if the visited frame is a same_frame or a same_frame_extended.

Parameters: pos the position of this frame in the info field of attribute_info structure. offsetDelta

sameLocals

public 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.

Parameters: 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.

size

public final int size()
Returns the number of the entries.
Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999-2006 Shigeru Chiba. All Rights Reserved.