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

#include <ConsGEdge.h>

Inheritance diagram for SVF::NormalGepCGEdge:
SVF::GepCGEdge SVF::ConstraintEdge SVF::GenericEdge< NodeTy >

Public Member Functions

 NormalGepCGEdge (ConstraintNode *s, ConstraintNode *d, const AccessPath &ap, EdgeID id)
 Constructor.
 
const AccessPath & getAccessPath () const
 Get location set of the gep edge.
 
APOffset getConstantFieldIdx () const
 Get location set of the gep edge.
 
- 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 NormalGepCGEdge *)
 Methods for support type inquiry through isa, cast, and dyn_cast:
 
static bool classof (const GepCGEdge *edge)
 
static bool classof (const ConstraintEdge *edge)
 
static bool classof (const GenericConsEdgeTy *edge)
 
- Static Public Member Functions inherited from SVF::GepCGEdge
static bool classof (const GepCGEdge *)
 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

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

Private Attributes

AccessPath ap
 Access path of the gep edge.
 

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)
 
- Protected Member Functions inherited from SVF::GepCGEdge
 GepCGEdge (ConstraintNode *s, ConstraintNode *d, ConstraintEdgeK k, EdgeID id)
 Constructor.
 
- 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

Gep edge with fixed offset size

Definition at line 265 of file ConsGEdge.h.

Constructor & Destructor Documentation

◆ NormalGepCGEdge() [1/3]

SVF::NormalGepCGEdge::NormalGepCGEdge ( )
private

place holder

◆ NormalGepCGEdge() [2/3]

SVF::NormalGepCGEdge::NormalGepCGEdge ( const NormalGepCGEdge &  )
private

place holder

◆ NormalGepCGEdge() [3/3]

SVF::NormalGepCGEdge::NormalGepCGEdge ( ConstraintNode *  s,
ConstraintNode *  d,
const AccessPath &  ap,
EdgeID  id 
)
inline

Constructor.

Definition at line 296 of file ConsGEdge.h.

298 : GepCGEdge(s, d, NormalGep, id), ap(ap)
299 {
300 }
GepCGEdge()
place holder
AccessPath ap
Access path of the gep edge.
Definition ConsGEdge.h:272
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

Member Function Documentation

◆ classof() [1/4]

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

Definition at line 285 of file ConsGEdge.h.

286 {
287 return edge->getEdgeKind() == NormalGep;
288 }

◆ classof() [2/4]

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

Definition at line 289 of file ConsGEdge.h.

290 {
291 return edge->getEdgeKind() == NormalGep;
292 }

◆ classof() [3/4]

static bool SVF::NormalGepCGEdge::classof ( const GepCGEdge *  edge)
inlinestatic

Definition at line 281 of file ConsGEdge.h.

282 {
283 return edge->getEdgeKind() == NormalGep;
284 }

◆ classof() [4/4]

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

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

Definition at line 277 of file ConsGEdge.h.

278 {
279 return true;
280 }

◆ getAccessPath()

const AccessPath & SVF::NormalGepCGEdge::getAccessPath ( ) const
inline

Get location set of the gep edge.

Definition at line 303 of file ConsGEdge.h.

304 {
305 return ap;
306 }

◆ getConstantFieldIdx()

APOffset SVF::NormalGepCGEdge::getConstantFieldIdx ( ) const
inline

Get location set of the gep edge.

Definition at line 309 of file ConsGEdge.h.

310 {
312 }
APOffset getConstantStructFldIdx() const
Get methods.
Definition AccessPath.h:102

◆ operator=()

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

place holder

Member Data Documentation

◆ ap

AccessPath SVF::NormalGepCGEdge::ap
private

Access path of the gep edge.

Definition at line 272 of file ConsGEdge.h.


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