From: Ted Kremenek Date: Tue, 23 Jun 2009 20:27:53 +0000 (+0000) Subject: Remove GRStateManager::BindDecl() and GRStateManager::BindDeclWithInit(). X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f3b097523614608537f3cc235585a426a0dd6117;p=clang Remove GRStateManager::BindDecl() and GRStateManager::BindDeclWithInit(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73995 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/PathSensitive/GRState.h b/include/clang/Analysis/PathSensitive/GRState.h index 98f1242ad8..1f230dfaf2 100644 --- a/include/clang/Analysis/PathSensitive/GRState.h +++ b/include/clang/Analysis/PathSensitive/GRState.h @@ -218,6 +218,10 @@ public: return bindExpr(Ex, V, true, false); } + const GRState *bindDecl(const VarDecl* VD, SVal IVal) const; + + const GRState *bindDeclWithNoInit(const VarDecl* VD) const; + const GRState *bindLoc(Loc location, SVal V) const; const GRState *bindLoc(SVal location, SVal V) const; @@ -498,16 +502,6 @@ public: StoreManager& getStoreManager() { return *StoreMgr; } ConstraintManager& getConstraintManager() { return *ConstraintMgr; } - const GRState* BindDecl(const GRState* St, const VarDecl* VD, SVal IVal) { - // Store manager should return a persistent state. - return StoreMgr->BindDecl(St, VD, IVal); - } - - const GRState* BindDeclWithNoInit(const GRState* St, const VarDecl* VD) { - // Store manager should return a persistent state. - return StoreMgr->BindDeclWithNoInit(St, VD); - } - const GRState* RemoveDeadBindings(const GRState* St, Stmt* Loc, SymbolReaper& SymReaper); @@ -709,6 +703,14 @@ inline const GRState *GRState::bindCompoundLiteral(const CompoundLiteralExpr* CL return Mgr->StoreMgr->BindCompoundLiteral(this, CL, V); } +inline const GRState *GRState::bindDecl(const VarDecl* VD, SVal IVal) const { + return Mgr->StoreMgr->BindDecl(this, VD, IVal); +} + +inline const GRState *GRState::bindDeclWithNoInit(const VarDecl* VD) const { + return Mgr->StoreMgr->BindDeclWithNoInit(this, VD); +} + inline const GRState *GRState::bindExpr(const Stmt* Ex, SVal V, bool isBlkExpr, bool Invalidate) const { return Mgr->BindExpr(this, Ex, V, isBlkExpr, Invalidate); diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp index 7d56d108de..c32c424b66 100644 --- a/lib/Analysis/GRExprEngine.cpp +++ b/lib/Analysis/GRExprEngine.cpp @@ -2247,7 +2247,7 @@ void GRExprEngine::VisitDeclStmt(DeclStmt* DS, NodeTy* Pred, NodeSet& Dst) { InitVal = ValMgr.getConjuredSymbolVal(InitEx, Count); } - state = StateMgr.BindDecl(state, VD, InitVal); + state = state->bindDecl(VD, InitVal); // The next thing to do is check if the GRTransferFuncs object wants to // update the state based on the new binding. If the GRTransferFunc @@ -2257,7 +2257,7 @@ void GRExprEngine::VisitDeclStmt(DeclStmt* DS, NodeTy* Pred, NodeSet& Dst) { InitVal); } else { - state = StateMgr.BindDeclWithNoInit(state, VD); + state = state->bindDeclWithNoInit(VD); MakeNode(Dst, DS, *I, state); } }