clang 23.0.0git
clang::ento::IndirectGotoNodeBuilder Class Reference

#include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h"

Inheritance diagram for clang::ento::IndirectGotoNodeBuilder:
[legend]

Public Types

using iterator = CFGBlock::const_succ_iterator

Public Member Functions

 IndirectGotoNodeBuilder (ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, const Expr *Tgt, const CFGBlock *Dispatch)
iterator begin ()
iterator end ()
ExplodedNodegenerateNode (const CFGBlock *Block, ProgramStateRef State, ExplodedNode *Pred)
const ExprgetTarget () const
const LocationContextgetLocationContext () const
ExplodedNodegenerateNode (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred, bool MarkAsSink=false)
 Generates a node in the ExplodedGraph.
ExplodedNodegenerateNode (const Stmt *S, ExplodedNode *Pred, ProgramStateRef St, const ProgramPointTag *tag=nullptr, ProgramPoint::Kind K=ProgramPoint::PostStmtKind)
Public Member Functions inherited from clang::ento::NodeBuilder
 NodeBuilder (ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx)
 NodeBuilder (ExplodedNode *SrcNode, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx)
 NodeBuilder (const ExplodedNodeSet &SrcSet, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx)
ExplodedNodegenerateNode (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred, bool MarkAsSink=false)
 Generates a node in the ExplodedGraph.
ExplodedNodegenerateSink (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred)
 Generates a sink in the ExplodedGraph.
ExplodedNodegenerateNode (const Stmt *S, ExplodedNode *Pred, ProgramStateRef St, const ProgramPointTag *tag=nullptr, ProgramPoint::Kind K=ProgramPoint::PostStmtKind)
ExplodedNodegenerateSink (const Stmt *S, ExplodedNode *Pred, ProgramStateRef St, const ProgramPointTag *tag=nullptr, ProgramPoint::Kind K=ProgramPoint::PostStmtKind)
const ExplodedNodeSetgetResults () const
const NodeBuilderContextgetContext () const
bool hasGeneratedNodes () const
void takeNodes (const ExplodedNodeSet &S)
void takeNodes (ExplodedNode *N)
void addNodes (const ExplodedNodeSet &S)
void addNodes (ExplodedNode *N)

Additional Inherited Members

Protected Attributes inherited from clang::ento::NodeBuilder
const NodeBuilderContextC
bool HasGeneratedNodes = false
ExplodedNodeSetFrontier
 The frontier set - a set of nodes which need to be propagated after the builder dies.

Detailed Description

Definition at line 337 of file CoreEngine.h.

Member Typedef Documentation

◆ iterator

Constructor & Destructor Documentation

◆ IndirectGotoNodeBuilder()

clang::ento::IndirectGotoNodeBuilder::IndirectGotoNodeBuilder ( ExplodedNodeSet & DstSet,
const NodeBuilderContext & Ctx,
const Expr * Tgt,
const CFGBlock * Dispatch )
inline

Definition at line 342 of file CoreEngine.h.

References clang::ento::NodeBuilder::NodeBuilder().

Member Function Documentation

◆ begin()

iterator clang::ento::IndirectGotoNodeBuilder::begin ( )
inline

Definition at line 349 of file CoreEngine.h.

◆ end()

iterator clang::ento::IndirectGotoNodeBuilder::end ( )
inline

Definition at line 350 of file CoreEngine.h.

◆ generateNode() [1/3]

ExplodedNode * IndirectGotoNodeBuilder::generateNode ( const CFGBlock * Block,
ProgramStateRef State,
ExplodedNode * Pred )

◆ generateNode() [2/3]

ExplodedNode * NodeBuilder::generateNode ( const ProgramPoint & PP,
ProgramStateRef State,
ExplodedNode * Pred,
bool MarkAsSink = false )

◆ generateNode() [3/3]

ExplodedNode * clang::ento::NodeBuilder::generateNode ( const Stmt * S,
ExplodedNode * Pred,
ProgramStateRef St,
const ProgramPointTag * tag = nullptr,
ProgramPoint::Kind K = ProgramPoint::PostStmtKind )
inline

Definition at line 287 of file CoreEngine.h.

◆ getLocationContext()

const LocationContext * clang::ento::IndirectGotoNodeBuilder::getLocationContext ( ) const
inline

Definition at line 359 of file CoreEngine.h.

References clang::ento::NodeBuilder::C.

◆ getTarget()

const Expr * clang::ento::IndirectGotoNodeBuilder::getTarget ( ) const
inline

Definition at line 357 of file CoreEngine.h.


The documentation for this class was generated from the following files: