Index: src/ast/scopes.cc |
diff --git a/src/ast/scopes.cc b/src/ast/scopes.cc |
index e83d816af777a45a4b5968ba78e21aaa57cea160..6eb11387303946ed11178749b3653b0a6328a1ec 100644 |
--- a/src/ast/scopes.cc |
+++ b/src/ast/scopes.cc |
@@ -97,7 +97,6 @@ Scope::Scope(Zone* zone) |
outer_scope_(nullptr), |
variables_(zone), |
locals_(4, zone), |
- decls_(4, zone), |
scope_type_(SCRIPT_SCOPE) { |
SetDefaults(); |
} |
@@ -107,7 +106,6 @@ Scope::Scope(Zone* zone, Scope* outer_scope, ScopeType scope_type) |
outer_scope_(outer_scope), |
variables_(zone), |
locals_(4, zone), |
- decls_(4, zone), |
scope_type_(scope_type) { |
DCHECK_NE(SCRIPT_SCOPE, scope_type); |
SetDefaults(); |
@@ -122,7 +120,7 @@ Scope::Snapshot::Snapshot(Scope* scope) |
top_inner_scope_(scope->inner_scope_), |
top_unresolved_(scope->unresolved_), |
top_local_(scope->GetClosureScope()->locals_.length()), |
- top_decl_(scope->GetClosureScope()->decls_.length()) {} |
+ top_decl_(scope->GetClosureScope()->decls_.end()) {} |
DeclarationScope::DeclarationScope(Zone* zone, |
AstValueFactory* ast_value_factory) |
@@ -212,7 +210,6 @@ Scope::Scope(Zone* zone, ScopeType scope_type, Handle<ScopeInfo> scope_info) |
outer_scope_(nullptr), |
variables_(zone), |
locals_(0, zone), |
- decls_(0, zone), |
scope_info_(scope_info), |
scope_type_(scope_type) { |
DCHECK(!scope_info.is_null()); |
@@ -242,7 +239,6 @@ Scope::Scope(Zone* zone, const AstRawString* catch_variable_name, |
outer_scope_(nullptr), |
variables_(zone), |
locals_(0, zone), |
- decls_(0, zone), |
scope_info_(scope_info), |
scope_type_(CATCH_SCOPE) { |
SetDefaults(); |
@@ -949,7 +945,7 @@ Variable* Scope::DeclareVariable( |
// same variable if it is declared several times. This is not a |
// semantic issue, but it may be a performance issue since it may |
// lead to repeated DeclareEvalVar or DeclareEvalFunction calls. |
- decls_.Add(declaration, zone()); |
+ decls_.Add(declaration); |
proxy->BindTo(var); |
return var; |
} |
@@ -1031,9 +1027,7 @@ Variable* Scope::NewTemporary(const AstRawString* name) { |
} |
Declaration* Scope::CheckConflictingVarDeclarations() { |
- int length = decls_.length(); |
- for (int i = 0; i < length; i++) { |
- Declaration* decl = decls_[i]; |
+ for (Declaration* decl : decls_) { |
VariableMode mode = decl->proxy()->var()->mode(); |
if (IsLexicalVariableMode(mode) && !is_block_scope()) continue; |
@@ -1068,10 +1062,8 @@ Declaration* Scope::CheckLexDeclarationsConflictingWith( |
// Conflict; find and return its declaration. |
DCHECK(IsLexicalVariableMode(var->mode())); |
const AstRawString* name = names.at(i); |
- for (int j = 0; j < decls_.length(); ++j) { |
- if (decls_[j]->proxy()->raw_name() == name) { |
- return decls_[j]; |
- } |
+ for (Declaration* decl : decls_) { |
+ if (decl->proxy()->raw_name() == name) return decl; |
} |
DCHECK(false); |
} |
@@ -1245,7 +1237,7 @@ void DeclarationScope::ResetAfterPreparsing(AstValueFactory* ast_value_factory, |
DCHECK(is_function_scope()); |
// Reset all non-trivial members. |
- decls_.Rewind(0); |
+ decls_.Clear(); |
locals_.Rewind(0); |
sloppy_block_function_map_.Clear(); |
variables_.Clear(); |