Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::CFLEdge Class Reference

#include <CFLGraph.h>

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

Public Types

typedef GenericNode< CFLNode, CFLEdge >::GEdgeSetTy CFLEdgeSetTy
Public Types inherited from SVF::GenericEdge< CFLNode >
typedef CFLNode 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< CFLNode >
 GenericEdge (CFLNode *s, CFLNode *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< CFLNode >
static constexpr unsigned char EdgeKindMaskBits
 We use the lower 8 bits to denote edge kind.
static constexpr u64_t EdgeKindMask

Detailed Description

Definition at line 46 of file CFLGraph.h.

Member Typedef Documentation

◆ CFLEdgeSetTy

Constructor & Destructor Documentation

◆ CFLEdge()

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

Definition at line 51 of file CFLGraph.h.

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

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

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