summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/CXXFormatterFunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Core/CXXFormatterFunctions.cpp')
-rw-r--r--lldb/source/Core/CXXFormatterFunctions.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/lldb/source/Core/CXXFormatterFunctions.cpp b/lldb/source/Core/CXXFormatterFunctions.cpp
index bc205b194a8..4ff90e91fe5 100644
--- a/lldb/source/Core/CXXFormatterFunctions.cpp
+++ b/lldb/source/Core/CXXFormatterFunctions.cpp
@@ -776,7 +776,9 @@ lldb_private::formatters::NSArrayMSyntheticFrontEnd::Update()
bool
lldb_private::formatters::NSArrayMSyntheticFrontEnd::MightHaveChildren ()
{
- return CalculateNumChildren() > 0;
+ if (!m_data_32 && !m_data_64)
+ Update ();
+ return CalculateNumChildren();
}
static uint32_t
@@ -891,7 +893,9 @@ lldb_private::formatters::NSArrayISyntheticFrontEnd::Update()
bool
lldb_private::formatters::NSArrayISyntheticFrontEnd::MightHaveChildren ()
{
- return CalculateNumChildren() > 0;
+ if (!m_data_ptr)
+ Update ();
+ return CalculateNumChildren();
}
lldb::ValueObjectSP
@@ -1186,7 +1190,9 @@ lldb_private::formatters::NSDictionaryISyntheticFrontEnd::Update()
bool
lldb_private::formatters::NSDictionaryISyntheticFrontEnd::MightHaveChildren ()
{
- return CalculateNumChildren() > 0;
+ if (!m_data_32 && !m_data_64)
+ Update ();
+ return CalculateNumChildren();
}
lldb::ValueObjectSP
@@ -1333,7 +1339,9 @@ lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::Update()
bool
lldb_private::formatters::NSDictionaryMSyntheticFrontEnd::MightHaveChildren ()
{
- return CalculateNumChildren() > 0;
+ if (!m_data_32 && !m_data_64)
+ Update ();
+ return CalculateNumChildren();
}
lldb::ValueObjectSP
OpenPOWER on IntegriCloud