ROSE 0.11.145.147
Public Member Functions | List of all members
VirtualCFG::CFGEdge Class Reference

Description

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/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.
 
SgExpressioncaseLabel () 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.
 
SgExpressionconditionBasedOn () 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
 

Constructor & Destructor Documentation

◆ CFGEdge() [1/2]

VirtualCFG::CFGEdge::CFGEdge ( CFGNode  src,
CFGNode  tgt 
)
inline

Constructor.

Definition at line 115 of file virtualCFG.h.

References VirtualCFG::CFGNode::getNode().

◆ CFGEdge() [2/2]

VirtualCFG::CFGEdge::CFGEdge ( )
inline

Default constructor. Used for compatibility with containers.

Definition at line 118 of file virtualCFG.h.

Member Function Documentation

◆ source()

CFGNode VirtualCFG::CFGEdge::source ( ) const
inline

The source (beginning) CFG node.

Definition at line 127 of file virtualCFG.h.

◆ target()

CFGNode VirtualCFG::CFGEdge::target ( ) const
inline

The target (ending) CFG node.

Definition at line 129 of file virtualCFG.h.

◆ operator==()

bool VirtualCFG::CFGEdge::operator== ( const CFGEdge o) const
inline

Compare equality of edges.

Definition at line 143 of file virtualCFG.h.

◆ operator!=()

bool VirtualCFG::CFGEdge::operator!= ( const CFGEdge o) const
inline

Compare disequality of edges.

Definition at line 145 of file virtualCFG.h.

◆ operator<()

bool VirtualCFG::CFGEdge::operator< ( const CFGEdge o) const
inline

operator<() has an arbitrary ordering, but allows these objects to be used with std::set and std::map

Definition at line 148 of file virtualCFG.h.


The documentation for this class was generated from the following file: