diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-02-19 23:45:28 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-02-19 23:45:28 +0000 |
commit | 58e899b336c63fa25d4cc8986d97a40933cded9b (patch) | |
tree | c00551ec9cf8697493beceebe17454569a9d6ff8 /lib/Analysis/GRCoreEngine.cpp | |
parent | 2680b5f926fad29c1a2b2723a70d189f4b637979 (diff) |
Added a new method to GRStmtNodeBuilder to build nodes using an arbitrary
PostStmt program point. This allows clients to pass in PostStmtCustom program
points.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/GRCoreEngine.cpp')
-rw-r--r-- | lib/Analysis/GRCoreEngine.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Analysis/GRCoreEngine.cpp b/lib/Analysis/GRCoreEngine.cpp index 42ea41382e..28f1a317c3 100644 --- a/lib/Analysis/GRCoreEngine.cpp +++ b/lib/Analysis/GRCoreEngine.cpp @@ -368,7 +368,7 @@ void GRStmtNodeBuilderImpl::GenerateAutoTransition(ExplodedNodeImpl* N) { Eng.WList->Enqueue(Succ, B, Idx+1); } -static inline ProgramPoint GetPostLoc(Stmt* S, ProgramPoint::Kind K) { +static inline PostStmt GetPostLoc(Stmt* S, ProgramPoint::Kind K) { switch (K) { default: assert(false && "Invalid PostXXXKind."); @@ -403,10 +403,13 @@ ExplodedNodeImpl* GRStmtNodeBuilderImpl::generateNodeImpl(Stmt* S, const void* State, ExplodedNodeImpl* Pred, ProgramPoint::Kind K) { - + return generateNodeImpl(GetPostLoc(S, K), State, Pred); +} + +ExplodedNodeImpl* +GRStmtNodeBuilderImpl::generateNodeImpl(PostStmt Loc, const void* State, + ExplodedNodeImpl* Pred) { bool IsNew; - ProgramPoint Loc = GetPostLoc(S, K); - ExplodedNodeImpl* N = Eng.G->getNodeImpl(Loc, State, &IsNew); N->addPredecessor(Pred); Deferred.erase(Pred); |