clang  6.0.0svn
Public Member Functions | Protected Attributes | List of all members
clang::ento::NodeBuilderWithSinks Class Reference

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

#include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h"

Inheritance diagram for clang::ento::NodeBuilderWithSinks:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::NodeBuilderWithSinks:
Collaboration graph
[legend]

Public Member Functions

 NodeBuilderWithSinks (ExplodedNode *Pred, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, ProgramPoint &L)
 
ExplodedNodegenerateNode (ProgramStateRef State, ExplodedNode *Pred, const ProgramPointTag *Tag=nullptr)
 
ExplodedNodegenerateSink (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 ()
 
ExplodedNodegenerateNode (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred)
 Generates a node in the ExplodedGraph. More...
 
ExplodedNodegenerateSink (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred)
 Generates a sink in the ExplodedGraph. More...
 
const ExplodedNodeSetgetResults ()
 
iterator begin ()
 Iterators through the results frontier. More...
 
iterator end ()
 
const NodeBuilderContextgetContext ()
 
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
 
ProgramPointLocation
 
- Protected Attributes inherited from clang::ento::NodeBuilder
const NodeBuilderContextC
 
bool Finalized
 Specifies if the builder results have been finalized. More...
 
bool HasGeneratedNodes
 
ExplodedNodeSetFrontier
 The frontier set - a set of nodes which need to be propagated after the builder dies. More...
 

Additional Inherited Members

- Public Types inherited from clang::ento::NodeBuilder
typedef ExplodedNodeSet::iterator iterator
 
- Protected Member Functions inherited from clang::ento::NodeBuilder
virtual bool checkResults ()
 Checkes if the results are ready. More...
 
bool hasNoSinksInFrontier ()
 
virtual void finalizeResults ()
 Allow subclasses to finalize results before result_begin() is executed. More...
 
ExplodedNodegenerateNodeImpl (const ProgramPoint &PP, ProgramStateRef State, ExplodedNode *Pred, bool MarkAsSink=false)
 

Detailed Description

This node builder keeps track of the generated sink nodes.

Definition at line 313 of file CoreEngine.h.

Constructor & Destructor Documentation

◆ NodeBuilderWithSinks()

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

Definition at line 320 of file CoreEngine.h.

Member Function Documentation

◆ generateNode()

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

◆ generateSink()

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

◆ getSinks()

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

Definition at line 340 of file CoreEngine.h.

Member Data Documentation

◆ Location

ProgramPoint& clang::ento::NodeBuilderWithSinks::Location
protected

Definition at line 317 of file CoreEngine.h.

◆ sinksGenerated

SmallVector<ExplodedNode*, 2> clang::ento::NodeBuilderWithSinks::sinksGenerated
protected

Definition at line 316 of file CoreEngine.h.


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