|
clang
5.0.0
|
This builder class is useful for generating nodes that resulted from visiting a statement. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h"
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... | |
| 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. More... | |
| bool | HasGeneratedNodes |
| ExplodedNodeSet & | Frontier |
| The frontier set - a set of nodes which need to be propagated after the builder dies. More... | |
This builder class is useful for generating nodes that resulted from visiting a statement.
The main difference from its parent NodeBuilder is that it creates a statement specific ProgramPoint.
Definition at line 349 of file CoreEngine.h.
|
inline |
Constructs a StmtNodeBuilder.
If the builder is going to process nodes currently owned by another builder(with larger scope), use Enclosing builder to transfer ownership.
Definition at line 356 of file CoreEngine.h.
References clang::ento::NodeBuilder::takeNodes().
|
inline |
Definition at line 364 of file CoreEngine.h.
References clang::ento::ExplodedNodeSet::begin(), E, clang::ento::ExplodedNodeSet::end(), I, and clang::ento::NodeBuilder::takeNodes().
|
override |
Definition at line 674 of file CoreEngine.cpp.
|
inline |
Definition at line 379 of file CoreEngine.h.
References clang::ento::NodeBuilder::generateNode(), clang::ento::ExplodedNode::getLocationContext(), and clang::ProgramPoint::getProgramPoint().
Referenced by clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::ExprEngine::evalBind(), clang::ento::ExprEngine::evalEagerlyAssumeBinOpBifurcation(), clang::ento::ExprEngine::handleLValueBitCast(), clang::ento::ExprEngine::handleLVectorSplat(), clang::ento::ExprEngine::handleUOExtension(), clang::ento::ExprEngine::ProcessTemporaryDtor(), clang::ento::ExprEngine::removeDead(), clang::ento::ExprEngine::Visit(), clang::ento::ExprEngine::VisitAtomicExpr(), clang::ento::ExprEngine::VisitBinaryOperator(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ExprEngine::VisitCXXBindTemporaryExpr(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitGCCAsmStmt(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), clang::ento::ExprEngine::VisitInitListExpr(), clang::ento::ExprEngine::VisitLambdaExpr(), clang::ento::ExprEngine::VisitLvalArraySubscriptExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::ExprEngine::VisitMemberExpr(), clang::ento::ExprEngine::VisitMSAsmStmt(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitObjCMessage(), clang::ento::ExprEngine::VisitOffsetOfExpr(), clang::ento::ExprEngine::VisitReturnStmt(), clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr(), and clang::ento::ExprEngine::VisitUnaryOperator().
|
inline |
Definition at line 389 of file CoreEngine.h.
References clang::ento::NodeBuilder::generateSink(), clang::ento::ExplodedNode::getLocationContext(), and clang::ProgramPoint::getProgramPoint().
Referenced by clang::ento::ExprEngine::Visit(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCXXConstructExpr(), and clang::ento::ExprEngine::VisitObjCMessage().
1.8.6