reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
230 struct TokenInfo;
238 bool parseMatcherExpressionImpl(const TokenInfo &NameToken, 242 void addCompletion(const TokenInfo &CompToken,tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp
81 const TokenInfo &peekNextToken() const { return NextToken; } 84 TokenInfo consumeNextToken() { 85 TokenInfo ThisToken = NextToken; 90 TokenInfo::TokenKind nextTokenKind() const { return NextToken.Kind; } 93 TokenInfo getNextToken() { 95 TokenInfo Result; 99 Result.Kind = TokenInfo::TK_CodeCompletion; 106 Result.Kind = TokenInfo::TK_Eof; 113 Result.Kind = TokenInfo::TK_Eof; 117 Result.Kind = TokenInfo::TK_Comma; 122 Result.Kind = TokenInfo::TK_Period; 127 Result.Kind = TokenInfo::TK_OpenParen; 132 Result.Kind = TokenInfo::TK_CloseParen; 159 Result.Kind = TokenInfo::TK_CodeCompletion; 169 Result.Kind = TokenInfo::TK_Literal; 172 Result.Kind = TokenInfo::TK_Literal; 175 Result.Kind = TokenInfo::TK_Ident; 180 Result.Kind = TokenInfo::TK_InvalidChar; 192 void consumeNumberLiteral(TokenInfo *Result) { 224 Result->Kind = TokenInfo::TK_Literal; 231 Result->Kind = TokenInfo::TK_Literal; 241 Result->Kind = TokenInfo::TK_Error; 248 void consumeStringLiteral(TokenInfo *Result) { 261 Result->Kind = TokenInfo::TK_Literal; 275 Result->Kind = TokenInfo::TK_Error; 300 TokenInfo NextToken; 338 const TokenInfo NameToken = Tokenizer->consumeNextToken(); 340 if (Tokenizer->nextTokenKind() != TokenInfo::TK_OpenParen) { 346 if (Tokenizer->nextTokenKind() != TokenInfo::TK_Period) { 369 if ((Tokenizer->nextTokenKind() == TokenInfo::TK_Comma || 370 Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen || 371 Tokenizer->nextTokenKind() == TokenInfo::TK_Eof) && 388 const TokenInfo BindToken = Tokenizer->consumeNextToken(); 389 if (BindToken.Kind == TokenInfo::TK_CodeCompletion) { 394 const TokenInfo OpenToken = Tokenizer->consumeNextToken(); 395 const TokenInfo IDToken = Tokenizer->consumeNextToken(); 396 const TokenInfo CloseToken = Tokenizer->consumeNextToken(); 400 if (BindToken.Kind != TokenInfo::TK_Ident || 401 BindToken.Text != TokenInfo::ID_Bind) { 405 if (OpenToken.Kind != TokenInfo::TK_OpenParen) { 409 if (IDToken.Kind != TokenInfo::TK_Literal || !IDToken.Value.isString()) { 413 if (CloseToken.Kind != TokenInfo::TK_CloseParen) { 425 bool Parser::parseMatcherExpressionImpl(const TokenInfo &NameToken, 428 const TokenInfo OpenToken = Tokenizer->consumeNextToken(); 429 if (OpenToken.Kind != TokenInfo::TK_OpenParen) { 444 TokenInfo EndToken; 449 while (Tokenizer->nextTokenKind() != TokenInfo::TK_Eof) { 450 if (Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen) { 457 const TokenInfo CommaToken = Tokenizer->consumeNextToken(); 458 if (CommaToken.Kind != TokenInfo::TK_Comma) { 480 if (EndToken.Kind == TokenInfo::TK_Eof) { 486 if (Tokenizer->peekNextToken().Kind == TokenInfo::TK_Period) { 509 void Parser::addCompletion(const TokenInfo &CompToken, 534 const TokenInfo CompToken = Tokenizer->consumeNextToken(); 559 case TokenInfo::TK_Literal: 563 case TokenInfo::TK_Ident: 566 case TokenInfo::TK_CodeCompletion: 570 case TokenInfo::TK_Eof: 575 case TokenInfo::TK_Error: 579 case TokenInfo::TK_OpenParen: 580 case TokenInfo::TK_CloseParen: 581 case TokenInfo::TK_Comma: 582 case TokenInfo::TK_Period: 583 case TokenInfo::TK_InvalidChar: 584 const TokenInfo Token = Tokenizer->consumeNextToken(); 633 if (Tokenizer.peekNextToken().Kind != TokenInfo::TK_Eof) {