Static Value-Flow Analysis
Loading...
Searching...
No Matches
SVF::NormalGepCGEdge Class Reference

#include <ConsGEdge.h>

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

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< ConstraintNode >
 GenericEdge (ConstraintNode *s, ConstraintNode *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< ConstraintNode >
typedef ConstraintNode 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< ConstraintNode >
static constexpr unsigned char EdgeKindMaskBits
 We use the lower 8 bits to denote edge kind.
static constexpr u64_t EdgeKindMask

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

Member Function Documentation

◆ classof() [1/4]

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]

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]

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]

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 {
311 return ap.getConstantStructFldIdx();
312 }

◆ 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: