Lines Matching refs:Param

922   TemplateTypeParmDecl *Param  in ActOnTypeParameter()  local
926 Param->setAccess(AS_public); in ActOnTypeParameter()
932 S->AddDecl(Param); in ActOnTypeParameter()
933 IdResolver.AddDecl(Param); in ActOnTypeParameter()
954 return Param; in ActOnTypeParameter()
957 if (CheckTemplateArgument(Param, DefaultTInfo)) { in ActOnTypeParameter()
958 Param->setInvalidDecl(); in ActOnTypeParameter()
959 return Param; in ActOnTypeParameter()
962 Param->setDefaultArgument(DefaultTInfo); in ActOnTypeParameter()
965 return Param; in ActOnTypeParameter()
1115 NonTypeTemplateParmDecl *Param = NonTypeTemplateParmDecl::Create( in ActOnNonTypeTemplateParameter() local
1119 Param->setAccess(AS_public); in ActOnNonTypeTemplateParameter()
1122 Param->setInvalidDecl(); in ActOnNonTypeTemplateParameter()
1129 S->AddDecl(Param); in ActOnNonTypeTemplateParameter()
1130 IdResolver.AddDecl(Param); in ActOnNonTypeTemplateParameter()
1145 return Param; in ActOnNonTypeTemplateParameter()
1149 CheckTemplateArgument(Param, Param->getType(), Default, Converted); in ActOnNonTypeTemplateParameter()
1151 Param->setInvalidDecl(); in ActOnNonTypeTemplateParameter()
1152 return Param; in ActOnNonTypeTemplateParameter()
1156 Param->setDefaultArgument(Default); in ActOnNonTypeTemplateParameter()
1159 return Param; in ActOnNonTypeTemplateParameter()
1180 TemplateTemplateParmDecl *Param = in ActOnTemplateTemplateParameter() local
1185 Param->setAccess(AS_public); in ActOnTemplateTemplateParameter()
1192 S->AddDecl(Param); in ActOnTemplateTemplateParameter()
1193 IdResolver.AddDecl(Param); in ActOnTemplateTemplateParameter()
1197 Diag(Param->getLocation(), diag::err_template_template_parm_no_parms) in ActOnTemplateTemplateParameter()
1199 Param->setInvalidDecl(); in ActOnTemplateTemplateParameter()
1223 return Param; in ActOnTemplateTemplateParameter()
1230 return Param; in ActOnTemplateTemplateParameter()
1232 Param->setDefaultArgument(Context, DefaultArg); in ActOnTemplateTemplateParameter()
1235 return Param; in ActOnTemplateTemplateParameter()
1728 for (NamedDecl *Param : *InnerParams) { in transformConstructor()
1732 NamedDecl *NewParam = transformTemplateParameter(Param, Args); in transformConstructor()
1963 for (auto *Param : Params) in buildDeductionGuide() local
1964 Param->setDeclContext(Guide); in buildDeductionGuide()
3639 NamedDecl *Param = TemplateParams->getParam(I); in noteNonDeducibleParameters() local
3640 if (Param->getDeclName()) in noteNonDeducibleParameters()
3641 S.Diag(Param->getLocation(), diag::note_non_deducible_parameter) in noteNonDeducibleParameters()
3642 << Param->getDeclName(); in noteNonDeducibleParameters()
3644 S.Diag(Param->getLocation(), diag::note_non_deducible_parameter) in noteNonDeducibleParameters()
3702 auto *Param = TemplateParams->getParam(I); in CheckDeductionGuideTemplate() local
3703 if (Param->isParameterPack() || hasVisibleDefaultArgument(Param)) in CheckDeductionGuideTemplate()
4321 bool Sema::CheckTemplateTypeArgument(TemplateTypeParmDecl *Param, in CheckTemplateTypeArgument() argument
4380 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateTypeArgument()
4409 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateTypeArgument()
4415 if (CheckTemplateArgument(Param, TSI)) in CheckTemplateTypeArgument()
4462 TemplateTypeParmDecl *Param, in SubstDefaultTemplateArgument() argument
4464 TypeSourceInfo *ArgType = Param->getDefaultArgumentInfo(); in SubstDefaultTemplateArgument()
4470 Param, Template, Converted, in SubstDefaultTemplateArgument()
4480 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
4486 Param->getDefaultArgumentLoc(), Param->getDeclName()); in SubstDefaultTemplateArgument()
4519 NonTypeTemplateParmDecl *Param, in SubstDefaultTemplateArgument() argument
4522 Param, Template, Converted, in SubstDefaultTemplateArgument()
4532 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
4537 return SemaRef.SubstExpr(Param->getDefaultArgument(), TemplateArgLists); in SubstDefaultTemplateArgument()
4570 TemplateTemplateParmDecl *Param, in SubstDefaultTemplateArgument() argument
4574 SemaRef, TemplateLoc, TemplateParameter(Param), Template, Converted, in SubstDefaultTemplateArgument()
4584 for (unsigned i = 0, e = Param->getDepth(); i != e; ++i) in SubstDefaultTemplateArgument()
4589 QualifierLoc = Param->getDefaultArgument().getTemplateQualifierLoc(); in SubstDefaultTemplateArgument()
4599 Param->getDefaultArgument().getArgument().getAsTemplate(), in SubstDefaultTemplateArgument()
4600 Param->getDefaultArgument().getTemplateNameLoc(), in SubstDefaultTemplateArgument()
4611 Decl *Param, in SubstDefaultTemplateArgumentIfAvailable() argument
4617 if (TemplateTypeParmDecl *TypeParm = dyn_cast<TemplateTypeParmDecl>(Param)) { in SubstDefaultTemplateArgumentIfAvailable()
4634 = dyn_cast<NonTypeTemplateParmDecl>(Param)) { in SubstDefaultTemplateArgumentIfAvailable()
4652 = cast<TemplateTemplateParmDecl>(Param); in SubstDefaultTemplateArgumentIfAvailable()
4731 bool Sema::CheckTemplateArgument(NamedDecl *Param, in CheckTemplateArgument() argument
4740 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) in CheckTemplateArgument()
4744 if (NonTypeTemplateParmDecl *NTTP =dyn_cast<NonTypeTemplateParmDecl>(Param)) { in CheckTemplateArgument()
4862 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
4882 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
4895 TemplateTemplateParmDecl *TempParm = cast<TemplateTemplateParmDecl>(Param); in CheckTemplateArgument()
4978 static Optional<unsigned> getExpandedPackSize(NamedDecl *Param) { in getExpandedPackSize() argument
4980 = dyn_cast<NonTypeTemplateParmDecl>(Param)) { in getExpandedPackSize()
4986 = dyn_cast<TemplateTemplateParmDecl>(Param)) { in getExpandedPackSize()
5061 for (TemplateParameterList::iterator Param = Params->begin(), in CheckTemplateArgumentList() local
5063 Param != ParamEnd; /* increment in loop */) { in CheckTemplateArgumentList()
5066 if (Optional<unsigned> Expansions = getExpandedPackSize(*Param)) { in CheckTemplateArgumentList()
5075 ++Param; in CheckTemplateArgumentList()
5091 if (CheckTemplateArgument(*Param, NewArgs[ArgIdx], Template, in CheckTemplateArgumentList()
5098 (!(*Param)->isTemplateParameterPack() || getExpandedPackSize(*Param)); in CheckTemplateArgumentList()
5106 Diag((*Param)->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentList()
5113 if ((*Param)->isTemplateParameterPack()) { in CheckTemplateArgumentList()
5121 ++Param; in CheckTemplateArgumentList()
5149 if ((*Param)->isTemplateParameterPack() && !ArgumentPack.empty()) in CheckTemplateArgumentList()
5158 if ((*Param)->isTemplateParameterPack()) { in CheckTemplateArgumentList()
5159 assert(!getExpandedPackSize(*Param) && in CheckTemplateArgumentList()
5165 if (Param + 1 != ParamEnd) in CheckTemplateArgumentList()
5172 ++Param; in CheckTemplateArgumentList()
5184 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(*Param)) { in CheckTemplateArgumentList()
5201 = dyn_cast<NonTypeTemplateParmDecl>(*Param)) { in CheckTemplateArgumentList()
5218 = cast<TemplateTemplateParmDecl>(*Param); in CheckTemplateArgumentList()
5242 InstantiatingTemplate Inst(*this, RAngleLoc, Template, *Param, Converted, in CheckTemplateArgumentList()
5248 if (CheckTemplateArgument(*Param, Arg, Template, TemplateLoc, in CheckTemplateArgumentList()
5259 ++Param; in CheckTemplateArgumentList()
5556 bool Sema::CheckTemplateArgument(TemplateTypeParmDecl *Param, in CheckTemplateArgument() argument
5592 isNullPointerValueTemplateArgument(Sema &S, NonTypeTemplateParmDecl *Param, in isNullPointerValueTemplateArgument() argument
5637 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
5663 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
5675 S.Diag(Param->getLocation(), diag::note_template_param_here); in isNullPointerValueTemplateArgument()
5688 Sema &S, NonTypeTemplateParmDecl *Param, QualType ParamType, Expr *ArgIn, in CheckTemplateArgumentIsCompatibleWithParameter() argument
5716 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentIsCompatibleWithParameter()
5734 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentIsCompatibleWithParameter()
5746 NonTypeTemplateParmDecl *Param, in CheckTemplateArgumentAddressOfObjectOrFunction() argument
5846 switch (isNullPointerValueTemplateArgument(S, Param, ParamType, ArgIn, in CheckTemplateArgumentAddressOfObjectOrFunction()
5870 if (CheckTemplateArgumentIsCompatibleWithParameter(S, Param, ParamType, in CheckTemplateArgumentAddressOfObjectOrFunction()
5881 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5889 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5898 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5944 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5951 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5960 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5983 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
5990 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6006 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6013 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentAddressOfObjectOrFunction()
6018 if (CheckTemplateArgumentIsCompatibleWithParameter(S, Param, ParamType, ArgIn, in CheckTemplateArgumentAddressOfObjectOrFunction()
6032 NonTypeTemplateParmDecl *Param, in CheckTemplateArgumentPointerToMember() argument
6098 switch (isNullPointerValueTemplateArgument(S, Param, ParamType, ResultArg, in CheckTemplateArgumentPointerToMember()
6122 S.Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgumentPointerToMember()
6164 ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, in CheckTemplateArgument() argument
6190 Depth = Param->getDepth() + 1; in CheckTemplateArgument()
6192 Context.getTrivialTypeSourceInfo(ParamType, Param->getLocation()), in CheckTemplateArgument()
6196 << Param->getDeclName() << Param->getType() << Arg->getType() in CheckTemplateArgument()
6198 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6207 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6238 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6427 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6466 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6505 << OldValue.toString(10) << Value.toString(10) << Param->getType() in CheckTemplateArgument()
6507 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6520 << OldValue.toString(10) << Value.toString(10) << Param->getType() in CheckTemplateArgument()
6522 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6574 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
6581 if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, in CheckTemplateArgument()
6595 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
6626 if (CheckTemplateArgumentAddressOfObjectOrFunction(*this, Param, in CheckTemplateArgument()
6640 switch (isNullPointerValueTemplateArgument(*this, Param, ParamType, Arg)) { in CheckTemplateArgument()
6644 Diag(Param->getLocation(), diag::note_template_param_here); in CheckTemplateArgument()
6662 if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, in CheckTemplateArgument()
7323 Sema &S, SourceLocation TemplateNameLoc, NonTypeTemplateParmDecl *Param, in CheckNonTypeTemplatePartialSpecializationArgs() argument
7328 S, TemplateNameLoc, Param, Args[I].pack_begin(), in CheckNonTypeTemplatePartialSpecializationArgs()
7376 findTemplateParameterInType(Param->getDepth(), ArgExpr); in CheckNonTypeTemplatePartialSpecializationArgs()
7393 Param->getDepth(), Param->getTypeSourceInfo()->getTypeLoc()); in CheckNonTypeTemplatePartialSpecializationArgs()
7397 << Param->getType(); in CheckNonTypeTemplatePartialSpecializationArgs()
7398 S.Diag(Param->getLocation(), diag::note_template_param_here) in CheckNonTypeTemplatePartialSpecializationArgs()
7430 NonTypeTemplateParmDecl *Param in CheckTemplatePartialSpecializationArgs() local
7432 if (!Param) in CheckTemplatePartialSpecializationArgs()
7436 Param, &TemplateArgs[I], in CheckTemplatePartialSpecializationArgs()
7502 Decl *Param = TemplateParams->getParam(I); in ActOnClassTemplateSpecialization() local
7503 if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(Param)) { in ActOnClassTemplateSpecialization()
7510 = dyn_cast<NonTypeTemplateParmDecl>(Param)) { in ActOnClassTemplateSpecialization()
7518 TemplateTemplateParmDecl *TTP = cast<TemplateTemplateParmDecl>(Param); in ActOnClassTemplateSpecialization()
9901 Decl *Param = Params->getParam(I); in RebuildTemplateParamsInCurrentInstantiation() local
9904 if (isa<TemplateTypeParmDecl>(Param)) in RebuildTemplateParamsInCurrentInstantiation()
9909 = dyn_cast<TemplateTemplateParmDecl>(Param)) { in RebuildTemplateParamsInCurrentInstantiation()
9918 NonTypeTemplateParmDecl *NTTP = cast<NonTypeTemplateParmDecl>(Param); in RebuildTemplateParamsInCurrentInstantiation()