Chromium Code Reviews| Index: src/parser.cc |
| diff --git a/src/parser.cc b/src/parser.cc |
| index 90dd6a7c43ab728613008dd4c9af5014aad2c69b..eb3696fac0e2ab17aae671ea6847269dd91da7f3 100644 |
| --- a/src/parser.cc |
| +++ b/src/parser.cc |
| @@ -4444,15 +4444,14 @@ FunctionLiteral* Parser::ParseFunctionLiteral(Handle<String> function_name, |
| Variable* fvar = NULL; |
| Token::Value fvar_init_op = Token::INIT_CONST; |
| if (type == FunctionLiteral::NAMED_EXPRESSION) { |
| - VariableMode fvar_mode; |
| - if (is_extended_mode()) { |
| - fvar_mode = CONST_HARMONY; |
| - fvar_init_op = Token::INIT_CONST_HARMONY; |
| - } else { |
| - fvar_mode = CONST; |
| - } |
| - fvar = |
| - top_scope_->DeclareFunctionVar(function_name, fvar_mode, factory()); |
| + if (is_extended_mode()) fvar_init_op = Token::INIT_CONST_HARMONY; |
| + VariableMode fvar_mode = is_extended_mode() ? CONST_HARMONY : CONST; |
| + fvar = new(zone()) Variable(top_scope_, |
| + function_name, fvar_mode, true, Variable::NORMAL, kCreatedInitialized); |
|
fschneider
2012/04/11 11:00:42
Maybe break after each parameter and add a short s
rossberg
2012/04/16 11:25:13
Done.
|
| + VariableProxy* proxy = factory()->NewVariableProxy(fvar); |
| + VariableDeclaration* fvar_declaration = |
| + factory()->NewVariableDeclaration(proxy, fvar_mode, top_scope_); |
| + top_scope_->DeclareFunctionVar(fvar_declaration); |
| } |
| // Determine whether the function will be lazily compiled. |