diff options
author | Enrico Granata <egranata@apple.com> | 2012-10-23 19:54:09 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-10-23 19:54:09 +0000 |
commit | adaf282c763ecdb07850fc9e534bd9d3d99e71f8 (patch) | |
tree | 5b436b44f1d266e1e3de036b505e0119ba81f1cf /lldb/source/Core/CXXFormatterFunctions.cpp | |
parent | bdcebd323ad7ddf60fb9234f9deb8e720f69e893 (diff) | |
download | bcm5719-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.cpp | 36 |
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) { |