• Home
  • Raw
  • Download

Lines Matching full:lexer

23 #include "lexer/TSLexer.h"
124 ir::TSImportEqualsDeclaration *TSParser::ParseTsImportEqualsDeclaration(const lexer::SourcePosition… in ParseTsImportEqualsDeclaration()
127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_IMPORT); in ParseTsImportEqualsDeclaration()
128 Lexer()->NextToken(); in ParseTsImportEqualsDeclaration()
129 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseTsImportEqualsDeclaration()
133 auto *id = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParseTsImportEqualsDeclaration()
134 id->SetRange(Lexer()->GetToken().Loc()); in ParseTsImportEqualsDeclaration()
135 Lexer()->NextToken(); // eat id name in ParseTsImportEqualsDeclaration()
137 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseTsImportEqualsDeclaration()
140 Lexer()->NextToken(); // eat substitution in ParseTsImportEqualsDeclaration()
142 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseTsImportEqualsDeclaration()
147 importEqualsDecl->SetRange({startLoc, Lexer()->GetToken().End()}); in ParseTsImportEqualsDeclaration()
155 ir::ExportDefaultDeclaration *TSParser::ParseExportDefaultDeclaration(const lexer::SourcePosition &… in ParseExportDefaultDeclaration()
158 Lexer()->NextToken(); // eat `default` keyword or `=` in ParseExportDefaultDeclaration()
163 switch (Lexer()->GetToken().KeywordType()) { in ParseExportDefaultDeclaration()
164 case lexer::TokenType::KEYW_FUNCTION: { in ParseExportDefaultDeclaration()
168 case lexer::TokenType::KEYW_CLASS: { in ParseExportDefaultDeclaration()
172 case lexer::TokenType::KEYW_INTERFACE: { in ParseExportDefaultDeclaration()
176 case lexer::TokenType::KEYW_ASYNC: { in ParseExportDefaultDeclaration()
177 if ((Lexer()->GetToken().Flags() & lexer::TokenFlags::HAS_ESCAPE) == 0) { in ParseExportDefaultDeclaration()
178 Lexer()->NextToken(); // eat `async` in ParseExportDefaultDeclaration()
191 lexer::SourcePosition endLoc = declNode->End(); in ParseExportDefaultDeclaration()
205 switch (Lexer()->GetToken().KeywordType()) { in GetDeclarationForNamedExport()
206 case lexer::TokenType::KEYW_VAR: { in GetDeclarationForNamedExport()
209 case lexer::TokenType::KEYW_CONST: { in GetDeclarationForNamedExport()
212 case lexer::TokenType::KEYW_LET: { in GetDeclarationForNamedExport()
215 case lexer::TokenType::KEYW_FUNCTION: { in GetDeclarationForNamedExport()
218 case lexer::TokenType::KEYW_CLASS: { in GetDeclarationForNamedExport()
221 case lexer::TokenType::KEYW_ENUM: { in GetDeclarationForNamedExport()
224 case lexer::TokenType::KEYW_INTERFACE: { in GetDeclarationForNamedExport()
227 case lexer::TokenType::KEYW_TYPE: { in GetDeclarationForNamedExport()
230 case lexer::TokenType::KEYW_GLOBAL: in GetDeclarationForNamedExport()
231 case lexer::TokenType::KEYW_MODULE: in GetDeclarationForNamedExport()
232 case lexer::TokenType::KEYW_NAMESPACE: { in GetDeclarationForNamedExport()
236 if (!Lexer()->GetToken().IsAsyncModifier()) { in GetDeclarationForNamedExport()
240 Lexer()->NextToken(); // eat `async` keyword in GetDeclarationForNamedExport()
245 ir::ExportNamedDeclaration *TSParser::ParseNamedExportDeclaration(const lexer::SourcePosition &star… in ParseNamedExportDeclaration()
250 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE) { in ParseNamedExportDeclaration()
254 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_ABSTRACT) { in ParseNamedExportDeclaration()
255 Lexer()->NextToken(); // eat 'abstract' in ParseNamedExportDeclaration()
265 lexer::SourcePosition endLoc = decl->End(); in ParseNamedExportDeclaration()
275 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseExportDeclaration()
276 Lexer()->NextToken(); // eat `export` keyword in ParseExportDeclaration()
278 switch (Lexer()->GetToken().Type()) { in ParseExportDeclaration()
279 case lexer::TokenType::KEYW_DEFAULT: { in ParseExportDeclaration()
282 case lexer::TokenType::PUNCTUATOR_MULTIPLY: { in ParseExportDeclaration()
285 case lexer::TokenType::PUNCTUATOR_LEFT_BRACE: { in ParseExportDeclaration()
288 case lexer::TokenType::KEYW_IMPORT: { in ParseExportDeclaration()
291 case lexer::TokenType::PUNCTUATOR_SUBSTITUTION: { in ParseExportDeclaration()
310 lexer::SourcePosition constVarStar = Lexer()->GetToken().Start(); in ParseConstStatement()
311 Lexer()->NextToken(); in ParseConstStatement()
313 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_ENUM) { in ParseConstStatement()
339 char32_t nextChar = Lexer()->Lookahead(); in ParseImportDeclaration()
340 if (nextChar == lexer::LEX_CHAR_LEFT_PAREN || nextChar == lexer::LEX_CHAR_DOT) { in ParseImportDeclaration()
344 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseImportDeclaration()
345 Lexer()->NextToken(); // eat import in ParseImportDeclaration()
351 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_STRING) { in ParseImportDeclaration()
355 astNode->SetRange({startLoc, Lexer()->GetToken().End()}); in ParseImportDeclaration()
364 lexer::SourcePosition endLoc = source->End(); in ParseImportDeclaration()