aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Checker/PathSensitive/Environment.h6
-rw-r--r--lib/Checker/Environment.cpp11
2 files changed, 12 insertions, 5 deletions
diff --git a/include/clang/Checker/PathSensitive/Environment.h b/include/clang/Checker/PathSensitive/Environment.h
index dd030fe051..a2b3567a4f 100644
--- a/include/clang/Checker/PathSensitive/Environment.h
+++ b/include/clang/Checker/PathSensitive/Environment.h
@@ -40,15 +40,13 @@ private:
Environment(BindingsTy eb)
: ExprBindings(eb) {}
+ SVal lookupExpr(const Stmt* E) const;
+
public:
typedef BindingsTy::iterator iterator;
iterator begin() const { return ExprBindings.begin(); }
iterator end() const { return ExprBindings.end(); }
- SVal LookupExpr(const Stmt* E) const {
- const SVal* X = ExprBindings.lookup(E);
- return X ? *X : UnknownVal();
- }
/// GetSVal - Fetches the current binding of the expression in the
/// Environment.
diff --git a/lib/Checker/Environment.cpp b/lib/Checker/Environment.cpp
index 4b67bda913..086d982ad5 100644
--- a/lib/Checker/Environment.cpp
+++ b/lib/Checker/Environment.cpp
@@ -17,6 +17,15 @@
using namespace clang;
+SVal Environment::lookupExpr(const Stmt* E) const {
+ const SVal* X = ExprBindings.lookup(E);
+ if (X) {
+ SVal V = *X;
+ return V;
+ }
+ return UnknownVal();
+}
+
SVal Environment::getSVal(const Stmt *E, SValBuilder& svalBuilder) const {
for (;;) {
switch (E->getStmtClass()) {
@@ -75,7 +84,7 @@ SVal Environment::getSVal(const Stmt *E, SValBuilder& svalBuilder) const {
};
break;
}
- return LookupExpr(E);
+ return lookupExpr(E);
}
Environment EnvironmentManager::bindExpr(Environment Env, const Stmt *S,