org.objectweb.asm.util.attrs
Class ASMStackMapAttribute

java.lang.Object
  extended by org.objectweb.asm.Attribute
      extended by org.objectweb.asm.attrs.StackMapAttribute
          extended by org.objectweb.asm.util.attrs.ASMStackMapAttribute
All Implemented Interfaces:
ASMifiable, Traceable

public class ASMStackMapAttribute
extends StackMapAttribute
implements ASMifiable, Traceable

An ASMifiable StackMapAttribute sub class.

Author:
Eugene Kuleshov

Field Summary
 
Fields inherited from class org.objectweb.asm.attrs.StackMapAttribute
frames
 
Fields inherited from class org.objectweb.asm.Attribute
type
 
Constructor Summary
ASMStackMapAttribute()
           
ASMStackMapAttribute(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.StackMapAttribute
getFrame, getFrames, getLabels, isCodeAttribute, isUnknown, toString, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASMStackMapAttribute

public ASMStackMapAttribute()

ASMStackMapAttribute

public ASMStackMapAttribute(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 StackMapAttribute
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)