[lldb] Allow plugins to extend DWARF expression parsing for vendor extensions
authorPhilip Pfaffe <pfaffe@google.com>
Tue, 22 Nov 2022 14:29:19 +0000 (14:29 +0000)
committerPhilip Pfaffe <pfaffe@google.com>
Tue, 22 Nov 2022 14:38:07 +0000 (14:38 +0000)
commitc08d3b08f6d71e974537de226c68d4c94c396a46
tree71b9930977d2b195601aa001ee5517010b691e41
parent4d39552abea3467829760317e5de56e3d998b1c4
[lldb] Allow plugins to extend DWARF expression parsing for vendor extensions

Parsing DWARF expressions currently does not support DW_OPs that are vendor
extensions. With this change expression parsing calls into SymbolFileDWARF for
unknown opcodes, which is the semantically "closest" plugin that we have right
now. Plugins can then extend SymbolFileDWARF to add support for vendor
extensions.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D137247
lldb/include/lldb/Expression/DWARFExpression.h
lldb/source/Expression/DWARFExpression.cpp
lldb/source/Expression/DWARFExpressionList.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
lldb/unittests/Expression/DWARFExpressionTest.cpp