Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
SVF::GenericGraphTraits< SVF::ICFG * > Struct Reference
Inheritance diagram for SVF::GenericGraphTraits< SVF::ICFG * >:
SVF::GenericGraphTraits< SVF::GenericGraph< SVF::ICFGNode, SVF::ICFGEdge > * >

Public Types

typedef SVF::ICFGNodeNodeRef
 
- Public Types inherited from SVF::GenericGraphTraits< SVF::GenericGraph< SVF::ICFGNode, SVF::ICFGEdge > * >
using NodeRef = typename GraphType::UnknownGraphTypeError
 

Static Public Member Functions

static const SVF::ICFGNodegetFunEntry (SVF::ICFG *, const SVF::FunObjVar *fun)
 Entry node of fun under this graph (whole ICFG: the entry block's front).
 
static void getFunICFGNodes (SVF::ICFG *, const SVF::FunObjVar *fun, std::vector< const SVF::ICFGNode * > &out)
 Nodes of fun contained in this graph (whole ICFG: all of them).
 
static void getSuccNodes (SVF::ICFG *, const SVF::ICFGNode *n, std::vector< const SVF::ICFGNode * > &out)
 Successors / predecessors of n under this graph.
 
static void getPredNodes (SVF::ICFG *, const SVF::ICFGNode *n, std::vector< const SVF::ICFGNode * > &out)
 
static bool containsNode (SVF::ICFG *, const SVF::ICFGNode *)
 Whether n belongs to this graph (whole ICFG contains every node).
 

Detailed Description

Definition at line 299 of file ICFG.h.

Member Typedef Documentation

◆ NodeRef

Definition at line 301 of file ICFG.h.

Member Function Documentation

◆ containsNode()

static bool SVF::GenericGraphTraits< SVF::ICFG * >::containsNode ( SVF::ICFG ,
const SVF::ICFGNode  
)
inlinestatic

Whether n belongs to this graph (whole ICFG contains every node).

Definition at line 337 of file ICFG.h.

338 {
339 return true;
340 }

◆ getFunEntry()

static const SVF::ICFGNode * SVF::GenericGraphTraits< SVF::ICFG * >::getFunEntry ( SVF::ICFG ,
const SVF::FunObjVar fun 
)
inlinestatic

Entry node of fun under this graph (whole ICFG: the entry block's front).

Definition at line 308 of file ICFG.h.

309 {
310 return fun->getEntryBlock()->front();
311 }
const SVFBasicBlock * getEntryBlock() const
const ICFGNode * front() const

◆ getFunICFGNodes()

static void SVF::GenericGraphTraits< SVF::ICFG * >::getFunICFGNodes ( SVF::ICFG ,
const SVF::FunObjVar fun,
std::vector< const SVF::ICFGNode * > &  out 
)
inlinestatic

Nodes of fun contained in this graph (whole ICFG: all of them).

Definition at line 313 of file ICFG.h.

315 {
316 out.clear();
317 for (auto it : *fun)
318 for (const SVF::ICFGNode* n : it.second->getICFGNodeList())
319 out.push_back(n);
320 }
for(i=0;a &&(i<(size_t) count);i++)
Definition cJSON.cpp:2569
cJSON * n
Definition cJSON.cpp:2558
for isBitcode
Definition BasicTypes.h:70
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

◆ getPredNodes()

static void SVF::GenericGraphTraits< SVF::ICFG * >::getPredNodes ( SVF::ICFG ,
const SVF::ICFGNode n,
std::vector< const SVF::ICFGNode * > &  out 
)
inlinestatic

Definition at line 329 of file ICFG.h.

331 {
332 out.clear();
333 for (const SVF::ICFGEdge* e : n->getInEdges())
334 out.push_back(e->getSrcNode());
335 }

◆ getSuccNodes()

static void SVF::GenericGraphTraits< SVF::ICFG * >::getSuccNodes ( SVF::ICFG ,
const SVF::ICFGNode n,
std::vector< const SVF::ICFGNode * > &  out 
)
inlinestatic

Successors / predecessors of n under this graph.

Definition at line 322 of file ICFG.h.

324 {
325 out.clear();
326 for (const SVF::ICFGEdge* e : n->getOutEdges())
327 out.push_back(e->getDstNode());
328 }

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