• Home
  • Raw
  • Download

Lines Matching full:lexer

28 #include "lexer/lexer.h"
29 #include "lexer/ETSLexer.h"
124 ES2PANDA_ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_ENUM); in ParseEnumDeclaration()
126 lexer::SourcePosition enumStart = Lexer()->GetToken().Start(); in ParseEnumDeclaration()
127 Lexer()->NextToken(); // eat enum keyword in ParseEnumDeclaration()
154 ir::TSEnumDeclaration *ETSParser::ParseEnumMembers(ir::Identifier *const key, const lexer::SourcePo… in ParseEnumMembers()
157 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseEnumMembers()
158 LogExpectedToken(lexer::TokenType::PUNCTUATOR_LEFT_BRACE); in ParseEnumMembers()
161 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat '{' in ParseEnumMembers()
165 lexer::SourcePosition enumEnd = ParseEnumMember(members); in ParseEnumMembers()
182 auto endLoc = Lexer()->GetToken().Start(); in ParseEnumExpression()
187 return AllocNode<ir::NumberLiteral>(lexer::Number(0)); in ParseEnumExpression()
195 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PLUS) { in ParseNumberEnumHelper()
196 Lexer()->NextToken(); in ParseNumberEnumHelper()
197 } else if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MINUS) { in ParseNumberEnumHelper()
199 Lexer()->NextToken(); in ParseNumberEnumHelper()
202 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_NUMBER) { in ParseNumberEnumHelper()
204 LogError(diagnostic::INVALID_ENUM_TYPE, {}, Lexer()->GetToken().Start()); in ParseNumberEnumHelper()
205 Lexer()->GetToken().SetTokenType(lexer::TokenType::LITERAL_NUMBER); in ParseNumberEnumHelper()
206 Lexer()->GetToken().SetTokenStr(ERROR_LITERAL); in ParseNumberEnumHelper()
211 lexer::SourcePosition ETSParser::ParseEnumMember(ArenaVector<ir::AstNode *> &members) in ParseEnumMember()
214 ir::Expression *currentNumberExpr = AllocNode<ir::NumberLiteral>(lexer::Number(0)); in ParseEnumMember()
222 lexer::SourcePosition endLoc; in ParseEnumMember()
225 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseEnumMember()
227 Lexer()->NextToken(); in ParseEnumMember()
248 auto incrementNode = AllocNode<ir::NumberLiteral>(lexer::Number(1)); in ParseEnumMember()
251 … AllocNode<ir::BinaryExpression>(dummyNode, incrementNode, lexer::TokenType::PUNCTUATOR_PLUS); in ParseEnumMember()
255 lexer::SourcePosition enumEnd; in ParseEnumMember()
256 …ParseList(lexer::TokenType::PUNCTUATOR_RIGHT_BRACE, lexer::NextTokenFlags::KEYWORD_TO_IDENT, parse… in ParseEnumMember()