Package sootup.core.graph
Class BackwardsStmtGraph
java.lang.Object
sootup.core.graph.StmtGraph<V>
sootup.core.graph.ForwardingStmtGraph
sootup.core.graph.BackwardsStmtGraph
- All Implemented Interfaces:
Iterable
- Author:
- Zun Wang
-
Nested Class Summary
Nested classes/interfaces inherited from class sootup.core.graph.StmtGraph
StmtGraph.BlockGraphIterator, StmtGraph.BlockGraphIteratorAndTrapAggregator
-
Field Summary
Fields inherited from class sootup.core.graph.ForwardingStmtGraph
backingGraph
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionList<? extends BasicBlock<?>>
getNodes()
returns the nodes in this graph in a non-deterministic order (->Set) to get the nodes in linearized, ordered manner use iterator() or getStmts.boolean
hasEdgeConnecting
(Stmt source, Stmt target) returns true if there is a flow between source and target throws an Exception if at least one of the parameters is not contained in the graph.int
returns the amount of ingoing flows into nodeint
returns the amount of flows that start from nodepredecessors
(Stmt node) returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e.successors
(Stmt node) returns the outgoing flows of node as ordered List.Methods inherited from class sootup.core.graph.ForwardingStmtGraph
buildTraps, containsNode, degree, exceptionalPredecessors, exceptionalSuccessors, getBlockOf, getBlocks, getStartingStmtBlock, iterator, removeExceptionalFlowFromAllBlocks
Methods inherited from class sootup.core.graph.StmtGraph
equals, getAllSuccessors, getBlockIterator, getBranchTargetsOf, getEntrypoints, getExtendedBasicBlockPathBetween, getLabeledStmts, getStmts, getTails, isStmtBranchTarget, toString, validateStmtConnectionsInGraph
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
BackwardsStmtGraph
-
-
Method Details
-
getStartingStmt
- Overrides:
getStartingStmt
in classForwardingStmtGraph
-
getStartingStmts
-
getNodes
Description copied from class:StmtGraph
returns the nodes in this graph in a non-deterministic order (->Set) to get the nodes in linearized, ordered manner use iterator() or getStmts.- Overrides:
getNodes
in classForwardingStmtGraph
-
getBlocksSorted
- Overrides:
getBlocksSorted
in classForwardingStmtGraph
-
predecessors
Description copied from class:StmtGraph
returns the ingoing flows to node as an List with no reliable/specific order and possibly duplicate entries i.e. if a JSwitchStmt has multiple cases that brnach to `node`- Overrides:
predecessors
in classForwardingStmtGraph
-
successors
Description copied from class:StmtGraph
returns the outgoing flows of node as ordered List. The List can have duplicate entries!- Overrides:
successors
in classForwardingStmtGraph
-
inDegree
Description copied from class:StmtGraph
returns the amount of ingoing flows into node- Overrides:
inDegree
in classForwardingStmtGraph
-
outDegree
Description copied from class:StmtGraph
returns the amount of flows that start from node- Overrides:
outDegree
in classForwardingStmtGraph
-
hasEdgeConnecting
Description copied from class:StmtGraph
returns true if there is a flow between source and target throws an Exception if at least one of the parameters is not contained in the graph.- Overrides:
hasEdgeConnecting
in classForwardingStmtGraph
-