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

 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.
 
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
 

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.
 
static constexpr u64_t EdgeKindMask
 

Detailed Description

Definition at line 28 of file DCHG.h.

Member Typedef Documentation

◆ DCHEdgeSetTy

Definition at line 40 of file DCHG.h.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
INHERITANCE 
INSTANCE 
FIRST_FIELD 
STD_DEF 

Definition at line 31 of file DCHG.h.

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

Constructor & Destructor Documentation

◆ DCHEdge()

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

Definition at line 42 of file DCHG.h.

43 : GenericEdge<DCHNode>(src, dst, k), offset(0)
44 {
45 }
u32_t offset
Definition DCHG.h:58
DCHNode * src
source node
DCHNode * dst
destination node
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

Member Function Documentation

◆ getConstantFieldIdx()

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

Definition at line 47 of file DCHG.h.

48 {
49 return offset;
50 }

◆ setOffset()

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

Definition at line 52 of file DCHG.h.

53 {
54 this->offset = offset;
55 }

Member Data Documentation

◆ offset

u32_t SVF::DCHEdge::offset
private

Definition at line 58 of file DCHG.h.


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