Home | History | Annotate | Download | only in Sema

Lines Matching defs:Pattern

459 Sema::CheckPackExpansion(TypeSourceInfo *Pattern, SourceLocation EllipsisLoc,
462 QualType Result = CheckPackExpansion(Pattern->getType(),
463 Pattern->getTypeLoc().getSourceRange(),
469 TLB.pushFullCopy(Pattern->getTypeLoc());
476 QualType Sema::CheckPackExpansion(QualType Pattern, SourceRange PatternRange,
480 // The pattern of a pack expansion shall name one or more
483 if (!Pattern->containsUnexpandedParameterPack()) {
489 return Context.getPackExpansionType(Pattern, NumExpansions);
492 ExprResult Sema::ActOnPackExpansion(Expr *Pattern, SourceLocation EllipsisLoc) {
493 return CheckPackExpansion(Pattern, EllipsisLoc, None);
496 ExprResult Sema::CheckPackExpansion(Expr *Pattern, SourceLocation EllipsisLoc,
498 if (!Pattern)
502 // The pattern of a pack expansion shall name one or more
505 if (!Pattern->containsUnexpandedParameterPack()) {
507 << Pattern->getSourceRange();
512 return Owned(new (Context) PackExpansionExpr(Context.DependentTy, Pattern,
639 QualType Pattern = cast<PackExpansionType>(T)->getPattern();
641 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(Pattern);
663 // The pattern refers to an unexpanded pack. We're not ready to expand
677 // The pattern refers to an unknown template argument. We're not ready to
871 TypeLoc Pattern = Expansion.getPatternLoc();
878 TLB.pushFullCopy(Pattern);
880 TLB.getTypeSourceInfo(Context, Pattern.getType());
881 return TemplateArgumentLoc(TemplateArgument(Pattern.getType()),
888 Expr *Pattern = Expansion->getPattern();
891 return TemplateArgumentLoc(Pattern, Pattern);