aboutsummaryrefslogtreecommitdiff
path: root/eval.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-08 18:33:54 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-08 18:34:29 +0900
commit772ff7f43be3b7c1900ed4cfba4c6a7bc7a0e389 (patch)
tree562d45f8353e2d0632e2b1f4446c2fffd1e0ed7d /eval.cc
parente100d2eb75ebbc08aac2df599ad5feba8211ba25 (diff)
[C++] Reduce the number of Intern call a bit
Diffstat (limited to 'eval.cc')
-rw-r--r--eval.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.cc b/eval.cc
index 550f5eb..f21e185 100644
--- a/eval.cc
+++ b/eval.cc
@@ -129,6 +129,7 @@ void Evaluator::EvalRule(const RuleStmt* stmt) {
return;
}
+ Symbol lhs = Intern(rule_var.lhs);
for (Symbol output : rule_var.outputs) {
auto p = rule_vars_.emplace(output, nullptr);
if (p.second) {
@@ -152,7 +153,6 @@ void Evaluator::EvalRule(const RuleStmt* stmt) {
}
current_scope_ = p.first->second;
- Symbol lhs = Intern(rule_var.lhs);
Var* rhs_var = EvalRHS(lhs, rhs, StringPiece("*TODO*"), rule_var.op);
if (rhs_var)
current_scope_->Assign(lhs, new RuleVar(rhs_var, rule_var.op));