Lines Matching full:lexer
63 #include "lexer/lexer.h"
64 #include "lexer/token/letters.h"
65 #include "lexer/token/sourceLocation.h"
79 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_STRUCT) { in ParseStatementLiteralIdentHelper()
83 if (lexer_->Lookahead() == lexer::LEX_CHAR_COLON) { in ParseStatementLiteralIdentHelper()
98 while (Lexer()->GetToken().Type() != lexer::TokenType::EOS) { in ParseStatementPunctuatorsHelper()
99 Lexer()->NextToken(); in ParseStatementPunctuatorsHelper()
101 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseStatementPunctuatorsHelper()
104 case lexer::TokenType::PUNCTUATOR_LEFT_BRACE: in ParseStatementPunctuatorsHelper()
106 case lexer::TokenType::PUNCTUATOR_SEMI_COLON: in ParseStatementPunctuatorsHelper()
108 case lexer::TokenType::PUNCTUATOR_FORMAT: // 1 in ParseStatementPunctuatorsHelper()
122 case lexer::TokenType::KEYW_IF: in ParseStatementControlFlowTokenHelper()
124 case lexer::TokenType::KEYW_DO: in ParseStatementControlFlowTokenHelper()
126 case lexer::TokenType::KEYW_FOR: in ParseStatementControlFlowTokenHelper()
128 case lexer::TokenType::KEYW_TRY: in ParseStatementControlFlowTokenHelper()
130 case lexer::TokenType::KEYW_WHILE: in ParseStatementControlFlowTokenHelper()
132 case lexer::TokenType::KEYW_BREAK: in ParseStatementControlFlowTokenHelper()
134 case lexer::TokenType::KEYW_CONTINUE: in ParseStatementControlFlowTokenHelper()
136 case lexer::TokenType::KEYW_THROW: in ParseStatementControlFlowTokenHelper()
138 case lexer::TokenType::KEYW_RETURN: in ParseStatementControlFlowTokenHelper()
140 case lexer::TokenType::KEYW_SWITCH: in ParseStatementControlFlowTokenHelper()
155 bool isPunctuatorToken = tokenType == lexer::TokenType::PUNCTUATOR_LEFT_BRACE || in ParseStatement()
156 tokenType == lexer::TokenType::PUNCTUATOR_SEMI_COLON || in ParseStatement()
157 tokenType == lexer::TokenType::PUNCTUATOR_FORMAT; in ParseStatement()
162 …bool isControlFlowToken = tokenType == lexer::TokenType::KEYW_IF || tokenType == lexer::TokenType:… in ParseStatement()
163 … tokenType == lexer::TokenType::KEYW_FOR || tokenType == lexer::TokenType::KEYW_TRY || in ParseStatement()
164 … tokenType == lexer::TokenType::KEYW_WHILE || tokenType == lexer::TokenType::KEYW_BREAK || in ParseStatement()
165 tokenType == lexer::TokenType::KEYW_CONTINUE || in ParseStatement()
166 … tokenType == lexer::TokenType::KEYW_THROW || tokenType == lexer::TokenType::KEYW_RETURN || in ParseStatement()
167 tokenType == lexer::TokenType::KEYW_SWITCH; in ParseStatement()
177 case lexer::TokenType::KEYW_EXPORT: in ParseStatementBasedOnTokenType()
179 case lexer::TokenType::KEYW_IMPORT: in ParseStatementBasedOnTokenType()
181 case lexer::TokenType::KEYW_FUNCTION: in ParseStatementBasedOnTokenType()
183 case lexer::TokenType::KEYW_ABSTRACT: in ParseStatementBasedOnTokenType()
184 case lexer::TokenType::KEYW_FINAL: in ParseStatementBasedOnTokenType()
185 case lexer::TokenType::KEYW_CLASS: in ParseStatementBasedOnTokenType()
187 case lexer::TokenType::KEYW_VAR: in ParseStatementBasedOnTokenType()
189 case lexer::TokenType::KEYW_LET: in ParseStatementBasedOnTokenType()
191 case lexer::TokenType::KEYW_CONST: in ParseStatementBasedOnTokenType()
193 case lexer::TokenType::KEYW_DEBUGGER: in ParseStatementBasedOnTokenType()
195 case lexer::TokenType::LITERAL_IDENT: in ParseStatementBasedOnTokenType()
196 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_VAR) { in ParseStatementBasedOnTokenType()
200 case lexer::TokenType::KEYW_WITH: in ParseStatementBasedOnTokenType()
204 case lexer::TokenType::KEYW_ENUM: in ParseStatementBasedOnTokenType()
206 case lexer::TokenType::KEYW_INTERFACE: in ParseStatementBasedOnTokenType()
208 case lexer::TokenType::PUNCTUATOR_AT: in ParseStatementBasedOnTokenType()
252 lexer::SourcePosition constVarStar = lexer_->GetToken().Start(); in ParseConstStatement()
340 const lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseStructDeclaration()
349 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseStructDeclaration()
352 lexer::SourcePosition endLoc = classDefinition->End(); in ParseStructDeclaration()
361 const lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseClassDeclaration()
370 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseClassDeclaration()
373 lexer::SourcePosition endLoc = classDefinition->End(); in ParseClassDeclaration()
391 if (lexer_->Lookahead() == lexer::LEX_CHAR_ASTERISK) { in CheckFunctionDeclaration()
401 if (tokenType == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ConsumeSemicolon()
408 if (!token.NewLine() && tokenType != lexer::TokenType::EOS && in ConsumeSemicolon()
409 tokenType != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ConsumeSemicolon()
416 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_FORMAT && in ParseStatementList()
425 …(flags & StatementParsingFlags::GLOBAL) != 0 ? lexer::TokenType::EOS : lexer::TokenType::PUNCTUATO… in ParseStatementList()
427 …while (lexer_->GetToken().Type() != endType && lexer_->GetToken().Type() != lexer::TokenType::EOS)… in ParseStatementList()
440 ES2PANDA_ASSERT(lexer_->GetToken().Type() == lexer::TokenType::LITERAL_STRING); in ParseDirective()
470 …if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_STRING || !ParseDirective(statements)) { in ParseDirectivePrologue()
476 bool ParserImpl::ValidateLabeledStatement([[maybe_unused]] lexer::TokenType type) in ValidateLabeledStatement()
483 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseBlockStatement()
484 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_BRACE); in ParseBlockStatement()
492 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_BRACE); in ParseBlockStatement()
499 void ParserImpl::ReportIllegalBreakError(const lexer::SourcePosition &startLoc) in ReportIllegalBreakError()
510 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseBreakStatement()
513 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON || in ParseBreakStatement()
514 lexer_->GetToken().Type() == lexer::TokenType::EOS || lexer_->GetToken().NewLine() || in ParseBreakStatement()
515 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseBreakStatement()
524 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseBreakStatement()
531 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseBreakStatement()
532 LogExpectedToken(lexer::TokenType::LITERAL_IDENT); in ParseBreakStatement()
568 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseContinueStatement()
569 lexer::SourcePosition endLoc = lexer_->GetToken().End(); in ParseContinueStatement()
572 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseContinueStatement()
580 if (lexer_->GetToken().NewLine() || lexer_->GetToken().Type() == lexer::TokenType::EOS || in ParseContinueStatement()
581 lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseContinueStatement()
588 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseContinueStatement()
589 LogExpectedToken(lexer::TokenType::LITERAL_IDENT); in ParseContinueStatement()
615 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseDoWhileStatement()
623 if (lexer_->GetToken().Type() != lexer::TokenType::KEYW_WHILE) { in ParseDoWhileStatement()
624 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) { in ParseDoWhileStatement()
629 LogExpectedToken(lexer::TokenType::KEYW_WHILE); in ParseDoWhileStatement()
636 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) { in ParseDoWhileStatement()
637 LogExpectedToken(lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseDoWhileStatement()
648 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseDoWhileStatement()
654 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseDoWhileStatement()
664 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseFunctionDeclaration()
666 ES2PANDA_ASSERT(lexer_->GetToken().Type() == lexer::TokenType::KEYW_FUNCTION); in ParseFunctionDeclaration()
671 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY) { in ParseFunctionDeclaration()
678 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseFunctionDeclaration()
691 lexer_->GetToken().SetTokenType(lexer::TokenType::LITERAL_IDENT); in ParseFunctionDeclaration()
708 … if (func->IsOverload() && lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseFunctionDeclaration()
721 if (tokenType == lexer::TokenType::KEYW_PUBLIC || tokenType == lexer::TokenType::KEYW_PRIVATE || in ParseExpressionStatement()
722 tokenType == lexer::TokenType::KEYW_PROTECTED) { in ParseExpressionStatement()
724 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_CLASS || in ParseExpressionStatement()
725 lexer_->GetToken().Type() == lexer::TokenType::KEYW_INTERFACE) { in ParseExpressionStatement()
730 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_AT) { in ParseExpressionStatement()
739 …if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_FUNCTION && !lexer_->GetToken().NewLine())… in ParseExpressionStatement()
755 lexer::SourcePosition endPos = exprNode->End(); in ParseExpressionStatement()
784 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_IN) { in ParseForInOf()
803 ExpectToken(lexer::TokenType::PUNCTUATOR_SEMI_COLON); in ParseForInOf()
806 LogUnexpectedToken(Lexer()->GetToken()); in ParseForInOf()
809 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseForInOf()
814 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseForInOf()
818 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseForInOf()
819 LogExpectedToken(lexer::TokenType::PUNCTUATOR_SEMI_COLON); in ParseForInOf()
824 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseForInOf()
838 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_IN) { in ParseIsForInOf()
882 LogUnexpectedToken(Lexer()->GetToken()); in ParseForInOf()
888 …lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA ? ParseSequenceExpression(expr) : … in ParseForInOf()
894 … condExpr->Alternate()->AsBinaryExpression()->OperatorType() == lexer::TokenType::KEYW_IN) { in ParseForInOf()
896 rightNode = AllocBrokenExpression(Lexer()->GetToken().Loc()); in ParseForInOf()
897 updateNode = AllocBrokenExpression(Lexer()->GetToken().Loc()); in ParseForInOf()
903 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseForInOf()
904 rightNode = AllocBrokenExpression(Lexer()->GetToken().Loc()); in ParseForInOf()
905 updateNode = AllocBrokenExpression(Lexer()->GetToken().Loc()); in ParseForInOf()
910 ExpectToken(lexer::TokenType::PUNCTUATOR_SEMI_COLON); in ParseForInOf()
912 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseForInOf()
916 ExpectToken(lexer::TokenType::PUNCTUATOR_SEMI_COLON); in ParseForInOf()
919 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseForInOf()
929 LogUnexpectedToken(Lexer()->GetToken()); in ParseForUpdate()
935 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in ParseForUpdate()
939 ExpectToken(lexer::TokenType::PUNCTUATOR_SEMI_COLON); in ParseForUpdate()
942 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseForUpdate()
953 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_AWAIT) { in ParseForLoopInitializer()
958 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseForLoopInitializer()
960 lexer::TokenType tokenType; in ParseForLoopInitializer()
964 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_OF) { in ParseForLoopInitializer()
968 if (tokenType == lexer::TokenType::KEYW_IN) { in ParseForLoopInitializer()
973 } while (tokenType != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS && in ParseForLoopInitializer()
974 tokenType != lexer::TokenType::PUNCTUATOR_LEFT_BRACE && in ParseForLoopInitializer()
975 … tokenType != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS && tokenType != lexer::TokenType::EOS); in ParseForLoopInitializer()
979 case lexer::TokenType::KEYW_VAR: in ParseForLoopInitializer()
981 case lexer::TokenType::KEYW_LET: in ParseForLoopInitializer()
983 case lexer::TokenType::KEYW_CONST: { in ParseForLoopInitializer()
987 case lexer::TokenType::PUNCTUATOR_SEMI_COLON: in ParseForLoopInitializer()
989 LogUnexpectedToken(Lexer()->GetToken()); in ParseForLoopInitializer()
1003 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SEMI_COLON) { in GetCanBeForInOf()
1022 const lexer::SourcePosition &startLoc, bool isAwait) in CreateForStatement()
1032 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in CreateForStatement()
1050 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseForStatement()
1058 bool isAwait = lexer_->GetToken().Type() == lexer::TokenType::KEYW_AWAIT; in ParseForStatement()
1068 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseForStatement()
1079 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_EXCLAMATION_MARK) { in ParseForStatement()
1082 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseForStatement()
1086 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseForStatement()
1096 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseIfStatement()
1097 lexer::SourcePosition endLoc; in ParseIfStatement()
1100 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseIfStatement()
1103 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseIfStatement()
1111 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_ELSE) { in ParseIfStatement()
1125 ir::Statement *ParserImpl::ParseLabelledStatement(const lexer::LexerPosition &pos) in ParseLabelledStatement()
1129 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_AWAIT && context_.IsModule()) { in ParseLabelledStatement()
1145 if (!ValidateLabeledStatement(Lexer()->GetToken().Type())) { in ParseLabelledStatement()
1146 return AllocBrokenStatement(Lexer()->GetToken().Loc()); // Error processing. in ParseLabelledStatement()
1167 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseReturnStatement()
1168 lexer::SourcePosition endLoc = lexer_->GetToken().End(); in ParseReturnStatement()
1171 bool hasArgument = (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON && in ParseReturnStatement()
1172 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE && in ParseReturnStatement()
1173 … lexer_->GetToken().Type() != lexer::TokenType::EOS && !lexer_->GetToken().NewLine()); in ParseReturnStatement()
1208 lexer::SourcePosition caseStartLoc = token.Start(); in ParseSwitchCaseStatement()
1212 case lexer::TokenType::KEYW_CASE: { in ParseSwitchCaseStatement()
1217 case lexer::TokenType::KEYW_DEFAULT: { in ParseSwitchCaseStatement()
1227 {lexer::TokenToString(lexer_->GetToken().Type())}); in ParseSwitchCaseStatement()
1232 lexer::SourcePosition caseEndLoc = lexer_->GetToken().End(); in ParseSwitchCaseStatement()
1234 ExpectToken(lexer::TokenType::PUNCTUATOR_COLON); in ParseSwitchCaseStatement()
1237 while (lexer_->GetToken().Type() != lexer::TokenType::KEYW_CASE && in ParseSwitchCaseStatement()
1238 lexer_->GetToken().KeywordType() != lexer::TokenType::KEYW_DEFAULT && in ParseSwitchCaseStatement()
1239 lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE && in ParseSwitchCaseStatement()
1240 lexer_->GetToken().Type() != lexer::TokenType::EOS) { in ParseSwitchCaseStatement()
1241 util::ErrorRecursionGuard infiniteLoopBlocker(Lexer()); in ParseSwitchCaseStatement()
1256 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseSwitchStatement()
1257 ExpectToken(lexer::TokenType::KEYW_SWITCH); in ParseSwitchStatement()
1258 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseSwitchStatement()
1260 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseSwitchStatement()
1263 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_BRACE); in ParseSwitchStatement()
1268 while (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE && in ParseSwitchStatement()
1269 lexer_->GetToken().Type() != lexer::TokenType::EOS) { in ParseSwitchStatement()
1278 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_BRACE); in ParseSwitchStatement()
1293 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseThrowStatement()
1303 lexer::SourcePosition endLoc = expression->End(); in ParseThrowStatement()
1320 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) { in ParseCatchParam()
1326 …if (auto const tokenType = lexer_->GetToken().Type(); tokenType == lexer::TokenType::LITERAL_IDENT… in ParseCatchParam()
1329 } else if (tokenType == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) { in ParseCatchParam()
1331 } else if (tokenType == lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseCatchParam()
1334 … LogError(diagnostic::UNEXPECTED_TOKEN_PARAM, {lexer::TokenToString(lexer_->GetToken().Type())}); in ParseCatchParam()
1341 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseCatchParam()
1348 lexer::SourcePosition catchStartLoc = lexer_->GetToken().Start(); in ParseCatchClause()
1353 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseCatchClause()
1354 …LogError(diagnostic::EXPECTED_PARAM_GOT_PARAM, {"{", lexer::TokenToString(lexer_->GetToken().Type(… in ParseCatchClause()
1359 lexer::SourcePosition endLoc = catchBlock->End(); in ParseCatchClause()
1370 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseTryStatement()
1371 lexer::SourcePosition endLoc = lexer_->GetToken().End(); in ParseTryStatement()
1375 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseTryStatement()
1376 …LogError(diagnostic::EXPECTED_PARAM_GOT_PARAM, {"{", lexer::TokenToString(lexer_->GetToken().Type(… in ParseTryStatement()
1381 if (lexer_->GetToken().Type() != lexer::TokenType::KEYW_CATCH && in ParseTryStatement()
1382 lexer_->GetToken().Type() != lexer::TokenType::KEYW_FINALLY) { in ParseTryStatement()
1397 while (lexer_->GetToken().Type() == lexer::TokenType::KEYW_CATCH) { in ParseTryStatement()
1404 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_FINALLY) { in ParseTryStatement()
1430 … const lexer::SourcePosition &startLoc) in ParseVariableDeclaratorInitializer()
1450 lexer::SourcePosition endLoc = initializer->End(); in ParseVariableDeclaratorInitializer()
1461 case lexer::TokenType::LITERAL_IDENT: { in ParseVariableDeclaratorKey()
1465 case lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET: { in ParseVariableDeclaratorKey()
1468 case lexer::TokenType::PUNCTUATOR_LEFT_BRACE: { in ParseVariableDeclaratorKey()
1496 ir::VariableDeclarator *ParserImpl::ParseVariableDeclarator(ir::Expression *init, lexer::SourcePosi… in ParseVariableDeclarator()
1499 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseVariableDeclarator()
1511 lexer::SourcePosition endLoc = init->End(); in ParseVariableDeclarator()
1520 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseVariableDeclarator()
1539 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseVariableDeclaration()
1547 if (lexer_->GetToken().Type() == lexer::TokenType::KEYW_ENUM) { in ParseVariableDeclaration()
1559 if (lexer_->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA) { in ParseVariableDeclaration()
1567 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseVariableDeclaration()
1578 lexer::SourcePosition endLoc = declarators.back()->End(); in ParseVariableDeclaration()
1588 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseWhileStatement()
1590 ExpectToken(lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseWhileStatement()
1594 ExpectToken(lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS); in ParseWhileStatement()
1606 lexer::SourcePosition endLoc = body->End(); in ParseWhileStatement()
1615 ir::ExportDefaultDeclaration *ParserImpl::ParseExportDefaultDeclaration(const lexer::SourcePosition… in ParseExportDefaultDeclaration()
1624 case lexer::TokenType::KEYW_FUNCTION: in ParseExportDefaultDeclaration()
1627 case lexer::TokenType::KEYW_CLASS: in ParseExportDefaultDeclaration()
1630 case lexer::TokenType::LITERAL_IDENT: in ParseExportDefaultDeclaration()
1632 case lexer::TokenType::KEYW_STRUCT: in ParseExportDefaultDeclaration()
1635 case lexer::TokenType::KEYW_ASYNC: in ParseExportDefaultDeclaration()
1636 if ((lexer_->GetToken().Flags() & lexer::TokenFlags::HAS_ESCAPE) == 0) { in ParseExportDefaultDeclaration()
1657 lexer::SourcePosition endLoc = declNode->End(); in ParseExportDefaultDeclaration()
1669 ir::Identifier *ParserImpl::ParseNamedExport(lexer::Token *exportedToken) in ParseNamedExport()
1671 if (exportedToken->Type() != lexer::TokenType::LITERAL_IDENT) { in ParseNamedExport()
1674 exportedToken->SetTokenType(lexer::TokenType::LITERAL_IDENT); in ParseNamedExport()
1689 ir::ExportAllDeclaration *ParserImpl::ParseExportAllDeclaration(const lexer::SourcePosition &startL… in ParseExportAllDeclaration()
1691 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat `*` character in ParseExportAllDeclaration()
1696 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); in ParseExportAllDeclaration()
1702 lexer::SourcePosition endLoc = source->End(); in ParseExportAllDeclaration()
1713 ir::ExportNamedDeclaration *ParserImpl::ParseExportNamedSpecifiers(const lexer::SourcePosition &sta… in ParseExportNamedSpecifiers()
1715 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat `{` character in ParseExportNamedSpecifiers()
1718 lexer::SourcePosition endPos; in ParseExportNamedSpecifiers()
1721 lexer::TokenType::PUNCTUATOR_RIGHT_BRACE, lexer::NextTokenFlags::KEYWORD_TO_IDENT, in ParseExportNamedSpecifiers()
1723 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseExportNamedSpecifiers()
1725 LogExpectedToken(lexer::TokenType::LITERAL_IDENT); in ParseExportNamedSpecifiers()
1728 lexer::Token localToken = lexer_->GetToken(); in ParseExportNamedSpecifiers()
1737 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat `as` literal in ParseExportNamedSpecifiers()
1755 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_FROM) { in ParseExportNamedSpecifiers()
1767 ir::Statement *ParserImpl::ParseNamedExportDeclaration(const lexer::SourcePosition &startLoc) in ParseNamedExportDeclaration()
1772 case lexer::TokenType::KEYW_VAR: in ParseNamedExportDeclaration()
1775 case lexer::TokenType::KEYW_CONST: in ParseNamedExportDeclaration()
1778 case lexer::TokenType::KEYW_LET: in ParseNamedExportDeclaration()
1781 case lexer::TokenType::KEYW_FUNCTION: in ParseNamedExportDeclaration()
1784 case lexer::TokenType::KEYW_CLASS: in ParseNamedExportDeclaration()
1787 case lexer::TokenType::LITERAL_IDENT: in ParseNamedExportDeclaration()
1788 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_STRUCT) { in ParseNamedExportDeclaration()
1795 LogExpectedToken(lexer::TokenType::KEYW_ASYNC); in ParseNamedExportDeclaration()
1799 if (lexer_->GetToken().Type() != lexer::TokenType::KEYW_FUNCTION) { in ParseNamedExportDeclaration()
1800 LogExpectedToken(lexer::TokenType::KEYW_FUNCTION); in ParseNamedExportDeclaration()
1801 return AllocBrokenStatement(Lexer()->GetToken().Loc()); in ParseNamedExportDeclaration()
1812 lexer::SourcePosition endLoc = decl->End(); in ParseNamedExportDeclaration()
1831 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseExportDeclaration()
1835 case lexer::TokenType::PUNCTUATOR_MULTIPLY: { in ParseExportDeclaration()
1838 case lexer::TokenType::PUNCTUATOR_LEFT_BRACE: { in ParseExportDeclaration()
1842 if (lexer_->GetToken().KeywordType() == lexer::TokenType::KEYW_DEFAULT) { in ParseExportDeclaration()
1852 lexer::SourcePosition namespaceStart = lexer_->GetToken().Start(); in ParseNameSpaceImport()
1856 LogExpectedToken(lexer::TokenType::KEYW_AS); in ParseNameSpaceImport()
1871 ir::Identifier *ParserImpl::ParseNamedImport(lexer::Token *importedToken) in ParseNamedImport()
1873 if (importedToken->Type() != lexer::TokenType::LITERAL_IDENT) { in ParseNamedImport()
1875 importedToken->SetTokenType(lexer::TokenType::LITERAL_IDENT); in ParseNamedImport()
1890 lexer_->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat `{` character in ParseNamedImportSpecifiers()
1893 lexer::TokenType::PUNCTUATOR_RIGHT_BRACE, lexer::NextTokenFlags::KEYWORD_TO_IDENT, in ParseNamedImportSpecifiers()
1895 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseNamedImportSpecifiers()
1897 LogExpectedToken(lexer::TokenType::LITERAL_IDENT); in ParseNamedImportSpecifiers()
1900 lexer::Token importedToken = lexer_->GetToken(); in ParseNamedImportSpecifiers()
1935 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) { in ParseImportDefaultSpecifier()
1944 if (lexer_->GetToken().KeywordType() != lexer::TokenType::KEYW_FROM) { in ParseFromClause()
1947 LogExpectedToken(lexer::TokenType::KEYW_FROM); in ParseFromClause()
1954 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_STRING) { in ParseFromClause()
1956 LogExpectedToken(lexer::TokenType::LITERAL_STRING); in ParseFromClause()
1957 lexer_->GetToken().SetTokenType(lexer::TokenType::LITERAL_STRING); in ParseFromClause()
1974 if (lexer_->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) { in ParseImportSpecifiers()
1982 if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY) { in ParseImportSpecifiers()
1984 } else if (lexer_->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseImportSpecifiers()
2001 if (nextChar == lexer::LEX_CHAR_LEFT_PAREN || nextChar == lexer::LEX_CHAR_DOT) { in ParseImportDeclaration()
2005 lexer::SourcePosition startLoc = lexer_->GetToken().Start(); in ParseImportDeclaration()
2012 if (lexer_->GetToken().Type() != lexer::TokenType::LITERAL_STRING) { in ParseImportDeclaration()
2020 lexer::SourcePosition endLoc = source->End(); in ParseImportDeclaration()
2030 ir::Statement *ParserImpl::AllocBrokenStatement(const lexer::SourcePosition &pos) in AllocBrokenStatement()
2035 ir::Statement *ParserImpl::AllocBrokenStatement(const lexer::SourceRange &range) in AllocBrokenStatement()