Index: src/parser.cc |
diff --git a/src/parser.cc b/src/parser.cc |
index 9227272e09ca51ed62dce91704ad6e940b7723e5..d0778ce8017a66616e3cf56e1b9d9d4a57569825 100644 |
--- a/src/parser.cc |
+++ b/src/parser.cc |
@@ -2222,8 +2222,7 @@ Statement* Parser::ParseNativeDeclaration(bool* ok) { |
NativeFunctionLiteral* lit = factory()->NewNativeFunctionLiteral( |
name, extension_, RelocInfo::kNoPosition); |
return factory()->NewExpressionStatement( |
- factory()->NewAssignment( |
- Token::INIT_VAR, proxy, lit, RelocInfo::kNoPosition), |
+ factory()->NewAssignment(Token::INIT, proxy, lit, RelocInfo::kNoPosition), |
pos); |
} |
@@ -2341,9 +2340,8 @@ Statement* Parser::ParseClassDeclaration(ZoneList<const AstRawString*>* names, |
outer_class_variable->AsClassVariable()->declaration_group_start()); |
} |
- Token::Value init_op = |
- is_strong(language_mode()) ? Token::INIT_CONST : Token::INIT_LET; |
- Assignment* assignment = factory()->NewAssignment(init_op, proxy, value, pos); |
+ Assignment* assignment = |
+ factory()->NewAssignment(Token::INIT, proxy, value, pos); |
Statement* assignment_statement = |
factory()->NewExpressionStatement(assignment, RelocInfo::kNoPosition); |
if (names) names->Add(name, zone()); |
@@ -2488,7 +2486,6 @@ void Parser::ParseVariableDeclarations(VariableDeclarationContext var_context, |
// immediately by their declaration nodes. |
parsing_result->descriptor.needs_init = false; |
parsing_result->descriptor.is_const = false; |
- parsing_result->descriptor.init_op = Token::INIT_VAR; |
if (peek() == Token::VAR) { |
if (is_strong(language_mode())) { |
Scanner::Location location = scanner()->peek_location(); |
@@ -2501,13 +2498,11 @@ void Parser::ParseVariableDeclarations(VariableDeclarationContext var_context, |
Consume(Token::CONST); |
if (is_sloppy(language_mode()) && allow_legacy_const()) { |
parsing_result->descriptor.mode = CONST_LEGACY; |
- parsing_result->descriptor.init_op = Token::INIT_CONST_LEGACY; |
++use_counts_[v8::Isolate::kLegacyConst]; |
} else { |
DCHECK(is_strict(language_mode()) || allow_harmony_sloppy()); |
DCHECK(var_context != kStatement); |
parsing_result->descriptor.mode = CONST; |
- parsing_result->descriptor.init_op = Token::INIT_CONST; |
} |
parsing_result->descriptor.is_const = true; |
parsing_result->descriptor.needs_init = true; |
@@ -2516,7 +2511,6 @@ void Parser::ParseVariableDeclarations(VariableDeclarationContext var_context, |
DCHECK(var_context != kStatement); |
parsing_result->descriptor.mode = LET; |
parsing_result->descriptor.needs_init = true; |
- parsing_result->descriptor.init_op = Token::INIT_LET; |
} else { |
UNREACHABLE(); // by current callers |
} |
@@ -3213,7 +3207,6 @@ TryStatement* Parser::ParseTryStatement(bool* ok) { |
descriptor.needs_init = true; |
descriptor.declaration_pos = pattern->position(); |
descriptor.initialization_pos = pattern->position(); |
- descriptor.init_op = Token::INIT_LET; |
DeclarationParsingResult::Declaration decl( |
pattern, pattern->position(), |
@@ -3540,9 +3533,8 @@ Statement* Parser::DesugarLexicalBindingsInForStatement( |
Declare(declaration, DeclarationDescriptor::NORMAL, true, CHECK_OK); |
inner_vars.Add(declaration->proxy()->var(), zone()); |
VariableProxy* temp_proxy = factory()->NewVariableProxy(temps.at(i)); |
- Assignment* assignment = |
- factory()->NewAssignment(is_const ? Token::INIT_CONST : Token::INIT_LET, |
- proxy, temp_proxy, RelocInfo::kNoPosition); |
+ Assignment* assignment = factory()->NewAssignment( |
+ Token::INIT, proxy, temp_proxy, RelocInfo::kNoPosition); |
Statement* assignment_statement = |
factory()->NewExpressionStatement(assignment, RelocInfo::kNoPosition); |
DCHECK(init->position() != RelocInfo::kNoPosition); |
@@ -4586,7 +4578,6 @@ Block* Parser::BuildParameterInitializationBlock( |
descriptor.needs_init = true; |
descriptor.declaration_pos = parameter.pattern->position(); |
descriptor.initialization_pos = parameter.pattern->position(); |
- descriptor.init_op = Token::INIT_LET; |
Expression* initial_value = |
factory()->NewVariableProxy(parameters.scope->parameter(i)); |
if (parameter.initializer != nullptr) { |
@@ -4620,7 +4611,7 @@ Block* Parser::BuildParameterInitializationBlock( |
is_strong(language_mode()), RelocInfo::kNoPosition); |
auto init_array = factory()->NewAssignment( |
- Token::INIT_VAR, factory()->NewVariableProxy(temp_var), empty_array, |
+ Token::INIT, factory()->NewVariableProxy(temp_var), empty_array, |
RelocInfo::kNoPosition); |
auto loop = factory()->NewForStatement(NULL, RelocInfo::kNoPosition); |
@@ -4629,7 +4620,7 @@ Block* Parser::BuildParameterInitializationBlock( |
parameters.scope->NewTemporary(ast_value_factory()->empty_string()); |
auto init = factory()->NewExpressionStatement( |
factory()->NewAssignment( |
- Token::INIT_VAR, factory()->NewVariableProxy(argument_index), |
+ Token::INIT, factory()->NewVariableProxy(argument_index), |
factory()->NewSmiLiteral(i, RelocInfo::kNoPosition), |
RelocInfo::kNoPosition), |
RelocInfo::kNoPosition); |
@@ -4758,7 +4749,7 @@ ZoneList<Statement*>* Parser::ParseEagerFunctionBody( |
VariableProxy* init_proxy = factory()->NewVariableProxy( |
function_state_->generator_object_variable()); |
Assignment* assignment = factory()->NewAssignment( |
- Token::INIT_VAR, init_proxy, allocation, RelocInfo::kNoPosition); |
+ Token::INIT, init_proxy, allocation, RelocInfo::kNoPosition); |
VariableProxy* get_proxy = factory()->NewVariableProxy( |
function_state_->generator_object_variable()); |
Yield* yield = factory()->NewYield( |
@@ -4816,10 +4807,7 @@ ZoneList<Statement*>* Parser::ParseEagerFunctionBody( |
// NOTE: We create a proxy and resolve it here so that in the |
// future we can change the AST to only refer to VariableProxies |
// instead of Variables and Proxies as is the case now. |
- const bool use_strict_const = is_strict(scope_->language_mode()); |
- Token::Value fvar_init_op = |
- use_strict_const ? Token::INIT_CONST : Token::INIT_CONST_LEGACY; |
- VariableMode fvar_mode = use_strict_const ? CONST : CONST_LEGACY; |
+ VariableMode fvar_mode = is_strict(language_mode()) ? CONST : CONST_LEGACY; |
Variable* fvar = new (zone()) |
Variable(scope_, function_name, fvar_mode, Variable::NORMAL, |
kCreatedInitialized, kNotAssigned); |
@@ -4831,7 +4819,7 @@ ZoneList<Statement*>* Parser::ParseEagerFunctionBody( |
VariableProxy* fproxy = factory()->NewVariableProxy(fvar); |
result->Set(kFunctionNameAssignmentIndex, |
factory()->NewExpressionStatement( |
- factory()->NewAssignment(fvar_init_op, fproxy, |
+ factory()->NewAssignment(Token::INIT, fproxy, |
factory()->NewThisFunction(pos), |
RelocInfo::kNoPosition), |
RelocInfo::kNoPosition)); |