Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(531)

Unified Diff: src/scopes.cc

Issue 8590027: Fix the ScopeIterator reimplemantation. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: ScopeIterator fix and test cases. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/scopes.cc
diff --git a/src/scopes.cc b/src/scopes.cc
index 60ea20f16d5ed94f8e8a6ab8f6e58db7aab1b4c6..4b47106cbb52d7d34d78e67a6a86973e54afd29f 100644
--- a/src/scopes.cc
+++ b/src/scopes.cc
@@ -659,14 +659,14 @@ Handle<ScopeInfo> Scope::GetScopeInfo() {
void Scope::GetNestedScopeChain(
List<Handle<ScopeInfo> >* chain,
int position) {
- chain->Add(Handle<ScopeInfo>(GetScopeInfo()));
+ if (!is_eval_scope()) chain->Add(Handle<ScopeInfo>(GetScopeInfo()));
for (int i = 0; i < inner_scopes_.length(); i++) {
Scope* scope = inner_scopes_[i];
int beg_pos = scope->start_position();
int end_pos = scope->end_position();
ASSERT(beg_pos >= 0 && end_pos >= 0);
- if (beg_pos <= position && position <= end_pos) {
+ if (beg_pos <= position && position < end_pos) {
scope->GetNestedScopeChain(chain, position);
return;
}
« src/compiler.cc ('K') | « src/runtime.cc ('k') | test/cctest/test-parsing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698