soot.jimple.toolkits.invoke
Class InvokeGraph

java.lang.Object
  |
  +--soot.jimple.toolkits.invoke.InvokeGraph
Direct Known Subclasses:
ClosedInvokeGraph

public class InvokeGraph
extends java.lang.Object

A graph mapping invoke statements to their declaring and target methods. ClassHierarchyAnalysis is the default source of InvokeGraphs, although VTA and RTA can create or trim these graphs.


Constructor Summary
InvokeGraph()
           
 
Method Summary
 void addSite(Stmt site, SootMethod container)
           
 void addTarget(Stmt site, SootMethod target)
          Add an InvokeGraph target to an Stmt site.
 void copyTargets(Stmt roleModel, Stmt imitator)
          This method is to be called after the imitator has been addSite'd.
 SootMethod getDeclaringMethod(Stmt site)
           
 java.util.List getSitesOf(SootMethod container)
          Returns the sites of container added via addSite
 java.util.List getTargetsOf(SootMethod m)
          Returns the list of targets of SootMethod
 java.util.List getTargetsOf(Stmt site)
           
 java.util.List getTransitiveTargetsOf(SootMethod m)
           
 MutableDirectedGraph newMethodGraph()
           
 void removeAllTargets(Stmt site)
           
 void removeSite(Stmt site)
           
 void removeTarget(Stmt site, SootMethod target)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InvokeGraph

public InvokeGraph()
Method Detail

getDeclaringMethod

public SootMethod getDeclaringMethod(Stmt site)

getSitesOf

public java.util.List getSitesOf(SootMethod container)
Returns the sites of container added via addSite

getTargetsOf

public java.util.List getTargetsOf(SootMethod m)
Returns the list of targets of SootMethod

getTransitiveTargetsOf

public java.util.List getTransitiveTargetsOf(SootMethod m)

getTargetsOf

public java.util.List getTargetsOf(Stmt site)

removeTarget

public void removeTarget(Stmt site,
                         SootMethod target)

removeAllTargets

public void removeAllTargets(Stmt site)

addTarget

public void addTarget(Stmt site,
                      SootMethod target)
Add an InvokeGraph target to an Stmt site. Note that site must previously have been addSite'd.

addSite

public void addSite(Stmt site,
                    SootMethod container)

removeSite

public void removeSite(Stmt site)

copyTargets

public void copyTargets(Stmt roleModel,
                        Stmt imitator)
This method is to be called after the imitator has been addSite'd.

newMethodGraph

public MutableDirectedGraph newMethodGraph()