Lines Matching refs:lexer_
82 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::KEYW_YIELD);
84 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
85 lexer::SourcePosition endLoc = lexer_->GetToken().End();
87 if ((lexer_->GetToken().Flags() & lexer::TokenFlags::HAS_ESCAPE) != 0) {
91 lexer_->NextToken();
96 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY && !lexer_->GetToken().NewLine()) {
98 lexer_->NextToken();
102 } else if (!lexer_->GetToken().NewLine() && lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE &&
103 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS &&
104 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET &&
105 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA &&
106 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON &&
107 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COLON &&
108 lexer_->GetToken().Type() != lexer::TokenType::EOS) {
121 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA &&
132 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_YIELD &&
142 if (lexer_->GetToken().NewLine()) {
146 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA &&
157 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
161 lexer_->NextToken();
166 while (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
167 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
169 omitted->SetRange(lexer_->GetToken().Loc());
171 lexer_->NextToken();
178 } else if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
188 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
193 lexer_->NextToken(); // eat comma
195 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
203 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
211 arrayExpressionNode->SetRange({startLoc, lexer_->GetToken().End()});
212 lexer_->NextToken();
226 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION &&
229 } else if (!inPattern && lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
305 lexer_->NextToken(); // eat '=>'
310 lexer::SourcePosition bodyStart = lexer_->GetToken().Start();
312 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
317 lexer_->NextToken();
320 body->SetRange({bodyStart, lexer_->GetToken().End()});
322 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) {
326 lexer_->NextToken();
354 return ArrowFunctionDescriptor {std::move(params), lexer_->GetToken().Start(), arrowStatus};
412 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_ARROW);
414 if (lexer_->GetToken().NewLine()) {
429 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
438 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS);
439 lexer::SourcePosition start = lexer_->GetToken().Start();
440 lexer_->NextToken();
442 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
450 lexer_->NextToken();
452 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
459 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
460 lexer_->NextToken();
462 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
476 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
481 expr->SetRange({start, lexer_->GetToken().End()});
482 lexer_->NextToken();
510 lexer::TokenType tokenType = lexer_->GetToken().Type();
566 ThrowSyntaxError({"Unexpected token '", lexer::TokenToString(lexer_->GetToken().Type()), "'."});
574 lexer::TokenType tokenType = lexer_->GetToken().Type();
577 lexer_->NextToken();
580 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COLON) {
584 lexer_->NextToken();
592 if (lexer_->GetToken().NewLine()) {
601 lexer_->NextToken();
697 lexer_->NextToken();
720 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
726 lexer_->ResetTokenEnd();
727 const auto startPos = lexer_->Save();
729 lexer_->ScanString<lexer::LEX_CHAR_BACK_TICK>();
730 util::StringView cooked = lexer_->GetToken().String();
732 lexer_->Rewind(startPos);
733 auto [raw, end, scanExpression] = lexer_->ScanTemplateString();
737 lexer::SourcePosition {end, lexer_->Line()}});
741 lexer_->ScanTemplateStringEnd();
748 lexer::TemplateLiteralParserContext ctx(lexer_);
749 lexer_->PushTemplateContext(&ctx);
750 lexer_->NextToken();
754 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) {
762 templateNode->SetRange({startLoc, lexer_->GetToken().End()});
764 lexer_->NextToken();
771 lexer::SourcePosition start = lexer_->GetToken().Start();
773 lexer_->NextToken(); // eat new
783 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
791 lexer_->NextToken(); // eat left parenthesis
794 while (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
797 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
805 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
806 lexer_->NextToken(); // eat comma
809 if (lexer_->GetToken().Type() == lexer::TokenType::EOS) {
815 newExprNode->SetRange({start, lexer_->GetToken().End()});
817 lexer_->NextToken();
829 lexer::SourceRange loc = lexer_->GetToken().Loc();
831 if (lexer_->Lookahead() == lexer::LEX_CHAR_DOT) {
832 lexer_->NextToken();
833 lexer_->NextToken();
835 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_TARGET) {
840 if ((lexer_->GetToken().Flags() & lexer::TokenFlags::HAS_ESCAPE) != 0) {
846 lexer_->NextToken();
856 auto *identNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident(), Allocator());
858 identNode->SetRange(lexer_->GetToken().Loc());
860 lexer_->NextToken();
866 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_TRUE ||
867 lexer_->GetToken().Type() == lexer::TokenType::LITERAL_FALSE);
869 auto *booleanNode = AllocNode<ir::BooleanLiteral>(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_TRUE);
870 booleanNode->SetRange(lexer_->GetToken().Loc());
872 lexer_->NextToken();
878 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_NULL);
880 nullNode->SetRange(lexer_->GetToken().Loc());
882 lexer_->NextToken();
888 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_NUMBER);
892 if ((lexer_->GetToken().Flags() & lexer::TokenFlags::NUMBER_BIGINT) != 0U) {
893 numberNode = AllocNode<ir::BigIntLiteral>(lexer_->GetToken().BigInt());
895 numberNode = AllocNode<ir::NumberLiteral>(lexer_->GetToken().GetNumber());
898 numberNode->SetRange(lexer_->GetToken().Loc());
900 lexer_->NextToken();
906 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_CHAR);
908 auto *charNode = AllocNode<ir::CharLiteral>(lexer_->GetToken().Utf16());
909 charNode->SetRange(lexer_->GetToken().Loc());
911 lexer_->NextToken();
917 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_STRING);
919 auto *stringNode = AllocNode<ir::StringLiteral>(lexer_->GetToken().String());
920 stringNode->SetRange(lexer_->GetToken().Loc());
922 lexer_->NextToken();
928 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::KEYW_UNDEFINED);
930 undefinedNode->SetRange(lexer_->GetToken().Loc());
932 lexer_->NextToken();
938 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::KEYW_THIS);
941 thisExprNode->SetRange(lexer_->GetToken().Loc());
943 lexer_->NextToken();
949 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_DIVIDE ||
950 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_DIVIDE_EQUAL);
952 lexer_->ResetTokenEnd();
953 auto regexp = lexer_->ScanRegExp();
960 regexpNode->SetRange(lexer_->GetToken().Loc());
962 lexer_->NextToken();
968 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::KEYW_SUPER);
971 superExprNode->SetRange(lexer_->GetToken().Loc());
973 lexer_->NextToken(); // eat super
975 if ((lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD ||
976 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) &&
981 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS &&
991 switch (lexer_->GetToken().Type()) {
1016 ThrowSyntaxError({"Unexpected token '", lexer::TokenToString(lexer_->GetToken().Type()), "'."});
1023 auto *privateIdent = AllocNode<ir::Identifier>(lexer_->GetToken().Ident(), Allocator());
1026 lexer_->NextToken();
1028 if (lexer_->GetToken().Type() != lexer::TokenType::KEYW_IN) {
1037 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
1048 switch (lexer_->GetToken().Type()) {
1081 switch (lexer_->GetToken().Type()) {
1304 lexer::TokenType operatorType = lexer_->GetToken().Type();
1315 lexer_->NextToken();
1372 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_FORMAT &&
1373 lexer_->Lookahead() == static_cast<char32_t>(ARRAY_FORMAT_NODE)) {
1375 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
1379 while (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
1382 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
1390 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
1391 lexer_->NextToken();
1393 } else if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
1404 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS);
1408 lexer_->NextToken();
1421 callExpr->SetRange({callee->Start(), lexer_->GetToken().End()});
1424 lexer_->NextToken();
1426 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
1443 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_HASH_MARK) {
1448 const auto tokenType = lexer_->GetToken().Type();
1450 auto *identNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident(), Allocator());
1453 identNode->SetRange(lexer_->GetToken().Loc());
1458 lexer_->NextToken();
1462 lexer_->NextToken(); // eat '['
1465 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
1471 returnExpression->SetRange({leftSideExpr->Start(), lexer_->GetToken().End()});
1472 lexer_->NextToken();
1481 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_BACK_TICK) {
1491 switch (lexer_->GetToken().Type()) {
1501 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
1519 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_ARROW) {
1559 lexer_->NextToken(); // eat '['
1562 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
1568 memberExpr->SetRange({primaryExpr->Start(), lexer_->GetToken().End()});
1569 lexer_->NextToken();
1575 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_HASH_MARK);
1577 lexer::SourcePosition memberStart = lexer_->GetToken().Start();
1580 auto *privateIdent = AllocNode<ir::Identifier>(lexer_->GetToken().Ident(), Allocator());
1581 privateIdent->SetRange({memberStart, lexer_->GetToken().End()});
1584 lexer_->NextToken();
1611 switch (lexer_->GetToken().Type()) {
1647 auto tmp = ParsePostPrimaryExpressionDot(returnExpr, lexer_->GetToken().Type(), isChainExpression);
1677 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat ?.
1681 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat period
1683 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_HASH_MARK) {
1740 bool isAsync = lexer_->GetToken().IsAsyncModifier();
1741 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
1744 if (lexer_->GetToken().NewLine() && returnExpression->IsArrowFunctionExpression()) {
1748 if (isAsync && !lexer_->GetToken().NewLine()) {
1769 if (!lexer_->GetToken().NewLine() && lexer::Token::IsUpdateToken(lexer_->GetToken().Type())) {
1774 returnExpression = AllocNode<ir::UpdateExpression>(returnExpression, lexer_->GetToken().Type(), false);
1776 returnExpression->SetRange({start, lexer_->GetToken().End()});
1777 lexer_->NextToken();
1788 switch (lexer_->GetToken().Type()) {
1806 returnNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident(), Allocator());
1808 returnNode->SetRange(lexer_->GetToken().Loc());
1809 lexer_->NextToken();
1817 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
1842 lexer_->NextToken();
1844 if (context_.IsGenerator() && lexer_->GetToken().Type() == lexer::TokenType::KEYW_YIELD) {
1848 if (context_.IsAsync() && lexer_->GetToken().Type() == lexer::TokenType::KEYW_AWAIT) {
1855 const auto asyncPos = lexer_->Save();
1856 lexer_->NextToken();
1858 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS &&
1859 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COLON &&
1860 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA &&
1861 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) {
1862 if (lexer_->GetToken().NewLine()) {
1870 lexer_->Rewind(asyncPos);
1916 char32_t nextCp = lexer_->Lookahead();
1917 lexer::TokenType keywordType = lexer_->GetToken().KeywordType();
1921 lexer_->Rewind(*startPos);
1922 lexer_->NextToken();
1923 lexer::SourcePosition start = lexer_->GetToken().Start();
1925 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) {
1929 const util::StringView &ident = lexer_->GetToken().Ident();
1932 key->SetRange(lexer_->GetToken().Loc());
1936 value->SetRange(lexer_->GetToken().Loc());
1943 lexer_->NextToken(); // substitution
1944 lexer_->NextToken(); // eat substitution
1954 end = lexer_->GetToken().End();
1955 lexer_->NextToken();
1967 if (lexer_->GetToken().IsAsyncModifier()) {
1971 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY) {
1976 lexer_->NextToken();
1980 lexer::TokenFlags currentTokenFlags = lexer_->GetToken().Flags();
1981 char32_t nextCp = lexer_->Lookahead();
1982 lexer::TokenType keywordType = lexer_->GetToken().KeywordType();
1988 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
1998 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
2013 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
2021 switch (lexer_->GetToken().Type()) {
2023 const util::StringView &ident = lexer_->GetToken().Ident();
2025 key->SetRange(lexer_->GetToken().Loc());
2029 const util::StringView &string = lexer_->GetToken().String();
2031 key->SetRange(lexer_->GetToken().Loc());
2035 if ((lexer_->GetToken().Flags() & lexer::TokenFlags::NUMBER_BIGINT) != 0) {
2036 key = AllocNode<ir::BigIntLiteral>(lexer_->GetToken().BigInt());
2038 key = AllocNode<ir::NumberLiteral>(lexer_->GetToken().GetNumber());
2041 key->SetRange(lexer_->GetToken().Loc());
2045 lexer_->NextToken(); // eat left square bracket
2049 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET) {
2059 lexer_->NextToken();
2072 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COLON) {
2076 lexer_->NextToken(); // eat colon
2120 const auto startPos = lexer_->Save();
2121 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
2122 lexer::SourcePosition start = lexer_->GetToken().Start();
2124 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
2128 if (lexer_->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) {
2132 } else if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY) {
2136 bool isComputed = lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET;
2140 if ((lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS ||
2141 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LESS_THAN) &&
2165 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA &&
2166 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) {
2170 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA &&
2171 lexer_->Lookahead() == lexer::LEX_CHAR_RIGHT_BRACE) {
2172 lexer_->NextToken();
2182 ASSERT(lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE);
2183 lexer::SourcePosition start = lexer_->GetToken().Start();
2188 if (lexer_->Lookahead() == lexer::LEX_CHAR_RIGHT_BRACE) {
2189 lexer_->NextToken();
2192 while (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) {
2201 objectExpression->SetRange({start, lexer_->GetToken().End()});
2202 lexer_->NextToken();
2209 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION &&
2212 } else if (!inPattern && lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
2230 while (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
2231 lexer_->NextToken();
2233 if (acceptRest && lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
2239 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS && lexer_->CheckArrow()) {
2256 if (!lexer_->GetToken().IsUnary()) {
2260 lexer::TokenType operatorType = lexer_->GetToken().Type();
2261 lexer::SourcePosition start = lexer_->GetToken().Start();
2262 lexer_->NextToken();
2265 lexer_->GetToken().IsUnary() ? ParseUnaryOrPrefixUpdateExpression() : ParseLeftHandSideExpression();
2315 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
2316 lexer::SourcePosition endLoc = lexer_->GetToken().End();
2317 lexer_->NextToken(); // eat import
2320 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD) {
2327 lexer_->NextToken(); // eat dot
2329 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT ||
2330 lexer_->GetToken().KeywordType() != lexer::TokenType::KEYW_META) {
2337 lexer_->NextToken();
2341 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
2345 lexer_->NextToken(); // eat left parentheses
2349 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
2354 importExpression->SetRange({startLoc, lexer_->GetToken().End()});
2356 lexer_->NextToken(); // eat right paren
2362 return lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS;
2367 lexer::SourcePosition startLoc = lexer_->GetToken().Start();
2374 lexer_->NextToken();
2376 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY) {
2378 lexer_->NextToken();
2382 CheckRestrictedBinding(lexer_->GetToken().KeywordType());