SVF
Public Member Functions | List of all members
SVF::InterBlockNode Class Reference

#include <ICFGNode.h>

Inheritance diagram for SVF::InterBlockNode:
SVF::ICFGNode SVF::GenericNode< NodeTy, EdgeTy > SVF::CallBlockNode SVF::FunEntryBlockNode SVF::FunExitBlockNode SVF::RetBlockNode

Public Member Functions

 InterBlockNode (NodeID id, ICFGNodeK k)
 Constructor. More...
 
- Public Member Functions inherited from SVF::ICFGNode
 ICFGNode (NodeID i, ICFGNodeK k)
 Constructor. More...
 
virtual const SVFFunctiongetFun () const
 Return the function of this ICFGNode. More...
 
virtual const BasicBlockgetBB () const
 Return the function of this ICFGNode. More...
 
virtual const std::string toString () const
 
void dump () const
 
void addVFGNode (const VFGNode *vfgNode)
 
const VFGNodeListgetVFGNodes () const
 
void addPAGEdge (const PAGEdge *edge)
 
const PAGEdgeListgetPAGEdges () const
 
- Public Member Functions inherited from SVF::GenericNode< NodeTy, EdgeTy >
 GenericNode (NodeID i, GNodeK k)
 Constructor. More...
 
virtual ~GenericNode ()
 Destructor. More...
 
NodeID getId () const
 Get ID. More...
 
GNodeK getNodeKind () const
 Get node kind. More...
 
const GEdgeSetTygetOutEdges () const
 
const GEdgeSetTygetInEdges () const
 
bool hasIncomingEdge () const
 Has incoming/outgoing edge set. More...
 
bool hasOutgoingEdge () const
 
iterator OutEdgeBegin ()
 iterators More...
 
iterator OutEdgeEnd ()
 
iterator InEdgeBegin ()
 
iterator InEdgeEnd ()
 
const_iterator OutEdgeBegin () const
 
const_iterator OutEdgeEnd () const
 
const_iterator InEdgeBegin () const
 
const_iterator InEdgeEnd () const
 
virtual iterator directOutEdgeBegin ()
 Iterators used for SCC detection, overwrite it in child class if necessory. More...
 
virtual iterator directOutEdgeEnd ()
 
virtual iterator directInEdgeBegin ()
 
virtual iterator directInEdgeEnd ()
 
virtual const_iterator directOutEdgeBegin () const
 
virtual const_iterator directOutEdgeEnd () const
 
virtual const_iterator directInEdgeBegin () const
 
virtual const_iterator directInEdgeEnd () const
 
bool addIncomingEdge (EdgeType *inEdge)
 Add incoming and outgoing edges. More...
 
bool addOutgoingEdge (EdgeType *outEdge)
 
Size_t removeIncomingEdge (EdgeType *edge)
 
Size_t removeOutgoingEdge (EdgeType *edge)
 
EdgeTypehasIncomingEdge (EdgeType *edge) const
 Find incoming and outgoing edges. More...
 
EdgeTypehasOutgoingEdge (EdgeType *edge) const
 

Static Public Member Functions

static bool classof (const InterBlockNode *)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
static bool classof (const ICFGNode *node)
 
static bool classof (const GenericICFGNodeTy *node)
 

Additional Inherited Members

- Public Types inherited from SVF::ICFGNode
enum  ICFGNodeK {
  IntraBlock, FunEntryBlock, FunExitBlock, FunCallBlock,
  FunRetBlock, GlobalBlock
}
 
typedef ICFGEdge::ICFGEdgeSetTy::iterator iterator
 
typedef ICFGEdge::ICFGEdgeSetTy::const_iterator const_iterator
 
typedef Set< const CallPE * > CallPESet
 
typedef Set< const RetPE * > RetPESet
 
typedef std::list< const VFGNode * > VFGNodeList
 
typedef std::list< const PAGEdge * > PAGEdgeList
 
- Public Types inherited from SVF::GenericNode< NodeTy, EdgeTy >
typedef NodeTy NodeType
 
typedef EdgeTy EdgeType
 
typedef s32_t GNodeK
 Edge kind. More...
 
typedef OrderedSet< EdgeType *, typename EdgeType::equalGEdge > GEdgeSetTy
 
typedef GEdgeSetTy::iterator iterator
 
typedef GEdgeSetTy::const_iterator const_iterator
 
- Protected Attributes inherited from SVF::ICFGNode
const SVFFunctionfun
 
const BasicBlockbb
 
VFGNodeList VFGNodes
 
PAGEdgeList pagEdges
 

Detailed Description

Definition at line 213 of file ICFGNode.h.

Constructor & Destructor Documentation

◆ InterBlockNode()

SVF::InterBlockNode::InterBlockNode ( NodeID  id,
ICFGNodeK  k 
)
inline

Constructor.

Definition at line 218 of file ICFGNode.h.

218  : ICFGNode(id, k)
219  {
220  }
ICFGNode(NodeID i, ICFGNodeK k)
Constructor.
Definition: ICFGNode.h:74

Member Function Documentation

◆ classof() [1/3]

static bool SVF::InterBlockNode::classof ( const InterBlockNode )
inlinestatic

Methods for support type inquiry through isa, cast, and dyn_cast:

Definition at line 224 of file ICFGNode.h.

225  {
226  return true;
227  }

◆ classof() [2/3]

static bool SVF::InterBlockNode::classof ( const ICFGNode node)
inlinestatic

Definition at line 229 of file ICFGNode.h.

230  {
231  return node->getNodeKind() == FunEntryBlock
232  || node->getNodeKind() == FunExitBlock
233  || node->getNodeKind() == FunCallBlock
234  || node->getNodeKind() == FunRetBlock;
235  }

◆ classof() [3/3]

static bool SVF::InterBlockNode::classof ( const GenericICFGNodeTy node)
inlinestatic

Definition at line 237 of file ICFGNode.h.

238  {
239  return node->getNodeKind() == FunEntryBlock
240  || node->getNodeKind() == FunExitBlock
241  || node->getNodeKind() == FunCallBlock
242  || node->getNodeKind() == FunRetBlock;
243  }

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