summaryrefslogtreecommitdiffstats
path: root/src/eval_env.h
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-01-19 05:12:13 (GMT)
committerEvan Martin <martine@danga.com>2011-01-19 05:12:13 (GMT)
commit7db7fe686658ed8cdd405a9fcc33626b64ba5eff (patch)
treeb5e676c6d2a9ab68e9bd1f2164476f11c15fd1b0 /src/eval_env.h
parent01271bf57eff2237ec3bd1289e4c303a86efb155 (diff)
downloadNinja-7db7fe686658ed8cdd405a9fcc33626b64ba5eff.zip
Ninja-7db7fe686658ed8cdd405a9fcc33626b64ba5eff.tar.gz
Ninja-7db7fe686658ed8cdd405a9fcc33626b64ba5eff.tar.bz2
split some of jumble out
Diffstat (limited to 'src/eval_env.h')
-rw-r--r--src/eval_env.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/eval_env.h b/src/eval_env.h
index 517066d..46fb1f1 100644
--- a/src/eval_env.h
+++ b/src/eval_env.h
@@ -2,6 +2,8 @@
#define NINJA_EVAL_ENV_H_
#include <map>
+#include <string>
+#include <vector>
using namespace std;
// A scope for variable lookups.
@@ -13,17 +15,8 @@ struct Env {
// as well as a pointer to a parent scope.
struct BindingEnv : public Env {
BindingEnv() : parent_(NULL) {}
- virtual string LookupVariable(const string& var) {
- map<string, string>::iterator i = bindings_.find(var);
- if (i != bindings_.end())
- return i->second;
- if (parent_)
- return parent_->LookupVariable(var);
- return "";
- }
- void AddBinding(const string& key, const string& val) {
- bindings_[key] = val;
- }
+ virtual string LookupVariable(const string& var);
+ void AddBinding(const string& key, const string& val);
map<string, string> bindings_;
Env* parent_;