clang: clang::ento::BranchNodeBuilder Class Reference (original) (raw)

BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the if statement - true and false. More...

#include "[clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h](CoreEngine%5F8h%5Fsource.html)"

Public Member Functions
BranchNodeBuilder (ExplodedNode *SrcNode, ExplodedNodeSet &DstSet, const NodeBuilderContext &C, const CFGBlock *DT, const CFGBlock *DF)
BranchNodeBuilder (const ExplodedNodeSet &SrcSet, ExplodedNodeSet &DstSet, const NodeBuilderContext &C, const CFGBlock *DT, const CFGBlock *DF)
ExplodedNode * generateNode (ProgramStateRef State, bool branch, ExplodedNode *Pred)
- Public Member Functions inherited from clang::ento::NodeBuilder
NodeBuilder (ExplodedNode *SrcNode, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, bool F=true)
NodeBuilder (const ExplodedNodeSet &SrcSet, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, bool F=true)
virtual ~NodeBuilder ()=default
ExplodedNode * generateNode (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred)
Generates a node in the ExplodedGraph.
ExplodedNode * generateSink (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred)
Generates a sink in the ExplodedGraph.
const ExplodedNodeSet & getResults ()
iterator begin ()
Iterators through the results frontier.
iterator end ()
const NodeBuilderContext & getContext ()
bool hasGeneratedNodes ()
void takeNodes (const ExplodedNodeSet &S)
void takeNodes (ExplodedNode *N)
void addNodes (const ExplodedNodeSet &S)
void addNodes (ExplodedNode *N)
Additional Inherited Members
- Public Types inherited from clang::ento::NodeBuilder
using iterator = ExplodedNodeSet::iterator
- Protected Member Functions inherited from clang::ento::NodeBuilder
virtual bool checkResults ()
Checks if the results are ready.
bool hasNoSinksInFrontier ()
virtual void finalizeResults ()
Allow subclasses to finalize results before result_begin() is executed.
ExplodedNode * generateNodeImpl (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred, bool MarkAsSink=false)
- Protected Attributes inherited from clang::ento::NodeBuilder
const NodeBuilderContext & C
bool Finalized
Specifies if the builder results have been finalized.
bool HasGeneratedNodes = false
ExplodedNodeSet & Frontier
The frontier set - a set of nodes which need to be propagated after the builder dies.

BranchNodeBuilder is responsible for constructing the nodes corresponding to the two branches of the if statement - true and false.

Definition at line 436 of file CoreEngine.h.

BranchNodeBuilder() [2/2]

generateNode()


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