summaryrefslogtreecommitdiffstats
path: root/lldb/source/DataFormatters
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-11-18 19:42:44 +0000
committerEnrico Granata <egranata@apple.com>2015-11-18 19:42:44 +0000
commit3de08c5f0c972ade61b6dd0ea4561c33e09c58fc (patch)
treeed4978acf2ee92c75f737db8bcde742ae080005c /lldb/source/DataFormatters
parente7891d033e9e8b7b9bb4d75945d4cd218883cc44 (diff)
downloadbcm5719-llvm-3de08c5f0c972ade61b6dd0ea4561c33e09c58fc.tar.gz
bcm5719-llvm-3de08c5f0c972ade61b6dd0ea4561c33e09c58fc.zip
Reapply r253423 and r253424 (which cleanup the data formatters iteration model, as well as the type X list commands), along with a change by Zachary Turner to bypass a MSVC bug with SFINAE
llvm-svn: 253493
Diffstat (limited to 'lldb/source/DataFormatters')
-rw-r--r--lldb/source/DataFormatters/DataVisualization.cpp10
-rw-r--r--lldb/source/DataFormatters/FormatManager.cpp15
-rw-r--r--lldb/source/DataFormatters/TypeCategoryMap.cpp33
3 files changed, 2 insertions, 56 deletions
diff --git a/lldb/source/DataFormatters/DataVisualization.cpp b/lldb/source/DataFormatters/DataVisualization.cpp
index 581ef3f851a..14cf13d2f18 100644
--- a/lldb/source/DataFormatters/DataVisualization.cpp
+++ b/lldb/source/DataFormatters/DataVisualization.cpp
@@ -226,12 +226,6 @@ DataVisualization::Categories::DisableStar ()
}
void
-DataVisualization::Categories::LoopThrough (FormatManager::CategoryCallback callback, void* callback_baton)
-{
- GetFormatManager().LoopThroughCategories(callback, callback_baton);
-}
-
-void
DataVisualization::Categories::ForEach (TypeCategoryMap::ForEachCallback callback)
{
GetFormatManager().ForEachCategory(callback);
@@ -274,9 +268,9 @@ DataVisualization::NamedSummaryFormats::Clear ()
}
void
-DataVisualization::NamedSummaryFormats::LoopThrough (TypeSummaryImpl::SummaryCallback callback, void* callback_baton)
+DataVisualization::NamedSummaryFormats::ForEach (std::function<bool(ConstString, const lldb::TypeSummaryImplSP&)> callback)
{
- GetFormatManager().GetNamedSummaryContainer().LoopThrough(callback, callback_baton);
+ GetFormatManager().GetNamedSummaryContainer().ForEach(callback);
}
uint32_t
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp
index 3237f73f64e..8edc8e5ca8b 100644
--- a/lldb/source/DataFormatters/FormatManager.cpp
+++ b/lldb/source/DataFormatters/FormatManager.cpp
@@ -486,21 +486,6 @@ FormatManager::GetValidatorForType (lldb::TypeNameSpecifierImplSP type_sp)
}
void
-FormatManager::LoopThroughCategories (CategoryCallback callback, void* param)
-{
- m_categories_map.LoopThrough(callback, param);
- Mutex::Locker locker(m_language_categories_mutex);
- for (const auto& entry : m_language_categories_map)
- {
- if (auto category_sp = entry.second->GetCategory())
- {
- if (!callback(param, category_sp))
- break;
- }
- }
-}
-
-void
FormatManager::ForEachCategory(TypeCategoryMap::ForEachCallback callback)
{
m_categories_map.ForEach(callback);
diff --git a/lldb/source/DataFormatters/TypeCategoryMap.cpp b/lldb/source/DataFormatters/TypeCategoryMap.cpp
index 19164a3c003..58e4e2117bb 100644
--- a/lldb/source/DataFormatters/TypeCategoryMap.cpp
+++ b/lldb/source/DataFormatters/TypeCategoryMap.cpp
@@ -373,39 +373,6 @@ TypeCategoryMap::GetValidator (FormattersMatchData& match_data)
}
void
-TypeCategoryMap::LoopThrough(CallbackType callback, void* param)
-{
- if (callback)
- {
- Mutex::Locker locker(m_map_mutex);
-
- // loop through enabled categories in respective order
- {
- ActiveCategoriesIterator begin, end = m_active_categories.end();
- for (begin = m_active_categories.begin(); begin != end; begin++)
- {
- lldb::TypeCategoryImplSP category = *begin;
- if (!callback(param, category))
- break;
- }
- }
-
- // loop through disabled categories in just any order
- {
- MapIterator pos, end = m_map.end();
- for (pos = m_map.begin(); pos != end; pos++)
- {
- if (pos->second->IsEnabled())
- continue;
- KeyType type = pos->first;
- if (!callback(param, pos->second))
- break;
- }
- }
- }
-}
-
-void
TypeCategoryMap::ForEach(ForEachCallback callback)
{
if (callback)
OpenPOWER on IntegriCloud