Lines Matching refs:Lexer

126     lexer::SourcePosition start = Lexer()->GetToken().Start();
127 Lexer()->NextToken(); // eat launch
148 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
153 auto const lexerPos = Lexer()->Save().Iterator();
154 Lexer()->NextToken(); // eat '='
163 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS ||
164 Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
170 std::string value = Lexer()->SourceView(lexerPos.Index(), Lexer()->Save().Iterator().Index()).Mutf8();
206 switch (Lexer()->GetToken().Type()) {
226 switch (Lexer()->GetToken().Type()) {
245 lexer::TokenType operatorType = Lexer()->GetToken().Type();
246 auto start = Lexer()->GetToken().Start();
247 Lexer()->NextToken();
276 auto startLoc = Lexer()->GetToken().Start();
277 auto savedPos = Lexer()->Save();
288 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD) {
289 Lexer()->NextToken(); // eat '.'
292 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_CLASS || IsStructKeyword()) {
293 Lexer()->NextToken(); // eat 'class' and 'struct'
295 classLiteral->SetRange({startLoc, Lexer()->GetToken().End()});
300 Lexer()->Rewind(savedPos);
302 Lexer()->NextToken();
303 bool pretendArrow = Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_ARROW;
304 Lexer()->Rewind(savedPos);
306 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT && !pretendArrow) {
310 ThrowSyntaxError({"Unexpected token '", lexer::TokenToString(Lexer()->GetToken().Type()), "'."});
316 switch (Lexer()->GetToken().Type()) {
345 switch (Lexer()->GetToken().Type()) {
408 const auto savedPos = Lexer()->Save();
409 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS);
410 Lexer()->NextToken();
411 auto tokenType = Lexer()->GetToken().Type();
427 Lexer()->Rewind(savedPos);
435 Lexer()->Rewind(savedPos);
440 Lexer()->NextToken();
441 tokenType = Lexer()->GetToken().Type();
448 Lexer()->NextToken();
449 tokenType = Lexer()->GetToken().Type();
451 Lexer()->Rewind(savedPos);
467 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS);
472 lexer::SourcePosition start = Lexer()->GetToken().Start();
473 Lexer()->NextToken();
482 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
487 expr->SetRange({start, Lexer()->GetToken().End()});
488 Lexer()->NextToken();
498 switch (Lexer()->GetToken().Type()) {
504 Lexer()->NextToken(); // eat ?.
506 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) {
510 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
516 Lexer()->NextToken(); // eat period
572 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_AS);
573 Lexer()->NextToken();
590 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
595 Lexer()->NextToken();
597 while (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
601 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
602 Lexer()->NextToken();
607 endLoc = Lexer()->GetToken().End();
608 Lexer()->NextToken();
613 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
632 lexer::SourcePosition start = Lexer()->GetToken().Start();
634 Lexer()->NextToken(); // eat new
646 } else if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
650 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) {
651 Lexer()->NextToken();
654 auto endLoc = Lexer()->GetToken().End();
657 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) {
667 Lexer()->NextToken();
670 endLoc = Lexer()->GetToken().End();
672 } while (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET);
685 newExprNode->SetRange({start, Lexer()->GetToken().End()});
692 Lexer()->NextToken(); // eat 'async'
693 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS ||
707 lexer::SourcePosition start = Lexer()->GetToken().Start();
708 Lexer()->NextToken();
711 awaitExpression->SetRange({start, Lexer()->GetToken().End()});
719 if (Lexer()->GetToken().NewLine()) {
723 switch (Lexer()->GetToken().Type()) {
741 ThrowUnexpectedToken(Lexer()->GetToken().Type());
751 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA &&
761 if (expression == nullptr || Lexer()->GetToken().NewLine()) {
766 nonNullExpr->SetRange({startLoc, Lexer()->GetToken().End()});
770 Lexer()->NextToken();
778 lexer::TokenType tokenType = Lexer()->GetToken().Type();
796 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_YIELD &&
810 if (Lexer()->GetToken().NewLine()) {
814 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA &&