Lines Matching refs:Lexer

121     if (Lexer()->GetToken().KeywordType() != lexer::TokenType::KEYW_AS) {
125 Lexer()->NextToken(); // eat 'as'
140 asExpr->SetRange({startLoc, Lexer()->GetToken().End()});
142 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_AS) {
151 switch (Lexer()->GetToken().Type()) {
171 ir::AnnotatedExpression *returnNode = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
175 returnNode->SetRange(Lexer()->GetToken().Loc());
178 {returnNode->AsIdentifier()->Decorators().front()->Start(), Lexer()->GetToken().End()});
181 Lexer()->NextToken();
183 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) {
191 Lexer()->NextToken();
194 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
195 Lexer()->NextToken(); // eat ':'
217 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
233 Lexer()->NextToken();
236 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_YIELD) {
279 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_THIS) {
280 Lexer()->GetToken().SetTokenType(lexer::TokenType::LITERAL_IDENT);
283 lexer::SourcePosition parameterStart = Lexer()->GetToken().Start();
290 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) {
320 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_REQUIRE &&
321 Lexer()->Lookahead() == lexer::LEX_CHAR_LEFT_PAREN) {
322 lexer::SourcePosition start = Lexer()->GetToken().Start();
323 Lexer()->NextToken(); // eat 'require'
324 Lexer()->NextToken(); // eat '('
326 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_STRING) {
330 result = AllocNode<ir::StringLiteral>(Lexer()->GetToken().String());
331 result->SetRange(Lexer()->GetToken().Loc());
332 Lexer()->NextToken();
334 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
339 result->SetRange({start, Lexer()->GetToken().End()});
340 Lexer()->NextToken(); // eat ')'
342 result = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
343 result->SetRange(Lexer()->GetToken().Loc());
344 Lexer()->NextToken();
346 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD) {
356 auto *identRef = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
358 identRef->SetRange(Lexer()->GetToken().Loc());
361 typeReference->SetRange(Lexer()->GetToken().Loc());
363 Lexer()->NextToken();
365 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA &&
366 Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON &&
367 Lexer()->GetToken().Type() != lexer::TokenType::EOS &&
368 Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET &&
369 ((Lexer()->GetToken().Flags() & lexer::TokenFlags::NEW_LINE) == 0)) {
378 if (returnExpression == nullptr || Lexer()->GetToken().NewLine()) {
383 (*returnExpression)->SetRange({startLoc, Lexer()->GetToken().End()});
384 Lexer()->NextToken();
408 static ir::ArrowFunctionExpression *CreateCallExpression(TSParser *parser, lexer::Lexer *lexer,
444 switch (Lexer()->GetToken().Type()) {
454 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
470 const auto savedPos = Lexer()->Save();
475 Lexer()->Rewind(savedPos);
479 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) {
486 return ParsePotentialArrowExpressionHelper::CreateCallExpression(this, Lexer(), returnExpression,
501 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
502 Lexer()->NextToken(); // eat ':'
514 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) {
548 Lexer()->NextToken(); // eat '?'
551 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
552 Lexer()->NextToken(); // eat ':'
557 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
574 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
588 Lexer()->NextToken();
592 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
593 Lexer()->NextToken(); // eat ':'
597 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
606 Lexer()->NextToken();
610 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
611 Lexer()->NextToken(); // eat ':'
615 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
630 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS);
631 lexer::SourcePosition start = Lexer()->GetToken().Start();
632 Lexer()->NextToken();
635 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) {
639 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
646 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) {
651 expr->SetRange({start, Lexer()->GetToken().End()});
652 Lexer()->NextToken();
654 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
655 auto savedPos = Lexer()->Save();
656 Lexer()->NextToken(); // eat ':'
661 Lexer()->Rewind(savedPos);
665 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) {
666 Lexer()->Rewind(savedPos);