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

Description

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 70 of file virtualCFG.h.

#include <virtualCFG/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".
 
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.
 

Constructor & Destructor Documentation

◆ CFGNode()

VirtualCFG::CFGNode::CFGNode ( )
inline

Definition at line 79 of file virtualCFG.h.

Member Function Documentation

◆ getNode()

SgNode * VirtualCFG::CFGNode::getNode ( ) const
inline

The underlying AST node.

Definition at line 89 of file virtualCFG.h.

Referenced by VirtualCFG::CFGEdge::CFGEdge().

◆ getIndex()

unsigned int VirtualCFG::CFGNode::getIndex ( ) const
inline

An identifying index within the AST node given by getNode()

Definition at line 91 of file virtualCFG.h.

◆ isInteresting()

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.

◆ operator==()

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

Equality operator.

Definition at line 102 of file virtualCFG.h.

◆ operator!=()

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

Disequality operator.

Definition at line 104 of file virtualCFG.h.

◆ operator<()

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

Less-than operator.

Definition at line 106 of file virtualCFG.h.


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