Author: Michael Buch Date: 2025-04-24T12:45:19+01:00 New Revision: e35cc2d387e170d0e1f6ef647f17423262feb1ea
URL: https://github.com/llvm/llvm-project/commit/e35cc2d387e170d0e1f6ef647f17423262feb1ea DIFF: https://github.com/llvm/llvm-project/commit/e35cc2d387e170d0e1f6ef647f17423262feb1ea.diff LOG: [lldb][TypeSystemClang][NFC] Clean up TypeSystemClang::DeclGetMangledName to LLVM-style Will make upcoming changes in this area easier to read. Added: Modified: lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp Removed: ################################################################################ diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp index ed6297cc6f3e0..59292f4b24af3 100644 --- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp +++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp @@ -9164,33 +9164,36 @@ ConstString TypeSystemClang::DeclGetName(void *opaque_decl) { } ConstString TypeSystemClang::DeclGetMangledName(void *opaque_decl) { - if (opaque_decl) { - clang::NamedDecl *nd = - llvm::dyn_cast<clang::NamedDecl>((clang::Decl *)opaque_decl); - if (nd != nullptr && !llvm::isa<clang::ObjCMethodDecl>(nd)) { - clang::MangleContext *mc = getMangleContext(); - if (mc && mc->shouldMangleCXXName(nd)) { - llvm::SmallVector<char, 1024> buf; - llvm::raw_svector_ostream llvm_ostrm(buf); - if (llvm::isa<clang::CXXConstructorDecl>(nd)) { - mc->mangleName( - clang::GlobalDecl(llvm::dyn_cast<clang::CXXConstructorDecl>(nd), - Ctor_Complete), - llvm_ostrm); - } else if (llvm::isa<clang::CXXDestructorDecl>(nd)) { - mc->mangleName( - clang::GlobalDecl(llvm::dyn_cast<clang::CXXDestructorDecl>(nd), - Dtor_Complete), - llvm_ostrm); - } else { - mc->mangleName(nd, llvm_ostrm); - } - if (buf.size() > 0) - return ConstString(buf.data(), buf.size()); - } - } + clang::NamedDecl *nd = llvm::dyn_cast_or_null<clang::NamedDecl>( + static_cast<clang::Decl *>(opaque_decl)); + + if (!nd || llvm::isa<clang::ObjCMethodDecl>(nd)) + return {}; + + clang::MangleContext *mc = getMangleContext(); + if (!mc || !mc->shouldMangleCXXName(nd)) + return {}; + + llvm::SmallVector<char, 1024> buf; + llvm::raw_svector_ostream llvm_ostrm(buf); + if (llvm::isa<clang::CXXConstructorDecl>(nd)) { + mc->mangleName( + clang::GlobalDecl(llvm::dyn_cast<clang::CXXConstructorDecl>(nd), + Ctor_Complete), + llvm_ostrm); + } else if (llvm::isa<clang::CXXDestructorDecl>(nd)) { + mc->mangleName( + clang::GlobalDecl(llvm::dyn_cast<clang::CXXDestructorDecl>(nd), + Dtor_Complete), + llvm_ostrm); + } else { + mc->mangleName(nd, llvm_ostrm); } - return ConstString(); + + if (buf.size() > 0) + return ConstString(buf.data(), buf.size()); + + return {}; } CompilerDeclContext TypeSystemClang::DeclGetDeclContext(void *opaque_decl) { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits