| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_SCOPES_H_ | 5 #ifndef V8_SCOPES_H_ |
| 6 #define V8_SCOPES_H_ | 6 #define V8_SCOPES_H_ |
| 7 | 7 |
| 8 #include "src/ast.h" | 8 #include "src/ast.h" |
| 9 #include "src/zone.h" | 9 #include "src/zone.h" |
| 10 | 10 |
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 | 381 |
| 382 // Declarations list. | 382 // Declarations list. |
| 383 ZoneList<Declaration*>* declarations() { return &decls_; } | 383 ZoneList<Declaration*>* declarations() { return &decls_; } |
| 384 | 384 |
| 385 // Inner scope list. | 385 // Inner scope list. |
| 386 ZoneList<Scope*>* inner_scopes() { return &inner_scopes_; } | 386 ZoneList<Scope*>* inner_scopes() { return &inner_scopes_; } |
| 387 | 387 |
| 388 // The scope immediately surrounding this scope, or NULL. | 388 // The scope immediately surrounding this scope, or NULL. |
| 389 Scope* outer_scope() const { return outer_scope_; } | 389 Scope* outer_scope() const { return outer_scope_; } |
| 390 | 390 |
| 391 // The interface as inferred so far; only for module scopes. | 391 // The ModuleDescriptor for this scope; only for module scopes. |
| 392 Interface* interface() const { return interface_; } | 392 ModuleDescriptor* module() const { return module_descriptor_; } |
| 393 | 393 |
| 394 // --------------------------------------------------------------------------- | 394 // --------------------------------------------------------------------------- |
| 395 // Variable allocation. | 395 // Variable allocation. |
| 396 | 396 |
| 397 // Collect stack and context allocated local variables in this scope. Note | 397 // Collect stack and context allocated local variables in this scope. Note |
| 398 // that the function variable - if present - is not collected and should be | 398 // that the function variable - if present - is not collected and should be |
| 399 // handled separately. | 399 // handled separately. |
| 400 void CollectStackAndContextLocals(ZoneList<Variable*>* stack_locals, | 400 void CollectStackAndContextLocals(ZoneList<Variable*>* stack_locals, |
| 401 ZoneList<Variable*>* context_locals); | 401 ZoneList<Variable*>* context_locals); |
| 402 | 402 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 // Declarations. | 511 // Declarations. |
| 512 ZoneList<Declaration*> decls_; | 512 ZoneList<Declaration*> decls_; |
| 513 // Convenience variable. | 513 // Convenience variable. |
| 514 Variable* receiver_; | 514 Variable* receiver_; |
| 515 // Function variable, if any; function scopes only. | 515 // Function variable, if any; function scopes only. |
| 516 VariableDeclaration* function_; | 516 VariableDeclaration* function_; |
| 517 // new.target variable, function scopes only. | 517 // new.target variable, function scopes only. |
| 518 Variable* new_target_; | 518 Variable* new_target_; |
| 519 // Convenience variable; function scopes only. | 519 // Convenience variable; function scopes only. |
| 520 Variable* arguments_; | 520 Variable* arguments_; |
| 521 // Interface; module scopes only. | 521 // Module descriptor; module scopes only. |
| 522 Interface* interface_; | 522 ModuleDescriptor* module_descriptor_; |
| 523 | 523 |
| 524 // Illegal redeclaration. | 524 // Illegal redeclaration. |
| 525 Expression* illegal_redecl_; | 525 Expression* illegal_redecl_; |
| 526 | 526 |
| 527 // Scope-specific information computed during parsing. | 527 // Scope-specific information computed during parsing. |
| 528 // | 528 // |
| 529 // This scope is inside a 'with' of some outer scope. | 529 // This scope is inside a 'with' of some outer scope. |
| 530 bool scope_inside_with_; | 530 bool scope_inside_with_; |
| 531 // This scope contains a 'with' statement. | 531 // This scope contains a 'with' statement. |
| 532 bool scope_contains_with_; | 532 bool scope_contains_with_; |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 Scope* outer_scope, | 694 Scope* outer_scope, |
| 695 Handle<ScopeInfo> scope_info); | 695 Handle<ScopeInfo> scope_info); |
| 696 | 696 |
| 697 AstValueFactory* ast_value_factory_; | 697 AstValueFactory* ast_value_factory_; |
| 698 Zone* zone_; | 698 Zone* zone_; |
| 699 }; | 699 }; |
| 700 | 700 |
| 701 } } // namespace v8::internal | 701 } } // namespace v8::internal |
| 702 | 702 |
| 703 #endif // V8_SCOPES_H_ | 703 #endif // V8_SCOPES_H_ |
| OLD | NEW |