org.objectweb.asm.util.attrs

Class ASMStackMapTableAttribute

Implemented Interfaces:
ASMifiable, Traceable

public class ASMStackMapTableAttribute
extends StackMapTableAttribute
implements ASMifiable, Traceable

An ASMifiable StackMapTableAttribute sub class.
Author:
Eugene Kuleshov

Field Summary

Fields inherited from class org.objectweb.asm.attrs.StackMapTableAttribute

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

Fields inherited from class org.objectweb.asm.Attribute

type

Constructor Summary

ASMStackMapTableAttribute()
ASMStackMapTableAttribute(List frames, int len)

Method Summary

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.

Methods inherited from class org.objectweb.asm.attrs.StackMapTableAttribute

calculateLocals, getFrame, getFrames, getMethodOff, isCodeAttribute, isUnknown, read, toString, write

Methods inherited from class org.objectweb.asm.Attribute

getLabels, isCodeAttribute, isUnknown, read, write

Constructor Details

ASMStackMapTableAttribute

public ASMStackMapTableAttribute()

ASMStackMapTableAttribute

public ASMStackMapTableAttribute(List frames,
                                 int len)

Method Details

appendLabel

protected void appendLabel(StringBuffer buf,
                           Map labelNames,
                           Label l)

asmify

public void asmify(StringBuffer buf,
                   String varName,
                   Map labelNames)
Prints the ASM code to create an attribute equal to this attribute.
Specified by:
asmify in interface ASMifiable
Parameters:
buf - 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.

read

protected Attribute read(ClassReader cr,
                         int off,
                         int len,
                         char[] buf,
                         int codeOff,
                         Label[] labels)
Reads a type 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.
Overrides:
read in interface StackMapTableAttribute
Parameters:
cr - 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.
Returns:
a new Attribute object corresponding to the given bytes.

trace

public void trace(StringBuffer buf,
                  Map labelNames)
Build a human readable representation of the attribute.
Specified by:
trace in interface Traceable
Parameters:
buf - A buffer used for printing Java code.
labelNames - map of label instances to their names.