Public Member Functions | List of all members
VirtualCFG::CFGNode Class Reference


A node in the control flow graph.

Each CFG node corresponds to an AST node, but there can be several CFG nodes for a given AST node.

Definition at line 67 of file virtualCFG.h.

#include <virtualCFG.h>

Public Member Functions

 CFGNode (SgNode *node, unsigned int index=0)
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.
SgNodegetNode () const
 The underlying AST node.
unsigned int getIndex () const
 An identifying index within the AST node given by getNode()
std::vector< CFGEdgeoutEdges () const
 Outgoing control flow edges from this node.
std::vector< CFGEdgeinEdges () const
 Incoming control flow edges to this node.
bool isInteresting () const
 Test whether this node satisfies a (fairly arbitrary) standard for "interestingness". More...
bool operator== (const CFGNode &o) const
 Equality operator.
bool operator!= (const CFGNode &o) const
 Disequality operator.
bool operator< (const CFGNode &o) const
 Less-than operator.

Member Function Documentation

bool VirtualCFG::CFGNode::isInteresting ( ) const

Test whether this node satisfies a (fairly arbitrary) standard for "interestingness".

There are many administrative nodes in the raw CFG (nodes that do not correspond to operations in the program), and this function filters them out.

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