ROSE
0.9.6a
|
#include <virtualCFG.h>
Public Member Functions | |
CFGPath (CFGEdge e) | |
CFGPath (const CFGPath &a, const CFGPath &b) | |
CFGPath () | |
std::string | toString () const |
std::string | toStringForDebugging () const |
std::string | id () const |
CFGNode | source () const |
CFGNode | target () const |
EdgeConditionKind | condition () const |
SgExpression * | caseLabel () const |
SgExpression * | conditionBasedOn () const |
std::vector< SgInitializedName * > | scopesBeingExited () const |
std::vector< SgInitializedName * > | scopesBeingEntered () const |
bool | operator== (const CFGPath &o) const |
bool | operator!= (const CFGPath &o) const |
bool | operator< (const CFGPath &o) const |
An arbitrary order, so we can use this in std::set and std::map. More... | |
const std::vector< CFGEdge > & | getEdges () const |
Returns the edges in the path, starting at the source and ending at the target. More... | |
Private Attributes | |
std::vector< CFGEdge > | edges |
A CFG path is a set of connected CFG edges; condition and variable information is combined across the edges in the path. Paths are used as parts of edges in filtered views of the CFG. They implement almost the same functions as CFG edges, and their functions are just forwarded to by filtered edge methods. This is an internal class.
Definition at line 154 of file virtualCFG.h.
|
inline |
Definition at line 159 of file virtualCFG.h.
Definition at line 161 of file virtualCFG.h.
References edges.
|
inline |
Definition at line 169 of file virtualCFG.h.
std::string VirtualCFG::CFGPath::toString | ( | ) | const |
std::string VirtualCFG::CFGPath::toStringForDebugging | ( | ) | const |
std::string VirtualCFG::CFGPath::id | ( | ) | const |
|
inline |
Definition at line 177 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::FilteredCFGNode< FilterFunction >::inEdges(), VirtualCFG::DataflowEdge::source(), VirtualCFG::FilteredCFGEdge< FilterFunction >::source(), and VirtualCFG::InterestingEdge::source().
|
inline |
Definition at line 179 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::FilteredCFGNode< FilterFunction >::outEdges(), VirtualCFG::DataflowEdge::target(), VirtualCFG::FilteredCFGEdge< FilterFunction >::target(), and VirtualCFG::InterestingEdge::target().
|
inline |
Definition at line 181 of file virtualCFG.h.
References VirtualCFG::eckUnconditional, and edges.
Referenced by VirtualCFG::DataflowEdge::condition(), VirtualCFG::FilteredCFGEdge< FilterFunction >::condition(), and VirtualCFG::InterestingEdge::condition().
|
inline |
Definition at line 189 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::DataflowEdge::caseLabel(), VirtualCFG::FilteredCFGEdge< FilterFunction >::caseLabel(), and VirtualCFG::InterestingEdge::caseLabel().
|
inline |
Definition at line 196 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::DataflowEdge::conditionBasedOn(), and VirtualCFG::InterestingEdge::conditionBasedOn().
|
inline |
Definition at line 203 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::DataflowEdge::scopesBeingExited(), VirtualCFG::FilteredCFGEdge< FilterFunction >::scopesBeingExited(), and VirtualCFG::InterestingEdge::scopesBeingExited().
|
inline |
Definition at line 211 of file virtualCFG.h.
References edges.
Referenced by VirtualCFG::DataflowEdge::scopesBeingEntered(), VirtualCFG::FilteredCFGEdge< FilterFunction >::scopesBeingEntered(), and VirtualCFG::InterestingEdge::scopesBeingEntered().
|
inline |
Definition at line 219 of file virtualCFG.h.
References edges.
|
inline |
Definition at line 220 of file virtualCFG.h.
References edges.
|
inline |
An arbitrary order, so we can use this in std::set and std::map.
Definition at line 223 of file virtualCFG.h.
References edges.
|
inline |
Returns the edges in the path, starting at the source and ending at the target.
Definition at line 236 of file virtualCFG.h.
References edges.
|
private |
Definition at line 155 of file virtualCFG.h.
Referenced by caseLabel(), CFGPath(), condition(), conditionBasedOn(), getEdges(), operator!=(), operator<(), operator==(), scopesBeingEntered(), scopesBeingExited(), source(), and target().