soot.jimple.toolkits.annotation.arraycheck
Class ArrayBoundsChecker

java.lang.Object
  extended by soot.Transformer
      extended by soot.BodyTransformer
          extended by soot.jimple.toolkits.annotation.arraycheck.ArrayBoundsChecker

public class ArrayBoundsChecker
extends BodyTransformer


Field Summary
protected  boolean addColorTags
           
protected  boolean takeArrayRef
           
protected  boolean takeClassField
           
protected  boolean takeCSE
           
protected  boolean takeFieldRef
           
protected  boolean takeRectArray
           
 
Constructor Summary
ArrayBoundsChecker(Singletons.Global g)
           
 
Method Summary
protected  void internalTransform(Body body, String phaseName, Map opts)
          This method is called to perform the transformation itself.
protected  int interpretGraph(soot.jimple.toolkits.annotation.arraycheck.WeightedDirectedSparseGraph vgraph, ArrayRef aref, Stmt stmt, soot.jimple.toolkits.annotation.arraycheck.IntContainer zero)
           
static ArrayBoundsChecker v()
           
 
Methods inherited from class soot.BodyTransformer
transform, transform, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

takeClassField

protected boolean takeClassField

takeFieldRef

protected boolean takeFieldRef

takeArrayRef

protected boolean takeArrayRef

takeCSE

protected boolean takeCSE

takeRectArray

protected boolean takeRectArray

addColorTags

protected boolean addColorTags
Constructor Detail

ArrayBoundsChecker

public ArrayBoundsChecker(Singletons.Global g)
Method Detail

v

public static ArrayBoundsChecker v()

internalTransform

protected void internalTransform(Body body,
                                 String phaseName,
                                 Map opts)
Description copied from class: BodyTransformer
This method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.

Specified by:
internalTransform in class BodyTransformer
Parameters:
body - the body on which to apply the transformation
phaseName - the phasename for this transform; not typically used by implementations.
opts - the actual computed options; a combination of default options and Scene specified options.

interpretGraph

protected int interpretGraph(soot.jimple.toolkits.annotation.arraycheck.WeightedDirectedSparseGraph vgraph,
                             ArrayRef aref,
                             Stmt stmt,
                             soot.jimple.toolkits.annotation.arraycheck.IntContainer zero)