llvm-project/lldb/source/Plugins
Med Ismail Bennani 8f5beb4c4b
[lldb/Dataformatter] Add support for CoreFoundation Dictionaries and Sets.
This patch improves data formatting for CoreFoundation containers:
CFDictionary and CFSet.

These data formatters make the containers and their children appear in Xcode's
variables view (and on the command line) without having to expand the
data structure.

Previous implementation only supported showing the container's element count.

```
(lldb) frame var dict
(__NSCFDictionary *) dict = 0x00000001004062b0 2 key/value pairs

(lldb) frame var set
(__NSCFSet *) set = 0x0000000100406330 2 elements
```
Now the variable can be dereferenced to dispaly the container's children:

```
(lldb) frame var *dict
(__NSCFDictionary) *dict = {
  [0] = {
    key = 0x0000000100004050 @"123"
    value = 0x0000000100004090 @"456"
  }
  [1] = {
    key = 0x0000000100004030 @"abc"
    value = 0x0000000100004070 @"def"
  }
}

(lldb) frame var *set
(__NSCFSet) *set = {
  [0] = 0x0000000100004050 @"123"
  [1] = 0x0000000100004030 @"abc"
}
```

rdar://39882287

Differential Revision: https://reviews.llvm.org/D78396

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
2020-04-27 22:10:11 +02:00
..
ABI [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
Architecture [lldb] Reduce duplication in the Disassembler class 2020-03-09 13:41:43 +01:00
Disassembler [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
DynamicLoader [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
ExpressionParser Add Objective-C property accessors loaded from Clang module DWARF to lookup 2020-04-24 11:10:50 -07:00
Instruction [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
InstrumentationRuntime [lldb][NFC] Make all CompilerDeclContext parameters references instead of pointers 2020-02-18 08:58:36 +01:00
JITLoader [lldb] Remove DataExtractor::GetPointer 2020-02-18 10:38:41 +01:00
Language [lldb/Dataformatter] Add support for CoreFoundation Dictionaries and Sets. 2020-04-27 22:10:11 +02:00
LanguageRuntime [lldb][NFC][CallSite] Remove CallSite use 2020-04-23 22:24:23 -07:00
MemoryHistory [lldb/MemoryHistoryAsan] Fix address resolution for recorded backtraces 2020-03-18 13:18:02 -07:00
ObjectContainer Replace std::string::find == 0 with StringRef::startswith 2020-03-31 21:01:09 +02:00
ObjectFile Add more detailed symbol type categorization, based on a swift patch by 2020-04-06 14:05:33 -07:00
OperatingSystem [lldb/Plugins] Conditionally build OperatingSystemPython. 2020-02-17 21:22:37 -08:00
Platform Remap the target (Xcode) SDK directory to the host SDK directory. 2020-04-06 15:51:30 -07:00
Process [lldb] Remove NativeProcessDarwin 2020-04-27 15:26:57 +02:00
ScriptInterpreter Revert "get rid of PythonInteger::GetInteger()" 2020-04-23 04:38:32 +05:00
StructuredData [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
SymbolFile [lldb/DWARF] Trust CU DW_AT_low/high_pc information when building address tables 2020-04-23 16:12:41 +02:00
SymbolVendor Re-land "[lldb/Reproducers] Always collect the whole dSYM in the reproducer" 2020-03-31 12:47:12 -07:00
SystemRuntime Preserve the owning module information from DWARF in the synthesized AST 2020-04-09 11:09:44 -07:00
TypeSystem [lldb][TypeSystemClang] Desugar an elaborated type before checking if it's a typedef or getting a typedefed type 2020-04-27 11:08:19 +03:00
UnwindAssembly Bug where insn-based unwind plans on arm64 could be wrong 2020-04-14 16:57:25 -07:00
CMakeLists.txt Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin" 2020-02-18 19:16:07 -08:00
Plugins.def.in Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin" 2020-02-18 19:16:07 -08:00