Lines Matching refs:Arg
710 void RememberPartiallySubstitutedPack(TemplateArgument Arg) {
711 if (Arg.isNull())
720 TemplateArgs.setArgument(Depth, Index, Arg);
861 TemplateArgument arg);
877 getPackSubstitutedTemplateArgument(Sema &S, TemplateArgument Arg) {
879 assert(S.ArgumentPackSubstitutionIndex < (int)Arg.pack_size());
880 Arg = Arg.pack_begin()[S.ArgumentPackSubstitutionIndex];
881 if (Arg.isPackExpansion())
882 Arg = Arg.getPackExpansionPattern();
883 return Arg;
900 TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getPosition());
903 assert(Arg.getKind() == TemplateArgument::Pack &&
905 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
908 TemplateName Template = Arg.getAsTemplate();
941 TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getIndex());
944 assert(Arg.getKind() == TemplateArgument::Pack &&
950 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
953 QualType T = Arg.getAsType();
1040 TemplateArgument Arg = TemplateArgs(TTP->getDepth(), TTP->getPosition());
1043 assert(Arg.getKind() == TemplateArgument::Pack &&
1050 return getSema().Context.getSubstTemplateTemplateParmPack(TTP, Arg);
1053 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1056 TemplateName Template = Arg.getAsTemplate();
1075 TemplateArgument Arg = SubstPack->getArgumentPack();
1076 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1077 return Arg.getAsTemplate();
1103 TemplateArgument Arg = TemplateArgs(NTTP->getDepth(), NTTP->getPosition());
1105 assert(Arg.getKind() == TemplateArgument::Pack &&
1121 Arg);
1124 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1127 return transformNonTypeTemplateParmRef(NTTP, E->getLocation(), Arg);
1133 TemplateArgument arg) {
1139 if (arg.getKind() == TemplateArgument::Expression) {
1140 Expr *argExpr = arg.getAsExpr();
1144 } else if (arg.getKind() == TemplateArgument::Declaration ||
1145 arg.getKind() == TemplateArgument::NullPtr) {
1147 if (arg.getKind() == TemplateArgument::Declaration) {
1148 arg.getAsDecl());
1176 result = SemaRef.BuildExpressionFromDeclTemplateArgument(arg, type, loc);
1180 result = SemaRef.BuildExpressionFromIntegralTemplateArgument(arg, loc);
1184 type = arg.getIntegralType();
1201 TemplateArgument Arg = E->getArgumentPack();
1202 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1205 Arg);
1304 "Default arg expressions are never formed in dependent cases.");
1355 TemplateArgument Arg = TemplateArgs(T->getDepth(), T->getIndex());
1358 assert(Arg.getKind() == TemplateArgument::Pack &&
1366 = getSema().Context.getSubstTemplateTypeParmPackType(T, Arg);
1373 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1376 assert(Arg.getKind() == TemplateArgument::Type &&
1379 QualType Replacement = Arg.getAsType();
1422 TemplateArgument Arg = TL.getTypePtr()->getArgumentPack();
1423 Arg = getPackSubstitutedTemplateArgument(getSema(), Arg);
1424 QualType Result = Arg.getAsType();
1652 Expr *Arg = OldParm->getUninstantiatedDefaultArg();
1653 NewParm->setUninstantiatedDefaultArg(Arg);
1657 } else if (Expr *Arg = OldParm->getDefaultArg())
1661 NewParm->setUninstantiatedDefaultArg(Arg);