diff options
author | Enrico Granata <egranata@apple.com> | 2015-11-18 19:42:44 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2015-11-18 19:42:44 +0000 |
commit | 3de08c5f0c972ade61b6dd0ea4561c33e09c58fc (patch) | |
tree | ed4978acf2ee92c75f737db8bcde742ae080005c /lldb/source/DataFormatters | |
parent | e7891d033e9e8b7b9bb4d75945d4cd218883cc44 (diff) | |
download | bcm5719-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.cpp | 10 | ||||
-rw-r--r-- | lldb/source/DataFormatters/FormatManager.cpp | 15 | ||||
-rw-r--r-- | lldb/source/DataFormatters/TypeCategoryMap.cpp | 33 |
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) |