Lines Matching defs:Instantiation

1 //===------- SemaTemplateInstantiate.cpp - C++ Template Instantiation ------===/
49 // Template Instantiation Support
1351 // Template Instantiation for Types
3534 Sema::SubstBaseSpecifiers(CXXRecordDecl *Instantiation,
3543 Instantiation->setInvalidDecl();
3585 = CheckBaseSpecifier(Instantiation,
3619 = CheckBaseSpecifier(Instantiation,
3630 if (!Invalid && AttachBaseSpecifiers(Instantiation, InstantiatedBases))
3649 CXXRecordDecl *Instantiation, CXXRecordDecl *Pattern,
3655 if (DiagnoseUninstantiableTemplate(PointOfInstantiation, Instantiation,
3656 Instantiation->getInstantiatedFromMemberClass(),
3663 Instantiation->getNameForDiagnostic(OS, getPrintingPolicy(),
3666 auto Loc = SourceMgr.getExpansionLoc(Instantiation->getLocation());
3677 = Instantiation->getMemberSpecializationInfo()) {
3681 = dyn_cast<ClassTemplateSpecializationDecl>(Instantiation)) {
3686 InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
3690 PrettyDeclStackTraceEntry CrashInfo(Context, Instantiation, SourceLocation(),
3695 ContextRAII SavedContext(*this, Instantiation);
3702 bool MergeWithParentScope = !Instantiation->isDefinedOutsideFunctionOrMethod();
3712 InstantiateAttrs(TemplateArgs, Pattern, Instantiation);
3715 Instantiation->startDefinition();
3719 Instantiation->setVisibleDespiteOwningModule();
3722 Instantiation->setTagKind(Pattern->getTagKind());
3725 if (SubstBaseSpecifiers(Instantiation, Pattern, TemplateArgs))
3726 Instantiation->setInvalidDecl();
3728 TemplateDeclInstantiator Instantiator(*this, Instantiation, TemplateArgs);
3758 Instantiation->setInvalidDecl();
3782 Instantiation->setInvalidDecl();
3787 (MD->isVirtualAsWritten() || Instantiation->getNumBases()))
3792 Instantiation->setInvalidDecl();
3802 ActOnFields(nullptr, Instantiation->getLocation(), Instantiation, Fields,
3804 CheckCompletedCXXClass(nullptr, Instantiation);
3835 ActOnFinishDelayedMemberInitializers(Instantiation);
3840 Instantiation->setLocation(Pattern->getLocation());
3841 Instantiation->setLocStart(Pattern->getInnerLocStart());
3842 Instantiation->setBraceRange(Pattern->getBraceRange());
3845 if (!Instantiation->isInvalidDecl()) {
3858 Instantiation->setInvalidDecl();
3871 Instantiation->setInvalidDecl();
3880 if (!Instantiation->isInvalidDecl()) {
3886 MarkVTableUsed(PointOfInstantiation, Instantiation, true);
3888 MarkVirtualMembersReferenced(PointOfInstantiation, Instantiation,
3892 Consumer.HandleTagDeclDefinition(Instantiation);
3894 return Instantiation->isInvalidDecl();
3898 EnumDecl *Instantiation, EnumDecl *Pattern,
3902 if (DiagnoseUninstantiableTemplate(PointOfInstantiation, Instantiation,
3903 Instantiation->getInstantiatedFromMemberEnum(),
3910 = Instantiation->getMemberSpecializationInfo()) {
3915 InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
3920 PrettyDeclStackTraceEntry CrashInfo(Context, Instantiation, SourceLocation(),
3925 Instantiation->setVisibleDespiteOwningModule();
3929 ContextRAII SavedContext(*this, Instantiation);
3936 InstantiateAttrs(TemplateArgs, Pattern, Instantiation);
3938 TemplateDeclInstantiator Instantiator(*this, Instantiation, TemplateArgs);
3939 Instantiator.InstantiateEnumDefinition(Instantiation, Pattern);
3944 return Instantiation->isInvalidDecl();
3948 SourceLocation PointOfInstantiation, FieldDecl *Instantiation,
3954 assert(Instantiation->getInClassInitStyle() ==
3969 Instantiation->setInvalidDecl();
3973 InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
3979 << Instantiation;
3982 PrettyDeclStackTraceEntry CrashInfo(Context, Instantiation, SourceLocation(),
3987 ContextRAII SavedContext(*this, Instantiation->getParent());
3991 PointOfInstantiation, Instantiation, CurContext};
3997 CXXThisScopeRAII ThisScope(*this, Instantiation->getParent(), Qualifiers());
4004 Instantiation, Init ? Init->getBeginLoc() : SourceLocation(), Init);
4007 L->DefaultMemberInitializerInstantiated(Instantiation);
4010 return !Instantiation->getInClassInitializer();
4246 CXXRecordDecl *Instantiation,
4255 (TSK == TSK_ImplicitInstantiation && Instantiation->isLocalClass())) &&
4257 for (auto *D : Instantiation->decls()) {
4457 Instantiation->getTemplateInstantiationPattern();