Lines Matching defs:PatternDecl

4553                                            const FunctionDecl *PatternDecl,
4557 for (auto *decl : PatternDecl->decls()) {
4581 FunctionDecl *Function, const FunctionDecl *PatternDecl,
4585 for (unsigned I = 0, N = PatternDecl->getNumParams(); I != N; ++I) {
4586 const ParmVarDecl *PatternParam = PatternDecl->getParamDecl(I);
4598 if (!PatternDecl->getType()->isDependentType()) {
4622 if (!PatternDecl->getType()->isDependentType()) {
4916 const FunctionDecl *PatternDecl = Function->getTemplateInstantiationPattern();
4917 assert(PatternDecl && "instantiating a non-template");
4919 const FunctionDecl *PatternDef = PatternDecl->getDefinition();
4923 PatternDecl = PatternDef;
4932 PatternDecl, PatternDef, TSK,
4946 !getSourceManager().isInSystemHeader(PatternDecl->getBeginLoc())) {
4949 Diag(PatternDecl->getLocation(), diag::note_forward_template_decl);
4960 if (PatternDecl->isLateTemplateParsed() &&
4992 if (!Pattern && PatternDecl->isLateTemplateParsed() &&
4995 if (PatternDecl->isFromASTFile())
4998 auto LPTIter = LateParsedTemplateMap.find(PatternDecl);
5002 Pattern = PatternDecl->getBody(PatternDecl);
5003 updateAttrsForLateParsedTemplate(PatternDecl, Function);
5007 assert((Pattern || PatternDecl->isDefaulted() ||
5008 PatternDecl->hasSkippedBody()) &&
5017 !PatternDecl->isInlined() &&
5018 !PatternDecl->getReturnType()->getContainedAutoType())
5021 if (PatternDecl->isInlined()) {
5043 Function->setLocation(PatternDecl->getLocation());
5044 Function->setInnerLocStart(PatternDecl->getInnerLocStart());
5045 Function->setRangeEnd(PatternDecl->getEndLoc());
5046 Function->setDeclarationNameLoc(PatternDecl->getNameInfo().getInfo());
5073 // PatternDecl context, in which case parameters could still be pointing
5076 assert(PatternDecl->isDefaulted() &&
5078 auto PatternSM = getDefaultedFunctionKind(PatternDecl).asSpecialMember();
5087 dyn_cast<CXXRecordDecl>(PatternDecl->getDeclContext());
5139 if (PatternDecl->isDefaulted()) {
5141 SetDeclDefaulted(Function, PatternDecl->getLocation());
5145 /*Innermost=*/std::nullopt, false, PatternDecl);
5151 SubstQualifier(*this, PatternDecl, Function, TemplateArgs);
5163 if (addInstantiatedParametersToScope(Function, PatternDecl, Scope,
5168 if (PatternDecl->hasSkippedBody()) {
5174 InstantiateMemInitializers(Ctor, cast<CXXConstructorDecl>(PatternDecl),
5195 PerformDependentDiagnostics(PatternDecl, TemplateArgs);
5264 VarTemplateSpecializationDecl *VarSpec, VarDecl *PatternDecl,
5266 assert(PatternDecl->isThisDeclarationADefinition() &&
5271 SubstType(PatternDecl->getTypeSourceInfo(), TemplateArgs,
5272 PatternDecl->getTypeSpecStartLoc(), PatternDecl->getDeclName());
5283 InstantiateVariableInitializer(VarSpec, PatternDecl, TemplateArgs);
5503 VarDecl *PatternDecl = Var->getTemplateInstantiationPattern();
5504 assert(PatternDecl && "no pattern for templated variable");
5519 if (PatternDecl->isStaticDataMember() &&
5520 (PatternDecl = PatternDecl->getFirstDecl())->hasInit() &&
5545 InstantiateVariableInitializer(Var, PatternDecl, TemplateArgs);
5555 assert(Var->isStaticDataMember() && PatternDecl->isStaticDataMember() &&
5559 VarDecl *Def = PatternDecl->getDefinition(getASTContext());
5572 !getSourceManager().isInSystemHeader(PatternDecl->getBeginLoc())) {
5575 Diag(PatternDecl->getLocation(), diag::note_forward_template_decl);
5588 PatternDecl, Def, TSK,