Static Value-Flow Analysis
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
SVF::CHEdge Class Reference

#include <CHG.h>

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

Public Types

enum  CHEDGETYPE { INHERITANCE = 0x1 , INSTANTCE = 0x2 }
 
typedef GenericNode< CHNode, CHEdge >::GEdgeSetTy CHEdgeSetTy
 
- 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

 CHEdge (CHNode *s, CHNode *d, CHEDGETYPE et, GEdgeFlag k=0)
 
CHEDGETYPE getEdgeType () 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
 

Private Attributes

CHEDGETYPE edgeType
 

Friends

class SVFIRWriter
 
class SVFIRReader
 

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 78 of file CHG.h.

Member Typedef Documentation

◆ CHEdgeSetTy

Definition at line 90 of file CHG.h.

Member Enumeration Documentation

◆ CHEDGETYPE

Enumerator
INHERITANCE 
INSTANTCE 

Definition at line 84 of file CHG.h.

85  {
86  INHERITANCE = 0x1, // inheritance relation
87  INSTANTCE = 0x2 // template-instance relation
88  } CHEDGETYPE;
CHEDGETYPE
Definition: CHG.h:85
@ INHERITANCE
Definition: CHG.h:86
@ INSTANTCE
Definition: CHG.h:87

Constructor & Destructor Documentation

◆ CHEdge()

SVF::CHEdge::CHEdge ( CHNode s,
CHNode d,
CHEDGETYPE  et,
GEdgeFlag  k = 0 
)
inline

Definition at line 92 of file CHG.h.

93  : GenericCHEdgeTy(s, d, k)
94  {
95  edgeType = et;
96  }
CHEDGETYPE edgeType
Definition: CHG.h:104
GenericEdge< CHNode > GenericCHEdgeTy
Definition: CHG.h:77

Member Function Documentation

◆ getEdgeType()

CHEDGETYPE SVF::CHEdge::getEdgeType ( ) const
inline

Definition at line 98 of file CHG.h.

99  {
100  return edgeType;
101  }

Friends And Related Function Documentation

◆ SVFIRReader

friend class SVFIRReader
friend

Definition at line 81 of file CHG.h.

◆ SVFIRWriter

friend class SVFIRWriter
friend

Definition at line 80 of file CHG.h.

Member Data Documentation

◆ edgeType

CHEDGETYPE SVF::CHEdge::edgeType
private

Definition at line 104 of file CHG.h.


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