Static Value-Flow Analysis
|
#include <CallGraph.h>
Public Types | |
typedef Set< const CallICFGNode * > | CallInstSet |
typedef GenericNode< CallGraphNode, CallGraphEdge >::GEdgeSetTy | CallGraphEdgeSet |
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) | |
Public Member Functions | |
CallGraphEdge (CallGraphNode *s, CallGraphNode *d, const CallICFGNode *icfgNode) | |
Constructor. | |
virtual | ~CallGraphEdge () |
Destructor. | |
void | addDirectCallSite (const CallICFGNode *call) |
Add direct callsite. | |
CallInstSet::const_iterator | directCallsBegin () const |
Iterators for direct and indirect callsites. | |
CallInstSet::const_iterator | directCallsEnd () const |
virtual const std::string | toString () const |
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 CallGraphEdge *) |
ClassOf. | |
Private Attributes | |
CallInstSet | directCalls |
Friends | |
OutStream & | operator<< (OutStream &o, const CallGraphEdge &edge) |
Overloading operator << for dumping ICFG node ID. | |
Additional Inherited Members | |
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) |
Definition at line 51 of file CallGraph.h.
Definition at line 106 of file CallGraph.h.
Definition at line 55 of file CallGraph.h.
|
inline |
Constructor.
Definition at line 61 of file CallGraph.h.
|
inlinevirtual |
void CallGraphEdge::addDirectCallSite | ( | const CallICFGNode * | call | ) |
Add direct callsite.
Definition at line 43 of file CallGraph.cpp.
|
inlinestatic |
|
inline |
Iterators for direct and indirect callsites.
Definition at line 77 of file CallGraph.h.
|
inline |
Definition at line 81 of file CallGraph.h.
|
virtual |
Definition at line 50 of file CallGraph.cpp.
|
friend |
|
private |
Definition at line 58 of file CallGraph.h.