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
-
Constructor Summary
-
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) boolean
isBranchTarget
(Stmt stmt, Stmt succ) boolean
isCallStmt
(Stmt stmt) boolean
isExitStmt
(Stmt stmt) boolean
isFallThroughSuccessor
(Stmt stmt, Stmt succ) boolean
isReachable
(Stmt u) Checks whether the given statement is reachable from the entry pointboolean
isReturnSite
(Stmt n) Gets whether the given statement is a return site of at least one callboolean
isStartPoint
(Stmt stmt)
-
Field Details
-
delegate
-
-
Constructor Details
-
BackwardsInterproceduralCFG
-
-
Method Details
-
getSuccsOf
- Specified by:
getSuccsOf
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getStartPointsOf
- Specified by:
getStartPointsOf
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getReturnSitesOfCallAt
- Specified by:
getReturnSitesOfCallAt
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
isExitStmt
- Specified by:
isExitStmt
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
isStartPoint
- Specified by:
isStartPoint
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
allNonCallStartNodes
- Specified by:
allNonCallStartNodes
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getPredsOf
Description copied from interface:BiDiInterproceduralCFG
returns the predecessors of a node- Specified by:
getPredsOf
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod> - Specified by:
getPredsOf
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getEndPointsOf
Description copied from interface:BiDiInterproceduralCFG
returns entry points of a method- Specified by:
getEndPointsOf
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod> - Returns:
-
getPredsOfCallAt
Description copied from interface:BiDiInterproceduralCFG
returns predecessors of a call node- Specified by:
getPredsOfCallAt
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod> - Returns:
-
allNonCallEndNodes
- Specified by:
allNonCallEndNodes
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod>
-
getMethodOf
- Specified by:
getMethodOf
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getCalleesOfCallAt
- Specified by:
getCalleesOfCallAt
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getCallersOf
- Specified by:
getCallersOf
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getCallsFromWithin
- Specified by:
getCallsFromWithin
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
isCallStmt
- Specified by:
isCallStmt
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
getOrCreateStmtGraph
- Specified by:
getOrCreateStmtGraph
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod>
-
getParameterRefs
- Specified by:
getParameterRefs
in interfaceBiDiInterproceduralCFG<Stmt,
SootMethod>
-
isFallThroughSuccessor
- Specified by:
isFallThroughSuccessor
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
isBranchTarget
- Specified by:
isBranchTarget
in interfaceheros.InterproceduralCFG<Stmt,
SootMethod>
-
isReturnSite
Description copied from interface:BiDiInterproceduralCFG
Gets whether the given statement is a return site of at least one call- Specified by:
isReturnSite
in 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:BiDiInterproceduralCFG
Checks whether the given statement is reachable from the entry point- Specified by:
isReachable
in 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
-