Lines Matching refs:Lexer
127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_IMPORT);
128 Lexer()->NextToken();
129 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) {
133 auto *id = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
134 id->SetRange(Lexer()->GetToken().Loc());
135 Lexer()->NextToken(); // eat id name
137 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
140 Lexer()->NextToken(); // eat substitution
142 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) {
147 importEqualsDecl->SetRange({startLoc, Lexer()->GetToken().End()});
158 Lexer()->NextToken(); // eat `default` keyword or `=`
163 switch (Lexer()->GetToken().KeywordType()) {
177 if ((Lexer()->GetToken().Flags() & lexer::TokenFlags::HAS_ESCAPE) == 0) {
178 Lexer()->NextToken(); // eat `async`
205 switch (Lexer()->GetToken().KeywordType()) {
236 if (!Lexer()->GetToken().IsAsyncModifier()) {
240 Lexer()->NextToken(); // eat `async` keyword
250 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE) {
254 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_ABSTRACT) {
255 Lexer()->NextToken(); // eat 'abstract'
275 lexer::SourcePosition startLoc = Lexer()->GetToken().Start();
276 Lexer()->NextToken(); // eat `export` keyword
278 switch (Lexer()->GetToken().Type()) {
310 lexer::SourcePosition constVarStar = Lexer()->GetToken().Start();
311 Lexer()->NextToken();
313 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_ENUM) {
339 char32_t nextChar = Lexer()->Lookahead();
344 lexer::SourcePosition startLoc = Lexer()->GetToken().Start();
345 Lexer()->NextToken(); // eat import
351 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_STRING) {
355 astNode->SetRange({startLoc, Lexer()->GetToken().End()});