Lines Matching full:lexer
23 #include "lexer/TSLexer.h"
121 if (Lexer()->GetToken().KeywordType() != lexer::TokenType::KEYW_AS) { in ParsePotentialAsExpression()
125 Lexer()->NextToken(); // eat 'as' in ParsePotentialAsExpression()
138 lexer::SourcePosition startLoc = expr->Start(); in ParsePotentialAsExpression()
141 asExpr->SetRange({startLoc, Lexer()->GetToken().End()}); in ParsePotentialAsExpression()
143 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_AS) { in ParsePotentialAsExpression()
152 switch (Lexer()->GetToken().Type()) { in ParsePatternElementGetReturnNode()
153 case lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET: { in ParsePatternElementGetReturnNode()
158 case lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD: { in ParsePatternElementGetReturnNode()
165 case lexer::TokenType::PUNCTUATOR_LEFT_BRACE: { in ParsePatternElementGetReturnNode()
171 case lexer::TokenType::LITERAL_IDENT: { in ParsePatternElementGetReturnNode()
172 …ir::AnnotatedExpression *returnNode = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Alloc… in ParsePatternElementGetReturnNode()
176 returnNode->SetRange(Lexer()->GetToken().Loc()); in ParsePatternElementGetReturnNode()
179 … {returnNode->AsIdentifier()->Decorators().front()->Start(), Lexer()->GetToken().End()}); in ParsePatternElementGetReturnNode()
182 Lexer()->NextToken(); in ParsePatternElementGetReturnNode()
184 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) { in ParsePatternElementGetReturnNode()
192 Lexer()->NextToken(); in ParsePatternElementGetReturnNode()
195 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParsePatternElementGetReturnNode()
196 Lexer()->NextToken(); // eat ':' in ParsePatternElementGetReturnNode()
218 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParsePatternElement()
234 Lexer()->NextToken(); in ParsePatternElement()
237 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_YIELD) { in ParsePatternElement()
244 …ir::AstNodeType::ASSIGNMENT_PATTERN, returnNode, rightNode, lexer::TokenType::PUNCTUATOR_SUBSTITUT… in ParsePatternElement()
280 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_THIS) { in ParseFunctionParameter()
281 Lexer()->GetToken().SetTokenType(lexer::TokenType::LITERAL_IDENT); in ParseFunctionParameter()
282 Lexer()->GetToken().SetTokenStr(ERROR_LITERAL); in ParseFunctionParameter()
285 lexer::SourcePosition parameterStart = Lexer()->GetToken().Start(); in ParseFunctionParameter()
292 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) { in ParseFunctionParameter()
322 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_REQUIRE && in ParseModuleReference()
323 Lexer()->Lookahead() == lexer::LEX_CHAR_LEFT_PAREN) { in ParseModuleReference()
324 lexer::SourcePosition start = Lexer()->GetToken().Start(); in ParseModuleReference()
325 Lexer()->NextToken(); // eat 'require' in ParseModuleReference()
326 Lexer()->NextToken(); // eat '(' in ParseModuleReference()
328 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_STRING) { in ParseModuleReference()
332 result = AllocNode<ir::StringLiteral>(Lexer()->GetToken().String()); in ParseModuleReference()
334 result->SetRange(Lexer()->GetToken().Loc()); in ParseModuleReference()
335 Lexer()->NextToken(); in ParseModuleReference()
337 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseModuleReference()
342 result->SetRange({start, Lexer()->GetToken().End()}); in ParseModuleReference()
343 Lexer()->NextToken(); // eat ')' in ParseModuleReference()
345 result = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParseModuleReference()
347 result->SetRange(Lexer()->GetToken().Loc()); in ParseModuleReference()
348 Lexer()->NextToken(); in ParseModuleReference()
350 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD) { in ParseModuleReference()
360 auto *identRef = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParseConstExpression()
362 identRef->SetRange(Lexer()->GetToken().Loc()); in ParseConstExpression()
366 typeReference->SetRange(Lexer()->GetToken().Loc()); in ParseConstExpression()
368 Lexer()->NextToken(); in ParseConstExpression()
370 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA && in ParseConstExpression()
371 Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SEMI_COLON && in ParseConstExpression()
372 Lexer()->GetToken().Type() != lexer::TokenType::EOS && in ParseConstExpression()
373 Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_SQUARE_BRACKET && in ParseConstExpression()
374 ((Lexer()->GetToken().Flags() & lexer::TokenFlags::NEW_LINE) == 0)) { in ParseConstExpression()
381 bool TSParser::ParsePotentialNonNullExpression(ir::Expression **returnExpression, lexer::SourcePosi… in ParsePotentialNonNullExpression()
383 if (returnExpression == nullptr || Lexer()->GetToken().NewLine()) { in ParsePotentialNonNullExpression()
390 (*returnExpression)->SetRange({startLoc, Lexer()->GetToken().End()}); in ParsePotentialNonNullExpression()
391 Lexer()->NextToken(); in ParsePotentialNonNullExpression()
412 … const lexer::SourcePosition &startLoc);
415 static ir::ArrowFunctionExpression *CreateCallExpression(TSParser *parser, lexer::Lexer *lexer, in CreateCallExpression() argument
418 const lexer::SourcePosition &startLoc) in CreateCallExpression()
423 if (lexer->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in CreateCallExpression()
424 lexer->NextToken(); // eat ':' in CreateCallExpression()
429 if (lexer->GetToken().Type() == lexer::TokenType::PUNCTUATOR_ARROW) { in CreateCallExpression()
449 … const lexer::SourcePosition &startLoc) in ParsePotentialArrowExpression()
453 switch (Lexer()->GetToken().Type()) { in ParsePotentialArrowExpression()
454 case lexer::TokenType::KEYW_FUNCTION: { in ParsePotentialArrowExpression()
460 case lexer::TokenType::LITERAL_IDENT: { in ParsePotentialArrowExpression()
467 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) { in ParsePotentialArrowExpression()
476 case lexer::TokenType::PUNCTUATOR_ARROW: { in ParsePotentialArrowExpression()
482 case lexer::TokenType::PUNCTUATOR_LESS_THAN: { in ParsePotentialArrowExpression()
483 const auto savedPos = Lexer()->Save(); in ParsePotentialArrowExpression()
488 Lexer()->Rewind(savedPos); in ParsePotentialArrowExpression()
492 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS) { in ParsePotentialArrowExpression()
498 case lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS: { in ParsePotentialArrowExpression()
499 … return ParsePotentialArrowExpressionHelper::CreateCallExpression(this, Lexer(), returnExpression, in ParsePotentialArrowExpression()
514 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseVariableDeclaratorKey()
515 Lexer()->NextToken(); // eat ':' in ParseVariableDeclaratorKey()
527 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) { in ParseOptionalFunctionParameter()
561 Lexer()->NextToken(); // eat '?' in ParseOptionalFunctionParameter()
564 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseOptionalFunctionParameter()
565 Lexer()->NextToken(); // eat ':' in ParseOptionalFunctionParameter()
570 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseOptionalFunctionParameter()
587 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ValidateArrowFunctionRestParameter()
594 ir::Expression *TSParser::ParseArrowFunctionRestParameter(lexer::SourcePosition start) in ParseArrowFunctionRestParameter()
603 Lexer()->NextToken(); in ParseArrowFunctionRestParameter()
607 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseArrowFunctionRestParameter()
608 Lexer()->NextToken(); // eat ':' in ParseArrowFunctionRestParameter()
612 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) { in ParseArrowFunctionRestParameter()
619 ir::Expression *TSParser::ParseArrowFunctionNoParameter(lexer::SourcePosition start) in ParseArrowFunctionNoParameter()
621 Lexer()->NextToken(); in ParseArrowFunctionNoParameter()
625 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseArrowFunctionNoParameter()
626 Lexer()->NextToken(); // eat ':' in ParseArrowFunctionNoParameter()
630 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) { in ParseArrowFunctionNoParameter()
645 ES2PANDA_ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_PARENTHESIS); in ParseCoverParenthesizedExpressionAndArrowParameterList()
646 lexer::SourcePosition start = Lexer()->GetToken().Start(); in ParseCoverParenthesizedExpressionAndArrowParameterList()
647 Lexer()->NextToken(); in ParseCoverParenthesizedExpressionAndArrowParameterList()
650 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD_PERIOD_PERIOD) { in ParseCoverParenthesizedExpressionAndArrowParameterList()
654 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseCoverParenthesizedExpressionAndArrowParameterList()
661 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS) { in ParseCoverParenthesizedExpressionAndArrowParameterList()
666 expr->SetRange({start, Lexer()->GetToken().End()}); in ParseCoverParenthesizedExpressionAndArrowParameterList()
667 Lexer()->NextToken(); in ParseCoverParenthesizedExpressionAndArrowParameterList()
669 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseCoverParenthesizedExpressionAndArrowParameterList()
670 auto savedPos = Lexer()->Save(); in ParseCoverParenthesizedExpressionAndArrowParameterList()
671 Lexer()->NextToken(); // eat ':' in ParseCoverParenthesizedExpressionAndArrowParameterList()
676 Lexer()->Rewind(savedPos); in ParseCoverParenthesizedExpressionAndArrowParameterList()
680 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_ARROW) { in ParseCoverParenthesizedExpressionAndArrowParameterList()
681 Lexer()->Rewind(savedPos); in ParseCoverParenthesizedExpressionAndArrowParameterList()