Lines Matching defs:scanner
29 #include "src/parsing/scanner.h"
87 SourceRangeScope(const Scanner* scanner, SourceRange* range)
88 : scanner_(scanner), range_(range) {
89 range_->start = scanner->peek_location().beg_pos;
246 ParserBase(Zone* zone, Scanner* scanner, uintptr_t stack_limit,
264 scanner_(scanner),
277 V8_INLINE bool has_error() const { return scanner()->has_parser_error(); }
847 scanner()->location().beg_pos);
856 Scanner* scanner() const { return scanner_; }
874 V8_INLINE Token::Value peek() { return scanner()->peek(); }
882 V8_INLINE Token::Value PeekAhead() { return scanner()->PeekAhead(); }
884 V8_INLINE Token::Value Next() { return scanner()->Next(); }
887 Token::Value next = scanner()->Next();
894 Token::Value next = scanner()->peek();
917 if (V8_LIKELY(scanner()->HasLineTerminatorBeforeNext() ||
922 if (scanner()->current_token() == Token::AWAIT && !is_async_function()) {
924 ReportMessageAt(scanner()->location(),
927 ReportMessageAt(scanner()->location(),
940 !scanner()->next_literal_contains_escapes() &&
941 scanner()->NextSymbol(ast_value_factory()) == name;
955 if (V8_UNLIKELY(scanner()->CurrentSymbol(ast_value_factory()) != name)) {
956 ReportUnexpectedToken(scanner()->current_token());
958 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
988 Scanner::Location octal = scanner()->octal_position();
991 MessageTemplate message = scanner()->octal_message();
994 scanner()->clear_octal_position();
1006 DCHECK(Token::IsTemplate(scanner()->current_token()));
1007 if (!scanner()->has_invalid_template_escape()) return true;
1011 impl()->ReportMessageAt(scanner()->invalid_template_escape_location(),
1012 scanner()->invalid_template_escape_message());
1014 scanner()->clear_invalid_template_escape_message();
1084 ReportMessageAt(scanner()->location(), message, args...);
1092 scanner()->set_parser_error();
1157 return scanner()->NextSymbol(ast_value_factory());
1681 scanner()->peek_location(), MessageTemplate::kAwaitBindingIdentifier);
1690 DCHECK_EQ(scanner()->current_token(), next);
1710 scanner()->location(), MessageTemplate::kAwaitBindingIdentifier);
1716 scanner()->location(), MessageTemplate::kUnexpectedStrictReserved);
1743 impl()->ReportMessageAt(scanner()->location(),
1822 if (!scanner()->ScanRegExpPattern()) {
1829 base::Optional<RegExpFlags> flags = scanner()->ScanRegExpFlags();
1861 impl()->ReportMessageAt(scanner()->location(),
1913 !scanner()->HasLineTerminatorBeforeNext() &&
1914 !scanner()->literal_contains_escapes())) {
2106 Scanner::Location ellipsis = scanner()->location();
2202 scanner()->HasLineTerminatorBeforeNext()) {
2207 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
2227 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
2276 index = scanner()->smi_value();
2330 scanner()->location(), MessageTemplate::kElementAfterRest);
2359 int property_beg_pos = scanner()->peek_location().beg_pos;
2364 name_token_position = scanner()->peek_location().beg_pos;
2442 prop_info->name, scanner()->location(), kSkipFunctionNameCheck, kind,
2480 prop_info->name, scanner()->location(), kSkipFunctionNameCheck, kind,
2582 Scanner::Location next_loc = scanner()->peek_location();
2608 scanner()->CurrentLiteralEquals("__proto__")) {
2611 scanner()->location(), MessageTemplate::kDuplicateProto);
2689 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2727 name, scanner()->location(), kSkipFunctionNameCheck, kind,
2854 scanner()->location(), MessageTemplate::kRestDefaultInitializer);
2858 scanner()->peek_location(), MessageTemplate::kParamAfterRest);
3023 scanner()->peek_location(), MessageTemplate::kYieldInParameter);
3025 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
3034 if (!scanner()->HasLineTerminatorBeforeNext()) {
3133 SourceRangeScope right_range_scope(scanner(), &right_range);
3160 SourceRangeScope range_scope(scanner(), &then_range);
3170 SourceRangeScope range_scope(scanner(), &else_range);
3191 SourceRangeScope right_range_scope(scanner(), &right_range);
3320 scanner()->peek_location(),
3324 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
3380 scanner()->HasLineTerminatorBeforeNext())) {
3422 scanner()->current_token() == Token::ASYNC &&
3423 !scanner()->HasLineTerminatorBeforeNext() &&
3424 !scanner()->literal_contains_escapes())) {
3466 optional_link_begin = scanner()->peek_location().beg_pos;
3504 if (Token::IsCallable(scanner()->current_token())) {
3546 impl()->ReportMessageAt(scanner()->peek_location(),
3595 impl()->ReportMessageAt(scanner()->peek_location(),
3605 impl()->ReportMessageAt(scanner()->location(),
3624 impl()->ReportMessageAt(scanner()->peek_location(),
3653 scanner()->CurrentSymbol(ast_value_factory()) ==
3657 function_name_location = scanner()->location();
3700 impl()->ReportMessageAt(scanner()->location(),
3710 impl()->ReportMessageAt(scanner()->location(),
3720 impl()->ReportMessageAt(scanner()->location(),
3787 impl()->ReportMessageAt(scanner()->location(),
3801 impl()->ReportMessageAt(scanner()->location(),
3837 if (scanner()->current_token() == Token::IDENTIFIER) {
3934 impl()->ReportMessageAt(scanner()->peek_location(),
4011 impl()->ReportMessageAt(scanner()->location(),
4032 Scanner::Location variable_loc = scanner()->location();
4066 Token::IsAnyIdentifier(scanner()->current_token()));
4128 scanner()->location(),
4200 name, scanner()->location(), name_validity, function_kind, pos,
4257 ExpressionT value = ParseClassLiteral(scope(), name, scanner()->location(),
4296 DCHECK_EQ(scanner()->current_token(), Token::ASYNC);
4297 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
4301 DCHECK(!scanner()->HasLineTerminatorBeforeNext());
4329 inner_scope->set_start_position(scanner()->location().beg_pos);
4679 class_name_location = scanner()->location();
4681 Token::IsStrictReservedWord(scanner()->current_token());
4860 DCHECK_EQ(scanner()->current_token(), Token::ASYNC);
4861 if (V8_UNLIKELY(scanner()->literal_contains_escapes())) {
4882 scanner()->CurrentSymbol(ast_value_factory()) ==
4889 name, scanner()->location(),
4959 next = scanner()->ScanTemplateContinuation();
5119 Scanner::Location token_loc = scanner()->peek_location();
5121 if (scanner()->NextLiteralExactlyEquals("use strict")) {
5124 } else if (scanner()->NextLiteralExactlyEquals("use asm")) {
5205 !scanner()->HasLineTerminatorAfterNext()) {
5298 impl()->ReportMessageAt(scanner()->peek_location(),
5309 !scanner()->HasLineTerminatorAfterNext() &&
5312 scanner()->peek_location(),
5377 scope()->set_start_position(scanner()->location().beg_pos);
5459 impl()->ReportMessageAt(scanner()->peek_location(),
5505 !scanner()->HasLineTerminatorBeforeNext() && impl()->IsNative(expr) &&
5506 !scanner()->literal_contains_escapes()) {
5531 SourceRangeScope range_scope(scanner(), &then_range);
5565 if (!scanner()->HasLineTerminatorBeforeNext() &&
5599 if (!scanner()->HasLineTerminatorBeforeNext() &&
5636 Scanner::Location loc = scanner()->location();
5659 if (scanner()->HasLineTerminatorBeforeNext() || Token::IsAutoSemicolon(tok)) {
5700 with_scope->set_start_position(scanner()->peek_location().beg_pos);
5725 SourceRangeScope range_scope(scanner(), &body_range);
5765 SourceRangeScope range_scope(scanner(), &body_range);
5782 if (scanner()->HasLineTerminatorBeforeNext()) {
5827 SourceRangeScope range_scope(scanner(), &clause_range);
5893 SourceRangeScope catch_range_scope(scanner(), &catch_range);
5900 catch_info.scope->set_start_position(scanner()->location().beg_pos);
5978 SourceRangeScope range_scope(scanner(), &finally_range);
6065 for_info.position = scanner()->location().beg_pos;
6075 Scanner::Location next_loc = scanner()->peek_location();
6087 bool expression_is_async = scanner()->current_token() == Token::ASYNC &&
6088 !scanner()->literal_contains_escapes();
6184 SourceRangeScope range_scope(scanner(), &body_range);
6238 SourceRangeScope range_scope(scanner(), &body_range);
6262 scope()->set_start_position(scanner()->location().beg_pos);
6328 SourceRangeScope range_scope(scanner(), &body_range);
6354 scope()->set_start_position(scanner()->location().beg_pos);
6384 for_info.position = scanner()->location().beg_pos;
6406 impl()->ReportMessageAt(scanner()->peek_location(),
6439 scope()->set_start_position(scanner()->location().beg_pos);
6443 SourceRangeScope range_scope(scanner(), &body_range);