class StmtNodeBuilder
Declaration
class StmtNodeBuilder : public NodeBuilder { /* full declaration omitted */ };
Description
This builder class is useful for generating nodes that resulted from visiting a statement. The main difference from its parent NodeBuilder is that it creates a statement specific ProgramPoint.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:385
Inherits from: NodeBuilder
Member Variables
- private clang::ento::NodeBuilder* EnclosingBldr
Inherited from NodeBuilder:
Method Overview
- public StmtNodeBuilder(clang::ento::ExplodedNode * SrcNode, clang::ento::ExplodedNodeSet & DstSet, const clang::ento::NodeBuilderContext & Ctx, clang::ento::NodeBuilder * Enclosing = nullptr)
- public StmtNodeBuilder(clang::ento::ExplodedNodeSet & SrcSet, clang::ento::ExplodedNodeSet & DstSet, const clang::ento::NodeBuilderContext & Ctx, clang::ento::NodeBuilder * Enclosing = nullptr)
- public clang::ento::ExplodedNode * generateNode(const clang::Stmt * S, clang::ento::ExplodedNode * Pred, clang::ento::ProgramStateRef St, const clang::ProgramPointTag * tag = nullptr, ProgramPoint::Kind K = ProgramPoint::PostStmtKind)
- public clang::ento::ExplodedNode * generateSink(const clang::Stmt * S, clang::ento::ExplodedNode * Pred, clang::ento::ProgramStateRef St, const clang::ProgramPointTag * tag = nullptr, ProgramPoint::Kind K = ProgramPoint::PostStmtKind)
- public ~StmtNodeBuilder()
Inherited from NodeBuilder:
- public addNodes
- public addNodes
- public begin
- protected checkResults
- public end
- protected finalizeResults
- public generateNode
- protected generateNodeImpl
- public generateSink
- public getContext
- public getResults
- public hasGeneratedNodes
- protected hasNoSinksInFrontier
- public takeNodes
- public takeNodes
Methods
¶StmtNodeBuilder(
clang::ento::ExplodedNode* SrcNode,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& Ctx,
clang::ento::NodeBuilder* Enclosing = nullptr)
StmtNodeBuilder(
clang::ento::ExplodedNode* SrcNode,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& Ctx,
clang::ento::NodeBuilder* Enclosing = nullptr)
Description
Constructs a StmtNodeBuilder. If the builder is going to process nodes currently owned by another builder(with larger scope), use Enclosing builder to transfer ownership.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:392
Parameters
- clang::ento::ExplodedNode* SrcNode
- clang::ento::ExplodedNodeSet& DstSet
- const clang::ento::NodeBuilderContext& Ctx
- clang::ento::NodeBuilder* Enclosing = nullptr
¶StmtNodeBuilder(
clang::ento::ExplodedNodeSet& SrcSet,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& Ctx,
clang::ento::NodeBuilder* Enclosing = nullptr)
StmtNodeBuilder(
clang::ento::ExplodedNodeSet& SrcSet,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& Ctx,
clang::ento::NodeBuilder* Enclosing = nullptr)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:400
Parameters
- clang::ento::ExplodedNodeSet& SrcSet
- clang::ento::ExplodedNodeSet& DstSet
- const clang::ento::NodeBuilderContext& Ctx
- clang::ento::NodeBuilder* Enclosing = nullptr
¶clang::ento::ExplodedNode* generateNode(
const clang::Stmt* S,
clang::ento::ExplodedNode* Pred,
clang::ento::ProgramStateRef St,
const clang::ProgramPointTag* tag = nullptr,
ProgramPoint::Kind K =
ProgramPoint::PostStmtKind)
clang::ento::ExplodedNode* generateNode(
const clang::Stmt* S,
clang::ento::ExplodedNode* Pred,
clang::ento::ProgramStateRef St,
const clang::ProgramPointTag* tag = nullptr,
ProgramPoint::Kind K =
ProgramPoint::PostStmtKind)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:414
Parameters
- const clang::Stmt* S
- clang::ento::ExplodedNode* Pred
- clang::ento::ProgramStateRef St
- const clang::ProgramPointTag* tag = nullptr
- ProgramPoint::Kind K = ProgramPoint::PostStmtKind
¶clang::ento::ExplodedNode* generateSink(
const clang::Stmt* S,
clang::ento::ExplodedNode* Pred,
clang::ento::ProgramStateRef St,
const clang::ProgramPointTag* tag = nullptr,
ProgramPoint::Kind K =
ProgramPoint::PostStmtKind)
clang::ento::ExplodedNode* generateSink(
const clang::Stmt* S,
clang::ento::ExplodedNode* Pred,
clang::ento::ProgramStateRef St,
const clang::ProgramPointTag* tag = nullptr,
ProgramPoint::Kind K =
ProgramPoint::PostStmtKind)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:424
Parameters
- const clang::Stmt* S
- clang::ento::ExplodedNode* Pred
- clang::ento::ProgramStateRef St
- const clang::ProgramPointTag* tag = nullptr
- ProgramPoint::Kind K = ProgramPoint::PostStmtKind
¶~StmtNodeBuilder()
~StmtNodeBuilder()
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:409