soot.jimple.spark.solver
Class OnFlyCallGraph

java.lang.Object
  |
  +--soot.jimple.spark.solver.OnFlyCallGraph

public class OnFlyCallGraph
extends java.lang.Object

Performs a pseudo-topological sort on the VarNodes in a PAG.


Field Summary
protected  FastHierarchy fh
           
protected  InvokeGraph ig
           
protected  PAG pag
           
protected  Parms parms
           
protected  MultiMap receiverToSite
           
protected  MultiMap receiverToType
           
 
Constructor Summary
OnFlyCallGraph(PAG pag, FastHierarchy fh, InvokeGraph ig, Parms parms)
           
 
Method Summary
 boolean addReachingType(VarNode receiver, Type type, java.util.Collection addedEdges)
           
 boolean addSite(Stmt site)
           
 java.util.Set allReceivers()
           
 void mergedWith(Node n1, Node n2)
          Node uses this to notify PAG that n2 has been merged into n1.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pag

protected PAG pag

receiverToSite

protected MultiMap receiverToSite

receiverToType

protected MultiMap receiverToType

fh

protected FastHierarchy fh

ig

protected InvokeGraph ig

parms

protected Parms parms
Constructor Detail

OnFlyCallGraph

public OnFlyCallGraph(PAG pag,
                      FastHierarchy fh,
                      InvokeGraph ig,
                      Parms parms)
Method Detail

addSite

public boolean addSite(Stmt site)

addReachingType

public boolean addReachingType(VarNode receiver,
                               Type type,
                               java.util.Collection addedEdges)

mergedWith

public void mergedWith(Node n1,
                       Node n2)
Node uses this to notify PAG that n2 has been merged into n1.


allReceivers

public java.util.Set allReceivers()