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
 
NodeType * getSrcNode () const
 
NodeType * getDstNode () 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:76

◆ ~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: