soot.tagkit
Class JasminAttribute

java.lang.Object
  |
  +--soot.tagkit.JasminAttribute
Direct Known Subclasses:
CodeAttribute

public abstract class JasminAttribute
extends java.lang.Object
implements Attribute

This class must be extended by Attributes that can be emitted in Jasmin. The attributes must format their data in Base64 and if Unit references they may contain must be emitted as labels embedded and escaped in the attribute's Base64 data stream at the location where the value of their pc is to occur. For example:

 
aload_1
iload_2
label2:
iaload
label3:
iastore
iinc 2 1
label0:
iload_2
aload_0
arraylength
label4:
if_icmplt label1
return
.code_attribute ArrayCheckAttribute "%label2%Aw==%label3%Ag==%label4%Ag=="


Constructor Summary
JasminAttribute()
           
 
Method Summary
static byte[] decode(java.lang.String attr, java.util.Hashtable labelToPc)
           
abstract  java.lang.String getJasminValue(java.util.Map instToLabel)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JasminAttribute

public JasminAttribute()
Method Detail

decode

public static byte[] decode(java.lang.String attr,
                            java.util.Hashtable labelToPc)

getJasminValue

public abstract java.lang.String getJasminValue(java.util.Map instToLabel)