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

Unified Diff: src/parsing/parser.h

Issue 2209573002: Separate Scope into DeclarationScope and Scope (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Move has_simple_parameters_ to DeclarationScope Created 4 years, 4 months 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/parsing/parser.h
diff --git a/src/parsing/parser.h b/src/parsing/parser.h
index cfefccc37fa58612397095a442acc9502811e44a..022ca039947fbd522832f6103e3625661fda79b0 100644
--- a/src/parsing/parser.h
+++ b/src/parsing/parser.h
@@ -104,8 +104,10 @@ class ParseInfo {
compile_options_ = compile_options;
}
- Scope* script_scope() { return script_scope_; }
- void set_script_scope(Scope* script_scope) { script_scope_ = script_scope; }
+ DeclarationScope* script_scope() { return script_scope_; }
+ void set_script_scope(DeclarationScope* script_scope) {
+ script_scope_ = script_scope;
+ }
AstValueFactory* ast_value_factory() { return ast_value_factory_; }
void set_ast_value_factory(AstValueFactory* ast_value_factory) {
@@ -115,8 +117,8 @@ class ParseInfo {
FunctionLiteral* literal() { return literal_; }
void set_literal(FunctionLiteral* literal) { literal_ = literal; }
- Scope* scope() { return scope_; }
- void set_scope(Scope* scope) { scope_ = scope; }
+ DeclarationScope* scope() { return scope_; }
+ void set_scope(DeclarationScope* scope) { scope_ = scope; }
UnicodeCache* unicode_cache() { return unicode_cache_; }
void set_unicode_cache(UnicodeCache* unicode_cache) {
@@ -208,7 +210,7 @@ class ParseInfo {
Utf16CharacterStream* character_stream_;
v8::Extension* extension_;
ScriptCompiler::CompileOptions compile_options_;
- Scope* script_scope_;
+ DeclarationScope* script_scope_;
UnicodeCache* unicode_cache_;
uintptr_t stack_limit_;
uint32_t hash_seed_;
@@ -228,7 +230,7 @@ class ParseInfo {
//----------- Outputs of parsing and scope analysis ------------------------
FunctionLiteral* literal_; // produced by full parser.
- Scope* scope_; // produced by scope analysis.
+ DeclarationScope* scope_; // produced by scope analysis.
void SetFlag(Flag f) { flags_ |= f; }
void SetFlag(Flag f, bool v) { flags_ = v ? flags_ | f : flags_ & ~f; }
@@ -341,7 +343,7 @@ struct ParserFormalParameters : FormalParametersBase {
}
};
- explicit ParserFormalParameters(Scope* scope)
+ explicit ParserFormalParameters(DeclarationScope* scope)
: FormalParametersBase(scope), params(4, scope->zone()) {}
ZoneList<Parameter> params;
@@ -577,7 +579,7 @@ class ParserTraits {
Type::ExpressionClassifier* classifier, int pos, bool* ok);
V8_INLINE Scope* NewScope(ScopeType scope_type);
- V8_INLINE Scope* NewFunctionScope(FunctionKind kind);
+ V8_INLINE DeclarationScope* NewFunctionScope(FunctionKind kind);
V8_INLINE Scope* NewScopeWithParent(Scope* parent, ScopeType scope_type);
V8_INLINE void AddFormalParameter(ParserFormalParameters* parameters,
@@ -585,7 +587,8 @@ class ParserTraits {
Expression* initializer,
int initializer_end_position, bool is_rest);
V8_INLINE void DeclareFormalParameter(
- Scope* scope, const ParserFormalParameters::Parameter& parameter,
+ DeclarationScope* scope,
+ const ParserFormalParameters::Parameter& parameter,
Type::ExpressionClassifier* classifier);
void ParseArrowFunctionFormalParameters(ParserFormalParameters* parameters,
Expression* params, int end_pos,
@@ -1065,7 +1068,7 @@ class Parser : public ParserBase<ParserTraits> {
void InsertShadowingVarBindingInitializers(Block* block);
// Implement sloppy block-scoped functions, ES2015 Annex B 3.3
- void InsertSloppyBlockFunctionVarBindings(Scope* scope,
+ void InsertSloppyBlockFunctionVarBindings(DeclarationScope* scope,
Scope* complex_params_scope,
bool* ok);
@@ -1187,7 +1190,7 @@ Scope* ParserTraits::NewScope(ScopeType scope_type) {
return parser_->NewScope(scope_type);
}
-Scope* ParserTraits::NewFunctionScope(FunctionKind kind) {
+DeclarationScope* ParserTraits::NewFunctionScope(FunctionKind kind) {
return parser_->NewFunctionScope(kind);
}
@@ -1303,9 +1306,8 @@ void ParserTraits::AddFormalParameter(ParserFormalParameters* parameters,
parameters->scope->zone());
}
-
void ParserTraits::DeclareFormalParameter(
- Scope* scope, const ParserFormalParameters::Parameter& parameter,
+ DeclarationScope* scope, const ParserFormalParameters::Parameter& parameter,
Type::ExpressionClassifier* classifier) {
bool is_duplicate = false;
bool is_simple = classifier->is_simple_parameter_list();

Powered by Google App Engine
This is Rietveld 408576698