Lines Matching refs:TokenInfo

29 struct Parser::TokenInfo {
47 TokenInfo() : Text(), Kind(TK_Eof), Range(), Value() {}
55 const char* const Parser::TokenInfo::ID_Bind = "bind";
74 const TokenInfo &peekNextToken() const { return NextToken; }
77 TokenInfo consumeNextToken() {
78 TokenInfo ThisToken = NextToken;
83 TokenInfo::TokenKind nextTokenKind() const { return NextToken.Kind; }
86 TokenInfo getNextToken() {
88 TokenInfo Result;
92 Result.Kind = TokenInfo::TK_CodeCompletion;
99 Result.Kind = TokenInfo::TK_Eof;
106 Result.Kind = TokenInfo::TK_Comma;
111 Result.Kind = TokenInfo::TK_Period;
116 Result.Kind = TokenInfo::TK_OpenParen;
121 Result.Kind = TokenInfo::TK_CloseParen;
148 Result.Kind = TokenInfo::TK_CodeCompletion;
157 Result.Kind = TokenInfo::TK_Ident;
161 Result.Kind = TokenInfo::TK_InvalidChar;
173 void consumeUnsignedLiteral(TokenInfo *Result) {
189 Result->Kind = TokenInfo::TK_Literal;
196 Result->Kind = TokenInfo::TK_Error;
204 void consumeStringLiteral(TokenInfo *Result) {
217 Result->Kind = TokenInfo::TK_Literal;
231 Result->Kind = TokenInfo::TK_Error;
256 TokenInfo NextToken;
294 const TokenInfo NameToken = Tokenizer->consumeNextToken();
296 if (Tokenizer->nextTokenKind() != TokenInfo::TK_OpenParen) {
306 if ((Tokenizer->nextTokenKind() == TokenInfo::TK_Comma ||
307 Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen ||
308 Tokenizer->nextTokenKind() == TokenInfo::TK_Eof) &&
325 bool Parser::parseMatcherExpressionImpl(const TokenInfo &NameToken,
327 assert(NameToken.Kind == TokenInfo::TK_Ident);
328 const TokenInfo OpenToken = Tokenizer->consumeNextToken();
329 if (OpenToken.Kind != TokenInfo::TK_OpenParen) {
344 TokenInfo EndToken;
349 while (Tokenizer->nextTokenKind() != TokenInfo::TK_Eof) {
350 if (Tokenizer->nextTokenKind() == TokenInfo::TK_CloseParen) {
357 const TokenInfo CommaToken = Tokenizer->consumeNextToken();
358 if (CommaToken.Kind != TokenInfo::TK_Comma) {
380 if (EndToken.Kind == TokenInfo::TK_Eof) {
386 if (Tokenizer->peekNextToken().Kind == TokenInfo::TK_Period) {
389 const TokenInfo BindToken = Tokenizer->consumeNextToken();
390 if (BindToken.Kind == TokenInfo::TK_CodeCompletion) {
395 const TokenInfo OpenToken = Tokenizer->consumeNextToken();
396 const TokenInfo IDToken = Tokenizer->consumeNextToken();
397 const TokenInfo CloseToken = Tokenizer->consumeNextToken();
401 if (BindToken.Kind != TokenInfo::TK_Ident ||
402 BindToken.Text != TokenInfo::ID_Bind) {
406 if (OpenToken.Kind != TokenInfo::TK_OpenParen) {
410 if (IDToken.Kind != TokenInfo::TK_Literal || !IDToken.Value.isString()) {
414 if (CloseToken.Kind != TokenInfo::TK_CloseParen) {
439 void Parser::addCompletion(const TokenInfo &CompToken,
464 const TokenInfo CompToken = Tokenizer->consumeNextToken();
465 assert(CompToken.Kind == TokenInfo::TK_CodeCompletion);
489 case TokenInfo::TK_Literal:
493 case TokenInfo::TK_Ident:
496 case TokenInfo::TK_CodeCompletion:
500 case TokenInfo::TK_Eof:
505 case TokenInfo::TK_Error:
509 case TokenInfo::TK_OpenParen:
510 case TokenInfo::TK_CloseParen:
511 case TokenInfo::TK_Comma:
512 case TokenInfo::TK_Period:
513 case TokenInfo::TK_InvalidChar:
514 const TokenInfo Token = Tokenizer->consumeNextToken();
563 if (Tokenizer.peekNextToken().Kind != TokenInfo::TK_Eof) {