Remove CodeDecl and CFG from GRExprEngine and GRStateManager.
Now AnalysisManager is the only place we can get CodeDecl.
This leads to an API change: GRState::bindExpr() now takes the CFG argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79980 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/GRState.cpp b/lib/Analysis/GRState.cpp
index 828ea26..862bd5f 100644
--- a/lib/Analysis/GRState.cpp
+++ b/lib/Analysis/GRState.cpp
@@ -98,7 +98,7 @@
return Mgr->getPersistentState(NewSt);
}
-const GRState *GRState::bindExpr(const Stmt* Ex, SVal V,
+const GRState *GRState::bindExpr(const Stmt* Ex, SVal V, CFG &cfg,
bool Invalidate) const {
bool isBlkExpr = false;
@@ -106,7 +106,7 @@
if (Ex == Mgr->CurrentStmt) {
// FIXME: Should this just be an assertion? When would we want to set
// the value of a block-level expression if it wasn't CurrentStmt?
- isBlkExpr = Mgr->cfg.isBlkExpr(Ex);
+ isBlkExpr = cfg.isBlkExpr(Ex);
if (!isBlkExpr)
return this;