clang
3.7.0
|
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. More...
#include <CoreEngine.h>
Additional Inherited Members | |
![]() | |
typedef ExplodedNodeSet::iterator | iterator |
![]() | |
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) |
![]() | |
const NodeBuilderContext & | C |
bool | Finalized |
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 345 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 352 of file CoreEngine.h.
References clang::ento::NodeBuilder::takeNodes().
|
inline |
Definition at line 360 of file CoreEngine.h.
References clang::ento::ExplodedNodeSet::begin(), clang::ento::ExplodedNodeSet::end(), and clang::ento::NodeBuilder::takeNodes().
|
override |
Definition at line 646 of file CoreEngine.cpp.
|
inline |
Definition at line 375 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::ProcessTemporaryDtor(), clang::ento::ExprEngine::removeDead(), clang::ento::ExprEngine::Visit(), 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::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 385 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(), and clang::ento::ExprEngine::VisitObjCMessage().