A different trivial approach is to use the mmapped memory range <.debug_info ... garbage ... .debug_types>, then no dispatching is needed and it has no performance impact. This is a work based on Greg Clayton's D32167.
With this patch one could revert the new `GetData()` from D46606 but the code may be cleaner with it anyway. It is just no longer needed to be virtual so this patch removes its virtuality.
The core is new `SymbolFileDWARF::get_debug_info_data()`.
It has no regressions against (rebased) D32167.
git clone -b gdbtypes git://git.jankratochvil.net/lldb
Rebased D32167 patched by DWARFConcatenatingDataExtractor - this patch:
git clone -b concat git://git.jankratochvil.net/lldb