hokein created this revision. hokein added a reviewer: sammccall. Herald added a subscriber: arphaman. Herald added a project: All. hokein requested review of this revision. Herald added a project: clang.
This is a followup cleanup of 1234b1c6d8113d50beef5801be607ad1d502b2f7 <https://reviews.llvm.org/rG1234b1c6d8113d50beef5801be607ad1d502b2f7> Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D124238 Files: clang/include/clang/AST/TemplateName.h clang/lib/AST/ItaniumMangle.cpp clang/lib/AST/TemplateName.cpp clang/lib/Sema/TreeTransform.h clang/tools/libclang/CIndex.cpp Index: clang/tools/libclang/CIndex.cpp =================================================================== --- clang/tools/libclang/CIndex.cpp +++ clang/tools/libclang/CIndex.cpp @@ -1462,8 +1462,10 @@ case TemplateName::QualifiedTemplate: // FIXME: Visit nested-name-specifier. - return Visit(MakeCursorTemplateRef( - Name.getAsQualifiedTemplateName()->getTemplateDecl(), Loc, TU)); + return Visit(MakeCursorTemplateRef(Name.getAsQualifiedTemplateName() + ->getUnderlyingTemplate() + .getAsTemplateDecl(), + Loc, TU)); case TemplateName::SubstTemplateTemplateParm: return Visit(MakeCursorTemplateRef( Index: clang/lib/Sema/TreeTransform.h =================================================================== --- clang/lib/Sema/TreeTransform.h +++ clang/lib/Sema/TreeTransform.h @@ -4280,7 +4280,7 @@ NamedDecl *FirstQualifierInScope, bool AllowInjectedClassName) { if (QualifiedTemplateName *QTN = Name.getAsQualifiedTemplateName()) { - TemplateDecl *Template = QTN->getTemplateDecl(); + TemplateDecl *Template = QTN->getUnderlyingTemplate().getAsTemplateDecl(); assert(Template && "qualified template name must refer to a template"); TemplateDecl *TransTemplate Index: clang/lib/AST/TemplateName.cpp =================================================================== --- clang/lib/AST/TemplateName.cpp +++ clang/lib/AST/TemplateName.cpp @@ -115,7 +115,7 @@ } if (QualifiedTemplateName *QTN = getAsQualifiedTemplateName()) - return QTN->getTemplateDecl(); + return QTN->getUnderlyingTemplate().getAsTemplateDecl(); if (SubstTemplateTemplateParmStorage *sub = getAsSubstTemplateTemplateParm()) return sub->getReplacement().getAsTemplateDecl(); @@ -273,14 +273,15 @@ if (Qual == Qualified::Fully && getDependence() != TemplateNameDependenceScope::DependentInstantiation) { - QTN->getTemplateDecl()->printQualifiedName(OS, Policy); + QTN->getUnderlyingTemplate().getAsTemplateDecl()->printQualifiedName( + OS, Policy); return; } if (Qual == Qualified::AsWritten) QTN->getQualifier()->print(OS, Policy); if (QTN->hasTemplateKeyword()) OS << "template "; - OS << *QTN->getTemplateDecl(); + OS << *QTN->getUnderlyingTemplate().getAsTemplateDecl(); } else if (DependentTemplateName *DTN = getAsDependentTemplateName()) { if (Qual == Qualified::AsWritten && DTN->getQualifier()) DTN->getQualifier()->print(OS, Policy); Index: clang/lib/AST/ItaniumMangle.cpp =================================================================== --- clang/lib/AST/ItaniumMangle.cpp +++ clang/lib/AST/ItaniumMangle.cpp @@ -2204,7 +2204,9 @@ switch (TN.getKind()) { case TemplateName::QualifiedTemplate: - TD = TN.getAsQualifiedTemplateName()->getTemplateDecl(); + TD = TN.getAsQualifiedTemplateName() + ->getUnderlyingTemplate() + .getAsTemplateDecl(); goto HaveDecl; case TemplateName::UsingTemplate: Index: clang/include/clang/AST/TemplateName.h =================================================================== --- clang/include/clang/AST/TemplateName.h +++ clang/include/clang/AST/TemplateName.h @@ -439,13 +439,6 @@ /// Return the underlying template name. TemplateName getUnderlyingTemplate() const { return UnderlyingTemplate; } - /// The template declaration to which this qualified name - /// refers. - /// FIXME: remove this and use getUnderlyingTemplate() instead. - TemplateDecl *getTemplateDecl() const { - return UnderlyingTemplate.getAsTemplateDecl(); - } - void Profile(llvm::FoldingSetNodeID &ID) { Profile(ID, getQualifier(), hasTemplateKeyword(), UnderlyingTemplate); }
Index: clang/tools/libclang/CIndex.cpp =================================================================== --- clang/tools/libclang/CIndex.cpp +++ clang/tools/libclang/CIndex.cpp @@ -1462,8 +1462,10 @@ case TemplateName::QualifiedTemplate: // FIXME: Visit nested-name-specifier. - return Visit(MakeCursorTemplateRef( - Name.getAsQualifiedTemplateName()->getTemplateDecl(), Loc, TU)); + return Visit(MakeCursorTemplateRef(Name.getAsQualifiedTemplateName() + ->getUnderlyingTemplate() + .getAsTemplateDecl(), + Loc, TU)); case TemplateName::SubstTemplateTemplateParm: return Visit(MakeCursorTemplateRef( Index: clang/lib/Sema/TreeTransform.h =================================================================== --- clang/lib/Sema/TreeTransform.h +++ clang/lib/Sema/TreeTransform.h @@ -4280,7 +4280,7 @@ NamedDecl *FirstQualifierInScope, bool AllowInjectedClassName) { if (QualifiedTemplateName *QTN = Name.getAsQualifiedTemplateName()) { - TemplateDecl *Template = QTN->getTemplateDecl(); + TemplateDecl *Template = QTN->getUnderlyingTemplate().getAsTemplateDecl(); assert(Template && "qualified template name must refer to a template"); TemplateDecl *TransTemplate Index: clang/lib/AST/TemplateName.cpp =================================================================== --- clang/lib/AST/TemplateName.cpp +++ clang/lib/AST/TemplateName.cpp @@ -115,7 +115,7 @@ } if (QualifiedTemplateName *QTN = getAsQualifiedTemplateName()) - return QTN->getTemplateDecl(); + return QTN->getUnderlyingTemplate().getAsTemplateDecl(); if (SubstTemplateTemplateParmStorage *sub = getAsSubstTemplateTemplateParm()) return sub->getReplacement().getAsTemplateDecl(); @@ -273,14 +273,15 @@ if (Qual == Qualified::Fully && getDependence() != TemplateNameDependenceScope::DependentInstantiation) { - QTN->getTemplateDecl()->printQualifiedName(OS, Policy); + QTN->getUnderlyingTemplate().getAsTemplateDecl()->printQualifiedName( + OS, Policy); return; } if (Qual == Qualified::AsWritten) QTN->getQualifier()->print(OS, Policy); if (QTN->hasTemplateKeyword()) OS << "template "; - OS << *QTN->getTemplateDecl(); + OS << *QTN->getUnderlyingTemplate().getAsTemplateDecl(); } else if (DependentTemplateName *DTN = getAsDependentTemplateName()) { if (Qual == Qualified::AsWritten && DTN->getQualifier()) DTN->getQualifier()->print(OS, Policy); Index: clang/lib/AST/ItaniumMangle.cpp =================================================================== --- clang/lib/AST/ItaniumMangle.cpp +++ clang/lib/AST/ItaniumMangle.cpp @@ -2204,7 +2204,9 @@ switch (TN.getKind()) { case TemplateName::QualifiedTemplate: - TD = TN.getAsQualifiedTemplateName()->getTemplateDecl(); + TD = TN.getAsQualifiedTemplateName() + ->getUnderlyingTemplate() + .getAsTemplateDecl(); goto HaveDecl; case TemplateName::UsingTemplate: Index: clang/include/clang/AST/TemplateName.h =================================================================== --- clang/include/clang/AST/TemplateName.h +++ clang/include/clang/AST/TemplateName.h @@ -439,13 +439,6 @@ /// Return the underlying template name. TemplateName getUnderlyingTemplate() const { return UnderlyingTemplate; } - /// The template declaration to which this qualified name - /// refers. - /// FIXME: remove this and use getUnderlyingTemplate() instead. - TemplateDecl *getTemplateDecl() const { - return UnderlyingTemplate.getAsTemplateDecl(); - } - void Profile(llvm::FoldingSetNodeID &ID) { Profile(ID, getQualifier(), hasTemplateKeyword(), UnderlyingTemplate); }
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits