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

This node builder keeps track of the generated sink nodes. More...

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

Public Member Functions
NodeBuilderWithSinks (ExplodedNode *Pred, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, ProgramPoint &L)
ExplodedNode * generateNode (ProgramStateRef State, ExplodedNode *Pred, const ProgramPointTag *Tag=nullptr)
ExplodedNode * generateSink (ProgramStateRef State, ExplodedNode *Pred, const ProgramPointTag *Tag=nullptr)
const SmallVectorImpl< ExplodedNode * > & getSinks () const
- 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)
Protected Attributes
SmallVector< ExplodedNode *, 2 > sinksGenerated
ProgramPoint & Location
- 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.
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)

This node builder keeps track of the generated sink nodes.

Definition at line 347 of file CoreEngine.h.

generateNode()

generateSink()

getSinks()

Location

sinksGenerated


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