public class JimpleBasedInterproceduralCFG extends AbstractJimpleBasedICFG
InterproceduralCFG interface. Includes
all statements reachable from Scene.getEntryPoints() through explicit
call statements or through calls to Thread.start().
This class is designed to be thread safe, and subclasses of this class must
be designed in a thread-safe way, too.| Modifier and Type | Class and Description |
|---|---|
class |
JimpleBasedInterproceduralCFG.EdgeFilter |
| Modifier and Type | Field and Description |
|---|---|
protected CallGraph |
cg |
protected boolean |
includePhantomCallees |
protected boolean |
includeReflectiveCalls |
protected <any> |
loaderMethodToCallers |
protected <any> |
loaderUnitToCallees |
protected static Logger |
logger |
protected <any> |
methodToCallers |
protected <any> |
unitToCallees |
bodyToUnitGraph, enableExceptions, methodToCallsFromWithin, methodToParameterRefs, unitToOwner| Constructor and Description |
|---|
JimpleBasedInterproceduralCFG() |
JimpleBasedInterproceduralCFG(boolean enableExceptions) |
JimpleBasedInterproceduralCFG(boolean enableExceptions,
boolean includeReflectiveCalls) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Collection<SootMethod> |
getCalleesOfCallAt(Unit u)
Returns all callee methods for a given call.
|
java.util.Collection<Unit> |
getCallersOf(SootMethod m)
Returns all caller statements/nodes of a given method.
|
protected void |
initializeUnitToOwner() |
void |
initializeUnitToOwner(SootMethod m) |
void |
setIncludePhantomCallees(boolean includePhantomCallees)
Sets whether methods that operate on the callgraph shall also return
phantom methods as potential callees
|
allNonCallEndNodes, allNonCallStartNodes, getCallsFromWithin, getEndPointsOf, getMethodOf, getOrCreateUnitGraph, getOrCreateUnitGraph, getParameterRefs, getPredsOf, getPredsOfCallAt, getReturnSitesOfCallAt, getStartPointsOf, getSuccsOf, isBranchTarget, isCallStmt, isExitStmt, isFallThroughSuccessor, isReachable, isReturnSite, isStartPoint, makeGraphprotected static final Logger logger
protected boolean includeReflectiveCalls
protected boolean includePhantomCallees
protected final CallGraph cg
protected <any> loaderUnitToCallees
protected final <any> unitToCallees
protected <any> loaderMethodToCallers
protected final <any> methodToCallers
public JimpleBasedInterproceduralCFG()
public JimpleBasedInterproceduralCFG(boolean enableExceptions)
public JimpleBasedInterproceduralCFG(boolean enableExceptions,
boolean includeReflectiveCalls)
protected void initializeUnitToOwner()
public void initializeUnitToOwner(SootMethod m)
public java.util.Collection<SootMethod> getCalleesOfCallAt(Unit u)
InterproceduralCFGpublic java.util.Collection<Unit> getCallersOf(SootMethod m)
InterproceduralCFGpublic void setIncludePhantomCallees(boolean includePhantomCallees)
includePhantomCallees - True if phantom methods shall be returned as potential
callees, otherwise false