clang API Documentation
This builder class is useful for generating nodes that resulted from visiting a statement. The main difference from it's parent NodeBuilder is that it creates a statement specific ProgramPoint. More...
#include <CoreEngine.h>


Public Member Functions | |
| StmtNodeBuilder (ExplodedNode *SrcNode, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, NodeBuilder *Enclosing=0) | |
| 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. | |
| StmtNodeBuilder (ExplodedNodeSet &SrcSet, ExplodedNodeSet &DstSet, const NodeBuilderContext &Ctx, NodeBuilder *Enclosing=0) | |
| virtual | ~StmtNodeBuilder () |
| ExplodedNode * | generateNode (const Stmt *S, ExplodedNode *Pred, ProgramStateRef St, bool MarkAsSink=false, const ProgramPointTag *tag=0, ProgramPoint::Kind K=ProgramPoint::PostStmtKind) |
| ExplodedNode * | generateNode (const ProgramPoint &PP, ExplodedNode *Pred, ProgramStateRef State, bool MarkAsSink=false) |
This builder class is useful for generating nodes that resulted from visiting a statement. The main difference from it's parent NodeBuilder is that it creates a statement specific ProgramPoint.
Definition at line 346 of file CoreEngine.h.
| clang::ento::StmtNodeBuilder::StmtNodeBuilder | ( | ExplodedNode * | SrcNode, |
| ExplodedNodeSet & | DstSet, | ||
| const NodeBuilderContext & | Ctx, | ||
| NodeBuilder * | Enclosing = 0 |
||
| ) | [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 353 of file CoreEngine.h.
References clang::ento::NodeBuilder::takeNodes().
| clang::ento::StmtNodeBuilder::StmtNodeBuilder | ( | ExplodedNodeSet & | SrcSet, |
| ExplodedNodeSet & | DstSet, | ||
| const NodeBuilderContext & | Ctx, | ||
| NodeBuilder * | Enclosing = 0 |
||
| ) | [inline] |
Definition at line 360 of file CoreEngine.h.
References clang::ento::ExplodedNodeSet::begin(), clang::ento::ExplodedNodeSet::end(), and clang::ento::NodeBuilder::takeNodes().
| StmtNodeBuilder::~StmtNodeBuilder | ( | ) | [virtual] |
Definition at line 605 of file CoreEngine.cpp.
| ExplodedNode* clang::ento::StmtNodeBuilder::generateNode | ( | const Stmt * | S, |
| ExplodedNode * | Pred, | ||
| ProgramStateRef | St, | ||
| bool | MarkAsSink = false, |
||
| const ProgramPointTag * | tag = 0, |
||
| ProgramPoint::Kind | K = ProgramPoint::PostStmtKind |
||
| ) | [inline] |
Definition at line 371 of file CoreEngine.h.
References clang::ento::NodeBuilder::generateNodeImpl(), clang::ento::ExplodedNode::getLocationContext(), and clang::ProgramPoint::getProgramPoint().
Referenced by clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::ExprEngine::evalBind(), clang::ento::ExprEngine::evalEagerlyAssume(), clang::ento::ExprEngine::evalObjCMessage(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::removeDead(), clang::ento::ExprEngine::VisitAsmStmt(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), 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::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitOffsetOfExpr(), and clang::ento::ExprEngine::VisitReturnStmt().
| ExplodedNode* clang::ento::StmtNodeBuilder::generateNode | ( | const ProgramPoint & | PP, |
| ExplodedNode * | Pred, | ||
| ProgramStateRef | State, | ||
| bool | MarkAsSink = false |
||
| ) | [inline] |
Definition at line 382 of file CoreEngine.h.
References clang::ento::NodeBuilder::generateNodeImpl().