ROSE 2.20.0
Loading...
Searching...
No Matches
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.
 
SgNode * getNode () const
 The underlying AST node.
 
unsigned int getIndex () const
 An identifying index within the AST node given by getNode()
 
std::vector< CFGEdge > outEdges () const
 Outgoing control flow edges from this node.
 
std::vector< CFGEdge > inEdges () 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: