llvm-project/lldb/source/Symbol
Jonas Devlieghere b706f56133
[lldb] Automatically unwrap parameter packs in template argument accessors
When looking at template arguments in LLDB, we usually care about what
the user passed in his code, not whether some of those arguments where
passed as a variadic parameter pack.

This patch extends all the C++ APIs to look at template parameters to
take an additional 'expand_pack' boolean that automatically unwraps the
potential argument packs. The equivalent SBAPI calls have been changed
to pass true for this parameter.

A byproduct of the patch is to also fix the support for template type
that have only a parameter pack as argument (like the OnlyPack type in
the test). Those were not recognized as template instanciations before.

The added test verifies that the SBAPI is able to iterate over the
arguments of a variadic template.

The original patch was written by Fred Riss almost 4 years ago.

Differential revision: https://reviews.llvm.org/D51387
2022-08-16 18:10:14 -07:00
..
ArmUnwindInfo.cpp Use the range-based overload of llvm::sort where possible 2022-07-23 15:13:25 +02:00
Block.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
CMakeLists.txt Introduce new symbol on-demand for debug info 2022-04-26 10:42:06 -07:00
CompactUnwindInfo.cpp [lldb] Replace Host::SystemLog with Debugger::Report{Error,Warning} 2022-06-24 09:46:26 -07:00
CompileUnit.cpp Implement better path matching in FileSpecList::FindCompatibleIndex(...). 2022-08-08 15:20:38 -07:00
CompilerDecl.cpp
CompilerDeclContext.cpp
CompilerType.cpp [lldb] Automatically unwrap parameter packs in template argument accessors 2022-08-16 18:10:14 -07:00
DWARFCallFrameInfo.cpp [lldb] Replace Host::SystemLog with Debugger::Report{Error,Warning} 2022-06-24 09:46:26 -07:00
DebugMacros.cpp
DeclVendor.cpp [lldb][NFC] Remove outdated FIXME 2021-09-20 11:44:20 -07:00
FuncUnwinders.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Function.cpp [trace] Add a flag to the decoder to output the instruction type 2022-07-12 16:23:03 -07:00
LineEntry.cpp Change PathMappingList::FindFile to return an optional result (NFC) 2021-06-29 15:10:46 -07:00
LineTable.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
LocateSymbolFile.cpp [lldb] Fetching symbols in the background with dsymForUUID 2022-08-15 17:57:24 -07:00
LocateSymbolFileMacOSX.cpp [lldb] Fetching symbols in the background with dsymForUUID 2022-08-15 17:57:24 -07:00
ObjectFile.cpp [lldb] Change CreateMemoryInstance to take a WritableDataBuffer 2022-04-05 13:46:41 -07:00
PostfixExpression.cpp [LLDB] Remove cases of using namespace llvm:: from header file 2022-03-03 10:39:06 -08:00
Symbol.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SymbolContext.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SymbolFile.cpp Re-submit "[lldb] Filter DIEs based on qualified name where possible" 2022-08-04 15:52:27 -07:00
SymbolFileOnDemand.cpp Re-submit "[lldb] Filter DIEs based on qualified name where possible" 2022-08-04 15:52:27 -07:00
SymbolVendor.cpp [lldb] Return StringRef from PluginInterface::GetPluginName 2021-10-18 10:14:42 +02:00
Symtab.cpp [lldb] Allow SymbolTable regex search functions to match mangled name 2022-08-03 10:55:32 -07:00
Type.cpp [LLDB][NFC][Reliability] Fix uninitialized variables from Coverity scan. Part 2 2022-07-25 20:52:45 -07:00
TypeList.cpp [lldb/Symbol] Fix null-deref in TypeList::Dump 2022-08-11 22:29:06 -07:00
TypeMap.cpp Remove dead code: TypeMap::RemoveMismatchedTypes(TypeClass type_class) 2022-07-07 20:46:14 +00:00
TypeSystem.cpp [lldb] Automatically unwrap parameter packs in template argument accessors 2022-08-16 18:10:14 -07:00
UnwindPlan.cpp Cleanup LLVMDWARFDebugInfo 2022-02-15 09:16:03 +01:00
UnwindTable.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Variable.cpp Reland "[LLDB][NFC] Decouple dwarf location table from DWARFExpression." 2022-07-12 10:54:24 -07:00
VariableList.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00