class BranchNodeBuilder
Declaration
class BranchNodeBuilder : public NodeBuilder { /* full declaration omitted */ };
Description
BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the if statement - true and false.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:437
Inherits from: NodeBuilder
Member Variables
- private const clang::CFGBlock* DstT
- private const clang::CFGBlock* DstF
- private bool InFeasibleTrue
- private bool InFeasibleFalse
Inherited from NodeBuilder:
Method Overview
- public BranchNodeBuilder(clang::ento::ExplodedNode * SrcNode, clang::ento::ExplodedNodeSet & DstSet, const clang::ento::NodeBuilderContext & C, const clang::CFGBlock * dstT, const clang::CFGBlock * dstF)
- public BranchNodeBuilder(const clang::ento::ExplodedNodeSet & SrcSet, clang::ento::ExplodedNodeSet & DstSet, const clang::ento::NodeBuilderContext & C, const clang::CFGBlock * dstT, const clang::CFGBlock * dstF)
- private void anchor()
- public clang::ento::ExplodedNode * generateNode(clang::ento::ProgramStateRef State, bool branch, clang::ento::ExplodedNode * Pred)
- public const clang::CFGBlock * getTargetBlock(bool branch) const
- public bool isFeasible(bool branch)
- public void markInfeasible(bool branch)
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
¶BranchNodeBuilder(
clang::ento::ExplodedNode* SrcNode,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& C,
const clang::CFGBlock* dstT,
const clang::CFGBlock* dstF)
BranchNodeBuilder(
clang::ento::ExplodedNode* SrcNode,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& C,
const clang::CFGBlock* dstT,
const clang::CFGBlock* dstF)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:447
Parameters
- clang::ento::ExplodedNode* SrcNode
- clang::ento::ExplodedNodeSet& DstSet
- const clang::ento::NodeBuilderContext& C
- const clang::CFGBlock* dstT
- const clang::CFGBlock* dstF
¶BranchNodeBuilder(
const clang::ento::ExplodedNodeSet& SrcSet,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& C,
const clang::CFGBlock* dstT,
const clang::CFGBlock* dstF)
BranchNodeBuilder(
const clang::ento::ExplodedNodeSet& SrcSet,
clang::ento::ExplodedNodeSet& DstSet,
const clang::ento::NodeBuilderContext& C,
const clang::CFGBlock* dstT,
const clang::CFGBlock* dstF)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:457
Parameters
- const clang::ento::ExplodedNodeSet& SrcSet
- clang::ento::ExplodedNodeSet& DstSet
- const clang::ento::NodeBuilderContext& C
- const clang::CFGBlock* dstT
- const clang::CFGBlock* dstF
¶void anchor()
void anchor()
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:444
¶clang::ento::ExplodedNode* generateNode(
clang::ento::ProgramStateRef State,
bool branch,
clang::ento::ExplodedNode* Pred)
clang::ento::ExplodedNode* generateNode(
clang::ento::ProgramStateRef State,
bool branch,
clang::ento::ExplodedNode* Pred)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:465
Parameters
- clang::ento::ProgramStateRef State
- bool branch
- clang::ento::ExplodedNode* Pred
¶const clang::CFGBlock* getTargetBlock(
bool branch) const
const clang::CFGBlock* getTargetBlock(
bool branch) const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:468
Parameters
- bool branch
¶bool isFeasible(bool branch)
bool isFeasible(bool branch)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:479
Parameters
- bool branch
¶void markInfeasible(bool branch)
void markInfeasible(bool branch)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h:472
Parameters
- bool branch