Lines Matching refs:scanner
17 #include "src/parsing/scanner.h"
200 ParserBase(Zone* zone, Scanner* scanner, uintptr_t stack_limit,
216 scanner_(scanner),
332 const Scanner::Location& location() const { return loc_; }
357 Scanner::Location loc_;
588 first_initializer_loc(Scanner::Location::invalid()),
589 bindings_loc(Scanner::Location::invalid()) {}
593 Scanner::Location first_initializer_loc;
594 Scanner::Location bindings_loc;
706 Scanner* scanner() const { return scanner_; }
715 return scanner()->peek();
720 return scanner()->PeekAhead();
733 return scanner()->Next();
768 if (scanner()->HasAnyLineTerminatorBeforeNext() ||
802 scanner()->is_next_contextual_keyword(keyword);
810 if (!scanner()->is_literal_contextual_keyword(keyword)) {
811 ReportUnexpectedToken(scanner()->current_token());
834 Scanner::Location octal = scanner()->octal_position();
837 MessageTemplate::Template message = scanner()->octal_message();
840 scanner()->clear_octal_position();
853 if (!scanner()->has_invalid_template_escape()) {
859 impl()->ReportMessageAt(scanner()->invalid_template_escape_location(),
860 scanner()->invalid_template_escape_message());
863 scanner()->clear_invalid_template_escape();
873 const Scanner::Location& function_name_loc, bool* ok) {
921 Scanner::Location source_location = scanner()->location();
929 Scanner::Location source_location = scanner()->location();
933 void ReportMessageAt(Scanner::Location location,
942 Scanner::Location* location, const char** arg,
947 Scanner::Location location, Token::Value token,
1007 impl()->ReportMessageAt(scanner()->location(),
1009 Token::String(scanner()->current_token()));
1041 Scanner::Location location = scanner()->peek_location();
1049 Scanner::Location location = scanner()->peek_location();
1134 ExpressionListT ParseArguments(Scanner::Location* first_spread_pos,
1136 ExpressionListT ParseArguments(Scanner::Location* first_spread_pos,
1165 Scanner::Location class_name_location,
1366 bool IsProto() { return this->scanner()->LiteralMatches("__proto__", 9); }
1369 Scanner* scanner() const { return parser_->scanner(); }
1387 return this->scanner()->LiteralMatches("constructor", 11);
1390 return this->scanner()->LiteralMatches("prototype", 9);
1394 Scanner* scanner() const { return parser_->scanner(); }
1463 Scanner* scanner_;
1518 Scanner::Location* location, const char** arg,
1556 if (scanner()->has_error()) {
1557 *message = scanner()->error();
1558 *location = scanner()->error_location();
1581 Scanner::Location source_location, Token::Value token,
1617 scanner()->location(), MessageTemplate::kStrictEvalArguments);
1620 scanner()->location(), MessageTemplate::kStrictEvalArguments);
1624 scanner()->location(), MessageTemplate::kAwaitBindingIdentifier);
1628 scanner()->FindSymbol(classifier()->duplicate_finder())) {
1629 classifier()->RecordDuplicateFormalParameterError(scanner()->location());
1638 scanner()->location(), MessageTemplate::kUnexpectedStrictReserved);
1647 scanner()->is_literal_contextual_keyword(CStrVector("let")))) {
1649 scanner()->location(), MessageTemplate::kLetInLexicalBinding);
1704 if (!scanner()->ScanRegExpPattern()) {
1712 Maybe<RegExp::Flags> flags = scanner()->ScanRegExpFlags();
1761 if (!scanner()->HasAnyLineTerminatorAfterNext() &&
1790 scanner()->peek_location(), MessageTemplate::kUnexpectedTokenRegExp);
1806 classifier()->RecordPatternError(scanner()->peek_location(),
1814 classifier()->RecordExpressionError(scanner()->location(),
1836 Scanner::Location class_name_location = Scanner::Location::invalid();
1840 class_name_location = scanner()->location();
1899 classifier()->RecordExpressionError(scanner()->location(),
1928 scanner()->location(), MessageTemplate::kParamAfterRest);
1975 Scanner::Location(start_pos, scanner()->location().end_pos),
1979 scanner()->location().end_pos);
1984 Scanner::Location(start_pos, scanner()->location().end_pos),
1990 CheckDestructuringElement(elem, beg_pos, scanner()->location().end_pos);
2064 !scanner()->HasAnyLineTerminatorAfterNext()) {
2082 !scanner()->IsGetOrSet(is_get, is_set)) {
2138 scanner()->location(),
2142 scanner()->location().end_pos);
2146 classifier()->RecordPatternError(scanner()->location(),
2191 int function_token_position = scanner()->peek_location().beg_pos;
2196 function_token_position = scanner()->peek_location().beg_pos;
2272 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2302 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2333 initializer_scope->set_start_position(scanner()->location().end_pos);
2346 initializer_scope->set_end_position(scanner()->location().end_pos);
2372 int next_beg_pos = scanner()->peek_location().beg_pos;
2373 int next_end_pos = scanner()->peek_location().end_pos;
2403 CheckDestructuringElement(value, beg_pos, scanner()->location().end_pos);
2435 scanner()->FindSymbol(classifier()->duplicate_finder())) {
2437 scanner()->location());
2442 scanner()->location(), MessageTemplate::kStrictEvalArguments);
2447 scanner()->location(), MessageTemplate::kLetInLexicalBinding);
2452 Scanner::Location(next_beg_pos, next_end_pos),
2469 Scanner::Location(next_beg_pos, scanner()->location().end_pos),
2489 Scanner::Location(next_beg_pos, scanner()->location().end_pos),
2498 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2513 Scanner::Location(next_beg_pos, scanner()->location().end_pos),
2528 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2609 this->classifier()->RecordPatternError(Scanner::Location(pos, position()),
2619 Scanner::Location* first_spread_arg_loc, bool maybe_arrow, bool* ok) {
2623 Scanner::Location spread_arg = Scanner::Location::invalid();
2660 Scanner::Location location = scanner_->location();
2702 !scanner()->HasAnyLineTerminatorAfterNext() &&
2732 Scanner::Location arrow_loc = scanner()->peek_location();
2743 Scanner::Location loc(lhs_beg_pos, scanner()->location().end_pos);
2764 Scanner::Location duplicate_loc = Scanner::Location::invalid();
2819 expression, lhs_beg_pos, scanner()->location().end_pos,
2827 classifier()->RecordPatternError(scanner()->location(),
2888 scanner()->peek_location(), MessageTemplate::kInvalidDestructuringTarget);
2890 scanner()->peek_location(), MessageTemplate::kYieldInParameter);
2897 if (!scanner()->HasAnyLineTerminatorBeforeNext()) {
3068 expression, beg_pos, scanner()->location().end_pos,
3080 scanner()->peek_location(),
3102 if (!scanner()->HasAnyLineTerminatorBeforeNext() &&
3108 expression, lhs_beg_pos, scanner()->location().end_pos,
3152 if (scanner()->current_token() == Token::IDENTIFIER ||
3153 scanner()->current_token() == Token::SUPER ||
3154 scanner()->current_token() == Token::ASYNC) {
3172 Scanner::Location spread_pos;
3295 impl()->ReportMessageAt(scanner()->peek_location(),
3307 Scanner::Location spread_pos;
3357 impl()->ReportMessageAt(scanner()->location(),
3371 Scanner::Location function_name_location = Scanner::Location::invalid();
3378 DCHECK(scanner()->UnescapedLiteralMatches("anonymous", 9));
3382 function_name_location = scanner()->location();
3441 impl()->ReportMessageAt(scanner()->location(),
3453 if (scanner()->literal_contains_escapes()) {
3455 Scanner::Location(pos, scanner()->location().end_pos),
3468 impl()->ReportMessageAt(scanner()->location(),
3521 if (scanner()->current_token() == Token::IDENTIFIER) {
3535 ReportUnexpectedTokenAt(scanner()->peek_location(), Token::ILLEGAL);
3577 scanner()->location().end_pos, is_rest);
3610 impl()->ReportMessageAt(scanner()->peek_location(),
3690 Scanner::Location variable_loc = scanner()->location();
3704 variable_loc.end_pos = scanner()->location().end_pos;
3722 initializer_position = scanner()->location().end_pos;
3729 Scanner::Location(decl_pos, scanner()->location().end_pos),
3762 Scanner::Location(bindings_start, scanner()->location().end_pos);
3775 impl()->ReportMessageAt(scanner()->location(),
3834 name, scanner()->location(), name_validity,
3894 ParseClassLiteral(name, scanner()->location(), is_strict_reserved,
3932 DCHECK_EQ(scanner()->current_token(), Token::ASYNC);
3934 if (scanner()->HasAnyLineTerminatorBeforeNext()) {
3936 impl()->ReportUnexpectedToken(scanner()->current_token());
3968 inner_scope->set_start_position(scanner()->location().beg_pos);
3995 scope()->set_end_position(scanner()->location().end_pos);
4014 inner_scope->set_end_position(scanner()->location().end_pos);
4054 Scanner::Location(formals_start_pos, formals_end_pos),
4061 Scanner::Location(formals_start_pos, formals_end_pos),
4067 Scanner::Location(formals_start_pos, formals_end_pos),
4168 Scanner::BookmarkScope bookmark(scanner());
4235 formal_parameters.scope->set_end_position(scanner()->location().end_pos);
4248 scanner()->location().end_pos, CHECK_OK);
4291 IdentifierT name, Scanner::Location class_name_location,
4313 scope()->set_start_position(scanner()->location().end_pos);
4380 scope->set_end_position(scanner()->location().end_pos);
4392 DCHECK_EQ(scanner()->current_token(), Token::ASYNC);
4403 DCHECK(scanner()->UnescapedLiteralMatches("anonymous", 9));
4410 name, scanner()->location(),
4459 impl()->ReportMessageAt(Scanner::Location(start, peek_position()),
4465 Scanner::Location(position() + 1, peek_position()),
4477 impl()->ReportMessageAt(Scanner::Location(expr_pos, peek_position()),
4485 next = scanner()->ScanTemplateContinuation();
4490 impl()->ReportMessageAt(Scanner::Location(start, pos),
4496 Scanner::Location(position() + 1, peek_position()),
4527 ReportMessageAt(Scanner::Location(beg_pos, end_pos),
4546 ReportMessageAt(Scanner::Location(beg_pos, end_pos), message, type);
4562 Scanner::Location(begin, end),
4577 Scanner::Location spread_pos;
4625 Scanner::Location token_loc = scanner()->peek_location();
4725 !scanner()->HasAnyLineTerminatorAfterNext()) {
4811 impl()->ReportMessageAt(scanner()->peek_location(),
4863 scope()->set_start_position(scanner()->location().beg_pos);
4874 scope()->set_end_position(scanner()->location().end_pos);
4889 scope()->set_start_position(scanner()->location().beg_pos);
4893 scope()->set_end_position(scanner()->location().end_pos);
4970 impl()->ReportMessageAt(scanner()->peek_location(),
5000 !scanner()->HasAnyLineTerminatorBeforeNext() && impl()->IsNative(expr) &&
5001 !scanner()->literal_contains_escapes()) {
5042 if (!scanner()->HasAnyLineTerminatorBeforeNext() && tok != Token::SEMICOLON &&
5073 if (!scanner()->HasAnyLineTerminatorBeforeNext() && tok != Token::SEMICOLON &&
5111 Scanner::Location loc = scanner()->location();
5126 if (scanner()->HasAnyLineTerminatorBeforeNext() || tok == Token::SEMICOLON ||
5178 with_scope->set_start_position(scanner()->peek_location().beg_pos);
5180 with_scope->set_end_position(scanner()->location().end_pos);
5239 if (scanner()->HasAnyLineTerminatorBeforeNext()) {
5304 scope()->set_end_position(scanner()->location().end_pos);
5346 catch_info.scope->set_start_position(scanner()->location().beg_pos);
5360 scope()->set_start_position(scanner()->location().beg_pos);
5385 scope()->set_end_position(scanner()->location().end_pos);
5390 catch_info.scope->set_end_position(scanner()->location().end_pos);
5414 scope()->set_start_position(scanner()->location().beg_pos);
5426 for_info.position = scanner()->location().beg_pos;
5442 int lhs_end_pos = scanner()->location().end_pos;
5499 int each_keyword_pos = scanner()->location().beg_pos;
5517 scope()->set_start_position(scanner()->location().beg_pos);
5529 scope()->set_end_position(scanner()->location().end_pos);
5535 scope()->set_end_position(scanner()->location().end_pos);
5563 int each_keyword_pos = scanner()->location().beg_pos;
5581 scope()->set_start_position(scanner()->location().beg_pos);
5584 scope()->set_end_position(scanner()->location().end_pos);
5617 inner_scope->set_start_position(scanner()->location().beg_pos);
5639 scope()->set_end_position(scanner()->location().end_pos);
5640 inner_scope->set_end_position(scanner()->location().end_pos);
5644 scope()->set_end_position(scanner()->location().end_pos);
5703 scope()->set_start_position(scanner()->location().beg_pos);
5723 for_info.position = scanner()->location().beg_pos;
5749 int lhs_end_pos = scanner()->location().end_pos;
5762 int each_keyword_pos = scanner()->location().beg_pos;
5781 scope()->set_start_position(scanner()->location().beg_pos);
5784 scope()->set_end_position(scanner()->location().end_pos);
5817 for_scope->set_end_position(scanner()->location().end_pos);
5837 this->scanner()->location(), MessageTemplate::kDuplicateProto);