org.objectweb.asm.util.attrs
Class ASMStackMapTableAttribute

java.lang.Object
  extended by org.objectweb.asm.Attribute
      extended by org.objectweb.asm.attrs.StackMapTableAttribute
          extended by org.objectweb.asm.util.attrs.ASMStackMapTableAttribute
All 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, toString, write
 
Methods inherited from class org.objectweb.asm.Attribute
getLabels
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASMStackMapTableAttribute

public ASMStackMapTableAttribute()

ASMStackMapTableAttribute

public ASMStackMapTableAttribute(List frames,
                                 int len)
Method Detail

read

protected Attribute read(ClassReader cr,
                         int off,
                         int len,
                         char[] buf,
                         int codeOff,
                         Label[] labels)
Description copied from class: Attribute
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 class 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.

asmify

public void asmify(StringBuffer buf,
                   String varName,
                   Map labelNames)
Description copied from interface: ASMifiable
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.

trace

public void trace(StringBuffer buf,
                  Map labelNames)
Description copied from interface: Traceable
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.

appendLabel

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