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