soot.jimple.spark.pag
Class AbstractMethodPAG

java.lang.Object
  extended bysoot.jimple.spark.pag.AbstractMethodPAG
Direct Known Subclasses:
BDDMethodPAG, MethodPAG

public abstract class AbstractMethodPAG
extends java.lang.Object

Part of a pointer assignment graph for a single method.

Author:
Ondrej Lhotak

Field Summary
protected  boolean hasBeenAdded
           
protected  boolean hasBeenBuilt
           
protected  MethodNodeFactory nodeFactory
           
 
Constructor Summary
AbstractMethodPAG()
           
 
Method Summary
abstract  void addInEdge(Node src, Node dst)
           
abstract  void addInternalEdge(Node src, Node dst)
           
protected  void addMiscEdges()
           
abstract  void addOutEdge(Node src, Node dst)
           
abstract  void addToPAG(java.lang.Object varNodeParameter)
          Adds this method to the main PAG, with all VarNodes parameterized by varNodeParameter.
 void build()
           
protected  void buildNative()
           
protected  void buildNormal()
           
 SootMethod getMethod()
           
 MethodNodeFactory nodeFactory()
           
abstract  AbstractPAG pag()
           
protected  FieldRefNode parameterize(FieldRefNode frn, java.lang.Object varNodeParameter)
           
protected  VarNode parameterize(LocalVarNode vn, java.lang.Object varNodeParameter)
           
 Node parameterize(Node n, java.lang.Object varNodeParameter)
           
static AbstractMethodPAG v(AbstractPAG pag, SootMethod m)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodeFactory

protected MethodNodeFactory nodeFactory

hasBeenAdded

protected boolean hasBeenAdded

hasBeenBuilt

protected boolean hasBeenBuilt
Constructor Detail

AbstractMethodPAG

public AbstractMethodPAG()
Method Detail

getMethod

public SootMethod getMethod()

nodeFactory

public MethodNodeFactory nodeFactory()

pag

public abstract AbstractPAG pag()

v

public static AbstractMethodPAG v(AbstractPAG pag,
                                  SootMethod m)

build

public void build()

parameterize

protected VarNode parameterize(LocalVarNode vn,
                               java.lang.Object varNodeParameter)

parameterize

protected FieldRefNode parameterize(FieldRefNode frn,
                                    java.lang.Object varNodeParameter)

parameterize

public Node parameterize(Node n,
                         java.lang.Object varNodeParameter)

addToPAG

public abstract void addToPAG(java.lang.Object varNodeParameter)
Adds this method to the main PAG, with all VarNodes parameterized by varNodeParameter.


addInternalEdge

public abstract void addInternalEdge(Node src,
                                     Node dst)

addInEdge

public abstract void addInEdge(Node src,
                               Node dst)

addOutEdge

public abstract void addOutEdge(Node src,
                                Node dst)

buildNormal

protected void buildNormal()

buildNative

protected void buildNative()

addMiscEdges

protected void addMiscEdges()