public abstract class AbstractJimpleBasedICFG extends Object implements BiDiInterproceduralCFG<Unit,SootMethod>
| Modifier and Type | Field and Description |
|---|---|
protected com.google.common.cache.LoadingCache<Body,DirectedGraph<Unit>> |
bodyToUnitGraph |
protected boolean |
enableExceptions |
protected com.google.common.cache.LoadingCache<SootMethod,Set<Unit>> |
methodToCallsFromWithin |
protected com.google.common.cache.LoadingCache<SootMethod,List<Value>> |
methodToParameterRefs |
| Constructor and Description |
|---|
AbstractJimpleBasedICFG() |
AbstractJimpleBasedICFG(boolean enableExceptions) |
protected final boolean enableExceptions
protected com.google.common.cache.LoadingCache<Body,DirectedGraph<Unit>> bodyToUnitGraph
protected com.google.common.cache.LoadingCache<SootMethod,List<Value>> methodToParameterRefs
protected com.google.common.cache.LoadingCache<SootMethod,Set<Unit>> methodToCallsFromWithin
public AbstractJimpleBasedICFG()
public AbstractJimpleBasedICFG(boolean enableExceptions)
public SootMethod getMethodOf(Unit u)
getMethodOf in interface heros.InterproceduralCFG<Unit,SootMethod>public List<Unit> getSuccsOf(Unit u)
getSuccsOf in interface heros.InterproceduralCFG<Unit,SootMethod>public DirectedGraph<Unit> getOrCreateUnitGraph(SootMethod m)
getOrCreateUnitGraph in interface BiDiInterproceduralCFG<Unit,SootMethod>public DirectedGraph<Unit> getOrCreateUnitGraph(Body body)
protected DirectedGraph<Unit> makeGraph(Body body)
protected Set<Unit> getCallsFromWithinMethod(SootMethod m)
public boolean isExitStmt(Unit u)
isExitStmt in interface heros.InterproceduralCFG<Unit,SootMethod>public boolean isStartPoint(Unit u)
isStartPoint in interface heros.InterproceduralCFG<Unit,SootMethod>public boolean isFallThroughSuccessor(Unit u, Unit succ)
isFallThroughSuccessor in interface heros.InterproceduralCFG<Unit,SootMethod>public boolean isBranchTarget(Unit u, Unit succ)
isBranchTarget in interface heros.InterproceduralCFG<Unit,SootMethod>public List<Value> getParameterRefs(SootMethod m)
getParameterRefs in interface BiDiInterproceduralCFG<Unit,SootMethod>public Collection<Unit> getStartPointsOf(SootMethod m)
getStartPointsOf in interface heros.InterproceduralCFG<Unit,SootMethod>public boolean isCallStmt(Unit u)
isCallStmt in interface heros.InterproceduralCFG<Unit,SootMethod>public Set<Unit> allNonCallStartNodes()
allNonCallStartNodes in interface heros.InterproceduralCFG<Unit,SootMethod>public Set<Unit> allNonCallEndNodes()
allNonCallEndNodes in interface BiDiInterproceduralCFG<Unit,SootMethod>public Collection<Unit> getReturnSitesOfCallAt(Unit u)
getReturnSitesOfCallAt in interface heros.InterproceduralCFG<Unit,SootMethod>public Set<Unit> getCallsFromWithin(SootMethod m)
getCallsFromWithin in interface heros.InterproceduralCFG<Unit,SootMethod>public void initializeUnitToOwner(SootMethod m)
public List<Unit> getPredsOf(Unit u)
getPredsOf in interface heros.InterproceduralCFG<Unit,SootMethod>getPredsOf in interface BiDiInterproceduralCFG<Unit,SootMethod>public Collection<Unit> getEndPointsOf(SootMethod m)
getEndPointsOf in interface BiDiInterproceduralCFG<Unit,SootMethod>public List<Unit> getPredsOfCallAt(Unit u)
getPredsOfCallAt in interface BiDiInterproceduralCFG<Unit,SootMethod>public boolean isReturnSite(Unit n)
BiDiInterproceduralCFGisReturnSite in interface BiDiInterproceduralCFG<Unit,SootMethod>n - The statement to checkpublic boolean isReachable(Unit u)
BiDiInterproceduralCFGisReachable in interface BiDiInterproceduralCFG<Unit,SootMethod>u - The statement to checkCopyright © 2020 Soot OSS. All rights reserved.