Lines Matching defs:Instantiation

1 //===------- SemaTemplateInstantiate.cpp - C++ Template Instantiation ------===/
30 // Template Instantiation Support
681 // Template Instantiation for Types
1640 Sema::SubstBaseSpecifiers(CXXRecordDecl *Instantiation,
1689 = CheckBaseSpecifier(Instantiation,
1723 = CheckBaseSpecifier(Instantiation,
1735 AttachBaseSpecifiers(Instantiation, InstantiatedBases.data(),
1754 TagDecl *Instantiation,
1770 << S.Context.getTypeDeclType(Instantiation);
1773 Instantiation->setInvalidDecl();
1777 << S.Context.getTypeDeclType(Instantiation);
1782 << S.Context.getTypeDeclType(Instantiation);
1786 // In general, Instantiation isn't marked invalid to get more than one
1791 Instantiation->setInvalidDecl();
1800 /// \param Instantiation is the declaration whose definition is being
1819 CXXRecordDecl *Instantiation, CXXRecordDecl *Pattern,
1827 if (DiagnoseUninstantiableTemplate(*this, PointOfInstantiation, Instantiation,
1828 Instantiation->getInstantiatedFromMemberClass(),
1835 = Instantiation->getMemberSpecializationInfo()) {
1839 = dyn_cast<ClassTemplateSpecializationDecl>(Instantiation)) {
1844 InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
1850 ContextRAII SavedContext(*this, Instantiation);
1857 bool MergeWithParentScope = !Instantiation->isDefinedOutsideFunctionOrMethod();
1861 InstantiateAttrs(TemplateArgs, Pattern, Instantiation);
1864 Instantiation->startDefinition();
1866 Instantiation->setTagKind(Pattern->getTagKind());
1869 if (SubstBaseSpecifiers(Instantiation, Pattern, TemplateArgs))
1872 TemplateDeclInstantiator Instantiator(*this, Instantiation, TemplateArgs);
1932 ActOnFields(0, Instantiation->getLocation(), Instantiation, Fields,
1934 CheckCompletedCXXClass(Instantiation);
1943 CXXThisScopeRAII ThisScope(*this, Instantiation, (unsigned)0);
1980 ActOnFinishDelayedMemberInitializers(Instantiation);
1983 Instantiation->setLocation(Pattern->getLocation());
1984 Instantiation->setLocStart(Pattern->getInnerLocStart());
1985 Instantiation->setRBraceLoc(Pattern->getRBraceLoc());
1988 if (Instantiation->isInvalidDecl())
2010 Consumer.HandleTagDeclDefinition(Instantiation);
2015 MarkVTableUsed(PointOfInstantiation, Instantiation, true);
2025 /// \param Instantiation is the declaration whose definition is being
2037 EnumDecl *Instantiation, EnumDecl *Pattern,
2041 if (DiagnoseUninstantiableTemplate(*this, PointOfInstantiation, Instantiation,
2042 Instantiation->getInstantiatedFromMemberEnum(),
2049 = Instantiation->getMemberSpecializationInfo()) {
2054 InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
2060 ContextRAII SavedContext(*this, Instantiation);
2067 InstantiateAttrs(TemplateArgs, Pattern, Instantiation);
2069 TemplateDeclInstantiator Instantiator(*this, Instantiation, TemplateArgs);
2070 Instantiator.InstantiateEnumDefinition(Instantiation, Pattern);
2075 return Instantiation->isInvalidDecl();
2263 CXXRecordDecl *Instantiation,
2266 for (DeclContext::decl_iterator D = Instantiation->decls_begin(),
2267 DEnd = Instantiation->decls_end();