Lines Matching refs:TokenInfo

37 struct Parser::TokenInfo {  struct in clang::ast_matchers::dynamic::Parser
57 TokenInfo() = default;
65 const char* const Parser::TokenInfo::ID_Bind = "bind";
66 const char *const Parser::TokenInfo::ID_With = "with";
84 const TokenInfo &peekNextToken() const { return NextToken; } in peekNextToken()
87 TokenInfo consumeNextToken() { in consumeNextToken()
88 TokenInfo ThisToken = NextToken; in consumeNextToken()
93 TokenInfo SkipNewlines() { in SkipNewlines()
94 while (NextToken.Kind == TokenInfo::TK_NewLine) in SkipNewlines()
99 TokenInfo consumeNextTokenIgnoreNewlines() { in consumeNextTokenIgnoreNewlines()
101 if (NextToken.Kind == TokenInfo::TK_Eof) in consumeNextTokenIgnoreNewlines()
106 TokenInfo::TokenKind nextTokenKind() const { return NextToken.Kind; } in nextTokenKind()
109 TokenInfo getNextToken() { in getNextToken()
111 TokenInfo Result; in getNextToken()
115 Result.Kind = TokenInfo::TK_CodeCompletion; in getNextToken()
122 Result.Kind = TokenInfo::TK_Eof; in getNextToken()
132 Result.Kind = TokenInfo::TK_Comma; in getNextToken()
137 Result.Kind = TokenInfo::TK_Period; in getNextToken()
144 Result.Kind = TokenInfo::TK_NewLine; in getNextToken()
149 Result.Kind = TokenInfo::TK_OpenParen; in getNextToken()
154 Result.Kind = TokenInfo::TK_CloseParen; in getNextToken()
181 Result.Kind = TokenInfo::TK_CodeCompletion; in getNextToken()
191 Result.Kind = TokenInfo::TK_Literal; in getNextToken()
194 Result.Kind = TokenInfo::TK_Literal; in getNextToken()
197 Result.Kind = TokenInfo::TK_Ident; in getNextToken()
202 Result.Kind = TokenInfo::TK_InvalidChar; in getNextToken()
214 void consumeNumberLiteral(TokenInfo *Result) { in consumeNumberLiteral()
246 Result->Kind = TokenInfo::TK_Literal; in consumeNumberLiteral()
253 Result->Kind = TokenInfo::TK_Literal; in consumeNumberLiteral()
263 Result->Kind = TokenInfo::TK_Error; in consumeNumberLiteral()
270 void consumeStringLiteral(TokenInfo *Result) { in consumeStringLiteral()
283 Result->Kind = TokenInfo::TK_Literal; in consumeStringLiteral()
297 Result->Kind = TokenInfo::TK_Error; in consumeStringLiteral()
317 TokenInfo NextToken;
355 const TokenInfo NameToken = Tokenizer->consumeNextToken(); in parseIdentifierPrefixImpl()
357 if (Tokenizer->nextTokenKind() != TokenInfo::TK_OpenParen) { in parseIdentifierPrefixImpl()
363 if (Tokenizer->nextTokenKind() != TokenInfo::TK_Period) { in parseIdentifierPrefixImpl()
370 TokenInfo ChainCallToken = Tokenizer->consumeNextToken(); in parseIdentifierPrefixImpl()
371 if (ChainCallToken.Kind == TokenInfo::TK_CodeCompletion) { in parseIdentifierPrefixImpl()
376 if (ChainCallToken.Kind != TokenInfo::TK_Ident || in parseIdentifierPrefixImpl()
377 (ChainCallToken.Text != TokenInfo::ID_Bind && in parseIdentifierPrefixImpl()
378 ChainCallToken.Text != TokenInfo::ID_With)) { in parseIdentifierPrefixImpl()
383 if (ChainCallToken.Text == TokenInfo::ID_With) { in parseIdentifierPrefixImpl()
408 if (Tokenizer->nextTokenKind() == TokenInfo::TK_NewLine) { in parseIdentifierPrefixImpl()
417 if ((Tokenizer->nextTokenKind() == TokenInfo::TK_Comma || in parseIdentifierPrefixImpl()
418 Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen || in parseIdentifierPrefixImpl()
419 Tokenizer->nextTokenKind() == TokenInfo::TK_NewLine || in parseIdentifierPrefixImpl()
420 Tokenizer->nextTokenKind() == TokenInfo::TK_Eof) && in parseIdentifierPrefixImpl()
431 assert(NameToken.Kind == TokenInfo::TK_Ident); in parseIdentifierPrefixImpl()
432 TokenInfo OpenToken = Tokenizer->consumeNextToken(); in parseIdentifierPrefixImpl()
433 if (OpenToken.Kind != TokenInfo::TK_OpenParen) { in parseIdentifierPrefixImpl()
447 const TokenInfo OpenToken = Tokenizer->consumeNextToken(); in parseBindID()
448 const TokenInfo IDToken = Tokenizer->consumeNextTokenIgnoreNewlines(); in parseBindID()
449 const TokenInfo CloseToken = Tokenizer->consumeNextTokenIgnoreNewlines(); in parseBindID()
453 if (OpenToken.Kind != TokenInfo::TK_OpenParen) { in parseBindID()
457 if (IDToken.Kind != TokenInfo::TK_Literal || !IDToken.Value.isString()) { in parseBindID()
461 if (CloseToken.Kind != TokenInfo::TK_CloseParen) { in parseBindID()
469 bool Parser::parseMatcherBuilder(MatcherCtor Ctor, const TokenInfo &NameToken, in parseMatcherBuilder()
470 const TokenInfo &OpenToken, in parseMatcherBuilder()
473 TokenInfo EndToken; in parseMatcherBuilder()
480 while (Tokenizer->nextTokenKind() != TokenInfo::TK_Eof) { in parseMatcherBuilder()
481 if (Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen) { in parseMatcherBuilder()
488 TokenInfo CommaToken = Tokenizer->consumeNextToken(); in parseMatcherBuilder()
489 if (CommaToken.Kind != TokenInfo::TK_Comma) { in parseMatcherBuilder()
502 if (Tokenizer->peekNextToken().Kind == TokenInfo::TK_CodeCompletion) { in parseMatcherBuilder()
507 TokenInfo NodeMatcherToken = Tokenizer->consumeNextToken(); in parseMatcherBuilder()
509 if (NodeMatcherToken.Kind != TokenInfo::TK_Ident) { in parseMatcherBuilder()
546 if (EndToken.Kind == TokenInfo::TK_Eof) { in parseMatcherBuilder()
561 if (Tokenizer->peekNextToken().Kind == TokenInfo::TK_Period) { in parseMatcherBuilder()
563 TokenInfo ChainCallToken = Tokenizer->consumeNextToken(); in parseMatcherBuilder()
564 if (ChainCallToken.Kind == TokenInfo::TK_CodeCompletion) { in parseMatcherBuilder()
569 if (ChainCallToken.Kind != TokenInfo::TK_Ident || in parseMatcherBuilder()
570 (ChainCallToken.Text != TokenInfo::ID_Bind && in parseMatcherBuilder()
571 ChainCallToken.Text != TokenInfo::ID_With)) { in parseMatcherBuilder()
576 if (ChainCallToken.Text == TokenInfo::ID_Bind) { in parseMatcherBuilder()
590 } else if (ChainCallToken.Text == TokenInfo::ID_With) { in parseMatcherBuilder()
593 if (Tokenizer->nextTokenKind() != TokenInfo::TK_OpenParen) { in parseMatcherBuilder()
594 StringRef ErrTxt = Tokenizer->nextTokenKind() == TokenInfo::TK_Eof in parseMatcherBuilder()
603 TokenInfo WithOpenToken = Tokenizer->consumeNextToken(); in parseMatcherBuilder()
627 bool Parser::parseMatcherExpressionImpl(const TokenInfo &NameToken, in parseMatcherExpressionImpl()
628 const TokenInfo &OpenToken, in parseMatcherExpressionImpl()
641 TokenInfo EndToken; in parseMatcherExpressionImpl()
648 while (Tokenizer->nextTokenKind() != TokenInfo::TK_Eof) { in parseMatcherExpressionImpl()
649 if (Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen) { in parseMatcherExpressionImpl()
656 const TokenInfo CommaToken = Tokenizer->consumeNextToken(); in parseMatcherExpressionImpl()
657 if (CommaToken.Kind != TokenInfo::TK_Comma) { in parseMatcherExpressionImpl()
681 if (EndToken.Kind == TokenInfo::TK_Eof) { in parseMatcherExpressionImpl()
687 if (Tokenizer->peekNextToken().Kind == TokenInfo::TK_Period) { in parseMatcherExpressionImpl()
689 TokenInfo ChainCallToken = Tokenizer->consumeNextToken(); in parseMatcherExpressionImpl()
690 if (ChainCallToken.Kind == TokenInfo::TK_CodeCompletion) { in parseMatcherExpressionImpl()
695 if (ChainCallToken.Kind != TokenInfo::TK_Ident) { in parseMatcherExpressionImpl()
700 if (ChainCallToken.Text == TokenInfo::ID_With) { in parseMatcherExpressionImpl()
709 if (ChainCallToken.Text != TokenInfo::ID_Bind) { in parseMatcherExpressionImpl()
736 void Parser::addCompletion(const TokenInfo &CompToken, in addCompletion()
761 const TokenInfo CompToken = Tokenizer->consumeNextTokenIgnoreNewlines(); in addExpressionCompletions()
762 assert(CompToken.Kind == TokenInfo::TK_CodeCompletion); in addExpressionCompletions()
786 case TokenInfo::TK_Literal: in parseExpressionImpl()
790 case TokenInfo::TK_Ident: in parseExpressionImpl()
793 case TokenInfo::TK_CodeCompletion: in parseExpressionImpl()
797 case TokenInfo::TK_Eof: in parseExpressionImpl()
802 case TokenInfo::TK_Error: in parseExpressionImpl()
805 case TokenInfo::TK_NewLine: in parseExpressionImpl()
806 case TokenInfo::TK_OpenParen: in parseExpressionImpl()
807 case TokenInfo::TK_CloseParen: in parseExpressionImpl()
808 case TokenInfo::TK_Comma: in parseExpressionImpl()
809 case TokenInfo::TK_Period: in parseExpressionImpl()
810 case TokenInfo::TK_InvalidChar: in parseExpressionImpl()
811 const TokenInfo Token = Tokenizer->consumeNextToken(); in parseExpressionImpl()
813 << (Token.Kind == TokenInfo::TK_NewLine ? "NewLine" : Token.Text); in parseExpressionImpl()
877 if (NT.Kind != TokenInfo::TK_Eof && NT.Kind != TokenInfo::TK_NewLine) { in parseExpression()