| Index: src/parser.cc
|
| diff --git a/src/parser.cc b/src/parser.cc
|
| index ee0f7dc6804848109197ed9878835d791e3d77f4..196853c0236e3b8fca9d2dca5f67481138d9fa17 100644
|
| --- a/src/parser.cc
|
| +++ b/src/parser.cc
|
| @@ -749,8 +749,13 @@ Expression* ParserTraits::ThisExpression(Scope* scope, AstNodeFactory* factory,
|
|
|
| Expression* ParserTraits::SuperReference(Scope* scope, AstNodeFactory* factory,
|
| int pos) {
|
| + // TODO(arv): Split into SuperProperty and SuperCall?
|
| + VariableProxy* home_object_proxy = scope->NewUnresolved(
|
| + factory, parser_->ast_value_factory()->home_object_string(),
|
| + Variable::NORMAL, pos);
|
| +
|
| return factory->NewSuperReference(
|
| - ThisExpression(scope, factory, pos)->AsVariableProxy(),
|
| + ThisExpression(scope, factory, pos)->AsVariableProxy(), home_object_proxy,
|
| pos);
|
| }
|
|
|
| @@ -1138,7 +1143,8 @@ FunctionLiteral* Parser::ParseLazy(Isolate* isolate, ParseInfo* info,
|
| bool ok = true;
|
|
|
| if (shared_info->is_arrow()) {
|
| - Scope* scope = NewScope(scope_, ARROW_SCOPE);
|
| + Scope* scope =
|
| + NewScope(scope_, ARROW_SCOPE, FunctionKind::kArrowFunction);
|
| scope->set_start_position(shared_info->start_position());
|
| ExpressionClassifier formals_classifier;
|
| bool has_rest = false;
|
|
|