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 com.google.common.cache.CacheLoader<SootMethod,Collection<Unit>> |
loaderMethodToCallers |
protected com.google.common.cache.CacheLoader<Unit,Collection<SootMethod>> |
loaderUnitToCallees |
protected static org.slf4j.Logger |
logger |
protected com.google.common.cache.LoadingCache<SootMethod,Collection<Unit>> |
methodToCallers |
protected com.google.common.cache.LoadingCache<Unit,Collection<SootMethod>> |
unitToCallees |
bodyToUnitGraph, enableExceptions, methodToCallsFromWithin, methodToParameterRefs| Constructor and Description |
|---|
JimpleBasedInterproceduralCFG() |
JimpleBasedInterproceduralCFG(boolean enableExceptions) |
JimpleBasedInterproceduralCFG(boolean enableExceptions,
boolean includeReflectiveCalls) |
| Modifier and Type | Method and Description |
|---|---|
Collection<SootMethod> |
getCalleesOfCallAt(Unit u) |
Collection<Unit> |
getCallersOf(SootMethod m) |
protected void |
initializeUnitToOwner() |
void |
setIncludePhantomCallees(boolean includePhantomCallees)
Sets whether methods that operate on the callgraph shall also return phantom methods as potential callees
|
allNonCallEndNodes, allNonCallStartNodes, createUnitToOwnerMap, getBodyOf, getCallsFromWithin, getCallsFromWithinMethod, getEndPointsOf, getMethodOf, getOrCreateUnitGraph, getOrCreateUnitGraph, getParameterRefs, getPredsOf, getPredsOfCallAt, getReturnSitesOfCallAt, getStartPointsOf, getSuccsOf, initializeUnitToOwner, isBranchTarget, isCallStmt, isExitStmt, isFallThroughSuccessor, isReachable, isReturnSite, isStartPoint, makeGraph, setOwnerStatementprotected static final org.slf4j.Logger logger
protected boolean includeReflectiveCalls
protected boolean includePhantomCallees
protected final CallGraph cg
protected com.google.common.cache.CacheLoader<Unit,Collection<SootMethod>> loaderUnitToCallees
protected final com.google.common.cache.LoadingCache<Unit,Collection<SootMethod>> unitToCallees
protected com.google.common.cache.CacheLoader<SootMethod,Collection<Unit>> loaderMethodToCallers
protected final com.google.common.cache.LoadingCache<SootMethod,Collection<Unit>> methodToCallers
public JimpleBasedInterproceduralCFG()
public JimpleBasedInterproceduralCFG(boolean enableExceptions)
public JimpleBasedInterproceduralCFG(boolean enableExceptions,
boolean includeReflectiveCalls)
protected void initializeUnitToOwner()
public Collection<SootMethod> getCalleesOfCallAt(Unit u)
public Collection<Unit> getCallersOf(SootMethod m)
public void setIncludePhantomCallees(boolean includePhantomCallees)
includePhantomCallees - True if phantom methods shall be returned as potential callees, otherwise falseCopyright © 2020 Soot OSS. All rights reserved.