class NodeBuilderWithSinks

Declaration

class NodeBuilderWithSinks : public NodeBuilder { /* full declaration omitted */ };

Description

This node builder keeps track of the generated sink nodes.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:348

Inherits from: NodeBuilder

Member Variables

protected SmallVector<clang::ento::ExplodedNode*, 2> sinksGenerated
protected clang::ProgramPoint& Location

Inherited from NodeBuilder:

protected C
protected Finalized
protected HasGeneratedNodes = false
protected Frontier

Method Overview

  • public NodeBuilderWithSinks(clang::ento::ExplodedNode * Pred, clang::ento::ExplodedNodeSet & DstSet, const clang::ento::NodeBuilderContext & Ctx, clang::ProgramPoint & L)
  • private void anchor()
  • public clang::ento::ExplodedNode * generateNode(clang::ento::ProgramStateRef State, clang::ento::ExplodedNode * Pred, const clang::ProgramPointTag * Tag = nullptr)
  • public clang::ento::ExplodedNode * generateSink(clang::ento::ProgramStateRef State, clang::ento::ExplodedNode * Pred, const clang::ProgramPointTag * Tag = nullptr)
  • public const SmallVectorImpl<clang::ento::ExplodedNode *> & getSinks() const

Inherited from NodeBuilder:

Methods

NodeBuilderWithSinks(
    clang::ento::ExplodedNode* Pred,
    clang::ento::ExplodedNodeSet& DstSet,
    const clang::ento::NodeBuilderContext& Ctx,
    clang::ProgramPoint& L)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:356

Parameters

clang::ento::ExplodedNode* Pred
clang::ento::ExplodedNodeSet& DstSet
const clang::ento::NodeBuilderContext& Ctx
clang::ProgramPoint& L

void anchor()

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:349

clang::ento::ExplodedNode* generateNode(
    clang::ento::ProgramStateRef State,
    clang::ento::ExplodedNode* Pred,
    const clang::ProgramPointTag* Tag = nullptr)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:360

Parameters

clang::ento::ProgramStateRef State
clang::ento::ExplodedNode* Pred
const clang::ProgramPointTag* Tag = nullptr

clang::ento::ExplodedNode* generateSink(
    clang::ento::ProgramStateRef State,
    clang::ento::ExplodedNode* Pred,
    const clang::ProgramPointTag* Tag = nullptr)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:367

Parameters

clang::ento::ProgramStateRef State
clang::ento::ExplodedNode* Pred
const clang::ProgramPointTag* Tag = nullptr

const SmallVectorImpl<clang::ento::ExplodedNode*>&
getSinks() const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:376