llvm-project/lldb/source/API
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
..
CMakeLists.txt [trace] Add SBTraceCursor bindings 2022-08-02 16:55:33 -07:00
SBAddress.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBAttachInfo.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBlock.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpoint.cpp Use llvm::is_contained (NFC) 2022-07-20 09:09:19 -07:00
SBBreakpointLocation.cpp [LLDB] Fix missing return value in SBBreakpointLocation::GetQueueName() 2022-07-28 16:08:35 -07:00
SBBreakpointName.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointOptionCommon.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBBreakpointOptionCommon.h
SBBroadcaster.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
SBCommandInterpreter.cpp Have CommandObjectParsed check for "commands that take no arguments". 2022-06-27 15:14:41 -07:00
SBCommandInterpreterRunOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCommandReturnObject.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCommunication.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBCompileUnit.cpp [lldb/API] Turn SBCompileUnit::GetIndexForLineEntry into FindLineEntryIndex (NFC) 2022-05-13 18:33:05 -07:00
SBData.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBDebugger.cpp [lldb] Add support for specifying a log handler 2022-06-24 18:24:00 -07:00
SBDeclaration.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBEnvironment.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBError.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBEvent.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBExecutionContext.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBExpressionOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFile.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFileSpec.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SBFileSpecList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBFrame.cpp [LLDB][Reliability] Remove dead code. 2022-08-02 10:09:45 -07:00
SBFunction.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBHostOS.cpp [lldb] Modernize ThreadLauncher 2022-02-23 14:25:59 +01:00
SBInstruction.cpp [LLDB] Add SBInstruction::GetControlFlowKind() 2022-08-02 15:42:45 -07:00
SBInstructionList.cpp [trace] Add a flag to the decoder to output the instruction type 2022-07-12 16:23:03 -07:00
SBLanguageRuntime.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBLaunchInfo.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SBLineEntry.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBListener.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
SBMemoryRegionInfo.cpp Use value instead of getValue (NFC) 2022-07-15 20:03:13 -07:00
SBMemoryRegionInfoList.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBModule.cpp [lldb] Use value_or instead of getValueOr (NFC) 2022-06-19 09:12:01 -07:00
SBModuleSpec.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBPlatform.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SBProcess.cpp Pass plugin_name in SBProcess::SaveCore 2022-06-09 16:29:50 +02:00
SBProcessInfo.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBQueue.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBQueueItem.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBReproducer.cpp [NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute. 2022-07-28 13:28:26 -07:00
SBSection.cpp [lldb] add SBSection.alignment to python bindings 2022-07-12 12:18:38 +02:00
SBSourceManager.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBStream.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
SBStringList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBStructuredData.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbol.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbolContext.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBSymbolContextList.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTarget.cpp Don't report memory return values on MacOS_arm64 of SysV_arm64 ABI's. 2022-03-14 15:25:40 -07:00
SBThread.cpp [lldb] [gdb-remote] Support getting siginfo via API 2022-01-28 17:47:47 +01:00
SBThreadCollection.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBThreadPlan.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTrace.cpp [trace] Add SBTraceCursor bindings 2022-08-02 16:55:33 -07:00
SBTraceCursor.cpp [lldb] Add missing newlines after LLDB_INSTRUMENT_VA 2022-08-03 10:51:16 -07:00
SBType.cpp [lldb] Automatically unwrap parameter packs in template argument accessors 2022-08-16 18:10:14 -07:00
SBTypeCategory.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeEnumMember.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeFilter.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeFormat.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeNameSpecifier.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeSummary.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBTypeSynthetic.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBUnixSignals.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBValue.cpp [lldb] Use value_or instead of getValueOr (NFC) 2022-06-19 09:12:01 -07:00
SBValueList.cpp [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB 2022-03-31 13:21:49 -07:00
SBVariablesOptions.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SBWatchpoint.cpp [lldb] Decouple instrumentation from the reproducers 2022-01-20 18:06:14 -08:00
SystemInitializerFull.cpp [lldb] Use nullptr instead of 0 or NULL (NFC) 2022-01-01 11:54:25 -08:00
SystemInitializerFull.h
Utils.h
liblldb-private.exports [lldb/lua] Supplement Lua bindings for lldb module 2021-10-12 22:10:21 +08:00
liblldb.exports [lldb/lua] Supplement Lua bindings for lldb module 2021-10-12 22:10:21 +08:00