More cleanups ; Separated implementation of FormatManager from class DataVisualization as a front-end by using separate .h/.cpp files - Final aim is to break up FormatManager.h/cpp into several separate files
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138279 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectFrame.cpp b/source/Commands/CommandObjectFrame.cpp
index 86fb92e..94078b8 100644
--- a/source/Commands/CommandObjectFrame.cpp
+++ b/source/Commands/CommandObjectFrame.cpp
@@ -13,8 +13,8 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
+#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Core/Timer.h"
diff --git a/source/Commands/CommandObjectType.cpp b/source/Commands/CommandObjectType.cpp
index 23157f8..d0c5afa 100644
--- a/source/Commands/CommandObjectType.cpp
+++ b/source/Commands/CommandObjectType.cpp
@@ -15,9 +15,9 @@
// C++ Includes
+#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/ConstString.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
#include "lldb/Core/InputReaderEZ.h"
#include "lldb/Core/RegularExpression.h"
#include "lldb/Core/State.h"
diff --git a/source/Core/DataVisualization.cpp b/source/Core/DataVisualization.cpp
new file mode 100644
index 0000000..f4aa23e
--- /dev/null
+++ b/source/Core/DataVisualization.cpp
@@ -0,0 +1,203 @@
+//===-- DataVisualization.cpp ---------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "lldb/Core/DataVisualization.h"
+
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
+
+#include "lldb/Core/Debugger.h"
+
+using namespace lldb;
+using namespace lldb_private;
+
+static FormatManager&
+GetFormatManager()
+{
+ static FormatManager g_format_manager;
+ return g_format_manager;
+}
+
+void
+DataVisualization::ForceUpdate()
+{
+ GetFormatManager().Changed();
+}
+
+uint32_t
+DataVisualization::GetCurrentRevision ()
+{
+ return GetFormatManager().GetCurrentRevision();
+}
+
+bool
+DataVisualization::ValueFormats::Get(ValueObject& valobj, lldb::DynamicValueType use_dynamic, lldb::ValueFormatSP &entry)
+{
+ return GetFormatManager().GetValueNavigator().Get(valobj,entry, use_dynamic);
+}
+
+void
+DataVisualization::ValueFormats::Add(const ConstString &type, const lldb::ValueFormatSP &entry)
+{
+ GetFormatManager().GetValueNavigator().Add(FormatManager::GetValidTypeName(type),entry);
+}
+
+bool
+DataVisualization::ValueFormats::Delete(const ConstString &type)
+{
+ return GetFormatManager().GetValueNavigator().Delete(type);
+}
+
+void
+DataVisualization::ValueFormats::Clear()
+{
+ GetFormatManager().GetValueNavigator().Clear();
+}
+
+void
+DataVisualization::ValueFormats::LoopThrough(ValueFormat::ValueCallback callback, void* callback_baton)
+{
+ GetFormatManager().GetValueNavigator().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::ValueFormats::GetCount()
+{
+ return GetFormatManager().GetValueNavigator().GetCount();
+}
+
+bool
+DataVisualization::GetSummaryFormat(ValueObject& valobj,
+ lldb::DynamicValueType use_dynamic,
+ lldb::SummaryFormatSP& entry)
+{
+ return GetFormatManager().Get(valobj, entry, use_dynamic);
+}
+bool
+DataVisualization::GetSyntheticChildren(ValueObject& valobj,
+ lldb::DynamicValueType use_dynamic,
+ lldb::SyntheticChildrenSP& entry)
+{
+ return GetFormatManager().Get(valobj, entry, use_dynamic);
+}
+
+bool
+DataVisualization::AnyMatches(ConstString type_name,
+ FormatCategory::FormatCategoryItems items,
+ bool only_enabled,
+ const char** matching_category,
+ FormatCategory::FormatCategoryItems* matching_type)
+{
+ return GetFormatManager().AnyMatches(type_name,
+ items,
+ only_enabled,
+ matching_category,
+ matching_type);
+}
+
+bool
+DataVisualization::Categories::Get(const ConstString &category, lldb::FormatCategorySP &entry)
+{
+ entry = GetFormatManager().Category(category);
+ return true;
+}
+
+void
+DataVisualization::Categories::Add(const ConstString &category)
+{
+ GetFormatManager().Category(category);
+}
+
+bool
+DataVisualization::Categories::Delete(const ConstString &category)
+{
+ GetFormatManager().DisableCategory(category);
+ return GetFormatManager().GetCategories().Delete(category);
+}
+
+void
+DataVisualization::Categories::Clear()
+{
+ GetFormatManager().GetCategories().Clear();
+}
+
+void
+DataVisualization::Categories::Clear(ConstString &category)
+{
+ GetFormatManager().Category(category)->ClearSummaries();
+}
+
+void
+DataVisualization::Categories::Enable(ConstString& category)
+{
+ if (GetFormatManager().Category(category)->IsEnabled() == false)
+ GetFormatManager().EnableCategory(category);
+ else
+ {
+ GetFormatManager().DisableCategory(category);
+ GetFormatManager().EnableCategory(category);
+ }
+}
+
+void
+DataVisualization::Categories::Disable(ConstString& category)
+{
+ if (GetFormatManager().Category(category)->IsEnabled() == true)
+ GetFormatManager().DisableCategory(category);
+}
+
+void
+DataVisualization::Categories::LoopThrough(FormatManager::CategoryCallback callback, void* callback_baton)
+{
+ GetFormatManager().LoopThroughCategories(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::Categories::GetCount()
+{
+ return GetFormatManager().GetCategories().GetCount();
+}
+
+bool
+DataVisualization::NamedSummaryFormats::Get(const ConstString &type, lldb::SummaryFormatSP &entry)
+{
+ return GetFormatManager().GetNamedSummaryNavigator().Get(type,entry);
+}
+
+void
+DataVisualization::NamedSummaryFormats::Add(const ConstString &type, const lldb::SummaryFormatSP &entry)
+{
+ GetFormatManager().GetNamedSummaryNavigator().Add(FormatManager::GetValidTypeName(type),entry);
+}
+
+bool
+DataVisualization::NamedSummaryFormats::Delete(const ConstString &type)
+{
+ return GetFormatManager().GetNamedSummaryNavigator().Delete(type);
+}
+
+void
+DataVisualization::NamedSummaryFormats::Clear()
+{
+ GetFormatManager().GetNamedSummaryNavigator().Clear();
+}
+
+void
+DataVisualization::NamedSummaryFormats::LoopThrough(SummaryFormat::SummaryCallback callback, void* callback_baton)
+{
+ GetFormatManager().GetNamedSummaryNavigator().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::NamedSummaryFormats::GetCount()
+{
+ return GetFormatManager().GetNamedSummaryNavigator().GetCount();
+}
\ No newline at end of file
diff --git a/source/Core/FormatManager.cpp b/source/Core/FormatManager.cpp
index 93b7370..e010c88 100644
--- a/source/Core/FormatManager.cpp
+++ b/source/Core/FormatManager.cpp
@@ -225,6 +225,62 @@
}
}
+void
+FormatCategory::Clear (FormatCategoryItems items)
+{
+ if ( (items & eSummary) == eSummary )
+ m_summary_nav->Clear();
+ if ( (items & eRegexSummary) == eRegexSummary )
+ m_regex_summary_nav->Clear();
+ if ( (items & eFilter) == eFilter )
+ m_filter_nav->Clear();
+ if ( (items & eRegexFilter) == eRegexFilter )
+ m_regex_filter_nav->Clear();
+ if ( (items & eSynth) == eSynth )
+ m_synth_nav->Clear();
+ if ( (items & eRegexSynth) == eRegexSynth )
+ m_regex_synth_nav->Clear();
+}
+
+bool
+FormatCategory::Delete (ConstString name,
+ FormatCategoryItems items)
+{
+ bool success = false;
+ if ( (items & eSummary) == eSummary )
+ success = m_summary_nav->Delete(name) || success;
+ if ( (items & eRegexSummary) == eRegexSummary )
+ success = m_regex_summary_nav->Delete(name) || success;
+ if ( (items & eFilter) == eFilter )
+ success = m_filter_nav->Delete(name) || success;
+ if ( (items & eRegexFilter) == eRegexFilter )
+ success = m_regex_filter_nav->Delete(name) || success;
+ if ( (items & eSynth) == eSynth )
+ success = m_synth_nav->Delete(name) || success;
+ if ( (items & eRegexSynth) == eRegexSynth )
+ success = m_regex_synth_nav->Delete(name) || success;
+ return success;
+}
+
+uint32_t
+FormatCategory::GetCount (FormatCategoryItems items)
+{
+ uint32_t count = 0;
+ if ( (items & eSummary) == eSummary )
+ count += m_summary_nav->GetCount();
+ if ( (items & eRegexSummary) == eRegexSummary )
+ count += m_regex_summary_nav->GetCount();
+ if ( (items & eFilter) == eFilter )
+ count += m_filter_nav->GetCount();
+ if ( (items & eRegexFilter) == eRegexFilter )
+ count += m_regex_filter_nav->GetCount();
+ if ( (items & eSynth) == eSynth )
+ count += m_synth_nav->GetCount();
+ if ( (items & eRegexSynth) == eRegexSynth )
+ count += m_regex_synth_nav->GetCount();
+ return count;
+}
+
bool
FormatCategory::AnyMatches(ConstString type_name,
FormatCategoryItems items,
@@ -458,187 +514,4 @@
EnableCategory(m_gnu_cpp_category_name);
EnableCategory(m_default_category_name);
-}
-
-static FormatManager&
-GetFormatManager()
-{
- static FormatManager g_format_manager;
- return g_format_manager;
-}
-
-void
-DataVisualization::ForceUpdate()
-{
- GetFormatManager().Changed();
-}
-
-uint32_t
-DataVisualization::GetCurrentRevision ()
-{
- return GetFormatManager().GetCurrentRevision();
-}
-
-bool
-DataVisualization::ValueFormats::Get(ValueObject& valobj, lldb::DynamicValueType use_dynamic, lldb::ValueFormatSP &entry)
-{
- return GetFormatManager().Value().Get(valobj,entry, use_dynamic);
-}
-
-void
-DataVisualization::ValueFormats::Add(const ConstString &type, const lldb::ValueFormatSP &entry)
-{
- GetFormatManager().Value().Add(FormatManager::GetValidTypeName(type),entry);
-}
-
-bool
-DataVisualization::ValueFormats::Delete(const ConstString &type)
-{
- return GetFormatManager().Value().Delete(type);
-}
-
-void
-DataVisualization::ValueFormats::Clear()
-{
- GetFormatManager().Value().Clear();
-}
-
-void
-DataVisualization::ValueFormats::LoopThrough(ValueFormat::ValueCallback callback, void* callback_baton)
-{
- GetFormatManager().Value().LoopThrough(callback, callback_baton);
-}
-
-uint32_t
-DataVisualization::ValueFormats::GetCount()
-{
- return GetFormatManager().Value().GetCount();
-}
-
-bool
-DataVisualization::GetSummaryFormat(ValueObject& valobj,
- lldb::DynamicValueType use_dynamic,
- lldb::SummaryFormatSP& entry)
-{
- return GetFormatManager().Get(valobj, entry, use_dynamic);
-}
-bool
-DataVisualization::GetSyntheticChildren(ValueObject& valobj,
- lldb::DynamicValueType use_dynamic,
- lldb::SyntheticChildrenSP& entry)
-{
- return GetFormatManager().Get(valobj, entry, use_dynamic);
-}
-
-bool
-DataVisualization::AnyMatches(ConstString type_name,
- FormatCategory::FormatCategoryItems items,
- bool only_enabled,
- const char** matching_category,
- FormatCategory::FormatCategoryItems* matching_type)
-{
- return GetFormatManager().AnyMatches(type_name,
- items,
- only_enabled,
- matching_category,
- matching_type);
-}
-
-bool
-DataVisualization::Categories::Get(const ConstString &category, lldb::FormatCategorySP &entry)
-{
- entry = GetFormatManager().Category(category);
- return true;
-}
-
-void
-DataVisualization::Categories::Add(const ConstString &category)
-{
- GetFormatManager().Category(category);
-}
-
-bool
-DataVisualization::Categories::Delete(const ConstString &category)
-{
- GetFormatManager().DisableCategory(category);
- return GetFormatManager().Categories().Delete(category);
-}
-
-void
-DataVisualization::Categories::Clear()
-{
- GetFormatManager().Categories().Clear();
-}
-
-void
-DataVisualization::Categories::Clear(ConstString &category)
-{
- GetFormatManager().Category(category)->ClearSummaries();
-}
-
-void
-DataVisualization::Categories::Enable(ConstString& category)
-{
- if (GetFormatManager().Category(category)->IsEnabled() == false)
- GetFormatManager().EnableCategory(category);
- else
- {
- GetFormatManager().DisableCategory(category);
- GetFormatManager().EnableCategory(category);
- }
-}
-
-void
-DataVisualization::Categories::Disable(ConstString& category)
-{
- if (GetFormatManager().Category(category)->IsEnabled() == true)
- GetFormatManager().DisableCategory(category);
-}
-
-void
-DataVisualization::Categories::LoopThrough(FormatManager::CategoryCallback callback, void* callback_baton)
-{
- GetFormatManager().LoopThroughCategories(callback, callback_baton);
-}
-
-uint32_t
-DataVisualization::Categories::GetCount()
-{
- return GetFormatManager().Categories().GetCount();
-}
-
-bool
-DataVisualization::NamedSummaryFormats::Get(const ConstString &type, lldb::SummaryFormatSP &entry)
-{
- return GetFormatManager().NamedSummary().Get(type,entry);
-}
-
-void
-DataVisualization::NamedSummaryFormats::Add(const ConstString &type, const lldb::SummaryFormatSP &entry)
-{
- GetFormatManager().NamedSummary().Add(FormatManager::GetValidTypeName(type),entry);
-}
-
-bool
-DataVisualization::NamedSummaryFormats::Delete(const ConstString &type)
-{
- return GetFormatManager().NamedSummary().Delete(type);
-}
-
-void
-DataVisualization::NamedSummaryFormats::Clear()
-{
- GetFormatManager().NamedSummary().Clear();
-}
-
-void
-DataVisualization::NamedSummaryFormats::LoopThrough(SummaryFormat::SummaryCallback callback, void* callback_baton)
-{
- GetFormatManager().NamedSummary().LoopThrough(callback, callback_baton);
-}
-
-uint32_t
-DataVisualization::NamedSummaryFormats::GetCount()
-{
- return GetFormatManager().NamedSummary().GetCount();
}
\ No newline at end of file
diff --git a/source/Core/ValueObject.cpp b/source/Core/ValueObject.cpp
index b8b3465..948109d 100644
--- a/source/Core/ValueObject.cpp
+++ b/source/Core/ValueObject.cpp
@@ -19,8 +19,8 @@
// Project includes
#include "lldb/Core/DataBufferHeap.h"
+#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
#include "lldb/Core/Log.h"
#include "lldb/Core/StreamString.h"
#include "lldb/Core/ValueObjectChild.h"
diff --git a/source/Interpreter/CommandObjectScript.cpp b/source/Interpreter/CommandObjectScript.cpp
index a645287..9736f49 100644
--- a/source/Interpreter/CommandObjectScript.cpp
+++ b/source/Interpreter/CommandObjectScript.cpp
@@ -14,8 +14,8 @@
// Other libraries and framework includes
// Project includes
+#include "lldb/Core/DataVisualization.h"
#include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
#include "lldb/Interpreter/Args.h"
#include "lldb/Interpreter/CommandReturnObject.h"