Static Value-Flow Analysis
|
#include <CallGraph.h>
Public Types | |
typedef CallGraphEdge::CallGraphEdgeSet | CallGraphEdgeSet |
typedef Map< const SVFFunction *, CallGraphNode * > | FunToCallGraphNodeMap |
typedef Map< const CallICFGNode *, CallGraphEdgeSet > | CallInstToCallGraphEdgesMap |
typedef Set< const SVFFunction * > | FunctionSet |
typedef OrderedMap< const CallICFGNode *, FunctionSet > | CallEdgeMap |
Public Types inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
typedef NodeTy | NodeType |
typedef EdgeTy | EdgeType |
typedef OrderedMap< NodeID, NodeType * > | IDToNodeMapTy |
NodeID to GenericNode map. | |
typedef IDToNodeMapTy::iterator | iterator |
Node Iterators. | |
typedef IDToNodeMapTy::const_iterator | const_iterator |
Protected Member Functions | |
void | destroy () |
Clean up memory. | |
void | addEdge (CallGraphEdge *edge) |
Add call graph edge. | |
Protected Attributes | |
FunToCallGraphNodeMap | funToCallGraphNodeMap |
Call Graph node map. | |
CallInstToCallGraphEdgesMap | callinstToCallGraphEdgesMap |
Map a call instruction to its corresponding call edges. | |
NodeID | callGraphNodeNum |
Protected Attributes inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
IDToNodeMapTy | IDToNodeMap |
node map | |
Friends | |
class | PTACallGraph |
Additional Inherited Members | |
Public Attributes inherited from SVF::GenericGraph< NodeTy, EdgeTy > | |
u32_t | edgeNum |
total num of node | |
u32_t | nodeNum |
total num of edge | |
Definition at line 171 of file CallGraph.h.
Definition at line 180 of file CallGraph.h.
Definition at line 176 of file CallGraph.h.
Definition at line 178 of file CallGraph.h.
Definition at line 179 of file CallGraph.h.
Definition at line 177 of file CallGraph.h.
CallGraph::CallGraph | ( | ) |
|
inlinevirtual |
void CallGraph::addCallGraphNode | ( | const SVFFunction * | fun | ) |
Add call graph node
Definition at line 86 of file CallGraph.cpp.
void CallGraph::addDirectCallGraphEdge | ( | const CallICFGNode * | cs, |
const SVFFunction * | callerFun, | ||
const SVFFunction * | calleeFun | ||
) |
Add direct call edges.
Add direct call edges
Definition at line 117 of file CallGraph.cpp.
|
inlineprotected |
|
protected |
Clean up memory.
Memory has been cleaned up at GenericGraph
Definition at line 79 of file CallGraph.cpp.
void CallGraph::dump | ( | const std::string & | filename | ) |
Dump the graph.
Dump call graph into dot file
Definition at line 136 of file CallGraph.cpp.
const CallGraphNode * CallGraph::getCallGraphNode | ( | const std::string & | name | ) |
Definition at line 146 of file CallGraph.cpp.
|
inline |
Definition at line 219 of file CallGraph.h.
|
inline |
Get call graph node.
Definition at line 215 of file CallGraph.h.
CallGraphEdge * CallGraph::hasGraphEdge | ( | CallGraphNode * | src, |
CallGraphNode * | dst, | ||
const CallICFGNode * | callIcfgNode | ||
) | const |
Whether we have already created this call graph edge.
Whether we have already created this call graph edge
Definition at line 98 of file CallGraph.cpp.
void CallGraph::view | ( | ) |
View the graph from the debugger.
Definition at line 141 of file CallGraph.cpp.
|
friend |
Definition at line 173 of file CallGraph.h.
|
protected |
Definition at line 186 of file CallGraph.h.
|
protected |
Map a call instruction to its corresponding call edges.
Definition at line 184 of file CallGraph.h.
|
protected |
Call Graph node map.
Definition at line 183 of file CallGraph.h.