Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
SVF::GenericGraphTraits< SVF::CallGraph * > Struct Reference

#include <CallGraph.h>

Inheritance diagram for SVF::GenericGraphTraits< SVF::CallGraph * >:
SVF::GenericGraphTraits< SVF::GenericGraph< SVF::CallGraphNode, SVF::CallGraphEdge > * > SVF::GenericGraphTraits< SVF::ThreadCallGraph * >

Public Types

typedef SVF::CallGraphNodeNodeRef
 
- Public Types inherited from SVF::GenericGraphTraits< SVF::GenericGraph< SVF::CallGraphNode, SVF::CallGraphEdge > * >
using NodeRef = typename GraphType::UnknownGraphTypeError
 

Static Public Member Functions

static const SVF::CallGraphNodegetRawNode (const SVF::CallGraphNode *n)
 
static void getInEdges (const SVF::CallGraph *, const SVF::CallGraphNode *n, std::vector< const SVF::CallGraphEdge * > &out)
 In-edges of n under this graph (whole CallGraph: all of them).
 
static void getOutEdges (const SVF::CallGraph *, const SVF::CallGraphNode *n, std::vector< const SVF::CallGraphEdge * > &out)
 
static void getDirectCalls (const SVF::CallGraph *, const SVF::CallGraphEdge *e, std::vector< const SVF::CallICFGNode * > &out)
 
static void getIndirectCalls (const SVF::CallGraph *, const SVF::CallGraphEdge *e, std::vector< const SVF::CallICFGNode * > &out)
 
static bool containsCallSite (const SVF::CallGraph *, const SVF::CallGraphEdge *e, const SVF::CallICFGNode *callSite)
 
static void getCallees (SVF::CallGraph *g, const SVF::CallICFGNode *callSite, SVF::CallGraph::FunctionSet &callees)
 

Detailed Description

Definition at line 502 of file CallGraph.h.

Member Typedef Documentation

◆ NodeRef

Definition at line 504 of file CallGraph.h.

Member Function Documentation

◆ containsCallSite()

static bool SVF::GenericGraphTraits< SVF::CallGraph * >::containsCallSite ( const SVF::CallGraph ,
const SVF::CallGraphEdge e,
const SVF::CallICFGNode callSite 
)
inlinestatic

Definition at line 539 of file CallGraph.h.

542 {
543 return e->getDirectCalls().count(callSite) ||
544 e->getIndirectCalls().count(callSite);
545 }
CallInstSet & getIndirectCalls()
Definition CallGraph.h:99
CallInstSet & getDirectCalls()
Definition CallGraph.h:95
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

◆ getCallees()

static void SVF::GenericGraphTraits< SVF::CallGraph * >::getCallees ( SVF::CallGraph g,
const SVF::CallICFGNode callSite,
SVF::CallGraph::FunctionSet callees 
)
inlinestatic

Definition at line 546 of file CallGraph.h.

549 {
550 callees.clear();
551 g->getCallees(callSite, callees);
552 }

◆ getDirectCalls()

static void SVF::GenericGraphTraits< SVF::CallGraph * >::getDirectCalls ( const SVF::CallGraph ,
const SVF::CallGraphEdge e,
std::vector< const SVF::CallICFGNode * > &  out 
)
inlinestatic

Definition at line 529 of file CallGraph.h.

531 {
532 out.assign(e->getDirectCalls().begin(), e->getDirectCalls().end());
533 }

◆ getIndirectCalls()

static void SVF::GenericGraphTraits< SVF::CallGraph * >::getIndirectCalls ( const SVF::CallGraph ,
const SVF::CallGraphEdge e,
std::vector< const SVF::CallICFGNode * > &  out 
)
inlinestatic

Definition at line 534 of file CallGraph.h.

536 {
537 out.assign(e->getIndirectCalls().begin(), e->getIndirectCalls().end());
538 }

◆ getInEdges()

static void SVF::GenericGraphTraits< SVF::CallGraph * >::getInEdges ( const SVF::CallGraph ,
const SVF::CallGraphNode n,
std::vector< const SVF::CallGraphEdge * > &  out 
)
inlinestatic

In-edges of n under this graph (whole CallGraph: all of them).

Definition at line 515 of file CallGraph.h.

517 {
518 out.clear();
519 for (SVF::CallGraphEdge* e : n->getInEdges())
520 out.push_back(e);
521 }
cJSON * n
Definition cJSON.cpp:2558
static void getInEdges(const SVF::CallGraph *, const SVF::CallGraphNode *n, std::vector< const SVF::CallGraphEdge * > &out)
In-edges of n under this graph (whole CallGraph: all of them).
Definition CallGraph.h:515

◆ getOutEdges()

static void SVF::GenericGraphTraits< SVF::CallGraph * >::getOutEdges ( const SVF::CallGraph ,
const SVF::CallGraphNode n,
std::vector< const SVF::CallGraphEdge * > &  out 
)
inlinestatic

Definition at line 522 of file CallGraph.h.

524 {
525 out.clear();
526 for (SVF::CallGraphEdge* e : n->getOutEdges())
527 out.push_back(e);
528 }
static void getOutEdges(const SVF::CallGraph *, const SVF::CallGraphNode *n, std::vector< const SVF::CallGraphEdge * > &out)
Definition CallGraph.h:522

◆ getRawNode()

Definition at line 506 of file CallGraph.h.

507 {
508 return n;
509 }

The documentation for this struct was generated from the following file: