Static Value-Flow Analysis
Loading...
Searching...
No Matches
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.
 
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)
 

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.
 
virtual ~GenericEdge ()
 Destructor.
 
NodeID getSrcID () const
 get methods of the components
 
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.
 
static constexpr u64_t EdgeKindMask = (~0ULL) >> (64 - EdgeKindMaskBits)
 

Detailed Description

Definition at line 46 of file CFLGraph.h.

Member Typedef Documentation

◆ CFLEdgeSetTy

Definition at line 49 of file CFLGraph.h.

Constructor & Destructor Documentation

◆ CFLEdge()

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

Definition at line 51 of file CFLGraph.h.

51 :
53 {
54 }
GenericEdge< CFLNode > GenericCFLEdgeTy
Definition CFLGraph.h:44
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74

◆ ~CFLEdge()

SVF::CFLEdge::~CFLEdge ( )
overridedefault

Member Function Documentation

◆ getEdgeAttri()

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

Definition at line 67 of file CFLGraph.h.

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

◆ getEdgeKind()

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

Definition at line 57 of file CFLGraph.h.

58 {
59 return this->getEdgeKindWithoutMask();
60 }
GEdgeKind getEdgeKindWithoutMask() const

◆ getEdgeKindWithMask()

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

Definition at line 62 of file CFLGraph.h.

63 {
64 return (EdgeKindMask & this->getEdgeKindWithoutMask());
65 }
static constexpr u64_t EdgeKindMask

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