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

Static Public Member Functions

static bool classof (const AddrCGEdge *)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
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. More...
 

Private Member Functions

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

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

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 187 of file ConsG.cpp.

188  : ConstraintEdge(s,d,Addr,id)
189 {
190  // Retarget addr edges may lead s to be a dummy node
191  PAGNode* node = SVFIR::getPAG()->getGNode(s->getId());
192  (void)node; // Suppress warning of unused variable under release build
194  {
195  assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
196  }
197 }
ConstraintEdge(ConstraintNode *s, ConstraintNode *d, ConstraintEdgeK k, EdgeID id=0)
Constructor.
Definition: ConsGEdge.h:62
NodeType * getGNode(NodeID id) const
Get a node.
Definition: GenericGraph.h:653
NodeID getId() const
Get ID.
Definition: GenericGraph.h:260
static SVFIR * getPAG(bool buildFromFile=false)
Singleton design here to make sure we only have one instance during any analysis.
Definition: SVFIR.h:115
static bool pagReadFromTXT()
Definition: SVFModule.h:98

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: