| Index: src/preparser.cc
|
| diff --git a/src/preparser.cc b/src/preparser.cc
|
| index f9c13860ed4d42bd97c727b11c4ad710f92b9754..a87c434558d0aed6018f19afa9b8f6d648c93e1c 100644
|
| --- a/src/preparser.cc
|
| +++ b/src/preparser.cc
|
| @@ -56,14 +56,14 @@ namespace v8 {
|
| namespace internal {
|
|
|
| PreParser::PreParseResult PreParser::PreParseLazyFunction(
|
| - i::LanguageMode mode, bool is_generator, i::ParserRecorder* log) {
|
| + LanguageMode mode, bool is_generator, ParserRecorder* log) {
|
| log_ = log;
|
| // Lazy functions always have trivial outer scopes (no with/catch scopes).
|
| Scope top_scope(&scope_, kTopLevelScope);
|
| set_language_mode(mode);
|
| Scope function_scope(&scope_, kFunctionScope);
|
| function_scope.set_is_generator(is_generator);
|
| - ASSERT_EQ(i::Token::LBRACE, scanner()->current_token());
|
| + ASSERT_EQ(Token::LBRACE, scanner()->current_token());
|
| bool ok = true;
|
| int start_position = peek_position();
|
| ParseLazyFunctionLiteralBody(&ok);
|
| @@ -71,7 +71,7 @@ PreParser::PreParseResult PreParser::PreParseLazyFunction(
|
| if (!ok) {
|
| ReportUnexpectedToken(scanner()->current_token());
|
| } else {
|
| - ASSERT_EQ(i::Token::RBRACE, scanner()->peek());
|
| + ASSERT_EQ(Token::RBRACE, scanner()->peek());
|
| if (!is_classic_mode()) {
|
| int end_pos = scanner()->location().end_pos;
|
| CheckOctalLiteral(start_position, end_pos, &ok);
|
| @@ -97,33 +97,33 @@ PreParser::PreParseResult PreParser::PreParseLazyFunction(
|
| // That means that contextual checks (like a label being declared where
|
| // it is used) are generally omitted.
|
|
|
| -void PreParser::ReportUnexpectedToken(i::Token::Value token) {
|
| +void PreParser::ReportUnexpectedToken(Token::Value token) {
|
| // We don't report stack overflows here, to avoid increasing the
|
| // stack depth even further. Instead we report it after parsing is
|
| // over, in ParseProgram.
|
| - if (token == i::Token::ILLEGAL && stack_overflow()) {
|
| + if (token == Token::ILLEGAL && stack_overflow()) {
|
| return;
|
| }
|
| - i::Scanner::Location source_location = scanner()->location();
|
| + Scanner::Location source_location = scanner()->location();
|
|
|
| // Four of the tokens are treated specially
|
| switch (token) {
|
| - case i::Token::EOS:
|
| + case Token::EOS:
|
| return ReportMessageAt(source_location, "unexpected_eos", NULL);
|
| - case i::Token::NUMBER:
|
| + case Token::NUMBER:
|
| return ReportMessageAt(source_location, "unexpected_token_number", NULL);
|
| - case i::Token::STRING:
|
| + case Token::STRING:
|
| return ReportMessageAt(source_location, "unexpected_token_string", NULL);
|
| - case i::Token::IDENTIFIER:
|
| + case Token::IDENTIFIER:
|
| return ReportMessageAt(source_location,
|
| "unexpected_token_identifier", NULL);
|
| - case i::Token::FUTURE_RESERVED_WORD:
|
| + case Token::FUTURE_RESERVED_WORD:
|
| return ReportMessageAt(source_location, "unexpected_reserved", NULL);
|
| - case i::Token::FUTURE_STRICT_RESERVED_WORD:
|
| + case Token::FUTURE_STRICT_RESERVED_WORD:
|
| return ReportMessageAt(source_location,
|
| "unexpected_strict_reserved", NULL);
|
| default:
|
| - const char* name = i::Token::String(token);
|
| + const char* name = Token::String(token);
|
| ReportMessageAt(source_location, "unexpected_token", name);
|
| }
|
| }
|
| @@ -149,10 +149,10 @@ PreParser::Statement PreParser::ParseSourceElement(bool* ok) {
|
| // GeneratorDeclaration
|
|
|
| switch (peek()) {
|
| - case i::Token::FUNCTION:
|
| + case Token::FUNCTION:
|
| return ParseFunctionDeclaration(ok);
|
| - case i::Token::LET:
|
| - case i::Token::CONST:
|
| + case Token::LET:
|
| + case Token::CONST:
|
| return ParseVariableStatement(kSourceElement, ok);
|
| default:
|
| return ParseStatement(ok);
|
| @@ -171,7 +171,7 @@ PreParser::SourceElements PreParser::ParseSourceElements(int end_token,
|
| if (allow_directive_prologue) {
|
| if (statement.IsUseStrictLiteral()) {
|
| set_language_mode(allow_harmony_scoping() ?
|
| - i::EXTENDED_MODE : i::STRICT_MODE);
|
| + EXTENDED_MODE : STRICT_MODE);
|
| } else if (!statement.IsStringLiteral()) {
|
| allow_directive_prologue = false;
|
| }
|
| @@ -216,55 +216,55 @@ PreParser::Statement PreParser::ParseStatement(bool* ok) {
|
|
|
| // Keep the source position of the statement
|
| switch (peek()) {
|
| - case i::Token::LBRACE:
|
| + case Token::LBRACE:
|
| return ParseBlock(ok);
|
|
|
| - case i::Token::CONST:
|
| - case i::Token::LET:
|
| - case i::Token::VAR:
|
| + case Token::CONST:
|
| + case Token::LET:
|
| + case Token::VAR:
|
| return ParseVariableStatement(kStatement, ok);
|
|
|
| - case i::Token::SEMICOLON:
|
| + case Token::SEMICOLON:
|
| Next();
|
| return Statement::Default();
|
|
|
| - case i::Token::IF:
|
| + case Token::IF:
|
| return ParseIfStatement(ok);
|
|
|
| - case i::Token::DO:
|
| + case Token::DO:
|
| return ParseDoWhileStatement(ok);
|
|
|
| - case i::Token::WHILE:
|
| + case Token::WHILE:
|
| return ParseWhileStatement(ok);
|
|
|
| - case i::Token::FOR:
|
| + case Token::FOR:
|
| return ParseForStatement(ok);
|
|
|
| - case i::Token::CONTINUE:
|
| + case Token::CONTINUE:
|
| return ParseContinueStatement(ok);
|
|
|
| - case i::Token::BREAK:
|
| + case Token::BREAK:
|
| return ParseBreakStatement(ok);
|
|
|
| - case i::Token::RETURN:
|
| + case Token::RETURN:
|
| return ParseReturnStatement(ok);
|
|
|
| - case i::Token::WITH:
|
| + case Token::WITH:
|
| return ParseWithStatement(ok);
|
|
|
| - case i::Token::SWITCH:
|
| + case Token::SWITCH:
|
| return ParseSwitchStatement(ok);
|
|
|
| - case i::Token::THROW:
|
| + case Token::THROW:
|
| return ParseThrowStatement(ok);
|
|
|
| - case i::Token::TRY:
|
| + case Token::TRY:
|
| return ParseTryStatement(ok);
|
|
|
| - case i::Token::FUNCTION: {
|
| - i::Scanner::Location start_location = scanner()->peek_location();
|
| + case Token::FUNCTION: {
|
| + Scanner::Location start_location = scanner()->peek_location();
|
| Statement statement = ParseFunctionDeclaration(CHECK_OK);
|
| - i::Scanner::Location end_location = scanner()->location();
|
| + Scanner::Location end_location = scanner()->location();
|
| if (!is_classic_mode()) {
|
| ReportMessageAt(start_location.beg_pos, end_location.end_pos,
|
| "strict_function", NULL);
|
| @@ -275,7 +275,7 @@ PreParser::Statement PreParser::ParseStatement(bool* ok) {
|
| }
|
| }
|
|
|
| - case i::Token::DEBUGGER:
|
| + case Token::DEBUGGER:
|
| return ParseDebuggerStatement(ok);
|
|
|
| default:
|
| @@ -290,11 +290,11 @@ PreParser::Statement PreParser::ParseFunctionDeclaration(bool* ok) {
|
| // GeneratorDeclaration ::
|
| // 'function' '*' Identifier '(' FormalParameterListopt ')'
|
| // '{' FunctionBody '}'
|
| - Expect(i::Token::FUNCTION, CHECK_OK);
|
| + Expect(Token::FUNCTION, CHECK_OK);
|
|
|
| - bool is_generator = allow_generators() && Check(i::Token::MUL);
|
| + bool is_generator = allow_generators() && Check(Token::MUL);
|
| Identifier identifier = ParseIdentifier(CHECK_OK);
|
| - i::Scanner::Location location = scanner()->location();
|
| + Scanner::Location location = scanner()->location();
|
|
|
| Expression function_value = ParseFunctionLiteral(is_generator, CHECK_OK);
|
|
|
| @@ -320,15 +320,15 @@ PreParser::Statement PreParser::ParseBlock(bool* ok) {
|
| // Note that a Block does not introduce a new execution scope!
|
| // (ECMA-262, 3rd, 12.2)
|
| //
|
| - Expect(i::Token::LBRACE, CHECK_OK);
|
| - while (peek() != i::Token::RBRACE) {
|
| + Expect(Token::LBRACE, CHECK_OK);
|
| + while (peek() != Token::RBRACE) {
|
| if (is_extended_mode()) {
|
| ParseSourceElement(CHECK_OK);
|
| } else {
|
| ParseStatement(CHECK_OK);
|
| }
|
| }
|
| - Expect(i::Token::RBRACE, ok);
|
| + Expect(Token::RBRACE, ok);
|
| return Statement::Default();
|
| }
|
|
|
| @@ -372,9 +372,9 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| // ConstBinding ::
|
| // BindingPattern '=' AssignmentExpression
|
| bool require_initializer = false;
|
| - if (peek() == i::Token::VAR) {
|
| - Consume(i::Token::VAR);
|
| - } else if (peek() == i::Token::CONST) {
|
| + if (peek() == Token::VAR) {
|
| + Consume(Token::VAR);
|
| + } else if (peek() == Token::CONST) {
|
| // TODO(ES6): The ES6 Draft Rev4 section 12.2.2 reads:
|
| //
|
| // ConstDeclaration : const ConstBinding (',' ConstBinding)* ';'
|
| @@ -385,20 +385,20 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| // However disallowing const in classic mode will break compatibility with
|
| // existing pages. Therefore we keep allowing const with the old
|
| // non-harmony semantics in classic mode.
|
| - Consume(i::Token::CONST);
|
| + Consume(Token::CONST);
|
| switch (language_mode()) {
|
| - case i::CLASSIC_MODE:
|
| + case CLASSIC_MODE:
|
| break;
|
| - case i::STRICT_MODE: {
|
| - i::Scanner::Location location = scanner()->peek_location();
|
| + case STRICT_MODE: {
|
| + Scanner::Location location = scanner()->peek_location();
|
| ReportMessageAt(location, "strict_const", NULL);
|
| *ok = false;
|
| return Statement::Default();
|
| }
|
| - case i::EXTENDED_MODE:
|
| + case EXTENDED_MODE:
|
| if (var_context != kSourceElement &&
|
| var_context != kForStatement) {
|
| - i::Scanner::Location location = scanner()->peek_location();
|
| + Scanner::Location location = scanner()->peek_location();
|
| ReportMessageAt(location.beg_pos, location.end_pos,
|
| "unprotected_const", NULL);
|
| *ok = false;
|
| @@ -407,7 +407,7 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| require_initializer = true;
|
| break;
|
| }
|
| - } else if (peek() == i::Token::LET) {
|
| + } else if (peek() == Token::LET) {
|
| // ES6 Draft Rev4 section 12.2.1:
|
| //
|
| // LetDeclaration : let LetBindingList ;
|
| @@ -415,16 +415,16 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| // * It is a Syntax Error if the code that matches this production is not
|
| // contained in extended code.
|
| if (!is_extended_mode()) {
|
| - i::Scanner::Location location = scanner()->peek_location();
|
| + Scanner::Location location = scanner()->peek_location();
|
| ReportMessageAt(location.beg_pos, location.end_pos,
|
| "illegal_let", NULL);
|
| *ok = false;
|
| return Statement::Default();
|
| }
|
| - Consume(i::Token::LET);
|
| + Consume(Token::LET);
|
| if (var_context != kSourceElement &&
|
| var_context != kForStatement) {
|
| - i::Scanner::Location location = scanner()->peek_location();
|
| + Scanner::Location location = scanner()->peek_location();
|
| ReportMessageAt(location.beg_pos, location.end_pos,
|
| "unprotected_let", NULL);
|
| *ok = false;
|
| @@ -442,7 +442,7 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| int nvars = 0; // the number of variables declared
|
| do {
|
| // Parse variable name.
|
| - if (nvars > 0) Consume(i::Token::COMMA);
|
| + if (nvars > 0) Consume(Token::COMMA);
|
| Identifier identifier = ParseIdentifier(CHECK_OK);
|
| if (!is_classic_mode() && !identifier.IsValidStrictVariable()) {
|
| StrictModeIdentifierViolation(scanner()->location(),
|
| @@ -452,12 +452,12 @@ PreParser::Statement PreParser::ParseVariableDeclarations(
|
| return Statement::Default();
|
| }
|
| nvars++;
|
| - if (peek() == i::Token::ASSIGN || require_initializer) {
|
| - Expect(i::Token::ASSIGN, CHECK_OK);
|
| + if (peek() == Token::ASSIGN || require_initializer) {
|
| + Expect(Token::ASSIGN, CHECK_OK);
|
| ParseAssignmentExpression(var_context != kForStatement, CHECK_OK);
|
| if (decl_props != NULL) *decl_props = kHasInitializers;
|
| }
|
| - } while (peek() == i::Token::COMMA);
|
| + } while (peek() == Token::COMMA);
|
|
|
| if (num_decl != NULL) *num_decl = nvars;
|
| return Statement::Default();
|
| @@ -475,8 +475,8 @@ PreParser::Statement PreParser::ParseExpressionOrLabelledStatement(bool* ok) {
|
| ASSERT(is_classic_mode() ||
|
| (!expr.AsIdentifier().IsFutureStrictReserved() &&
|
| !expr.AsIdentifier().IsYield()));
|
| - if (peek() == i::Token::COLON) {
|
| - Consume(i::Token::COLON);
|
| + if (peek() == Token::COLON) {
|
| + Consume(Token::COLON);
|
| return ParseStatement(ok);
|
| }
|
| // Preparsing is disabled for extensions (because the extension details
|
| @@ -493,12 +493,12 @@ PreParser::Statement PreParser::ParseIfStatement(bool* ok) {
|
| // IfStatement ::
|
| // 'if' '(' Expression ')' Statement ('else' Statement)?
|
|
|
| - Expect(i::Token::IF, CHECK_OK);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::IF, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
| ParseStatement(CHECK_OK);
|
| - if (peek() == i::Token::ELSE) {
|
| + if (peek() == Token::ELSE) {
|
| Next();
|
| ParseStatement(CHECK_OK);
|
| }
|
| @@ -510,12 +510,12 @@ PreParser::Statement PreParser::ParseContinueStatement(bool* ok) {
|
| // ContinueStatement ::
|
| // 'continue' [no line terminator] Identifier? ';'
|
|
|
| - Expect(i::Token::CONTINUE, CHECK_OK);
|
| - i::Token::Value tok = peek();
|
| + Expect(Token::CONTINUE, CHECK_OK);
|
| + Token::Value tok = peek();
|
| if (!scanner()->HasAnyLineTerminatorBeforeNext() &&
|
| - tok != i::Token::SEMICOLON &&
|
| - tok != i::Token::RBRACE &&
|
| - tok != i::Token::EOS) {
|
| + tok != Token::SEMICOLON &&
|
| + tok != Token::RBRACE &&
|
| + tok != Token::EOS) {
|
| ParseIdentifier(CHECK_OK);
|
| }
|
| ExpectSemicolon(CHECK_OK);
|
| @@ -527,12 +527,12 @@ PreParser::Statement PreParser::ParseBreakStatement(bool* ok) {
|
| // BreakStatement ::
|
| // 'break' [no line terminator] Identifier? ';'
|
|
|
| - Expect(i::Token::BREAK, CHECK_OK);
|
| - i::Token::Value tok = peek();
|
| + Expect(Token::BREAK, CHECK_OK);
|
| + Token::Value tok = peek();
|
| if (!scanner()->HasAnyLineTerminatorBeforeNext() &&
|
| - tok != i::Token::SEMICOLON &&
|
| - tok != i::Token::RBRACE &&
|
| - tok != i::Token::EOS) {
|
| + tok != Token::SEMICOLON &&
|
| + tok != Token::RBRACE &&
|
| + tok != Token::EOS) {
|
| ParseIdentifier(CHECK_OK);
|
| }
|
| ExpectSemicolon(CHECK_OK);
|
| @@ -547,18 +547,18 @@ PreParser::Statement PreParser::ParseReturnStatement(bool* ok) {
|
| // Consume the return token. It is necessary to do the before
|
| // reporting any errors on it, because of the way errors are
|
| // reported (underlining).
|
| - Expect(i::Token::RETURN, CHECK_OK);
|
| + Expect(Token::RETURN, CHECK_OK);
|
|
|
| // An ECMAScript program is considered syntactically incorrect if it
|
| // contains a return statement that is not within the body of a
|
| // function. See ECMA-262, section 12.9, page 67.
|
| // This is not handled during preparsing.
|
|
|
| - i::Token::Value tok = peek();
|
| + Token::Value tok = peek();
|
| if (!scanner()->HasAnyLineTerminatorBeforeNext() &&
|
| - tok != i::Token::SEMICOLON &&
|
| - tok != i::Token::RBRACE &&
|
| - tok != i::Token::EOS) {
|
| + tok != Token::SEMICOLON &&
|
| + tok != Token::RBRACE &&
|
| + tok != Token::EOS) {
|
| ParseExpression(true, CHECK_OK);
|
| }
|
| ExpectSemicolon(CHECK_OK);
|
| @@ -569,16 +569,16 @@ PreParser::Statement PreParser::ParseReturnStatement(bool* ok) {
|
| PreParser::Statement PreParser::ParseWithStatement(bool* ok) {
|
| // WithStatement ::
|
| // 'with' '(' Expression ')' Statement
|
| - Expect(i::Token::WITH, CHECK_OK);
|
| + Expect(Token::WITH, CHECK_OK);
|
| if (!is_classic_mode()) {
|
| - i::Scanner::Location location = scanner()->location();
|
| + Scanner::Location location = scanner()->location();
|
| ReportMessageAt(location, "strict_mode_with", NULL);
|
| *ok = false;
|
| return Statement::Default();
|
| }
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| Scope::InsideWith iw(scope_);
|
| ParseStatement(CHECK_OK);
|
| @@ -590,30 +590,30 @@ PreParser::Statement PreParser::ParseSwitchStatement(bool* ok) {
|
| // SwitchStatement ::
|
| // 'switch' '(' Expression ')' '{' CaseClause* '}'
|
|
|
| - Expect(i::Token::SWITCH, CHECK_OK);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::SWITCH, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| - Expect(i::Token::LBRACE, CHECK_OK);
|
| - i::Token::Value token = peek();
|
| - while (token != i::Token::RBRACE) {
|
| - if (token == i::Token::CASE) {
|
| - Expect(i::Token::CASE, CHECK_OK);
|
| + Expect(Token::LBRACE, CHECK_OK);
|
| + Token::Value token = peek();
|
| + while (token != Token::RBRACE) {
|
| + if (token == Token::CASE) {
|
| + Expect(Token::CASE, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| } else {
|
| - Expect(i::Token::DEFAULT, CHECK_OK);
|
| + Expect(Token::DEFAULT, CHECK_OK);
|
| }
|
| - Expect(i::Token::COLON, CHECK_OK);
|
| + Expect(Token::COLON, CHECK_OK);
|
| token = peek();
|
| - while (token != i::Token::CASE &&
|
| - token != i::Token::DEFAULT &&
|
| - token != i::Token::RBRACE) {
|
| + while (token != Token::CASE &&
|
| + token != Token::DEFAULT &&
|
| + token != Token::RBRACE) {
|
| ParseStatement(CHECK_OK);
|
| token = peek();
|
| }
|
| }
|
| - Expect(i::Token::RBRACE, ok);
|
| + Expect(Token::RBRACE, ok);
|
| return Statement::Default();
|
| }
|
|
|
| @@ -622,13 +622,13 @@ PreParser::Statement PreParser::ParseDoWhileStatement(bool* ok) {
|
| // DoStatement ::
|
| // 'do' Statement 'while' '(' Expression ')' ';'
|
|
|
| - Expect(i::Token::DO, CHECK_OK);
|
| + Expect(Token::DO, CHECK_OK);
|
| ParseStatement(CHECK_OK);
|
| - Expect(i::Token::WHILE, CHECK_OK);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::WHILE, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, ok);
|
| - if (peek() == i::Token::SEMICOLON) Consume(i::Token::SEMICOLON);
|
| + Expect(Token::RPAREN, ok);
|
| + if (peek() == Token::SEMICOLON) Consume(Token::SEMICOLON);
|
| return Statement::Default();
|
| }
|
|
|
| @@ -637,10 +637,10 @@ PreParser::Statement PreParser::ParseWhileStatement(bool* ok) {
|
| // WhileStatement ::
|
| // 'while' '(' Expression ')' Statement
|
|
|
| - Expect(i::Token::WHILE, CHECK_OK);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::WHILE, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
| ParseStatement(ok);
|
| return Statement::Default();
|
| }
|
| @@ -660,12 +660,12 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) {
|
| // ForStatement ::
|
| // 'for' '(' Expression? ';' Expression? ';' Expression? ')' Statement
|
|
|
| - Expect(i::Token::FOR, CHECK_OK);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| - if (peek() != i::Token::SEMICOLON) {
|
| - if (peek() == i::Token::VAR || peek() == i::Token::CONST ||
|
| - peek() == i::Token::LET) {
|
| - bool is_let = peek() == i::Token::LET;
|
| + Expect(Token::FOR, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| + if (peek() != Token::SEMICOLON) {
|
| + if (peek() == Token::VAR || peek() == Token::CONST ||
|
| + peek() == Token::LET) {
|
| + bool is_let = peek() == Token::LET;
|
| int decl_count;
|
| VariableDeclarationProperties decl_props = kHasNoInitializers;
|
| ParseVariableDeclarations(
|
| @@ -675,7 +675,7 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) {
|
| bool accept_OF = !has_initializers;
|
| if (accept_IN && CheckInOrOf(accept_OF)) {
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| ParseStatement(CHECK_OK);
|
| return Statement::Default();
|
| @@ -684,7 +684,7 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) {
|
| Expression lhs = ParseExpression(false, CHECK_OK);
|
| if (CheckInOrOf(lhs.IsIdentifier())) {
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| ParseStatement(CHECK_OK);
|
| return Statement::Default();
|
| @@ -693,17 +693,17 @@ PreParser::Statement PreParser::ParseForStatement(bool* ok) {
|
| }
|
|
|
| // Parsed initializer at this point.
|
| - Expect(i::Token::SEMICOLON, CHECK_OK);
|
| + Expect(Token::SEMICOLON, CHECK_OK);
|
|
|
| - if (peek() != i::Token::SEMICOLON) {
|
| + if (peek() != Token::SEMICOLON) {
|
| ParseExpression(true, CHECK_OK);
|
| }
|
| - Expect(i::Token::SEMICOLON, CHECK_OK);
|
| + Expect(Token::SEMICOLON, CHECK_OK);
|
|
|
| - if (peek() != i::Token::RPAREN) {
|
| + if (peek() != Token::RPAREN) {
|
| ParseExpression(true, CHECK_OK);
|
| }
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| ParseStatement(ok);
|
| return Statement::Default();
|
| @@ -714,9 +714,9 @@ PreParser::Statement PreParser::ParseThrowStatement(bool* ok) {
|
| // ThrowStatement ::
|
| // 'throw' [no line terminator] Expression ';'
|
|
|
| - Expect(i::Token::THROW, CHECK_OK);
|
| + Expect(Token::THROW, CHECK_OK);
|
| if (scanner()->HasAnyLineTerminatorBeforeNext()) {
|
| - i::Scanner::Location pos = scanner()->location();
|
| + Scanner::Location pos = scanner()->location();
|
| ReportMessageAt(pos, "newline_after_throw", NULL);
|
| *ok = false;
|
| return Statement::Default();
|
| @@ -742,14 +742,14 @@ PreParser::Statement PreParser::ParseTryStatement(bool* ok) {
|
| // In preparsing, allow any number of catch/finally blocks, including zero
|
| // of both.
|
|
|
| - Expect(i::Token::TRY, CHECK_OK);
|
| + Expect(Token::TRY, CHECK_OK);
|
|
|
| ParseBlock(CHECK_OK);
|
|
|
| bool catch_or_finally_seen = false;
|
| - if (peek() == i::Token::CATCH) {
|
| - Consume(i::Token::CATCH);
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + if (peek() == Token::CATCH) {
|
| + Consume(Token::CATCH);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| Identifier id = ParseIdentifier(CHECK_OK);
|
| if (!is_classic_mode() && !id.IsValidStrictVariable()) {
|
| StrictModeIdentifierViolation(scanner()->location(),
|
| @@ -758,14 +758,14 @@ PreParser::Statement PreParser::ParseTryStatement(bool* ok) {
|
| ok);
|
| return Statement::Default();
|
| }
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
| { Scope::InsideWith iw(scope_);
|
| ParseBlock(CHECK_OK);
|
| }
|
| catch_or_finally_seen = true;
|
| }
|
| - if (peek() == i::Token::FINALLY) {
|
| - Consume(i::Token::FINALLY);
|
| + if (peek() == Token::FINALLY) {
|
| + Consume(Token::FINALLY);
|
| ParseBlock(CHECK_OK);
|
| catch_or_finally_seen = true;
|
| }
|
| @@ -783,7 +783,7 @@ PreParser::Statement PreParser::ParseDebuggerStatement(bool* ok) {
|
| // DebuggerStatement ::
|
| // 'debugger' ';'
|
|
|
| - Expect(i::Token::DEBUGGER, CHECK_OK);
|
| + Expect(Token::DEBUGGER, CHECK_OK);
|
| ExpectSemicolon(ok);
|
| return Statement::Default();
|
| }
|
| @@ -804,8 +804,8 @@ PreParser::Expression PreParser::ParseExpression(bool accept_IN, bool* ok) {
|
| // Expression ',' AssignmentExpression
|
|
|
| Expression result = ParseAssignmentExpression(accept_IN, CHECK_OK);
|
| - while (peek() == i::Token::COMMA) {
|
| - Expect(i::Token::COMMA, CHECK_OK);
|
| + while (peek() == Token::COMMA) {
|
| + Expect(Token::COMMA, CHECK_OK);
|
| ParseAssignmentExpression(accept_IN, CHECK_OK);
|
| result = Expression::Default();
|
| }
|
| @@ -821,14 +821,14 @@ PreParser::Expression PreParser::ParseAssignmentExpression(bool accept_IN,
|
| // YieldExpression
|
| // LeftHandSideExpression AssignmentOperator AssignmentExpression
|
|
|
| - if (scope_->is_generator() && peek() == i::Token::YIELD) {
|
| + if (scope_->is_generator() && peek() == Token::YIELD) {
|
| return ParseYieldExpression(ok);
|
| }
|
|
|
| - i::Scanner::Location before = scanner()->peek_location();
|
| + Scanner::Location before = scanner()->peek_location();
|
| Expression expression = ParseConditionalExpression(accept_IN, CHECK_OK);
|
|
|
| - if (!i::Token::IsAssignmentOp(peek())) {
|
| + if (!Token::IsAssignmentOp(peek())) {
|
| // Parsed conditional expression only (no assignment).
|
| return expression;
|
| }
|
| @@ -836,17 +836,17 @@ PreParser::Expression PreParser::ParseAssignmentExpression(bool accept_IN,
|
| if (!is_classic_mode() &&
|
| expression.IsIdentifier() &&
|
| expression.AsIdentifier().IsEvalOrArguments()) {
|
| - i::Scanner::Location after = scanner()->location();
|
| + Scanner::Location after = scanner()->location();
|
| ReportMessageAt(before.beg_pos, after.end_pos,
|
| "strict_lhs_assignment", NULL);
|
| *ok = false;
|
| return Expression::Default();
|
| }
|
|
|
| - i::Token::Value op = Next(); // Get assignment operator.
|
| + Token::Value op = Next(); // Get assignment operator.
|
| ParseAssignmentExpression(accept_IN, CHECK_OK);
|
|
|
| - if ((op == i::Token::ASSIGN) && expression.IsThisProperty()) {
|
| + if ((op == Token::ASSIGN) && expression.IsThisProperty()) {
|
| scope_->AddProperty();
|
| }
|
|
|
| @@ -858,8 +858,8 @@ PreParser::Expression PreParser::ParseAssignmentExpression(bool accept_IN,
|
| PreParser::Expression PreParser::ParseYieldExpression(bool* ok) {
|
| // YieldExpression ::
|
| // 'yield' '*'? AssignmentExpression
|
| - Consume(i::Token::YIELD);
|
| - Check(i::Token::MUL);
|
| + Consume(Token::YIELD);
|
| + Check(Token::MUL);
|
|
|
| ParseAssignmentExpression(false, CHECK_OK);
|
|
|
| @@ -876,13 +876,13 @@ PreParser::Expression PreParser::ParseConditionalExpression(bool accept_IN,
|
|
|
| // We start using the binary expression parser for prec >= 4 only!
|
| Expression expression = ParseBinaryExpression(4, accept_IN, CHECK_OK);
|
| - if (peek() != i::Token::CONDITIONAL) return expression;
|
| - Consume(i::Token::CONDITIONAL);
|
| + if (peek() != Token::CONDITIONAL) return expression;
|
| + Consume(Token::CONDITIONAL);
|
| // In parsing the first assignment expression in conditional
|
| // expressions we always accept the 'in' keyword; see ECMA-262,
|
| // section 11.12, page 58.
|
| ParseAssignmentExpression(true, CHECK_OK);
|
| - Expect(i::Token::COLON, CHECK_OK);
|
| + Expect(Token::COLON, CHECK_OK);
|
| ParseAssignmentExpression(accept_IN, CHECK_OK);
|
| return Expression::Default();
|
| }
|
| @@ -918,19 +918,19 @@ PreParser::Expression PreParser::ParseUnaryExpression(bool* ok) {
|
| // '~' UnaryExpression
|
| // '!' UnaryExpression
|
|
|
| - i::Token::Value op = peek();
|
| - if (i::Token::IsUnaryOp(op)) {
|
| + Token::Value op = peek();
|
| + if (Token::IsUnaryOp(op)) {
|
| op = Next();
|
| ParseUnaryExpression(ok);
|
| return Expression::Default();
|
| - } else if (i::Token::IsCountOp(op)) {
|
| + } else if (Token::IsCountOp(op)) {
|
| op = Next();
|
| - i::Scanner::Location before = scanner()->peek_location();
|
| + Scanner::Location before = scanner()->peek_location();
|
| Expression expression = ParseUnaryExpression(CHECK_OK);
|
| if (!is_classic_mode() &&
|
| expression.IsIdentifier() &&
|
| expression.AsIdentifier().IsEvalOrArguments()) {
|
| - i::Scanner::Location after = scanner()->location();
|
| + Scanner::Location after = scanner()->location();
|
| ReportMessageAt(before.beg_pos, after.end_pos,
|
| "strict_lhs_prefix", NULL);
|
| *ok = false;
|
| @@ -946,14 +946,14 @@ PreParser::Expression PreParser::ParsePostfixExpression(bool* ok) {
|
| // PostfixExpression ::
|
| // LeftHandSideExpression ('++' | '--')?
|
|
|
| - i::Scanner::Location before = scanner()->peek_location();
|
| + Scanner::Location before = scanner()->peek_location();
|
| Expression expression = ParseLeftHandSideExpression(CHECK_OK);
|
| if (!scanner()->HasAnyLineTerminatorBeforeNext() &&
|
| - i::Token::IsCountOp(peek())) {
|
| + Token::IsCountOp(peek())) {
|
| if (!is_classic_mode() &&
|
| expression.IsIdentifier() &&
|
| expression.AsIdentifier().IsEvalOrArguments()) {
|
| - i::Scanner::Location after = scanner()->location();
|
| + Scanner::Location after = scanner()->location();
|
| ReportMessageAt(before.beg_pos, after.end_pos,
|
| "strict_lhs_postfix", NULL);
|
| *ok = false;
|
| @@ -971,7 +971,7 @@ PreParser::Expression PreParser::ParseLeftHandSideExpression(bool* ok) {
|
| // (NewExpression | MemberExpression) ...
|
|
|
| Expression result = Expression::Default();
|
| - if (peek() == i::Token::NEW) {
|
| + if (peek() == Token::NEW) {
|
| result = ParseNewExpression(CHECK_OK);
|
| } else {
|
| result = ParseMemberExpression(CHECK_OK);
|
| @@ -979,10 +979,10 @@ PreParser::Expression PreParser::ParseLeftHandSideExpression(bool* ok) {
|
|
|
| while (true) {
|
| switch (peek()) {
|
| - case i::Token::LBRACK: {
|
| - Consume(i::Token::LBRACK);
|
| + case Token::LBRACK: {
|
| + Consume(Token::LBRACK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RBRACK, CHECK_OK);
|
| + Expect(Token::RBRACK, CHECK_OK);
|
| if (result.IsThis()) {
|
| result = Expression::ThisProperty();
|
| } else {
|
| @@ -991,14 +991,14 @@ PreParser::Expression PreParser::ParseLeftHandSideExpression(bool* ok) {
|
| break;
|
| }
|
|
|
| - case i::Token::LPAREN: {
|
| + case Token::LPAREN: {
|
| ParseArguments(CHECK_OK);
|
| result = Expression::Default();
|
| break;
|
| }
|
|
|
| - case i::Token::PERIOD: {
|
| - Consume(i::Token::PERIOD);
|
| + case Token::PERIOD: {
|
| + Consume(Token::PERIOD);
|
| ParseIdentifierName(CHECK_OK);
|
| if (result.IsThis()) {
|
| result = Expression::ThisProperty();
|
| @@ -1029,9 +1029,9 @@ PreParser::Expression PreParser::ParseNewExpression(bool* ok) {
|
| // lists as long as it has 'new' prefixes left
|
| unsigned new_count = 0;
|
| do {
|
| - Consume(i::Token::NEW);
|
| + Consume(Token::NEW);
|
| new_count++;
|
| - } while (peek() == i::Token::NEW);
|
| + } while (peek() == Token::NEW);
|
|
|
| return ParseMemberWithNewPrefixesExpression(new_count, ok);
|
| }
|
| @@ -1050,10 +1050,10 @@ PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression(
|
|
|
| // Parse the initial primary or function expression.
|
| Expression result = Expression::Default();
|
| - if (peek() == i::Token::FUNCTION) {
|
| - Consume(i::Token::FUNCTION);
|
| + if (peek() == Token::FUNCTION) {
|
| + Consume(Token::FUNCTION);
|
|
|
| - bool is_generator = allow_generators() && Check(i::Token::MUL);
|
| + bool is_generator = allow_generators() && Check(Token::MUL);
|
| Identifier identifier = Identifier::Default();
|
| if (peek_any_identifier()) {
|
| identifier = ParseIdentifier(CHECK_OK);
|
| @@ -1072,10 +1072,10 @@ PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression(
|
|
|
| while (true) {
|
| switch (peek()) {
|
| - case i::Token::LBRACK: {
|
| - Consume(i::Token::LBRACK);
|
| + case Token::LBRACK: {
|
| + Consume(Token::LBRACK);
|
| ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RBRACK, CHECK_OK);
|
| + Expect(Token::RBRACK, CHECK_OK);
|
| if (result.IsThis()) {
|
| result = Expression::ThisProperty();
|
| } else {
|
| @@ -1083,8 +1083,8 @@ PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression(
|
| }
|
| break;
|
| }
|
| - case i::Token::PERIOD: {
|
| - Consume(i::Token::PERIOD);
|
| + case Token::PERIOD: {
|
| + Consume(Token::PERIOD);
|
| ParseIdentifierName(CHECK_OK);
|
| if (result.IsThis()) {
|
| result = Expression::ThisProperty();
|
| @@ -1093,7 +1093,7 @@ PreParser::Expression PreParser::ParseMemberWithNewPrefixesExpression(
|
| }
|
| break;
|
| }
|
| - case i::Token::LPAREN: {
|
| + case Token::LPAREN: {
|
| if (new_count == 0) return result;
|
| // Consume one of the new prefixes (already parsed).
|
| ParseArguments(CHECK_OK);
|
| @@ -1124,59 +1124,59 @@ PreParser::Expression PreParser::ParsePrimaryExpression(bool* ok) {
|
|
|
| Expression result = Expression::Default();
|
| switch (peek()) {
|
| - case i::Token::THIS: {
|
| + case Token::THIS: {
|
| Next();
|
| result = Expression::This();
|
| break;
|
| }
|
|
|
| - case i::Token::FUTURE_RESERVED_WORD:
|
| - case i::Token::FUTURE_STRICT_RESERVED_WORD:
|
| - case i::Token::YIELD:
|
| - case i::Token::IDENTIFIER: {
|
| + case Token::FUTURE_RESERVED_WORD:
|
| + case Token::FUTURE_STRICT_RESERVED_WORD:
|
| + case Token::YIELD:
|
| + case Token::IDENTIFIER: {
|
| Identifier id = ParseIdentifier(CHECK_OK);
|
| result = Expression::FromIdentifier(id);
|
| break;
|
| }
|
|
|
| - case i::Token::NULL_LITERAL:
|
| - case i::Token::TRUE_LITERAL:
|
| - case i::Token::FALSE_LITERAL:
|
| - case i::Token::NUMBER: {
|
| + case Token::NULL_LITERAL:
|
| + case Token::TRUE_LITERAL:
|
| + case Token::FALSE_LITERAL:
|
| + case Token::NUMBER: {
|
| Next();
|
| break;
|
| }
|
| - case i::Token::STRING: {
|
| + case Token::STRING: {
|
| Next();
|
| result = GetStringSymbol();
|
| break;
|
| }
|
|
|
| - case i::Token::ASSIGN_DIV:
|
| + case Token::ASSIGN_DIV:
|
| result = ParseRegExpLiteral(true, CHECK_OK);
|
| break;
|
|
|
| - case i::Token::DIV:
|
| + case Token::DIV:
|
| result = ParseRegExpLiteral(false, CHECK_OK);
|
| break;
|
|
|
| - case i::Token::LBRACK:
|
| + case Token::LBRACK:
|
| result = ParseArrayLiteral(CHECK_OK);
|
| break;
|
|
|
| - case i::Token::LBRACE:
|
| + case Token::LBRACE:
|
| result = ParseObjectLiteral(CHECK_OK);
|
| break;
|
|
|
| - case i::Token::LPAREN:
|
| - Consume(i::Token::LPAREN);
|
| - parenthesized_function_ = (peek() == i::Token::FUNCTION);
|
| + case Token::LPAREN:
|
| + Consume(Token::LPAREN);
|
| + parenthesized_function_ = (peek() == Token::FUNCTION);
|
| result = ParseExpression(true, CHECK_OK);
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
| result = result.Parenthesize();
|
| break;
|
|
|
| - case i::Token::MOD:
|
| + case Token::MOD:
|
| result = ParseV8Intrinsic(CHECK_OK);
|
| break;
|
|
|
| @@ -1194,16 +1194,16 @@ PreParser::Expression PreParser::ParsePrimaryExpression(bool* ok) {
|
| PreParser::Expression PreParser::ParseArrayLiteral(bool* ok) {
|
| // ArrayLiteral ::
|
| // '[' Expression? (',' Expression?)* ']'
|
| - Expect(i::Token::LBRACK, CHECK_OK);
|
| - while (peek() != i::Token::RBRACK) {
|
| - if (peek() != i::Token::COMMA) {
|
| + Expect(Token::LBRACK, CHECK_OK);
|
| + while (peek() != Token::RBRACK) {
|
| + if (peek() != Token::COMMA) {
|
| ParseAssignmentExpression(true, CHECK_OK);
|
| }
|
| - if (peek() != i::Token::RBRACK) {
|
| - Expect(i::Token::COMMA, CHECK_OK);
|
| + if (peek() != Token::RBRACK) {
|
| + Expect(Token::COMMA, CHECK_OK);
|
| }
|
| }
|
| - Expect(i::Token::RBRACK, CHECK_OK);
|
| + Expect(Token::RBRACK, CHECK_OK);
|
|
|
| scope_->NextMaterializedLiteralIndex();
|
| return Expression::Default();
|
| @@ -1219,24 +1219,24 @@ PreParser::Expression PreParser::ParseObjectLiteral(bool* ok) {
|
|
|
| ObjectLiteralChecker checker(this, language_mode());
|
|
|
| - Expect(i::Token::LBRACE, CHECK_OK);
|
| - while (peek() != i::Token::RBRACE) {
|
| - i::Token::Value next = peek();
|
| + Expect(Token::LBRACE, CHECK_OK);
|
| + while (peek() != Token::RBRACE) {
|
| + Token::Value next = peek();
|
| switch (next) {
|
| - case i::Token::IDENTIFIER:
|
| - case i::Token::FUTURE_RESERVED_WORD:
|
| - case i::Token::FUTURE_STRICT_RESERVED_WORD: {
|
| + case Token::IDENTIFIER:
|
| + case Token::FUTURE_RESERVED_WORD:
|
| + case Token::FUTURE_STRICT_RESERVED_WORD: {
|
| bool is_getter = false;
|
| bool is_setter = false;
|
| ParseIdentifierNameOrGetOrSet(&is_getter, &is_setter, CHECK_OK);
|
| - if ((is_getter || is_setter) && peek() != i::Token::COLON) {
|
| - i::Token::Value name = Next();
|
| - bool is_keyword = i::Token::IsKeyword(name);
|
| - if (name != i::Token::IDENTIFIER &&
|
| - name != i::Token::FUTURE_RESERVED_WORD &&
|
| - name != i::Token::FUTURE_STRICT_RESERVED_WORD &&
|
| - name != i::Token::NUMBER &&
|
| - name != i::Token::STRING &&
|
| + if ((is_getter || is_setter) && peek() != Token::COLON) {
|
| + Token::Value name = Next();
|
| + bool is_keyword = Token::IsKeyword(name);
|
| + if (name != Token::IDENTIFIER &&
|
| + name != Token::FUTURE_RESERVED_WORD &&
|
| + name != Token::FUTURE_STRICT_RESERVED_WORD &&
|
| + name != Token::NUMBER &&
|
| + name != Token::STRING &&
|
| !is_keyword) {
|
| *ok = false;
|
| return Expression::Default();
|
| @@ -1247,25 +1247,25 @@ PreParser::Expression PreParser::ParseObjectLiteral(bool* ok) {
|
| PropertyKind type = is_getter ? kGetterProperty : kSetterProperty;
|
| checker.CheckProperty(name, type, CHECK_OK);
|
| ParseFunctionLiteral(false, CHECK_OK);
|
| - if (peek() != i::Token::RBRACE) {
|
| - Expect(i::Token::COMMA, CHECK_OK);
|
| + if (peek() != Token::RBRACE) {
|
| + Expect(Token::COMMA, CHECK_OK);
|
| }
|
| continue; // restart the while
|
| }
|
| checker.CheckProperty(next, kValueProperty, CHECK_OK);
|
| break;
|
| }
|
| - case i::Token::STRING:
|
| + case Token::STRING:
|
| Consume(next);
|
| checker.CheckProperty(next, kValueProperty, CHECK_OK);
|
| GetStringSymbol();
|
| break;
|
| - case i::Token::NUMBER:
|
| + case Token::NUMBER:
|
| Consume(next);
|
| checker.CheckProperty(next, kValueProperty, CHECK_OK);
|
| break;
|
| default:
|
| - if (i::Token::IsKeyword(next)) {
|
| + if (Token::IsKeyword(next)) {
|
| Consume(next);
|
| checker.CheckProperty(next, kValueProperty, CHECK_OK);
|
| } else {
|
| @@ -1275,13 +1275,13 @@ PreParser::Expression PreParser::ParseObjectLiteral(bool* ok) {
|
| }
|
| }
|
|
|
| - Expect(i::Token::COLON, CHECK_OK);
|
| + Expect(Token::COLON, CHECK_OK);
|
| ParseAssignmentExpression(true, CHECK_OK);
|
|
|
| // TODO(1240767): Consider allowing trailing comma.
|
| - if (peek() != i::Token::RBRACE) Expect(i::Token::COMMA, CHECK_OK);
|
| + if (peek() != Token::RBRACE) Expect(Token::COMMA, CHECK_OK);
|
| }
|
| - Expect(i::Token::RBRACE, CHECK_OK);
|
| + Expect(Token::RBRACE, CHECK_OK);
|
|
|
| scope_->NextMaterializedLiteralIndex();
|
| return Expression::Default();
|
| @@ -1314,21 +1314,21 @@ PreParser::Arguments PreParser::ParseArguments(bool* ok) {
|
| // Arguments ::
|
| // '(' (AssignmentExpression)*[','] ')'
|
|
|
| - Expect(i::Token::LPAREN, ok);
|
| + Expect(Token::LPAREN, ok);
|
| if (!*ok) return -1;
|
| - bool done = (peek() == i::Token::RPAREN);
|
| + bool done = (peek() == Token::RPAREN);
|
| int argc = 0;
|
| while (!done) {
|
| ParseAssignmentExpression(true, ok);
|
| if (!*ok) return -1;
|
| argc++;
|
| - done = (peek() == i::Token::RPAREN);
|
| + done = (peek() == Token::RPAREN);
|
| if (!done) {
|
| - Expect(i::Token::COMMA, ok);
|
| + Expect(Token::COMMA, ok);
|
| if (!*ok) return -1;
|
| }
|
| }
|
| - Expect(i::Token::RPAREN, ok);
|
| + Expect(Token::RPAREN, ok);
|
| return argc;
|
| }
|
|
|
| @@ -1345,10 +1345,10 @@ PreParser::Expression PreParser::ParseFunctionLiteral(bool is_generator,
|
| function_scope.set_is_generator(is_generator);
|
| // FormalParameterList ::
|
| // '(' (Identifier)*[','] ')'
|
| - Expect(i::Token::LPAREN, CHECK_OK);
|
| + Expect(Token::LPAREN, CHECK_OK);
|
| int start_position = position();
|
| - bool done = (peek() == i::Token::RPAREN);
|
| - i::DuplicateFinder duplicate_finder(scanner()->unicode_cache());
|
| + bool done = (peek() == Token::RPAREN);
|
| + DuplicateFinder duplicate_finder(scanner()->unicode_cache());
|
| while (!done) {
|
| Identifier id = ParseIdentifier(CHECK_OK);
|
| if (!id.IsValidStrictVariable()) {
|
| @@ -1371,12 +1371,12 @@ PreParser::Expression PreParser::ParseFunctionLiteral(bool is_generator,
|
| "strict_param_dupe",
|
| CHECK_OK);
|
| }
|
| - done = (peek() == i::Token::RPAREN);
|
| + done = (peek() == Token::RPAREN);
|
| if (!done) {
|
| - Expect(i::Token::COMMA, CHECK_OK);
|
| + Expect(Token::COMMA, CHECK_OK);
|
| }
|
| }
|
| - Expect(i::Token::RPAREN, CHECK_OK);
|
| + Expect(Token::RPAREN, CHECK_OK);
|
|
|
| // Determine if the function will be lazily compiled.
|
| // Currently only happens to top-level functions.
|
| @@ -1386,13 +1386,13 @@ PreParser::Expression PreParser::ParseFunctionLiteral(bool is_generator,
|
| !parenthesized_function_);
|
| parenthesized_function_ = false;
|
|
|
| - Expect(i::Token::LBRACE, CHECK_OK);
|
| + Expect(Token::LBRACE, CHECK_OK);
|
| if (is_lazily_compiled) {
|
| ParseLazyFunctionLiteralBody(CHECK_OK);
|
| } else {
|
| - ParseSourceElements(i::Token::RBRACE, ok);
|
| + ParseSourceElements(Token::RBRACE, ok);
|
| }
|
| - Expect(i::Token::RBRACE, CHECK_OK);
|
| + Expect(Token::RBRACE, CHECK_OK);
|
|
|
| if (!is_classic_mode()) {
|
| int end_position = scanner()->location().end_pos;
|
| @@ -1408,12 +1408,12 @@ PreParser::Expression PreParser::ParseFunctionLiteral(bool is_generator,
|
| void PreParser::ParseLazyFunctionLiteralBody(bool* ok) {
|
| int body_start = position();
|
| log_->PauseRecording();
|
| - ParseSourceElements(i::Token::RBRACE, ok);
|
| + ParseSourceElements(Token::RBRACE, ok);
|
| log_->ResumeRecording();
|
| if (!*ok) return;
|
|
|
| // Position right after terminal '}'.
|
| - ASSERT_EQ(i::Token::RBRACE, scanner()->peek());
|
| + ASSERT_EQ(Token::RBRACE, scanner()->peek());
|
| int body_end = scanner()->peek_location().end_pos;
|
| log_->LogFunction(body_start, body_end,
|
| scope_->materialized_literal_count(),
|
| @@ -1425,7 +1425,7 @@ void PreParser::ParseLazyFunctionLiteralBody(bool* ok) {
|
| PreParser::Expression PreParser::ParseV8Intrinsic(bool* ok) {
|
| // CallRuntime ::
|
| // '%' Identifier Arguments
|
| - Expect(i::Token::MOD, CHECK_OK);
|
| + Expect(Token::MOD, CHECK_OK);
|
| if (!allow_natives_syntax()) {
|
| *ok = false;
|
| return Expression::Default();
|
| @@ -1466,12 +1466,12 @@ PreParser::Expression PreParser::GetStringSymbol() {
|
|
|
| PreParser::Identifier PreParser::GetIdentifierSymbol() {
|
| LogSymbol();
|
| - if (scanner()->current_token() == i::Token::FUTURE_RESERVED_WORD) {
|
| + if (scanner()->current_token() == Token::FUTURE_RESERVED_WORD) {
|
| return Identifier::FutureReserved();
|
| } else if (scanner()->current_token() ==
|
| - i::Token::FUTURE_STRICT_RESERVED_WORD) {
|
| + Token::FUTURE_STRICT_RESERVED_WORD) {
|
| return Identifier::FutureStrictReserved();
|
| - } else if (scanner()->current_token() == i::Token::YIELD) {
|
| + } else if (scanner()->current_token() == Token::YIELD) {
|
| return Identifier::Yield();
|
| }
|
| if (scanner()->is_literal_ascii()) {
|
| @@ -1490,16 +1490,16 @@ PreParser::Identifier PreParser::GetIdentifierSymbol() {
|
|
|
|
|
| PreParser::Identifier PreParser::ParseIdentifier(bool* ok) {
|
| - i::Token::Value next = Next();
|
| + Token::Value next = Next();
|
| switch (next) {
|
| - case i::Token::FUTURE_RESERVED_WORD: {
|
| - i::Scanner::Location location = scanner()->location();
|
| + case Token::FUTURE_RESERVED_WORD: {
|
| + Scanner::Location location = scanner()->location();
|
| ReportMessageAt(location.beg_pos, location.end_pos,
|
| "reserved_word", NULL);
|
| *ok = false;
|
| return GetIdentifierSymbol();
|
| }
|
| - case i::Token::YIELD:
|
| + case Token::YIELD:
|
| if (scope_->is_generator()) {
|
| // 'yield' in a generator is only valid as part of a YieldExpression.
|
| ReportMessageAt(scanner()->location(), "unexpected_token", "yield");
|
| @@ -1507,15 +1507,15 @@ PreParser::Identifier PreParser::ParseIdentifier(bool* ok) {
|
| return Identifier::Yield();
|
| }
|
| // FALLTHROUGH
|
| - case i::Token::FUTURE_STRICT_RESERVED_WORD:
|
| + case Token::FUTURE_STRICT_RESERVED_WORD:
|
| if (!is_classic_mode()) {
|
| - i::Scanner::Location location = scanner()->location();
|
| + Scanner::Location location = scanner()->location();
|
| ReportMessageAt(location.beg_pos, location.end_pos,
|
| "strict_reserved_word", NULL);
|
| *ok = false;
|
| }
|
| // FALLTHROUGH
|
| - case i::Token::IDENTIFIER:
|
| + case Token::IDENTIFIER:
|
| return GetIdentifierSymbol();
|
| default:
|
| *ok = false;
|
| @@ -1524,7 +1524,7 @@ PreParser::Identifier PreParser::ParseIdentifier(bool* ok) {
|
| }
|
|
|
|
|
| -void PreParser::SetStrictModeViolation(i::Scanner::Location location,
|
| +void PreParser::SetStrictModeViolation(Scanner::Location location,
|
| const char* type,
|
| bool* ok) {
|
| if (!is_classic_mode()) {
|
| @@ -1548,7 +1548,7 @@ void PreParser::SetStrictModeViolation(i::Scanner::Location location,
|
| void PreParser::CheckDelayedStrictModeViolation(int beg_pos,
|
| int end_pos,
|
| bool* ok) {
|
| - i::Scanner::Location location = strict_mode_violation_location_;
|
| + Scanner::Location location = strict_mode_violation_location_;
|
| if (location.IsValid() &&
|
| location.beg_pos > beg_pos && location.end_pos < end_pos) {
|
| ReportMessageAt(location, strict_mode_violation_type_, NULL);
|
| @@ -1557,7 +1557,7 @@ void PreParser::CheckDelayedStrictModeViolation(int beg_pos,
|
| }
|
|
|
|
|
| -void PreParser::StrictModeIdentifierViolation(i::Scanner::Location location,
|
| +void PreParser::StrictModeIdentifierViolation(Scanner::Location location,
|
| const char* eval_args_type,
|
| Identifier identifier,
|
| bool* ok) {
|
| @@ -1578,17 +1578,16 @@ void PreParser::StrictModeIdentifierViolation(i::Scanner::Location location,
|
|
|
|
|
| PreParser::Identifier PreParser::ParseIdentifierName(bool* ok) {
|
| - i::Token::Value next = Next();
|
| - if (i::Token::IsKeyword(next)) {
|
| + Token::Value next = Next();
|
| + if (Token::IsKeyword(next)) {
|
| int pos = position();
|
| - const char* keyword = i::Token::String(next);
|
| - log_->LogAsciiSymbol(pos, i::Vector<const char>(keyword,
|
| - i::StrLength(keyword)));
|
| + const char* keyword = Token::String(next);
|
| + log_->LogAsciiSymbol(pos, Vector<const char>(keyword, StrLength(keyword)));
|
| return Identifier::Default();
|
| }
|
| - if (next == i::Token::IDENTIFIER ||
|
| - next == i::Token::FUTURE_RESERVED_WORD ||
|
| - next == i::Token::FUTURE_STRICT_RESERVED_WORD) {
|
| + if (next == Token::IDENTIFIER ||
|
| + next == Token::FUTURE_RESERVED_WORD ||
|
| + next == Token::FUTURE_STRICT_RESERVED_WORD) {
|
| return GetIdentifierSymbol();
|
| }
|
| *ok = false;
|
|
|