Lines Matching refs:Lexer

117     while (IsClassModifier(Lexer()->GetToken().KeywordType())) {
120 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags();
125 switch (Lexer()->GetToken().KeywordType()) {
147 Lexer()->NextToken();
164 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_EXTENDS) {
165 Lexer()->NextToken();
192 if (!IsClassMemberAccessModifier(Lexer()->GetToken().Type())) {
196 char32_t nextCp = Lexer()->Lookahead();
202 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags();
209 switch (Lexer()->GetToken().KeywordType()) {
223 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
224 if (Lexer()->GetToken().KeywordType() != lexer::TokenType::KEYW_PROTECTED) {
238 ThrowSyntaxError("Local class declaration members can not have access modifies", Lexer()->GetToken().Start());
241 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
254 while (IsClassFieldModifier(Lexer()->GetToken().KeywordType())) {
255 char32_t nextCp = Lexer()->Lookahead();
262 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags();
267 switch (Lexer()->GetToken().KeywordType()) {
285 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
316 switch (Lexer()->GetToken().KeywordType()) {
357 while (IsClassMethodModifier(Lexer()->GetToken().KeywordType())) {
358 char32_t nextCp = Lexer()->Lookahead();
365 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags();
375 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
398 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) {
399 Lexer()->NextToken(); // eat '?'
402 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) {
403 Lexer()->NextToken(); // eat ':'
409 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) {
410 Lexer()->NextToken(); // eat '='
430 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) {
431 Lexer()->NextToken();
511 bool IsParseClassElementSeenStatic(lexer::Lexer *lexer)
527 auto startLoc = Lexer()->GetToken().Start();
530 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_EXPORT) {
531 Lexer()->NextToken(); // eat exported
534 auto savedPos = Lexer()->Save(); // NOLINT(clang-analyzer-deadcode.DeadStores)
536 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_STATIC &&
537 Lexer()->Lookahead() == lexer::LEX_CHAR_LEFT_BRACE) {
548 bool seenStatic = IsParseClassElementSeenStatic(Lexer());
553 if (IsClassFieldModifier(Lexer()->GetToken().KeywordType())) {
555 } else if (IsClassMethodModifier(Lexer()->GetToken().Type())) {
559 switch (Lexer()->GetToken().Type()) {
587 desc.methodKind = Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_GET ? ir::MethodDefinitionKind::GET
589 Lexer()->NextToken(); // eat get/set
590 auto *methodName = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
597 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT);
601 desc.propStart = Lexer()->GetToken().Start();
619 auto methodKind = Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_GET ? ir::MethodDefinitionKind::GET
621 Lexer()->NextToken(); // eat get/set
625 method->SetRange({Lexer()->GetToken().Start(), method->Id()->End()});
646 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LESS_THAN) {
653 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_EXTENDS) {
657 lexer::SourcePosition bodyStart = Lexer()->GetToken().Start();
671 body->SetRange({bodyStart, Lexer()->GetToken().End()});
679 Lexer()->NextToken();
687 lexer::SourcePosition interfaceStart = Lexer()->GetToken().Start();
688 Lexer()->NextToken(); // eat interface keyword
694 declNode->SetRange({interfaceStart, Lexer()->GetToken().End()});
701 Lexer()->NextToken();
704 if (identNode == nullptr && Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
705 Lexer()->NextToken(); // Error processing.
709 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LESS_THAN) {
729 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_IMPLEMENTS) {
730 Lexer()->NextToken();
739 Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
741 bodyRange = lexer::SourceRange {Lexer()->GetToken().Start(), Lexer()->GetToken().Start()};
771 while (IsInterfaceMethodModifier(Lexer()->GetToken().Type())) {
775 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_PUBLIC ||
776 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_PROTECTED ||
777 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_PRIVATE) {
779 Lexer()->GetToken().Start());
781 } else if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_PUBLIC ||
782 Lexer()->GetToken().Type() == lexer::TokenType::KEYW_PROTECTED) {
785 switch (Lexer()->GetToken().Type()) {
799 char32_t nextCp = Lexer()->Lookahead();
809 Lexer()->NextToken();
818 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT);
819 auto *name = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
820 name->SetRange(Lexer()->GetToken().Loc());
821 Lexer()->NextToken();
824 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_QUESTION_MARK) {
825 Lexer()->NextToken(); // eat '?'
830 if (!Lexer()->TryEatTokenType(lexer::TokenType::PUNCTUATOR_COLON)) {
842 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_EQUAL) {
857 field->SetEnd(Lexer()->GetToken().End());
864 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT);
865 auto *name = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator());
866 name->SetRange(Lexer()->GetToken().Loc());
867 Lexer()->NextToken();
871 lexer::SourcePosition startLoc = Lexer()->GetToken().Start();
882 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE) {
907 : func->Params().empty() ? Lexer()->GetToken().End()
928 auto startLoc = Lexer()->GetToken().Start();
940 if (Lexer()->Lookahead() != lexer::LEX_CHAR_LEFT_PAREN && Lexer()->Lookahead() != lexer::LEX_CHAR_LESS_THAN &&
941 (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_GET ||
942 Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_SET)) {
946 if (Lexer()->TryEatTokenKeyword(lexer::TokenType::KEYW_READONLY)) {
953 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) {
954 char32_t nextCp = Lexer()->Lookahead();
1080 if (Lexer()->TryEatTokenType(lexer::TokenType::KEYW_EXPORT)) {
1081 const auto savedPos = Lexer()->Save();
1082 if (Lexer()->TryEatTokenKeyword(lexer::TokenType::KEYW_DEFAULT)) {
1084 } else if (Lexer()->TryEatTokenKeyword(lexer::TokenType::KEYW_TYPE)) {
1085 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT) {
1086 Lexer()->Rewind(savedPos);
1094 lexer::SourcePosition startLoc = Lexer()->GetToken().Start();
1096 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_DECLARE) {
1100 const auto tokenType = Lexer()->GetToken().KeywordType();
1109 Lexer()->NextToken();
1111 if (Lexer()->GetToken().Type() != lexer::TokenType::KEYW_FUNCTION) {