[lldb] Use LLVM's implementation of AppleTables for apple_{names,namespaces}
authorFelipe de Azevedo Piovezan <fpiovezan@apple.com>
Fri, 16 Jun 2023 19:07:59 +0000 (15:07 -0400)
committerFelipe de Azevedo Piovezan <fpiovezan@apple.com>
Wed, 28 Jun 2023 12:31:02 +0000 (08:31 -0400)
commit4d5c9ad9c3d7ed84efa1307ec158829b95badc6f
treeb0bf36064791d7fbb271c336f8f1c4e81b8caf9d
parent4fb0e0114f626c6a492738f609744eab5d331310
[lldb] Use LLVM's implementation of AppleTables for apple_{names,namespaces}

All the new code should match the behavior of the old exactly.

Of note, the custom queries used to be implemented inside `HashedNameToDIE.cpp`
(which is the LLDB implementation of the tables). However, when porting to LLVM,
we believe they don't belong inside the LLVM table implementation:

1. They don't require any knowledge about the table itself
2. They are not relevant for other users of these classes.
3. They use LLDB data structures.

As such, we implement these custom queries inside AppleDWARFIndex.cpp.

Types and Objective-C tables are done separately, as they have slightly
different functionality that require rewriting more code.

Differential Revision: https://reviews.llvm.org/D153866
lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp
lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h