soot.tagkit
Class CodeAttribute

java.lang.Object
  |
  +--soot.tagkit.JasminAttribute
        |
        +--soot.tagkit.CodeAttribute
All Implemented Interfaces:
Attribute, Tag

public class CodeAttribute
extends JasminAttribute

A CodeAttribute object holds PC -> Tag pairs. It represents abstracted attributes of Code_attribute such as LineNumberTable, ArrayBoundsCheck.


Field Summary
protected  java.util.List mTags
           
protected  java.util.List mUnits
           
 
Constructor Summary
CodeAttribute()
           
CodeAttribute(java.lang.String name)
          Creates an attribute object with the given name.
CodeAttribute(java.lang.String name, java.util.List units, java.util.List tags)
          Create an attribute object with the name and lists of unit-tag pairs.
 
Method Summary
 byte[] decode(java.lang.String attr, java.util.Hashtable labelToPc)
           
 java.lang.String getJasminValue(java.util.Map instToLabel)
          Generates Jasmin Value String
 java.lang.String getName()
          Returns the attribute name.
 java.util.List getUnitBoxes()
          Returns a list of unit boxes that have tags attached.
 byte[] getValue()
          Also only used as setValue().
 void setValue(byte[] v)
          Only used by SOOT to read in an existing attribute without interpret it.
 java.lang.String toString()
          Returns the name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mUnits

protected java.util.List mUnits

mTags

protected java.util.List mTags
Constructor Detail

CodeAttribute

public CodeAttribute()

CodeAttribute

public CodeAttribute(java.lang.String name)
Creates an attribute object with the given name.


CodeAttribute

public CodeAttribute(java.lang.String name,
                     java.util.List units,
                     java.util.List tags)
Create an attribute object with the name and lists of unit-tag pairs.

Method Detail

toString

public java.lang.String toString()
Returns the name.

Overrides:
toString in class java.lang.Object

getName

public java.lang.String getName()
Returns the attribute name.


setValue

public void setValue(byte[] v)
Only used by SOOT to read in an existing attribute without interpret it.


getValue

public byte[] getValue()
                throws AttributeValueException
Also only used as setValue().

AttributeValueException

getJasminValue

public java.lang.String getJasminValue(java.util.Map instToLabel)
Generates Jasmin Value String

Specified by:
getJasminValue in class JasminAttribute

getUnitBoxes

public java.util.List getUnitBoxes()
Returns a list of unit boxes that have tags attached.


decode

public byte[] decode(java.lang.String attr,
                     java.util.Hashtable labelToPc)
Specified by:
decode in class JasminAttribute