ROSE  0.9.9.168
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 108 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.
 
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
 

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