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

#include <PAGEdge.h>

Inheritance diagram for SVF::AddrPE:
SVF::PAGEdge SVF::GenericEdge< NodeTy >

Public Member Functions

 AddrPE (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 AddrPE *)
 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

 AddrPE ()
 place holder More...
 
 AddrPE (const AddrPE &)
 place holder More...
 
void operator= (const AddrPE &)
 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...
 
- 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 185 of file PAGEdge.h.

Constructor & Destructor Documentation

◆ AddrPE() [1/3]

SVF::AddrPE::AddrPE ( )
private

place holder

◆ AddrPE() [2/3]

SVF::AddrPE::AddrPE ( const AddrPE &  )
private

place holder

◆ AddrPE() [3/3]

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

constructor

Definition at line 209 of file PAGEdge.h.

209  : PAGEdge(s,d,PAGEdge::Addr)
210  {
211  }
PAGEdge(PAGNode *s, PAGNode *d, GEdgeFlag k)
Constructor.
Definition: PAG.cpp:1000

Member Function Documentation

◆ classof() [1/3]

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

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

Definition at line 194 of file PAGEdge.h.

195  {
196  return true;
197  }

◆ classof() [2/3]

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

Definition at line 198 of file PAGEdge.h.

199  {
200  return edge->getEdgeKind() == PAGEdge::Addr;
201  }

◆ classof() [3/3]

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

Definition at line 202 of file PAGEdge.h.

203  {
204  return edge->getEdgeKind() == PAGEdge::Addr;
205  }

◆ operator=()

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

place holder

◆ toString()

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

Reimplemented from SVF::PAGEdge.

Definition at line 207 of file PAG.cpp.

207  {
208  std::string str;
209  raw_string_ostream rawstr(str);
210  rawstr << "AddrPE: [" << getDstID() << "<--" << getSrcID() << "]\t";
212  rawstr << "\n";
213  }
214  rawstr << value2String(getValue());
215  return rawstr.str();
216 }
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: