Lines Matching refs:tok
34 if (Tok.is(tok::kw_template) && NextToken().isNot(tok::less)) { in ParseDeclarationStartingWithTemplate()
65 assert(Tok.isOneOf(tok::kw_export, tok::kw_template) && in ParseTemplateDeclarationOrSpecialization()
105 TryConsumeToken(tok::kw_export, ExportLoc); in ParseTemplateDeclarationOrSpecialization()
109 if (!TryConsumeToken(tok::kw_template, TemplateLoc)) { in ParseTemplateDeclarationOrSpecialization()
120 SkipUntil(tok::r_brace, StopAtSemi | StopBeforeMatch); in ParseTemplateDeclarationOrSpecialization()
121 TryConsumeToken(tok::semi); in ParseTemplateDeclarationOrSpecialization()
136 if (TryConsumeToken(tok::kw_requires)) { in ParseTemplateDeclarationOrSpecialization()
141 SkipUntil(tok::r_brace, StopAtSemi | StopBeforeMatch); in ParseTemplateDeclarationOrSpecialization()
142 TryConsumeToken(tok::semi); in ParseTemplateDeclarationOrSpecialization()
149 } while (Tok.isOneOf(tok::kw_export, tok::kw_template)); in ParseTemplateDeclarationOrSpecialization()
181 if (Tok.is(tok::kw_static_assert)) { in ParseSingleDeclarationAfterTemplate()
199 if (Tok.is(tok::kw_using)) in ParseSingleDeclarationAfterTemplate()
210 if (Tok.is(tok::semi)) { in ParseSingleDeclarationAfterTemplate()
234 SkipUntil(tok::r_brace, StopAtSemi | StopBeforeMatch); in ParseSingleDeclarationAfterTemplate()
235 if (Tok.is(tok::semi)) in ParseSingleDeclarationAfterTemplate()
301 if (Tok.is(tok::comma)) { in ParseSingleDeclarationAfterTemplate()
304 SkipUntil(tok::semi); in ParseSingleDeclarationAfterTemplate()
330 if (!TryConsumeToken(tok::less, LAngleLoc)) { in ParseTemplateParameters()
337 if (!Tok.is(tok::greater) && !Tok.is(tok::greatergreater)) in ParseTemplateParameters()
340 if (Tok.is(tok::greatergreater)) { in ParseTemplateParameters()
346 Tok.setKind(tok::greater); in ParseTemplateParameters()
349 } else if (!TryConsumeToken(tok::greater, RAngleLoc) && Failed) { in ParseTemplateParameters()
350 Diag(Tok.getLocation(), diag::err_expected) << tok::greater; in ParseTemplateParameters()
374 SkipUntil(tok::comma, tok::greater, tok::greatergreater, in ParseTemplateParameterList()
379 if (Tok.is(tok::comma)) { in ParseTemplateParameterList()
381 } else if (Tok.isOneOf(tok::greater, tok::greatergreater)) { in ParseTemplateParameterList()
389 SkipUntil(tok::comma, tok::greater, tok::greatergreater, in ParseTemplateParameterList()
400 if (Tok.is(tok::kw_class)) { in isStartOfTemplateTypeParameter()
404 case tok::equal: in isStartOfTemplateTypeParameter()
405 case tok::comma: in isStartOfTemplateTypeParameter()
406 case tok::greater: in isStartOfTemplateTypeParameter()
407 case tok::greatergreater: in isStartOfTemplateTypeParameter()
408 case tok::ellipsis: in isStartOfTemplateTypeParameter()
411 case tok::identifier: in isStartOfTemplateTypeParameter()
421 case tok::equal: in isStartOfTemplateTypeParameter()
422 case tok::comma: in isStartOfTemplateTypeParameter()
423 case tok::greater: in isStartOfTemplateTypeParameter()
424 case tok::greatergreater: in isStartOfTemplateTypeParameter()
432 if (Tok.isNot(tok::kw_typename)) in isStartOfTemplateTypeParameter()
444 if (Next.getKind() == tok::identifier) in isStartOfTemplateTypeParameter()
448 case tok::equal: in isStartOfTemplateTypeParameter()
449 case tok::comma: in isStartOfTemplateTypeParameter()
450 case tok::greater: in isStartOfTemplateTypeParameter()
451 case tok::greatergreater: in isStartOfTemplateTypeParameter()
452 case tok::ellipsis: in isStartOfTemplateTypeParameter()
479 if (Tok.is(tok::kw_template)) in ParseTemplateParameter()
498 assert(Tok.isOneOf(tok::kw_class, tok::kw_typename) && in ParseTypeParameter()
502 bool TypenameKeyword = Tok.is(tok::kw_typename); in ParseTypeParameter()
507 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) { in ParseTypeParameter()
517 if (Tok.is(tok::identifier)) { in ParseTypeParameter()
520 } else if (Tok.isOneOf(tok::equal, tok::comma, tok::greater, in ParseTypeParameter()
521 tok::greatergreater)) { in ParseTypeParameter()
525 Diag(Tok.getLocation(), diag::err_expected) << tok::identifier; in ParseTypeParameter()
531 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) in ParseTypeParameter()
539 if (TryConsumeToken(tok::equal, EqualLoc)) in ParseTypeParameter()
561 assert(Tok.is(tok::kw_template) && "Expected 'template' keyword"); in ParseTemplateTemplateParameter()
580 if (!TryConsumeToken(tok::kw_class)) { in ParseTemplateTemplateParameter()
581 bool Replace = Tok.isOneOf(tok::kw_typename, tok::kw_struct); in ParseTemplateTemplateParameter()
582 const Token &Next = Tok.is(tok::kw_struct) ? NextToken() : Tok; in ParseTemplateTemplateParameter()
583 if (Tok.is(tok::kw_typename)) { in ParseTemplateTemplateParameter()
591 } else if (Next.isOneOf(tok::identifier, tok::comma, tok::greater, in ParseTemplateTemplateParameter()
592 tok::greatergreater, tok::ellipsis)) { in ParseTemplateTemplateParameter()
605 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) in ParseTemplateTemplateParameter()
614 if (Tok.is(tok::identifier)) { in ParseTemplateTemplateParameter()
617 } else if (Tok.isOneOf(tok::equal, tok::comma, tok::greater, in ParseTemplateTemplateParameter()
618 tok::greatergreater)) { in ParseTemplateTemplateParameter()
622 Diag(Tok.getLocation(), diag::err_expected) << tok::identifier; in ParseTemplateTemplateParameter()
628 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) in ParseTemplateTemplateParameter()
643 if (TryConsumeToken(tok::equal, EqualLoc)) { in ParseTemplateTemplateParameter()
648 SkipUntil(tok::comma, tok::greater, tok::greatergreater, in ParseTemplateTemplateParameter()
683 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) in ParseNonTypeTemplateParameter()
691 if (TryConsumeToken(tok::equal, EqualLoc)) { in ParseNonTypeTemplateParameter()
703 SkipUntil(tok::comma, tok::greater, StopAtSemi | StopBeforeMatch); in ParseNonTypeTemplateParameter()
753 tok::TokenKind RemainingToken; in ParseGreaterThanInTemplateList()
758 Diag(Tok.getLocation(), diag::err_expected) << tok::greater; in ParseGreaterThanInTemplateList()
761 case tok::greater: in ParseGreaterThanInTemplateList()
769 case tok::greatergreater: in ParseGreaterThanInTemplateList()
770 RemainingToken = tok::greater; in ParseGreaterThanInTemplateList()
773 case tok::greatergreatergreater: in ParseGreaterThanInTemplateList()
774 RemainingToken = tok::greatergreater; in ParseGreaterThanInTemplateList()
777 case tok::greaterequal: in ParseGreaterThanInTemplateList()
778 RemainingToken = tok::equal; in ParseGreaterThanInTemplateList()
782 case tok::greatergreaterequal: in ParseGreaterThanInTemplateList()
783 RemainingToken = tok::greaterequal; in ParseGreaterThanInTemplateList()
813 if ((RemainingToken == tok::greater || in ParseGreaterThanInTemplateList()
814 RemainingToken == tok::greatergreater) && in ParseGreaterThanInTemplateList()
815 (Next.isOneOf(tok::greater, tok::greatergreater, in ParseGreaterThanInTemplateList()
816 tok::greatergreatergreater, tok::equal, in ParseGreaterThanInTemplateList()
817 tok::greaterequal, tok::greatergreaterequal, in ParseGreaterThanInTemplateList()
818 tok::equalequal)) && in ParseGreaterThanInTemplateList()
824 (Tok.is(tok::greatergreater) || Tok.is(tok::greatergreatergreater))) in ParseGreaterThanInTemplateList()
826 else if (Tok.is(tok::greaterequal)) in ParseGreaterThanInTemplateList()
832 if (RemainingToken == tok::equal && Next.is(tok::equal) && in ParseGreaterThanInTemplateList()
838 Tok.setKind(tok::equalequal); in ParseGreaterThanInTemplateList()
852 Tok.setKind(tok::greater); in ParseGreaterThanInTemplateList()
886 assert(Tok.is(tok::less) && "Must have already parsed the template-name"); in ParseTemplateIdAfterTemplateName()
895 if (Tok.isNot(tok::greater) && Tok.isNot(tok::greatergreater)) in ParseTemplateIdAfterTemplateName()
901 SkipUntil(tok::greater, StopAtSemi); in ParseTemplateIdAfterTemplateName()
903 SkipUntil(tok::greater, StopAtSemi | StopBeforeMatch); in ParseTemplateIdAfterTemplateName()
955 assert(Template && Tok.is(tok::less) && in AnnotateTemplateIdToken()
973 TryConsumeToken(tok::greater); in AnnotateTemplateIdToken()
988 TryConsumeToken(tok::greater); in AnnotateTemplateIdToken()
992 Tok.setKind(tok::annot_typename); in AnnotateTemplateIdToken()
1003 Tok.setKind(tok::annot_template_id); in AnnotateTemplateIdToken()
1046 assert(Tok.is(tok::annot_template_id) && "Requires template-id tokens"); in AnnotateTemplateIdTokenAsType()
1065 Tok.setKind(tok::annot_typename); in AnnotateTemplateIdTokenAsType()
1078 return Tok.isOneOf(tok::comma, tok::greater, tok::greatergreater); in isEndOfTemplateArgument()
1083 if (!Tok.is(tok::identifier) && !Tok.is(tok::coloncolon) && in ParseTemplateTemplateArgument()
1084 !Tok.is(tok::annot_cxxscope)) in ParseTemplateTemplateArgument()
1104 if (SS.isSet() && Tok.is(tok::kw_template)) { in ParseTemplateTemplateArgument()
1109 if (Tok.is(tok::identifier)) { in ParseTemplateTemplateArgument()
1115 TryConsumeToken(tok::ellipsis, EllipsisLoc); in ParseTemplateTemplateArgument()
1129 } else if (Tok.is(tok::identifier)) { in ParseTemplateTemplateArgument()
1136 TryConsumeToken(tok::ellipsis, EllipsisLoc); in ParseTemplateTemplateArgument()
1227 if (!TryConsumeToken(tok::less)) in IsTemplateArgumentList()
1231 if (Tok.is(tok::greater)) in IsTemplateArgumentList()
1239 return Tok.isOneOf(tok::greater, tok::comma); in IsTemplateArgumentList()
1257 if (TryConsumeToken(tok::ellipsis, EllipsisLoc)) in ParseTemplateArgumentList()
1261 SkipUntil(tok::comma, tok::greater, StopAtSemi | StopBeforeMatch); in ParseTemplateArgumentList()
1270 } while (TryConsumeToken(tok::comma)); in ParseTemplateArgumentList()
1361 assert(Tok.isOneOf(tok::l_brace, tok::colon, tok::kw_try) && in ParseLateTemplatedFuncDef()
1374 if (Tok.is(tok::kw_try)) { in ParseLateTemplatedFuncDef()
1377 if (Tok.is(tok::colon)) in ParseLateTemplatedFuncDef()
1382 if (Tok.is(tok::l_brace)) { in ParseLateTemplatedFuncDef()
1405 tok::TokenKind kind = Tok.getKind(); in LexTemplateFunctionForLateParsing()
1408 ConsumeAndStoreUntil(tok::r_brace, Toks, /*StopAtSemi=*/false); in LexTemplateFunctionForLateParsing()
1412 if (kind == tok::kw_try) { in LexTemplateFunctionForLateParsing()
1413 while (Tok.is(tok::kw_catch)) { in LexTemplateFunctionForLateParsing()
1414 ConsumeAndStoreUntil(tok::l_brace, Toks, /*StopAtSemi=*/false); in LexTemplateFunctionForLateParsing()
1415 ConsumeAndStoreUntil(tok::r_brace, Toks, /*StopAtSemi=*/false); in LexTemplateFunctionForLateParsing()