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

Public Types

using NodeRef = SlicedICFGNodeRef
 
using EdgeRef = SlicedICFGEdgeRef
 
using nodes_iterator = SlicedICFGNodeIter
 
using ChildIteratorType = SlicedICFGChildIterImpl< true >
 
using ChildEdgeIteratorType = SlicedICFGEdgeIterImpl< true >
 

Static Public Member Functions

static const ICFGNodegetRawNode (NodeRef n)
 
static const ICFGNodegetFunEntry (const SlicedICFGView *g, const FunObjVar *fun)
 
static void getFunICFGNodes (const SlicedICFGView *g, const FunObjVar *fun, std::vector< const ICFGNode * > &out)
 
static void getSuccNodes (const SlicedICFGView *g, const ICFGNode *n, std::vector< const ICFGNode * > &out)
 
static void getPredNodes (const SlicedICFGView *g, const ICFGNode *n, std::vector< const ICFGNode * > &out)
 
static bool containsNode (const SlicedICFGView *g, const ICFGNode *n)
 
static NodeRef getEntryNode (const SlicedICFGView *)
 
static nodes_iterator nodes_begin (const SlicedICFGView *v)
 
static nodes_iterator nodes_end (const SlicedICFGView *v)
 
static ChildIteratorType child_begin (NodeRef n)
 
static ChildIteratorType child_end (NodeRef n)
 
static ChildIteratorType direct_child_begin (NodeRef n)
 
static ChildIteratorType direct_child_end (NodeRef n)
 
static ChildEdgeIteratorType child_edge_begin (NodeRef n)
 
static ChildEdgeIteratorType child_edge_end (NodeRef n)
 
static NodeRef edge_dest (const EdgeRef &e)
 
static unsigned graphSize (const SlicedICFGView *v)
 
static unsigned getNodeID (NodeRef n)
 
static NodeRef getNode (const SlicedICFGView *v, NodeID id)
 

Detailed Description

Definition at line 1288 of file SlicedGraphs.h.

Member Typedef Documentation

◆ ChildEdgeIteratorType

Definition at line 1294 of file SlicedGraphs.h.

◆ ChildIteratorType

Definition at line 1293 of file SlicedGraphs.h.

◆ EdgeRef

Definition at line 1291 of file SlicedGraphs.h.

◆ NodeRef

Definition at line 1290 of file SlicedGraphs.h.

◆ nodes_iterator

Definition at line 1292 of file SlicedGraphs.h.

Member Function Documentation

◆ child_begin()

Definition at line 1345 of file SlicedGraphs.h.

1346 {
1348 }
cJSON * n
Definition cJSON.cpp:2558
static SlicedICFGEdgeIterImpl begin(const SlicedICFGView *v, const ICFGNode *n)
SlicedICFGChildIterImpl< true > ChildIteratorType

◆ child_edge_begin()

Definition at line 1362 of file SlicedGraphs.h.

1363 {
1364 return ChildEdgeIteratorType::begin(n.view, n.raw);
1365 }

◆ child_edge_end()

Definition at line 1366 of file SlicedGraphs.h.

1367 {
1368 return ChildEdgeIteratorType::end(n.view, n.raw);
1369 }
static SlicedICFGEdgeIterImpl end(const SlicedICFGView *v, const ICFGNode *n)

◆ child_end()

Definition at line 1349 of file SlicedGraphs.h.

1350 {
1352 }

◆ containsNode()

static bool SVF::GenericGraphTraits< const SlicedICFGView * >::containsNode ( const SlicedICFGView g,
const ICFGNode n 
)
inlinestatic

Definition at line 1325 of file SlicedGraphs.h.

1326 {
1327 return g->isKeptNode(n);
1328 }
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:76

◆ direct_child_begin()

static ChildIteratorType SVF::GenericGraphTraits< const SlicedICFGView * >::direct_child_begin ( NodeRef  n)
inlinestatic

Definition at line 1353 of file SlicedGraphs.h.

1354 {
1355 return child_begin(n);
1356 }
static ChildIteratorType child_begin(NodeRef n)

◆ direct_child_end()

static ChildIteratorType SVF::GenericGraphTraits< const SlicedICFGView * >::direct_child_end ( NodeRef  n)
inlinestatic

Definition at line 1357 of file SlicedGraphs.h.

1358 {
1359 return child_end(n);
1360 }
static ChildIteratorType child_end(NodeRef n)

◆ edge_dest()

static NodeRef SVF::GenericGraphTraits< const SlicedICFGView * >::edge_dest ( const EdgeRef e)
inlinestatic

Definition at line 1371 of file SlicedGraphs.h.

1372 {
1373 return e.dst;
1374 }

◆ getEntryNode()

Definition at line 1331 of file SlicedGraphs.h.

1332 {
1333 return NodeRef{};
1334 }

◆ getFunEntry()

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

Definition at line 1306 of file SlicedGraphs.h.

1307 {
1308 return g->getFunEntry(fun);
1309 }

◆ getFunICFGNodes()

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

Definition at line 1310 of file SlicedGraphs.h.

1312 {
1313 g->getFunICFGNodes(fun, out);
1314 }

◆ getNode()

static NodeRef SVF::GenericGraphTraits< const SlicedICFGView * >::getNode ( const SlicedICFGView v,
NodeID  id 
)
inlinestatic

Definition at line 1384 of file SlicedGraphs.h.

1385 {
1386 const ICFGNode* raw = v->getOriginalICFG()->getGNode(id);
1387 return NodeRef{v, (raw != nullptr && v->isKeptNode(raw)) ? raw : nullptr};
1388 }
const char *const const char *const raw
Definition cJSON.h:270

◆ getNodeID()

static unsigned SVF::GenericGraphTraits< const SlicedICFGView * >::getNodeID ( NodeRef  n)
inlinestatic

Definition at line 1380 of file SlicedGraphs.h.

1381 {
1382 return n.raw->getId();
1383 }

◆ getPredNodes()

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

Definition at line 1320 of file SlicedGraphs.h.

1322 {
1323 g->getPredNodes(n, out);
1324 }

◆ getRawNode()

static const ICFGNode * SVF::GenericGraphTraits< const SlicedICFGView * >::getRawNode ( NodeRef  n)
inlinestatic

Definition at line 1298 of file SlicedGraphs.h.

1299 {
1300 return n.raw;
1301 }

◆ getSuccNodes()

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

Definition at line 1315 of file SlicedGraphs.h.

1317 {
1318 g->getSuccNodes(n, out);
1319 }

◆ graphSize()

Definition at line 1376 of file SlicedGraphs.h.

1377 {
1378 return static_cast<unsigned>(v->getKeptNodes().size());
1379 }

◆ nodes_begin()

Definition at line 1336 of file SlicedGraphs.h.

1337 {
1338 return SlicedICFGNodeIter(v, v->getKeptNodes().begin());
1339 }

◆ nodes_end()

Definition at line 1340 of file SlicedGraphs.h.

1341 {
1342 return SlicedICFGNodeIter(v, v->getKeptNodes().end());
1343 }

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