From: Nico Weber Date: Wed, 18 Mar 2015 16:35:57 +0000 (-0400) Subject: Env should only be about variables. No behavior change. X-Git-Tag: v1.6.0^2~22^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ffa1beb78feee904acefce74a6bba2e4cc5416cb;p=platform%2Fupstream%2Fninja.git Env should only be about variables. No behavior change. --- diff --git a/src/eval_env.h b/src/eval_env.h index 7b9bdf5..250fa55 100644 --- a/src/eval_env.h +++ b/src/eval_env.h @@ -28,7 +28,6 @@ struct Rule; struct Env { virtual ~Env() {} virtual string LookupVariable(const string& var) = 0; - virtual const Rule* LookupRule(const string& rule_name) = 0; }; /// A tokenized string that contains variable references. @@ -77,7 +76,7 @@ struct Rule { /// as well as a pointer to a parent scope. struct BindingEnv : public Env { BindingEnv() : parent_(NULL) {} - explicit BindingEnv(Env* parent) : parent_(parent) {} + explicit BindingEnv(BindingEnv* parent) : parent_(parent) {} virtual ~BindingEnv() {} virtual string LookupVariable(const string& var); @@ -100,7 +99,7 @@ struct BindingEnv : public Env { private: map bindings_; map rules_; - Env* parent_; + BindingEnv* parent_; }; #endif // NINJA_EVAL_ENV_H_ diff --git a/src/graph.cc b/src/graph.cc index 76c4e9a..e3253fd 100644 --- a/src/graph.cc +++ b/src/graph.cc @@ -207,7 +207,6 @@ struct EdgeEnv : public Env { EdgeEnv(Edge* edge, EscapeKind escape) : edge_(edge), escape_in_out_(escape) {} virtual string LookupVariable(const string& var); - virtual const Rule* LookupRule(const string& rule_name); /// Given a span of Nodes, construct a list of paths suitable for a command /// line. @@ -219,10 +218,6 @@ struct EdgeEnv : public Env { EscapeKind escape_in_out_; }; -const Rule* EdgeEnv::LookupRule(const string& rule_name) { - return NULL; -} - string EdgeEnv::LookupVariable(const string& var) { if (var == "in" || var == "in_newline") { int explicit_deps_count = edge_->inputs_.size() - edge_->implicit_deps_ -