Index: src/preparser.cc |
diff --git a/src/preparser.cc b/src/preparser.cc |
index 9473701a04f0b116288de8044cfe587bddd756b5..459cb6ae8a3bd00491ff90b75a88d8b12869650b 100644 |
--- a/src/preparser.cc |
+++ b/src/preparser.cc |
@@ -146,12 +146,6 @@ PreParserExpression PreParserTraits::ParseFunctionLiteral( |
} |
-PreParserExpression PreParserTraits::ParseMemberWithNewPrefixesExpression( |
- bool* ok) { |
- return pre_parser_->ParseMemberWithNewPrefixesExpression(ok); |
-} |
- |
- |
PreParser::PreParseResult PreParser::PreParseLazyFunction( |
StrictMode strict_mode, bool is_generator, ParserRecorder* log) { |
log_ = log; |
@@ -843,110 +837,6 @@ PreParser::Statement PreParser::ParseDebuggerStatement(bool* ok) { |
#undef DUMMY |
-PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression( |
- bool* ok) { |
- // NewExpression :: |
- // ('new')+ MemberExpression |
- |
- // See Parser::ParseNewExpression. |
- |
- if (peek() == Token::NEW) { |
- Consume(Token::NEW); |
- ParseMemberWithNewPrefixesExpression(CHECK_OK); |
- Expression expression = Expression::Default(); |
- if (peek() == Token::LPAREN) { |
- // NewExpression with arguments. |
- ParseArguments(CHECK_OK); |
- // The expression can still continue with . or [ after the arguments. Here |
- // we need to transmit the "is valid left hand side" property of the |
- // expression. |
- expression = |
- ParseMemberExpressionContinuation(Expression::Default(), CHECK_OK); |
- } |
- return expression; |
- } |
- // No 'new' keyword. |
- return ParseMemberExpression(ok); |
-} |
- |
- |
-PreParser::Expression PreParser::ParseMemberExpression(bool* ok) { |
- // MemberExpression :: |
- // (PrimaryExpression | FunctionLiteral) |
- // ('[' Expression ']' | '.' Identifier | Arguments)* |
- |
- // The '[' Expression ']' and '.' Identifier parts are parsed by |
- // ParseMemberExpressionContinuation, and the Arguments part is parsed by the |
- // caller. |
- |
- // Parse the initial primary or function expression. |
- Expression result = Expression::Default(); |
- if (peek() == Token::FUNCTION) { |
- Consume(Token::FUNCTION); |
- int function_token_position = position(); |
- bool is_generator = allow_generators() && Check(Token::MUL); |
- Identifier name = Identifier::Default(); |
- bool is_strict_reserved_name = false; |
- Scanner::Location function_name_location = Scanner::Location::invalid(); |
- FunctionLiteral::FunctionType function_type = |
- FunctionLiteral::ANONYMOUS_EXPRESSION; |
- if (peek_any_identifier()) { |
- name = ParseIdentifierOrStrictReservedWord(&is_strict_reserved_name, |
- CHECK_OK); |
- function_name_location = scanner()->location(); |
- function_type = FunctionLiteral::NAMED_EXPRESSION; |
- } |
- result = ParseFunctionLiteral(name, |
- function_name_location, |
- is_strict_reserved_name, |
- is_generator, |
- function_token_position, |
- function_type, |
- CHECK_OK); |
- } else { |
- result = ParsePrimaryExpression(CHECK_OK); |
- } |
- result = ParseMemberExpressionContinuation(result, CHECK_OK); |
- return result; |
-} |
- |
- |
-PreParser::Expression PreParser::ParseMemberExpressionContinuation( |
- PreParserExpression expression, bool* ok) { |
- // Parses this part of MemberExpression: |
- // ('[' Expression ']' | '.' Identifier)* |
- while (true) { |
- switch (peek()) { |
- case Token::LBRACK: { |
- Consume(Token::LBRACK); |
- ParseExpression(true, CHECK_OK); |
- Expect(Token::RBRACK, CHECK_OK); |
- if (expression.IsThis()) { |
- expression = Expression::ThisProperty(); |
- } else { |
- expression = Expression::Property(); |
- } |
- break; |
- } |
- case Token::PERIOD: { |
- Consume(Token::PERIOD); |
- ParseIdentifierName(CHECK_OK); |
- if (expression.IsThis()) { |
- expression = Expression::ThisProperty(); |
- } else { |
- expression = Expression::Property(); |
- } |
- break; |
- } |
- default: |
- return expression; |
- } |
- } |
- ASSERT(false); |
- return PreParserExpression::Default(); |
-} |
- |
- |
PreParser::Expression PreParser::ParseFunctionLiteral( |
Identifier function_name, |
Scanner::Location function_name_location, |