Lines Matching refs:Pattern
468 Sema::CheckPackExpansion(TypeSourceInfo *Pattern, SourceLocation EllipsisLoc,
471 QualType Result = CheckPackExpansion(Pattern->getType(),
472 Pattern->getTypeLoc().getSourceRange(),
478 TLB.pushFullCopy(Pattern->getTypeLoc());
485 QualType Sema::CheckPackExpansion(QualType Pattern, SourceRange PatternRange,
489 // The pattern of a pack expansion shall name one or more
492 if (!Pattern->containsUnexpandedParameterPack()) {
498 return Context.getPackExpansionType(Pattern, NumExpansions);
501 ExprResult Sema::ActOnPackExpansion(Expr *Pattern, SourceLocation EllipsisLoc) {
502 return CheckPackExpansion(Pattern, EllipsisLoc, None);
505 ExprResult Sema::CheckPackExpansion(Expr *Pattern, SourceLocation EllipsisLoc,
507 if (!Pattern)
511 // The pattern of a pack expansion shall name one or more
514 if (!Pattern->containsUnexpandedParameterPack()) {
516 << Pattern->getSourceRange();
522 PackExpansionExpr(Context.DependentTy, Pattern, EllipsisLoc, NumExpansions);
648 QualType Pattern = cast<PackExpansionType>(T)->getPattern();
650 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(Pattern);
672 // The pattern refers to an unexpanded pack. We're not ready to expand
686 // The pattern refers to an unknown template argument. We're not ready to
897 TypeLoc Pattern = Expansion.getPatternLoc();
904 TLB.pushFullCopy(Pattern);
906 TLB.getTypeSourceInfo(Context, Pattern.getType());
907 return TemplateArgumentLoc(TemplateArgument(Pattern.getType()),
914 Expr *Pattern = Expansion->getPattern();
917 return TemplateArgumentLoc(Pattern, Pattern);