Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
SVF::AddrCGEdge Class Reference

#include <ConsGEdge.h>

Inheritance diagram for SVF::AddrCGEdge:
SVF::ConstraintEdge SVF::GenericEdge< NodeTy >

Public Member Functions

 AddrCGEdge (ConstraintNode *s, ConstraintNode *d, EdgeID id)
 constructor
 
- Public Member Functions inherited from SVF::ConstraintEdge
 ConstraintEdge (ConstraintNode *s, ConstraintNode *d, ConstraintEdgeK k, EdgeID id=0)
 Constructor.
 
 ~ConstraintEdge ()
 Destructor.
 
EdgeID getEdgeID () const
 Return edge ID.
 
- 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
 

Static Public Member Functions

static bool classof (const AddrCGEdge *)
 Methods for support type inquiry through isa, cast, and dyn_cast:
 
static bool classof (const ConstraintEdge *edge)
 
static bool classof (const GenericConsEdgeTy *edge)
 
- Static Public Member Functions inherited from SVF::ConstraintEdge
static bool classof (const GenericConsEdgeTy *edge)
 ClassOf.
 

Private Member Functions

 AddrCGEdge ()
 place holder
 
 AddrCGEdge (const AddrCGEdge &)
 place holder
 
void operator= (const AddrCGEdge &)
 place holder
 

Additional Inherited Members

- Public Types inherited from SVF::ConstraintEdge
enum  ConstraintEdgeK {
  Addr , Copy , Store , Load ,
  NormalGep , VariantGep
}
 
typedef GenericNode< ConstraintNode, ConstraintEdge >::GEdgeSetTy ConstraintEdgeSetTy
 Constraint edge type.
 
- 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)
 
- 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

Copy edge

Definition at line 93 of file ConsGEdge.h.

Constructor & Destructor Documentation

◆ AddrCGEdge() [1/3]

SVF::AddrCGEdge::AddrCGEdge ( )
private

place holder

◆ AddrCGEdge() [2/3]

SVF::AddrCGEdge::AddrCGEdge ( const AddrCGEdge &  )
private

place holder

◆ AddrCGEdge() [3/3]

AddrCGEdge::AddrCGEdge ( ConstraintNode *  s,
ConstraintNode *  d,
EdgeID  id 
)

constructor

Constructor for address constraint graph edge

Definition at line 191 of file ConsG.cpp.

192 : ConstraintEdge(s,d,Addr,id)
193{
194 // Retarget addr edges may lead s to be a dummy node
195 const SVFVar* node = SVFIR::getPAG()->getSVFVar(s->getId());
196 (void)node; // Suppress warning of unused variable under release build
198 {
199 assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
200 }
201}
static bool pagReadFromTXT()
Definition SVFIR.h:281
const SVFVar * getSVFVar(NodeID id) const
ObjVar/GepObjVar/BaseObjVar.
Definition SVFIR.h:136
static SVFIR * getPAG(bool buildFromFile=false)
Singleton design here to make sure we only have one instance during any analysis.
Definition SVFIR.h:121
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

Member Function Documentation

◆ classof() [1/3]

static bool SVF::AddrCGEdge::classof ( const AddrCGEdge *  )
inlinestatic

Methods for support type inquiry through isa, cast, and dyn_cast:

Definition at line 102 of file ConsGEdge.h.

103 {
104 return true;
105 }

◆ classof() [2/3]

static bool SVF::AddrCGEdge::classof ( const ConstraintEdge *  edge)
inlinestatic

Definition at line 106 of file ConsGEdge.h.

107 {
108 return edge->getEdgeKind() == Addr;
109 }

◆ classof() [3/3]

static bool SVF::AddrCGEdge::classof ( const GenericConsEdgeTy *  edge)
inlinestatic

Definition at line 110 of file ConsGEdge.h.

111 {
112 return edge->getEdgeKind() == Addr;
113 }

◆ operator=()

void SVF::AddrCGEdge::operator= ( const AddrCGEdge &  )
private

place holder


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