[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