summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/CXXFormatterFunctions.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-10-23 19:54:09 +0000
committerEnrico Granata <egranata@apple.com>2012-10-23 19:54:09 +0000
commitadaf282c763ecdb07850fc9e534bd9d3d99e71f8 (patch)
tree5b436b44f1d266e1e3de036b505e0119ba81f1cf /lldb/source/Core/CXXFormatterFunctions.cpp
parentbdcebd323ad7ddf60fb9234f9deb8e720f69e893 (diff)
downloadbcm5719-llvm-adaf282c763ecdb07850fc9e534bd9d3d99e71f8.tar.gz
bcm5719-llvm-adaf282c763ecdb07850fc9e534bd9d3d99e71f8.zip
<rdar://problem/12523238> Commit 1 of 3
This commit enables the new HasChildren() feature for synthetic children providers Namely, it hooks up the required bits and pieces so that individual synthetic children providers can implement a new (optional) has_children call Default implementations have been provided where necessary so that any existing providers continue to work and behave correctly Next steps are: 2) writing smart implementations of has_children for our providers whenever possible 3) make a test case llvm-svn: 166495
Diffstat (limited to 'lldb/source/Core/CXXFormatterFunctions.cpp')
-rw-r--r--lldb/source/Core/CXXFormatterFunctions.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/lldb/source/Core/CXXFormatterFunctions.cpp b/lldb/source/Core/CXXFormatterFunctions.cpp
index 67f769805ea..bc205b194a8 100644
--- a/lldb/source/Core/CXXFormatterFunctions.cpp
+++ b/lldb/source/Core/CXXFormatterFunctions.cpp
@@ -773,6 +773,12 @@ lldb_private::formatters::NSArrayMSyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSArrayMSyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
static uint32_t
ExtractIndexFromString (const char* item_name)
{
@@ -882,6 +888,12 @@ lldb_private::formatters::NSArrayISyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSArrayISyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
lldb::ValueObjectSP
lldb_private::formatters::NSArrayISyntheticFrontEnd::GetChildAtIndex (uint32_t idx)
{
@@ -976,6 +988,12 @@ lldb_private::formatters::NSArrayCodeRunningSyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSArrayCodeRunningSyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
uint32_t
lldb_private::formatters::NSArrayCodeRunningSyntheticFrontEnd::GetIndexOfChildWithName (const ConstString &name)
{
@@ -1067,6 +1085,12 @@ lldb_private::formatters::NSDictionaryCodeRunningSyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSDictionaryCodeRunningSyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
uint32_t
lldb_private::formatters::NSDictionaryCodeRunningSyntheticFrontEnd::GetIndexOfChildWithName (const ConstString &name)
{
@@ -1159,6 +1183,12 @@ lldb_private::formatters::NSDictionaryISyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSDictionaryISyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
lldb::ValueObjectSP
lldb_private::formatters::NSDictionaryISyntheticFrontEnd::GetChildAtIndex (uint32_t idx)
{
@@ -1300,6 +1330,12 @@ lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::Update()
return false;
}
+bool
+lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::MightHaveChildren ()
+{
+ return CalculateNumChildren() > 0;
+}
+
lldb::ValueObjectSP
lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::GetChildAtIndex (uint32_t idx)
{
OpenPOWER on IntegriCloud