public class ASMStackMapTableAttribute extends StackMapTableAttribute implements ASMifiable, Traceable
ASMifiable StackMapTableAttribute sub class.APPEND_FRAME, CHOP_FRAME, FULL_FRAME, RESERVED, SAME_FRAME, SAME_FRAME_EXTENDED, SAME_LOCALS_1_STACK_ITEM_FRAME, SAME_LOCALS_1_STACK_ITEM_FRAME_EXTENDED| Constructor and Description |
|---|
ASMStackMapTableAttribute() |
ASMStackMapTableAttribute(List frames,
int len) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
appendLabel(StringBuffer buf,
Map labelNames,
Label l) |
void |
asmify(StringBuffer buf,
String varName,
Map labelNames)
Prints the ASM code to create an attribute equal to this attribute.
|
protected Attribute |
read(ClassReader cr,
int off,
int len,
char[] buf,
int codeOff,
Label[] labels)
Reads a
type attribute. |
void |
trace(StringBuffer buf,
Map labelNames)
Build a human readable representation of the attribute.
|
calculateLocals, getFrame, getFrames, getMethodOff, isCodeAttribute, isUnknown, toString, writepublic ASMStackMapTableAttribute()
public ASMStackMapTableAttribute(List frames, int len)
protected Attribute read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels)
Attributetype attribute. This method must return a new
Attribute object, of type type, corresponding to
the len bytes starting at the given offset, in the given class
reader.read in class StackMapTableAttributecr - the class that contains the attribute to be read.off - index of the first byte of the attribute's content in cr.b. The 6 attribute header bytes, containing the
type and the length of the attribute, are not taken into account
here.len - the length of the attribute's content.buf - buffer to be used to call
readUTF8,
readClass or
readConst.codeOff - index of the first byte of code's attribute content in
cr.b, or -1 if the attribute to be read is
not a code attribute. The 6 attribute header bytes, containing the
type and the length of the attribute, are not taken into account
here.labels - the labels of the method's code, or null if the
attribute to be read is not a code attribute.Attribute object corresponding to the given
bytes.public void asmify(StringBuffer buf, String varName, Map labelNames)
ASMifiableasmify in interface ASMifiablebuf - A buffer used for printing Java code.varName - name of the variable in a printed code used to store
attribute instance.labelNames - map of label instances to their names.public void trace(StringBuffer buf, Map labelNames)
Traceableprotected void appendLabel(StringBuffer buf, Map labelNames, Label l)