| Index: src/ast/scopes.h
|
| diff --git a/src/ast/scopes.h b/src/ast/scopes.h
|
| index c4adb8037d71e2b50d1dacb6b5ffce1823efbf39..54166efdccf194f00bb521a3073873c6632592e5 100644
|
| --- a/src/ast/scopes.h
|
| +++ b/src/ast/scopes.h
|
| @@ -27,6 +27,8 @@ class VariableMap: public ZoneHashMap {
|
| bool* added = nullptr);
|
|
|
| Variable* Lookup(const AstRawString* name);
|
| + void Remove(Variable* var);
|
| + void Add(Zone* zone, Variable* var);
|
| };
|
|
|
|
|
| @@ -84,7 +86,8 @@ class Scope: public ZoneObject {
|
| Scope* outer_scope_;
|
| Scope* top_inner_scope_;
|
| VariableProxy* top_unresolved_;
|
| - int top_temp_;
|
| + int top_local_;
|
| + int top_decl_;
|
| };
|
|
|
| // Compute top scope and allocate variables. For lazy compilation the top
|
| @@ -431,7 +434,7 @@ class Scope: public ZoneObject {
|
| Variable* var =
|
| variables_.Declare(zone, scope, name, mode, kind, initialization_flag,
|
| maybe_assigned_flag, &added);
|
| - if (added) ordered_variables_.Add(var, zone);
|
| + if (added) locals_.Add(var, zone);
|
| return var;
|
| }
|
| Zone* zone_;
|
| @@ -450,7 +453,7 @@ class Scope: public ZoneObject {
|
| // In case of non-scopeinfo-backed scopes, this contains the variables of the
|
| // map above in order of addition.
|
| // TODO(verwaest): Thread through Variable.
|
| - ZoneList<Variable*> ordered_variables_;
|
| + ZoneList<Variable*> locals_;
|
| // Unresolved variables referred to from this scope. The proxies themselves
|
| // form a linked list of all unresolved proxies.
|
| VariableProxy* unresolved_;
|
| @@ -741,18 +744,16 @@ class DeclarationScope : public Scope {
|
| return this_function_;
|
| }
|
|
|
| - // Adds a temporary variable in this scope's TemporaryScope. This is for
|
| - // adjusting the scope of temporaries used when desugaring parameter
|
| + // Adds a local variable in this scope's locals list. This is for adjusting
|
| + // the scope of temporaries and do-expression vars when desugaring parameter
|
| // initializers.
|
| - void AddTemporary(Variable* var) {
|
| + void AddLocal(Variable* var) {
|
| DCHECK(!already_resolved_);
|
| // Temporaries are only placed in ClosureScopes.
|
| DCHECK_EQ(GetClosureScope(), this);
|
| - temps_.Add(var, zone());
|
| + locals_.Add(var, zone());
|
| }
|
|
|
| - ZoneList<Variable*>* temps() { return &temps_; }
|
| -
|
| void DeclareSloppyBlockFunction(const AstRawString* name,
|
| SloppyBlockFunctionStatement* statement) {
|
| sloppy_block_function_map_.Declare(zone(), name, statement);
|
| @@ -829,8 +830,6 @@ class DeclarationScope : public Scope {
|
|
|
| // Info about the parameter list of a function.
|
| int arity_;
|
| - // Compiler-allocated (user-invisible) temporaries.
|
| - ZoneList<Variable*> temps_;
|
| // Parameter list in source order.
|
| ZoneList<Variable*> params_;
|
| // Map of function names to lists of functions defined in sloppy blocks
|
|
|