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 const ICFGNodegetFunExit (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 1272 of file SlicedGraphs.h.

Member Typedef Documentation

◆ ChildEdgeIteratorType

Definition at line 1278 of file SlicedGraphs.h.

◆ ChildIteratorType

Definition at line 1277 of file SlicedGraphs.h.

◆ EdgeRef

Definition at line 1275 of file SlicedGraphs.h.

◆ NodeRef

Definition at line 1274 of file SlicedGraphs.h.

◆ nodes_iterator

Definition at line 1276 of file SlicedGraphs.h.

Member Function Documentation

◆ child_begin()

Definition at line 1333 of file SlicedGraphs.h.

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

◆ child_edge_begin()

Definition at line 1350 of file SlicedGraphs.h.

1351 {
1352 return ChildEdgeIteratorType::begin(n.view, n.raw);
1353 }

◆ child_edge_end()

Definition at line 1354 of file SlicedGraphs.h.

1355 {
1356 return ChildEdgeIteratorType::end(n.view, n.raw);
1357 }
static SlicedICFGEdgeIterImpl end(const SlicedICFGView *v, const ICFGNode *n)

◆ child_end()

Definition at line 1337 of file SlicedGraphs.h.

1338 {
1340 }

◆ containsNode()

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

Definition at line 1313 of file SlicedGraphs.h.

1314 {
1315 return g->isKeptNode(n);
1316 }
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 1341 of file SlicedGraphs.h.

1342 {
1343 return child_begin(n);
1344 }
static ChildIteratorType child_begin(NodeRef n)

◆ direct_child_end()

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

Definition at line 1345 of file SlicedGraphs.h.

1346 {
1347 return child_end(n);
1348 }
static ChildIteratorType child_end(NodeRef n)

◆ edge_dest()

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

Definition at line 1359 of file SlicedGraphs.h.

1360 {
1361 return e.dst;
1362 }

◆ getEntryNode()

Definition at line 1319 of file SlicedGraphs.h.

1320 {
1321 return NodeRef{};
1322 }

◆ getFunEntry()

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

Definition at line 1290 of file SlicedGraphs.h.

1291 {
1292 return g->getFunEntry(fun);
1293 }

◆ getFunExit()

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

Definition at line 1294 of file SlicedGraphs.h.

1295 {
1296 return g->getFunExit(fun);
1297 }

◆ getFunICFGNodes()

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

Definition at line 1298 of file SlicedGraphs.h.

1300 {
1301 g->getFunICFGNodes(fun, out);
1302 }

◆ getNode()

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

Definition at line 1372 of file SlicedGraphs.h.

1373 {
1374 const ICFGNode* raw = v->getOriginalICFG()->getGNode(id);
1375 return NodeRef{v, (raw != nullptr && v->isKeptNode(raw)) ? raw : nullptr};
1376 }
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 1368 of file SlicedGraphs.h.

1369 {
1370 return n.raw->getId();
1371 }

◆ getPredNodes()

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

Definition at line 1308 of file SlicedGraphs.h.

1310 {
1311 g->getPredNodes(n, out);
1312 }

◆ getRawNode()

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

Definition at line 1282 of file SlicedGraphs.h.

1283 {
1284 return n.raw;
1285 }

◆ getSuccNodes()

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

Definition at line 1303 of file SlicedGraphs.h.

1305 {
1306 g->getSuccNodes(n, out);
1307 }

◆ graphSize()

Definition at line 1364 of file SlicedGraphs.h.

1365 {
1366 return static_cast<unsigned>(v->getKeptNodes().size());
1367 }

◆ nodes_begin()

Definition at line 1324 of file SlicedGraphs.h.

1325 {
1326 return SlicedICFGNodeIter(v, v->getKeptNodes().begin());
1327 }

◆ nodes_end()

Definition at line 1328 of file SlicedGraphs.h.

1329 {
1330 return SlicedICFGNodeIter(v, v->getKeptNodes().end());
1331 }

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