diff options
author | Prajwal Nadig <pnadig@apple.com> | 2025-07-07 16:14:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-07 09:14:47 -0600 |
commit | 0f48bafafc38581da6f7388b4f3cc143cdbbdede (patch) | |
tree | d9cec72b208faec560b100ebb14b9ac354d2733c /clang/lib/ExtractAPI/DeclarationFragments.cpp | |
parent | 1121034dd1c43b503f9a9a81c841fabd6f07d846 (diff) | |
download | llvm-0f48bafafc38581da6f7388b4f3cc143cdbbdede.zip llvm-0f48bafafc38581da6f7388b4f3cc143cdbbdede.tar.gz llvm-0f48bafafc38581da6f7388b4f3cc143cdbbdede.tar.bz2 |
[ExtractAPI] Include tilde in destructor name (#146001)
The subheading for a destructor contained only the identifier. The tilde
must also be included as it is necessary to differentiate the destructor
from any constructors present.
rdar://129587608
Diffstat (limited to 'clang/lib/ExtractAPI/DeclarationFragments.cpp')
-rw-r--r-- | clang/lib/ExtractAPI/DeclarationFragments.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/ExtractAPI/DeclarationFragments.cpp b/clang/lib/ExtractAPI/DeclarationFragments.cpp index 5234932..791afc1 100644 --- a/clang/lib/ExtractAPI/DeclarationFragments.cpp +++ b/clang/lib/ExtractAPI/DeclarationFragments.cpp @@ -1617,10 +1617,13 @@ DeclarationFragmentsBuilder::getFunctionSignature(const ObjCMethodDecl *); DeclarationFragments DeclarationFragmentsBuilder::getSubHeading(const NamedDecl *Decl) { DeclarationFragments Fragments; - if (isa<CXXConstructorDecl>(Decl) || isa<CXXDestructorDecl>(Decl)) + if (isa<CXXConstructorDecl>(Decl)) { Fragments.append(cast<CXXRecordDecl>(Decl->getDeclContext())->getName(), DeclarationFragments::FragmentKind::Identifier); - else if (isa<CXXConversionDecl>(Decl)) { + } else if (isa<CXXDestructorDecl>(Decl)) { + Fragments.append(cast<CXXDestructorDecl>(Decl)->getNameAsString(), + DeclarationFragments::FragmentKind::Identifier); + } else if (isa<CXXConversionDecl>(Decl)) { Fragments.append( cast<CXXConversionDecl>(Decl)->getConversionType().getAsString(), DeclarationFragments::FragmentKind::Identifier); @@ -1634,9 +1637,11 @@ DeclarationFragmentsBuilder::getSubHeading(const NamedDecl *Decl) { } else if (Decl->getIdentifier()) { Fragments.append(Decl->getName(), DeclarationFragments::FragmentKind::Identifier); - } else + } else { Fragments.append(Decl->getDeclName().getAsString(), DeclarationFragments::FragmentKind::Identifier); + } + return Fragments; } |