Chromium Code Reviews| Index: src/ast/scopes.cc |
| diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
| index 2372e1bb1d4b944a4acb668d1ff325c9199d0fd3..aa3685fca4cad49747a887771f530514698b5f79 100644 |
| --- a/src/ast/scopes.cc |
| +++ b/src/ast/scopes.cc |
| @@ -1098,8 +1098,8 @@ Variable* Scope::LookupRecursive(VariableProxy* proxy, |
| if (var != NULL && proxy->is_assigned()) var->set_maybe_assigned(); |
| *binding_kind = DYNAMIC_LOOKUP; |
| return NULL; |
| - } else if (calls_sloppy_eval() && !is_script_scope() && |
| - name_can_be_shadowed) { |
| + } else if (calls_sloppy_eval() && is_declaration_scope() && |
| + !is_script_scope() && name_can_be_shadowed) { |
| // A variable binding may have been found in an outer scope, but the current |
|
Dan Ehrenberg
2016/05/04 20:54:08
Could you briefly mention in this comment that non
adamk
2016/05/04 21:06:18
Done.
|
| // scope makes a sloppy 'eval' call, so the found variable may not be |
| // the correct one (the 'eval' may introduce a binding with the same name). |