SVF
Public Member Functions | Private Member Functions | List of all members
SVF::VariantGepPE Class Reference

#include <PAGEdge.h>

Inheritance diagram for SVF::VariantGepPE:
SVF::GepPE SVF::PAGEdge SVF::GenericEdge< NodeTy >

Public Member Functions

 VariantGepPE (PAGNode *s, PAGNode *d)
 constructor More...
 
virtual const std::string toString () const
 
- Public Member Functions inherited from SVF::PAGEdge
 PAGEdge (PAGNode *s, PAGNode *d, GEdgeFlag k)
 Constructor. More...
 
 ~PAGEdge ()
 Destructor. More...
 
EdgeID getEdgeID () const
 Return Edge ID. More...
 
bool isPTAEdge () const
 Whether src and dst nodes are both of pointer type. More...
 
const Instruction * getInst () const
 Get/set methods for llvm instruction. More...
 
void setValue (const Value *val)
 
const Value * getValue () const
 
void setBB (const BasicBlock *bb)
 
const BasicBlock * getBB () const
 
void setICFGNode (ICFGNode *node)
 
ICFGNode * getICFGNode () const
 
- 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
 
NodeType * getSrcNode () const
 
NodeType * getDstNode () const
 
bool operator== (const GenericEdge< NodeType > *rhs) const
 

Static Public Member Functions

static bool classof (const VariantGepPE *)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
static bool classof (const GepPE *edge)
 
static bool classof (const PAGEdge *edge)
 
static bool classof (const GenericPAGEdgeTy *edge)
 
- Static Public Member Functions inherited from SVF::GepPE
static bool classof (const GepPE *)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
static bool classof (const PAGEdge *edge)
 
static bool classof (const GenericPAGEdgeTy *edge)
 
- Static Public Member Functions inherited from SVF::PAGEdge
static GEdgeFlag makeEdgeFlagWithCallInst (GEdgeKind k, const ICFGNode *cs)
 Compute the unique edgeFlag value from edge kind and call site Instruction. More...
 
static GEdgeFlag makeEdgeFlagWithStoreInst (GEdgeKind k, const ICFGNode *store)
 
static bool classof (const PAGEdge *)
 ClassOf. More...
 
static bool classof (const GenericPAGEdgeTy *edge)
 

Private Member Functions

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

Additional Inherited Members

- Public Types inherited from SVF::PAGEdge
enum  PEDGEK {
  Addr, Copy, Store, Load,
  Call, Ret, NormalGep, VariantGep,
  ThreadFork, ThreadJoin, Cmp, BinaryOp,
  UnaryOp
}
 
typedef GenericNode< PAGNode, PAGEdge >::GEdgeSetTy PAGEdgeSetTy
 
typedef Map< EdgeID, PAGEdgeSetTy > PAGEdgeToSetMapTy
 
typedef PAGEdgeToSetMapTy PAGKindToEdgeSetMapTy
 
- Public Types inherited from SVF::GenericEdge< NodeTy >
typedef NodeTy NodeType
 Node type. More...
 
typedef u64_t GEdgeFlag
 
typedef s32_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 Public Attributes inherited from SVF::PAGEdge
static Size_t totalEdgeNum
 Total edge number. More...
 
- Protected Member Functions inherited from SVF::GepPE
 GepPE (PAGNode *s, PAGNode *d, PEDGEK k)
 constructor 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

Gep edge with a variant offset

Definition at line 522 of file PAGEdge.h.

Constructor & Destructor Documentation

◆ VariantGepPE() [1/3]

SVF::VariantGepPE::VariantGepPE ( )
private

place holder

◆ VariantGepPE() [2/3]

SVF::VariantGepPE::VariantGepPE ( const VariantGepPE &  )
private

place holder

◆ VariantGepPE() [3/3]

SVF::VariantGepPE::VariantGepPE ( PAGNode *  s,
PAGNode *  d 
)
inline

constructor

Definition at line 551 of file PAGEdge.h.

Member Function Documentation

◆ classof() [1/4]

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

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

Definition at line 532 of file PAGEdge.h.

533  {
534  return true;
535  }

◆ classof() [2/4]

static bool SVF::VariantGepPE::classof ( const GepPE *  edge)
inlinestatic

Definition at line 536 of file PAGEdge.h.

537  {
538  return edge->getEdgeKind() == PAGEdge::VariantGep;
539  }

◆ classof() [3/4]

static bool SVF::VariantGepPE::classof ( const PAGEdge *  edge)
inlinestatic

Definition at line 540 of file PAGEdge.h.

541  {
542  return edge->getEdgeKind() == PAGEdge::VariantGep;
543  }

◆ classof() [4/4]

static bool SVF::VariantGepPE::classof ( const GenericPAGEdgeTy *  edge)
inlinestatic

Definition at line 544 of file PAGEdge.h.

545  {
546  return edge->getEdgeKind() == PAGEdge::VariantGep;
547  }

◆ operator=()

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

place holder

◆ toString()

const std::string VariantGepPE::toString ( ) const
virtual

Reimplemented from SVF::GepPE.

Definition at line 306 of file PAG.cpp.

306  {
307  std::string str;
308  raw_string_ostream rawstr(str);
309  rawstr << "VariantGepPE: [" << getDstID() << "<--" << getSrcID() << "]\t";
311  rawstr << "\n";
312  }
313  rawstr << value2String(getValue());
314  return rawstr.str();
315 }
const Value * getValue() const
Definition: PAGEdge.h:116
NodeID getDstID() const
Definition: GenericGraph.h:77
NodeID getSrcID() const
get methods of the components
Definition: GenericGraph.h:73
static const llvm::cl::opt< bool > PAGDotGraphShorter
Definition: Options.h:88
llvm::raw_string_ostream raw_string_ostream
Definition: BasicTypes.h:100
const std::string value2String(const Value *value)
Definition: SVFUtil.cpp:359

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