Package javassist.bytecode
Class StackMapTable
- java.lang.Object
 - 
- javassist.bytecode.AttributeInfo
 - 
- javassist.bytecode.StackMapTable
 
 
 
- 
public class StackMapTable extends AttributeInfo
stack_mapattribute.This is an entry in the attributes table of a Code attribute. It was introduced by J2SE 6 for the verification by typechecking.
- Since:
 - 3.4
 - See Also:
 StackMap
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStackMapTable.RuntimeCopyExceptionAn exception that may be thrown bycopy()inStackMapTable.static classStackMapTable.WalkerA code walker for a StackMapTable attribute.static classStackMapTable.WriterA writer of stack map tables. 
- 
Field Summary
Fields Modifier and Type Field Description static intDOUBLEDouble_variable_info.tag.static intFLOATFloat_variable_info.tag.static intINTEGERInteger_variable_info.tag.static intLONGLong_variable_info.tag.static intNULLNull_variable_info.tag.static intOBJECTObject_variable_info.tag.static java.lang.StringtagThe name of this attribute"StackMapTable".static intTHISUninitializedThis_variable_info.tag.static intTOPTop_variable_info.tag.static intUNINITUninitialized_variable_info.tag. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeInfocopy(ConstPool newCp, java.util.Map<java.lang.String,java.lang.String> classnames)Makes a copy.voidinsertLocal(int index, int tag, int classInfo)Updates this stack map table when a new local variable is inserted for a new parameter.voidprintln(java.io.PrintStream ps)Prints the stack table map.voidprintln(java.io.PrintWriter w)Prints the stack table map.voidremoveNew(int where)Undocumented method.static inttypeTagOf(char descriptor)Returns the tag of the type specified by the descriptor.- 
Methods inherited from class javassist.bytecode.AttributeInfo
get, getConstPool, getName, length, set 
 - 
 
 - 
 
- 
- 
Field Detail
- 
tag
public static final java.lang.String tag
The name of this attribute"StackMapTable".- See Also:
 - Constant Field Values
 
 
- 
TOP
public static final int TOP
Top_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
INTEGER
public static final int INTEGER
Integer_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
FLOAT
public static final int FLOAT
Float_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
DOUBLE
public static final int DOUBLE
Double_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
LONG
public static final int LONG
Long_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
NULL
public static final int NULL
Null_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
THIS
public static final int THIS
UninitializedThis_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
OBJECT
public static final int OBJECT
Object_variable_info.tag.- See Also:
 - Constant Field Values
 
 
- 
UNINIT
public static final int UNINIT
Uninitialized_variable_info.tag.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
copy
public AttributeInfo copy(ConstPool newCp, java.util.Map<java.lang.String,java.lang.String> classnames) throws StackMapTable.RuntimeCopyException
Makes a copy.- Overrides:
 copyin classAttributeInfo- Parameters:
 newCp- the constant pool table used by the new copy.classnames- pairs of replaced and substituted class names.- Throws:
 StackMapTable.RuntimeCopyException- if aBadBytecodeexception is thrown while copying, it is converted intoRuntimeCopyException.
 
- 
insertLocal
public void insertLocal(int index, int tag, int classInfo) throws BadBytecodeUpdates this stack map table when a new local variable is inserted for a new parameter.- Parameters:
 index- the index of the added local variable.tag- the type tag of that local variable.classInfo- the index of theCONSTANT_Class_infostructure in a constant pool table. This should be zero unless the tag isITEM_Object.- Throws:
 BadBytecode- See Also:
 CtBehavior.addParameter(javassist.CtClass),typeTagOf(char),ConstPool
 
- 
typeTagOf
public static int typeTagOf(char descriptor)
Returns the tag of the type specified by the descriptor. This method returnsINTEGERunless the descriptor is either D (double), F (float), J (long), L (class type), or [ (array).- Parameters:
 descriptor- the type descriptor.- See Also:
 Descriptor
 
- 
println
public void println(java.io.PrintWriter w)
Prints the stack table map. 
- 
println
public void println(java.io.PrintStream ps)
Prints the stack table map.- Parameters:
 ps- a print stream such asSystem.out.
 
- 
removeNew
public void removeNew(int where) throws CannotCompileExceptionUndocumented method. Do not use; internal-use only.This method is for javassist.convert.TransformNew. It is called to update the stack map table when the NEW opcode (and the following DUP) is removed.
- Parameters:
 where- the position of the removed NEW opcode.- Throws:
 CannotCompileException
 
 - 
 
 -