Lines Matching refs:TemplateArgument
908 return TemplateArgumentLoc(TemplateArgument(T), DI); in translateTemplateArgument()
913 return TemplateArgumentLoc(TemplateArgument(E), E); in translateTemplateArgument()
918 TemplateArgument TArg; in translateTemplateArgument()
920 TArg = TemplateArgument(Template, std::optional<unsigned int>()); in translateTemplateArgument()
1147 S.getTrivialTemplateArgumentLoc(TemplateArgument(ConstrainedType), in formImmediatelyDeclaredConstraint()
1567 Context, getTrivialTemplateArgumentLoc(TemplateArgument(Default), in ActOnNonTypeTemplateParameter()
3063 ArrayRef<TemplateArgument> Converted, in checkBuiltinTemplateIdType()
3082 TemplateArgument NumArgsArg = Converted[2]; in checkBuiltinTemplateIdType()
3091 TemplateArgumentLoc(TemplateArgument(OrigType), in checkBuiltinTemplateIdType()
3099 TemplateArgument TA(Context, I, OrigType); in checkBuiltinTemplateIdType()
3124 TemplateArgument IndexArg = Converted[0], Ts = Converted[1]; in checkBuiltinTemplateIdType()
3319 SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in CheckTemplateIdType()
3372 == TemplateArgument::Expression) { in CheckTemplateIdType()
3767 const TemplateArgument &Arg, unsigned Depth, unsigned Index) { in isTemplateArgumentTemplateParameter()
3769 case TemplateArgument::Null: in isTemplateArgumentTemplateParameter()
3770 case TemplateArgument::NullPtr: in isTemplateArgumentTemplateParameter()
3771 case TemplateArgument::Integral: in isTemplateArgumentTemplateParameter()
3772 case TemplateArgument::Declaration: in isTemplateArgumentTemplateParameter()
3773 case TemplateArgument::StructuralValue: in isTemplateArgumentTemplateParameter()
3774 case TemplateArgument::Pack: in isTemplateArgumentTemplateParameter()
3775 case TemplateArgument::TemplateExpansion: in isTemplateArgumentTemplateParameter()
3778 case TemplateArgument::Type: { in isTemplateArgumentTemplateParameter()
3786 case TemplateArgument::Expression: { in isTemplateArgumentTemplateParameter()
3795 case TemplateArgument::Template: in isTemplateArgumentTemplateParameter()
3805 ArrayRef<TemplateArgument> Args) { in isSameAsPrimaryTemplate()
3812 TemplateArgument Arg = Args[I]; in isSameAsPrimaryTemplate()
3817 if (Arg.getKind() != TemplateArgument::Pack || Arg.pack_size() != 1 || in isSameAsPrimaryTemplate()
3989 SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in ActOnVarTemplateSpecialization()
4155 SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in CheckVarTemplateId()
4349 llvm::SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in CheckConceptTemplateId()
4612 SmallVectorImpl<TemplateArgument> &SugaredConverted, in CheckTemplateTypeArgument()
4613 SmallVectorImpl<TemplateArgument> &CanonicalConverted) { in CheckTemplateTypeArgument()
4614 const TemplateArgument &Arg = AL.getArgument(); in CheckTemplateTypeArgument()
4620 case TemplateArgument::Type: in CheckTemplateTypeArgument()
4627 case TemplateArgument::Template: in CheckTemplateTypeArgument()
4628 case TemplateArgument::TemplateExpansion: { in CheckTemplateTypeArgument()
4636 case TemplateArgument::Expression: { in CheckTemplateTypeArgument()
4682 AL = TemplateArgumentLoc(TemplateArgument(ArgType), in CheckTemplateTypeArgument()
4694 if (Arg.getKind() == TemplateArgument::Pack && in CheckTemplateTypeArgument()
4725 SugaredConverted.push_back(TemplateArgument(ArgType)); in CheckTemplateTypeArgument()
4727 TemplateArgument(Context.getCanonicalType(ArgType))); in CheckTemplateTypeArgument()
4758 ArrayRef<TemplateArgument> SugaredConverted, in SubstDefaultTemplateArgument()
4759 ArrayRef<TemplateArgument> CanonicalConverted, in SubstDefaultTemplateArgument()
4818 ArrayRef<TemplateArgument> SugaredConverted, in SubstDefaultTemplateArgument()
4819 ArrayRef<TemplateArgument> CanonicalConverted, in SubstDefaultTemplateArgument()
4868 ArrayRef<TemplateArgument> SugaredConverted, in SubstDefaultTemplateArgument()
4869 ArrayRef<TemplateArgument> CanonicalConverted, in SubstDefaultTemplateArgument()
4903 ArrayRef<TemplateArgument> SugaredConverted, in SubstDefaultTemplateArgumentIfAvailable()
4904 ArrayRef<TemplateArgument> CanonicalConverted, bool &HasDefaultArg) { in SubstDefaultTemplateArgumentIfAvailable()
4948 Context, TemplateArgument(TName), in SubstDefaultTemplateArgumentIfAvailable()
4991 SmallVectorImpl<TemplateArgument> &SugaredConverted, in CheckTemplateArgument()
4992 SmallVectorImpl<TemplateArgument> &CanonicalConverted, in CheckTemplateArgument()
5041 case TemplateArgument::Null: in CheckTemplateArgument()
5044 case TemplateArgument::Expression: { in CheckTemplateArgument()
5046 TemplateArgument SugaredResult, CanonicalResult; in CheckTemplateArgument()
5059 TemplateArgument TA(Res.get()); in CheckTemplateArgument()
5068 case TemplateArgument::Declaration: in CheckTemplateArgument()
5069 case TemplateArgument::Integral: in CheckTemplateArgument()
5070 case TemplateArgument::StructuralValue: in CheckTemplateArgument()
5071 case TemplateArgument::NullPtr: in CheckTemplateArgument()
5079 case TemplateArgument::Template: in CheckTemplateArgument()
5080 case TemplateArgument::TemplateExpansion: in CheckTemplateArgument()
5106 if (Arg.getArgument().getKind() == TemplateArgument::TemplateExpansion){ in CheckTemplateArgument()
5112 TemplateArgument SugaredResult, CanonicalResult; in CheckTemplateArgument()
5132 case TemplateArgument::Type: { in CheckTemplateArgument()
5153 case TemplateArgument::Pack: in CheckTemplateArgument()
5195 if (Arg.getArgument().getKind() == TemplateArgument::Type) { in CheckTemplateArgument()
5203 case TemplateArgument::Null: in CheckTemplateArgument()
5206 case TemplateArgument::Template: in CheckTemplateArgument()
5207 case TemplateArgument::TemplateExpansion: in CheckTemplateArgument()
5217 case TemplateArgument::Expression: in CheckTemplateArgument()
5218 case TemplateArgument::Type: in CheckTemplateArgument()
5225 case TemplateArgument::Declaration: in CheckTemplateArgument()
5226 case TemplateArgument::Integral: in CheckTemplateArgument()
5227 case TemplateArgument::StructuralValue: in CheckTemplateArgument()
5228 case TemplateArgument::NullPtr: in CheckTemplateArgument()
5231 case TemplateArgument::Pack: in CheckTemplateArgument()
5279 SmallVectorImpl<TemplateArgument> &SugaredConverted, in CheckTemplateArgumentList()
5280 SmallVectorImpl<TemplateArgument> &CanonicalConverted, in CheckTemplateArgumentList()
5302 SmallVector<TemplateArgument, 2> SugaredArgumentPack; in CheckTemplateArgumentList()
5303 SmallVector<TemplateArgument, 2> CanonicalArgumentPack; in CheckTemplateArgumentList()
5316 TemplateArgument::CreatePackCopy(Context, SugaredArgumentPack)); in CheckTemplateArgumentList()
5320 TemplateArgument::CreatePackCopy(Context, CanonicalArgumentPack)); in CheckTemplateArgumentList()
5407 const TemplateArgument &Arg = NewArgs[ArgIdx].getArgument(); in CheckTemplateArgumentList()
5424 TemplateArgument::CreatePackCopy(Context, SugaredArgumentPack)); in CheckTemplateArgumentList()
5426 TemplateArgument::CreatePackCopy(Context, CanonicalArgumentPack)); in CheckTemplateArgumentList()
5448 TemplateArgument::CreatePackCopy(Context, SugaredArgumentPack)); in CheckTemplateArgumentList()
5452 TemplateArgument::CreatePackCopy(Context, CanonicalArgumentPack)); in CheckTemplateArgumentList()
5502 Context, TemplateArgument(Name), QualifierLoc, in CheckTemplateArgumentList()
5543 const TemplateArgument &Arg = NewArgs[ArgIdx++].getArgument(); in CheckTemplateArgumentList()
6091 TemplateArgument &SugaredConverted, TemplateArgument &CanonicalConverted) { in CheckTemplateArgumentAddressOfObjectOrFunction()
6195 SugaredConverted = TemplateArgument(ParamType, in CheckTemplateArgumentAddressOfObjectOrFunction()
6198 TemplateArgument(S.Context.getCanonicalType(ParamType), in CheckTemplateArgumentAddressOfObjectOrFunction()
6213 SugaredConverted = TemplateArgument(ArgIn); in CheckTemplateArgumentAddressOfObjectOrFunction()
6345 SugaredConverted = TemplateArgument(Entity, ParamType); in CheckTemplateArgumentAddressOfObjectOrFunction()
6347 TemplateArgument(cast<ValueDecl>(Entity->getCanonicalDecl()), in CheckTemplateArgumentAddressOfObjectOrFunction()
6358 TemplateArgument &SugaredConverted, in CheckTemplateArgumentPointerToMember()
6359 TemplateArgument &CanonicalConverted) { in CheckTemplateArgumentPointerToMember()
6407 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgumentPointerToMember()
6411 SugaredConverted = TemplateArgument(VD, ParamType); in CheckTemplateArgumentPointerToMember()
6413 TemplateArgument(cast<ValueDecl>(VD->getCanonicalDecl()), in CheckTemplateArgumentPointerToMember()
6432 SugaredConverted = TemplateArgument(ParamType, in CheckTemplateArgumentPointerToMember()
6434 CanonicalConverted = TemplateArgument(S.Context.getCanonicalType(ParamType), in CheckTemplateArgumentPointerToMember()
6473 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgumentPointerToMember()
6478 SugaredConverted = TemplateArgument(D, ParamType); in CheckTemplateArgumentPointerToMember()
6480 TemplateArgument(cast<ValueDecl>(D->getCanonicalDecl()), in CheckTemplateArgumentPointerToMember()
6495 TemplateArgument &SugaredConverted, in CheckTemplateArgument()
6496 TemplateArgument &CanonicalConverted, in CheckTemplateArgument()
6511 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgument()
6512 CanonicalConverted = TemplateArgument( in CheckTemplateArgument()
6591 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgument()
6592 CanonicalConverted = TemplateArgument( in CheckTemplateArgument()
6627 SugaredConverted = TemplateArgument(E.get()); in CheckTemplateArgument()
6628 CanonicalConverted = TemplateArgument( in CheckTemplateArgument()
6648 SugaredConverted = TemplateArgument(TPO, ParamType); in CheckTemplateArgument()
6650 TemplateArgument(TPO->getCanonicalDecl(), CanonParamType); in CheckTemplateArgument()
6654 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgument()
6705 SugaredConverted = TemplateArgument(ArgResult.get()); in CheckTemplateArgument()
6741 SugaredConverted = TemplateArgument(VD, ParamType); in CheckTemplateArgument()
6742 CanonicalConverted = TemplateArgument( in CheckTemplateArgument()
6765 SugaredConverted = TemplateArgument(Context, ParamType, Value); in CheckTemplateArgument()
6766 CanonicalConverted = TemplateArgument(Context, CanonParamType, Value); in CheckTemplateArgument()
6804 SugaredConverted = TemplateArgument(ArgResult.get()); in CheckTemplateArgument()
6820 SugaredConverted = TemplateArgument(Context, Value, ParamType); in CheckTemplateArgument()
6822 TemplateArgument(Context, Value, Context.getCanonicalType(ParamType)); in CheckTemplateArgument()
6892 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgument()
6948 SugaredConverted = TemplateArgument(Context, Value, T); in CheckTemplateArgument()
6950 TemplateArgument(Context, Value, Context.getCanonicalType(T)); in CheckTemplateArgument()
7060 SugaredConverted = TemplateArgument(Arg); in CheckTemplateArgument()
7078 SugaredConverted = TemplateArgument(ParamType, in CheckTemplateArgument()
7080 CanonicalConverted = TemplateArgument(Context.getCanonicalType(ParamType), in CheckTemplateArgument()
7230 const TemplateArgument &Arg, QualType ParamType, SourceLocation Loc, in BuildExpressionFromDeclTemplateArgument()
7244 if (Arg.getKind() == TemplateArgument::NullPtr) { in BuildExpressionFromDeclTemplateArgument()
7252 assert(Arg.getKind() == TemplateArgument::Declaration && in BuildExpressionFromDeclTemplateArgument()
7475 Sema::BuildExpressionFromNonTypeTemplateArgument(const TemplateArgument &Arg, in BuildExpressionFromNonTypeTemplateArgument()
7478 case TemplateArgument::Null: in BuildExpressionFromNonTypeTemplateArgument()
7479 case TemplateArgument::Type: in BuildExpressionFromNonTypeTemplateArgument()
7480 case TemplateArgument::Template: in BuildExpressionFromNonTypeTemplateArgument()
7481 case TemplateArgument::TemplateExpansion: in BuildExpressionFromNonTypeTemplateArgument()
7482 case TemplateArgument::Pack: in BuildExpressionFromNonTypeTemplateArgument()
7485 case TemplateArgument::Expression: in BuildExpressionFromNonTypeTemplateArgument()
7488 case TemplateArgument::NullPtr: in BuildExpressionFromNonTypeTemplateArgument()
7489 case TemplateArgument::Declaration: in BuildExpressionFromNonTypeTemplateArgument()
7493 case TemplateArgument::Integral: in BuildExpressionFromNonTypeTemplateArgument()
7497 case TemplateArgument::StructuralValue: in BuildExpressionFromNonTypeTemplateArgument()
7959 const TemplateArgument *Args, unsigned NumArgs, bool IsDefaultArgument) { in CheckNonTypeTemplatePartialSpecializationArgs()
7961 if (Args[I].getKind() == TemplateArgument::Pack) { in CheckNonTypeTemplatePartialSpecializationArgs()
7970 if (Args[I].getKind() != TemplateArgument::Expression) in CheckNonTypeTemplatePartialSpecializationArgs()
8043 unsigned NumExplicit, ArrayRef<TemplateArgument> TemplateArgs) { in CheckTemplatePartialSpecializationArgs()
8198 SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in ActOnClassTemplateSpecialization()
9496 SmallVector<TemplateArgument, 4> SugaredConverted, CanonicalConverted; in ActOnExplicitInstantiation()
10414 != TemplateArgument::Expression) in isEnableIf()
10774 const TemplateArgument *Args, in getTemplateArgumentBindingsText()