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

#include <DCHG.h>

Inheritance diagram for SVF::DCHEdge:
SVF::GenericEdge< DCHNode >

Public Types

enum  { INHERITANCE , INSTANCE , FIRST_FIELD , STD_DEF }
 
typedef GenericNode< DCHNode, DCHEdge >::GEdgeSetTy DCHEdgeSetTy
 
- Public Types inherited from SVF::GenericEdge< DCHNode >
typedef DCHNode 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

 DCHEdge (DCHNode *src, DCHNode *dst, GEdgeFlag k=0)
 
u32_t getConstantFieldIdx (void) const
 
void setOffset (u32_t offset)
 
- Public Member Functions inherited from SVF::GenericEdge< DCHNode >
 GenericEdge (DCHNode *s, DCHNode *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

u32_t offset
 

Additional Inherited Members

- Static Protected Attributes inherited from SVF::GenericEdge< DCHNode >
static constexpr unsigned char EdgeKindMaskBits
 We use the lower 8 bits to denote edge kind. More...
 
static constexpr u64_t EdgeKindMask
 

Detailed Description

Definition at line 30 of file DCHG.h.

Member Typedef Documentation

◆ DCHEdgeSetTy

Definition at line 42 of file DCHG.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
INHERITANCE 
INSTANCE 
FIRST_FIELD 
STD_DEF 

Definition at line 33 of file DCHG.h.

34  {
35  INHERITANCE, // inheritance relation
36  INSTANCE, // template-instance relation
37  FIRST_FIELD, // src -ff-> dst => dst is first field of src
38  STD_DEF // Edges defined by the standard like (int -std-> char)
39  // We also make the char --> void edge a STD_DEF edge.
40  };
@ FIRST_FIELD
Definition: DCHG.h:37
@ INSTANCE
Definition: DCHG.h:36
@ STD_DEF
Definition: DCHG.h:38
@ INHERITANCE
Definition: DCHG.h:35

Constructor & Destructor Documentation

◆ DCHEdge()

SVF::DCHEdge::DCHEdge ( DCHNode src,
DCHNode dst,
GEdgeFlag  k = 0 
)
inline

Definition at line 44 of file DCHG.h.

45  : GenericEdge<DCHNode>(src, dst, k), offset(0)
46  {
47  }
u32_t offset
Definition: DCHG.h:60
DCHNode * src
source node
Definition: GenericGraph.h:64
DCHNode * dst
destination node
Definition: GenericGraph.h:65

Member Function Documentation

◆ getConstantFieldIdx()

u32_t SVF::DCHEdge::getConstantFieldIdx ( void  ) const
inline

Definition at line 49 of file DCHG.h.

50  {
51  return offset;
52  }

◆ setOffset()

void SVF::DCHEdge::setOffset ( u32_t  offset)
inline

Definition at line 54 of file DCHG.h.

55  {
56  this->offset = offset;
57  }

Member Data Documentation

◆ offset

u32_t SVF::DCHEdge::offset
private

Definition at line 60 of file DCHG.h.


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