ROSE
0.9.6a
|
A control flow edge connecting two CFG nodes, with an edge condition to indicate edge types. More...
#include <virtualCFG.h>
Public Member Functions | |
CFGEdge (CFGNode src, CFGNode tgt) | |
Constructor. More... | |
CFGEdge () | |
Default constructor. Used for compatibility with containers. More... | |
std::string | toString () const |
Pretty string for Dot node labels, etc. More... | |
std::string | toStringForDebugging () const |
String for debugging graphs. More... | |
std::string | id () const |
ID to use for Dot, etc. More... | |
CFGNode | source () const |
The source (beginning) CFG node. More... | |
CFGNode | target () const |
The target (ending) CFG node. More... | |
EdgeConditionKind | condition () const |
The control flow condition that enables this edge. More... | |
SgExpression * | caseLabel () const |
The label of the case represented by an eckCaseLabel edge. More... | |
unsigned int | computedGotoCaseIndex () const |
The expression of the computed goto represented by the eckArithmeticIf* conditions. More... | |
SgExpression * | conditionBasedOn () const |
The test or case key that is tested as a condition of this control flow edge. More... | |
std::vector< SgInitializedName * > | scopesBeingExited () const |
Variables going out of scope across this edge (not extensively tested) More... | |
std::vector< SgInitializedName * > | scopesBeingEntered () const |
Variables coming into scope across this edge (not extensively tested) More... | |
bool | operator== (const CFGEdge &o) const |
Compare equality of edges. More... | |
bool | operator!= (const CFGEdge &o) const |
Compare disequality of edges. More... | |
bool | operator< (const CFGEdge &o) const |
operator<() has an arbitrary ordering, but allows these objects to be used with std::set and std::map More... | |
Private Attributes | |
CFGNode | src |
CFGNode | tgt |
A control flow edge connecting two CFG nodes, with an edge condition to indicate edge types.
Definition at line 108 of file virtualCFG.h.
Constructor.
Definition at line 112 of file virtualCFG.h.
References VirtualCFG::CFGNode::getNode().
|
inline |
Default constructor. Used for compatibility with containers.
Definition at line 115 of file virtualCFG.h.
std::string VirtualCFG::CFGEdge::toString | ( | ) | const |
Pretty string for Dot node labels, etc.
std::string VirtualCFG::CFGEdge::toStringForDebugging | ( | ) | const |
String for debugging graphs.
std::string VirtualCFG::CFGEdge::id | ( | ) | const |
ID to use for Dot, etc.
|
inline |
The source (beginning) CFG node.
Definition at line 124 of file virtualCFG.h.
|
inline |
The target (ending) CFG node.
Definition at line 126 of file virtualCFG.h.
EdgeConditionKind VirtualCFG::CFGEdge::condition | ( | ) | const |
The control flow condition that enables this edge.
Referenced by evalFunction().
SgExpression* VirtualCFG::CFGEdge::caseLabel | ( | ) | const |
The label of the case represented by an eckCaseLabel edge.
unsigned int VirtualCFG::CFGEdge::computedGotoCaseIndex | ( | ) | const |
The expression of the computed goto represented by the eckArithmeticIf* conditions.
SgExpression* VirtualCFG::CFGEdge::conditionBasedOn | ( | ) | const |
The test or case key that is tested as a condition of this control flow edge.
std::vector<SgInitializedName*> VirtualCFG::CFGEdge::scopesBeingExited | ( | ) | const |
Variables going out of scope across this edge (not extensively tested)
std::vector<SgInitializedName*> VirtualCFG::CFGEdge::scopesBeingEntered | ( | ) | const |
Variables coming into scope across this edge (not extensively tested)
|
inline |
|
inline |
|
inline |
operator<() has an arbitrary ordering, but allows these objects to be used with std::set and std::map
Definition at line 145 of file virtualCFG.h.
|
private |
Definition at line 109 of file virtualCFG.h.
Referenced by operator!=(), operator<(), and operator==().
|
private |
Definition at line 109 of file virtualCFG.h.
Referenced by operator!=(), operator<(), and operator==().