--- /dev/null
+#include <Foundation/Foundation.h>
+
+int main(void)
+{
+ NSDictionary *emptyDictionary = [[NSDictionary alloc] init];
+ NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionary];
+ NSDictionary *dictionary = @{ @"key": @{} };
+ return 0;
+}
--- /dev/null
+# Test that foundation NSDictionary0 is formatted correctly (the summary).
+# Foundation is only available on Darwin so just restrict the test to run there.
+# REQUIRES: darwin
+# RUN: %cc %p/Inputs/NSDict.m -framework Foundation -g -o %t && %lldb -b \
+# RUN: -s %p/Inputs/NSDict.commands -- %t 2>&1 | FileCheck %s
+
+# CHECK: (__NSDictionary0 *) emptyDictionary = {{.*}} 0 key/value pairs
static const ConstString g_DictionaryMLegacy("__NSDictionaryM_Legacy");
static const ConstString g_DictionaryMImmutable("__NSDictionaryM_Immutable");
static const ConstString g_Dictionary1("__NSSingleEntryDictionaryI");
+ static const ConstString g_Dictionary0("__NSDictionary0");
if (class_name.IsEmpty())
return false;
return false;
} else if (class_name == g_Dictionary1) {
value = 1;
+ } else if (class_name == g_Dictionary0) {
+ value = 0;
}
else {
auto &map(NSDictionary_Additionals::GetAdditionalSummaries());
static const ConstString g_Dictionary1("__NSSingleEntryDictionaryI");
static const ConstString g_DictionaryImmutable("__NSDictionaryM_Immutable");
static const ConstString g_DictionaryMLegacy("__NSDictionaryM_Legacy");
+ static const ConstString g_Dictionary0("__NSDictionary0");
if (class_name.IsEmpty())
return nullptr;