Static Value-Flow Analysis
Public Types | Public Member Functions | List of all members
SVF::CFLEdge Class Reference

#include <CFLGraph.h>

Inheritance diagram for SVF::CFLEdge:
SVF::GenericEdge< NodeTy >

Public Types

typedef GenericNode< CFLNode, CFLEdge >::GEdgeSetTy CFLEdgeSetTy
 
- Public Types inherited from SVF::GenericEdge< NodeTy >
typedef NodeTy NodeType
 Node type. More...
 
typedef u64_t GEdgeFlag
 
typedef s64_t GEdgeKind
 
typedef struct SVF::GenericEdge::equalGEdge equalGEdge
 Add the hash function for std::set (we also can overload operator< to implement this) More...
 

Public Member Functions

 CFLEdge (CFLNode *s, CFLNode *d, GEdgeFlag k=0)
 
 ~CFLEdge () override=default
 
GEdgeKind getEdgeKind () const
 
GEdgeKind getEdgeKindWithMask () const
 
GEdgeKind getEdgeAttri () const
 
- Public Member Functions inherited from SVF::GenericEdge< NodeTy >
 GenericEdge (NodeTy *s, NodeTy *d, GEdgeFlag k)
 Constructor. More...
 
virtual ~GenericEdge ()
 Destructor. More...
 
NodeID getSrcID () const
 get methods of the components More...
 
NodeID getDstID () const
 
GEdgeKind getEdgeKind () const
 
GEdgeKind getEdgeKindWithoutMask () const
 
NodeTypegetSrcNode () const
 
NodeTypegetDstNode () const
 
virtual bool operator== (const GenericEdge< NodeType > *rhs) const
 

Additional Inherited Members

- Static Protected Attributes inherited from SVF::GenericEdge< NodeTy >
static constexpr unsigned char EdgeKindMaskBits = 8
 We use the lower 8 bits to denote edge kind. More...
 
static constexpr u64_t EdgeKindMask = (~0ULL) >> (64 - EdgeKindMaskBits)
 

Detailed Description

Definition at line 47 of file CFLGraph.h.

Member Typedef Documentation

◆ CFLEdgeSetTy

Definition at line 50 of file CFLGraph.h.

Constructor & Destructor Documentation

◆ CFLEdge()

SVF::CFLEdge::CFLEdge ( CFLNode s,
CFLNode d,
GEdgeFlag  k = 0 
)
inline

Definition at line 52 of file CFLGraph.h.

52  :
53  GenericCFLEdgeTy(s,d,k)
54  {
55  }
GenericEdge< CFLNode > GenericCFLEdgeTy
Definition: CFLGraph.h:43

◆ ~CFLEdge()

SVF::CFLEdge::~CFLEdge ( )
overridedefault

Member Function Documentation

◆ getEdgeAttri()

GEdgeKind SVF::CFLEdge::getEdgeAttri ( ) const
inline

Definition at line 68 of file CFLGraph.h.

69  {
70  return (getEdgeKind() >> this->EdgeKindMaskBits);
71  }
GEdgeKind getEdgeKind() const
Definition: CFLGraph.h:58
static constexpr unsigned char EdgeKindMaskBits
We use the lower 8 bits to denote edge kind.
Definition: GenericGraph.h:132

◆ getEdgeKind()

GEdgeKind SVF::CFLEdge::getEdgeKind ( ) const
inline

Definition at line 58 of file CFLGraph.h.

59  {
60  return this->getEdgeKindWithoutMask();
61  }
GEdgeKind getEdgeKindWithoutMask() const
Definition: GenericGraph.h:93

◆ getEdgeKindWithMask()

GEdgeKind SVF::CFLEdge::getEdgeKindWithMask ( ) const
inline

Definition at line 63 of file CFLGraph.h.

64  {
65  return (EdgeKindMask & this->getEdgeKindWithoutMask());
66  }
static constexpr u64_t EdgeKindMask
Definition: GenericGraph.h:133

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