[Lldb-commits] [PATCH] D146293: [lldb][gnustep][PDB] Recognize ObjC classes and start definition only once the complete type is requested

Stefan Gränitz via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 17 05:58:08 PDT 2023


sgraenitz created this revision.
sgraenitz added reviewers: aleksandr.urakov, rnk, aprantl, DavidSpickett, omjavaid, zturner, asmith.
Herald added a project: All.
sgraenitz requested review of this revision.
Herald added a project: LLDB.

This patch allows the PDB parser to recognize UDT symbols as ObjCInterfaceDecls and delay the definition process until we resolve the complete compiler type. This corresponds to the approach in the DWARF parser: https://github.com/llvm/llvm-project/blob/release/16.x/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1869-L1871

In order to cache forward declarations for both, CXXRecordDecl and ObjCInterfaceDecl, the map type is changed to store NamedDecls now (first common base). The test shows that we get the names of type and members for a simple ObjC class now.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146293

Files:
  lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h
  lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
  lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
  lldb/test/Shell/Expr/objc-gnustep-print-pdb.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146293.506057.patch
Type: text/x-patch
Size: 10101 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230317/eb8fe3fe/attachment-0001.bin>


More information about the lldb-commits mailing list