aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/DeclarationFragments.cpp
diff options
context:
space:
mode:
authorPrajwal Nadig <pnadig@apple.com>2025-07-07 16:14:47 +0100
committerGitHub <noreply@github.com>2025-07-07 09:14:47 -0600
commit0f48bafafc38581da6f7388b4f3cc143cdbbdede (patch)
treed9cec72b208faec560b100ebb14b9ac354d2733c /clang/lib/ExtractAPI/DeclarationFragments.cpp
parent1121034dd1c43b503f9a9a81c841fabd6f07d846 (diff)
downloadllvm-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.cpp11
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;
}