Class BackwardsInterproceduralCFG
java.lang.Object
sootup.analysis.interprocedural.icfg.BackwardsInterproceduralCFG
- All Implemented Interfaces:
heros.InterproceduralCFG<Stmt,,SootMethod> BiDiInterproceduralCFG<Stmt,SootMethod>
public class BackwardsInterproceduralCFG
extends Object
implements BiDiInterproceduralCFG<Stmt,SootMethod>
Same as
JimpleBasedInterproceduralCFG but based on inverted Stmt graphs. This should be
used for backward analyses.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreturns entry points of a methodgetMethodOf(Stmt n) StmtGraph<?>getPredsOf(Stmt u) returns the predecessors of a nodereturns predecessors of a call nodegetSuccsOf(Stmt n) booleanisBranchTarget(Stmt stmt, Stmt succ) booleanisCallStmt(Stmt stmt) booleanisExitStmt(Stmt stmt) booleanisFallThroughSuccessor(Stmt stmt, Stmt succ) booleanisReachable(Stmt u) Checks whether the given statement is reachable from the entry pointbooleanisReturnSite(Stmt n) Gets whether the given statement is a return site of at least one callbooleanisStartPoint(Stmt stmt)
-
Field Details
-
delegate
-
-
Constructor Details
-
BackwardsInterproceduralCFG
-
-
Method Details
-
getSuccsOf
- Specified by:
getSuccsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getStartPointsOf
- Specified by:
getStartPointsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getReturnSitesOfCallAt
- Specified by:
getReturnSitesOfCallAtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isExitStmt
- Specified by:
isExitStmtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isStartPoint
- Specified by:
isStartPointin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
allNonCallStartNodes
- Specified by:
allNonCallStartNodesin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getPredsOf
Description copied from interface:BiDiInterproceduralCFGreturns the predecessors of a node- Specified by:
getPredsOfin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Specified by:
getPredsOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getEndPointsOf
Description copied from interface:BiDiInterproceduralCFGreturns entry points of a method- Specified by:
getEndPointsOfin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Returns:
-
getPredsOfCallAt
Description copied from interface:BiDiInterproceduralCFGreturns predecessors of a call node- Specified by:
getPredsOfCallAtin interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Returns:
-
allNonCallEndNodes
- Specified by:
allNonCallEndNodesin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
getMethodOf
- Specified by:
getMethodOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getCalleesOfCallAt
- Specified by:
getCalleesOfCallAtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getCallersOf
- Specified by:
getCallersOfin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getCallsFromWithin
- Specified by:
getCallsFromWithinin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isCallStmt
- Specified by:
isCallStmtin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
getOrCreateStmtGraph
- Specified by:
getOrCreateStmtGraphin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
getParameterRefs
- Specified by:
getParameterRefsin interfaceBiDiInterproceduralCFG<Stmt,SootMethod>
-
isFallThroughSuccessor
- Specified by:
isFallThroughSuccessorin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isBranchTarget
- Specified by:
isBranchTargetin interfaceheros.InterproceduralCFG<Stmt,SootMethod>
-
isReturnSite
Description copied from interface:BiDiInterproceduralCFGGets whether the given statement is a return site of at least one call- Specified by:
isReturnSitein interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Parameters:
n- The statement to check- Returns:
- True if the given statement is a return site, otherwise false
-
isReachable
Description copied from interface:BiDiInterproceduralCFGChecks whether the given statement is reachable from the entry point- Specified by:
isReachablein interfaceBiDiInterproceduralCFG<Stmt,SootMethod> - Parameters:
u- The statement to check- Returns:
- True if there is a control flow path from the entry point of the program to the given statement, otherwise false
-