soot.jimple.spark.pag
Class MethodPAG

java.lang.Object
  extended by soot.jimple.spark.pag.MethodPAG

public final class MethodPAG
extends 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
           
protected  NumberedString sigCanonicalize
           
 
Constructor Summary
protected MethodPAG(PAG pag, SootMethod m)
           
 
Method Summary
 void addInEdge(Node src, Node dst)
           
 void addInternalEdge(Node src, Node dst)
           
protected  void addMiscEdges()
           
 void addOutEdge(Node src, Node dst)
           
 void addToPAG(Context 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()
           
 PAG pag()
           
protected  FieldRefNode parameterize(FieldRefNode frn, Context varNodeParameter)
           
protected  VarNode parameterize(LocalVarNode vn, Context varNodeParameter)
           
 Node parameterize(Node n, Context varNodeParameter)
           
static MethodPAG v(PAG 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

sigCanonicalize

protected final NumberedString sigCanonicalize
Constructor Detail

MethodPAG

protected MethodPAG(PAG pag,
                    SootMethod m)
Method Detail

pag

public PAG pag()

addToPAG

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


addInternalEdge

public void addInternalEdge(Node src,
                            Node dst)

addInEdge

public void addInEdge(Node src,
                      Node dst)

addOutEdge

public void addOutEdge(Node src,
                       Node dst)

getMethod

public SootMethod getMethod()

nodeFactory

public MethodNodeFactory nodeFactory()

v

public static MethodPAG v(PAG pag,
                          SootMethod m)

build

public void build()

parameterize

protected VarNode parameterize(LocalVarNode vn,
                               Context varNodeParameter)

parameterize

protected FieldRefNode parameterize(FieldRefNode frn,
                                    Context varNodeParameter)

parameterize

public Node parameterize(Node n,
                         Context varNodeParameter)

buildNormal

protected void buildNormal()

buildNative

protected void buildNative()

addMiscEdges

protected void addMiscEdges()