summaryrefslogtreecommitdiffstats
path: root/source/DataFormatters/FormatClasses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/DataFormatters/FormatClasses.cpp')
-rw-r--r--source/DataFormatters/FormatClasses.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/source/DataFormatters/FormatClasses.cpp b/source/DataFormatters/FormatClasses.cpp
index f27b45b..2e4acd1 100644
--- a/source/DataFormatters/FormatClasses.cpp
+++ b/source/DataFormatters/FormatClasses.cpp
@@ -9,6 +9,8 @@
#include "lldb/DataFormatters/FormatClasses.h"
+#include "lldb/DataFormatters/FormatManager.h"
+
// C Includes
// C++ Includes
@@ -20,3 +22,48 @@
using namespace lldb;
using namespace lldb_private;
+FormattersMatchData::FormattersMatchData (ValueObject& valobj, lldb::DynamicValueType use_dynamic) :
+ m_valobj(valobj),
+ m_dynamic_value_type(use_dynamic),
+ m_formatters_match_vector({},false),
+ m_type_for_cache(),
+ m_candidate_languages()
+{
+ m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic);
+ m_candidate_languages = FormatManager::GetCandidateLanguages(valobj);
+}
+
+FormattersMatchVector
+FormattersMatchData::GetMatchesVector ()
+{
+ if (!m_formatters_match_vector.second)
+ {
+ m_formatters_match_vector.second = true;
+ m_formatters_match_vector.first = FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type);
+ }
+ return m_formatters_match_vector.first;
+}
+
+ConstString
+FormattersMatchData::GetTypeForCache ()
+{
+ return m_type_for_cache;
+}
+
+CandidateLanguagesVector
+FormattersMatchData::GetCandidateLanguages ()
+{
+ return m_candidate_languages;
+}
+
+ValueObject&
+FormattersMatchData::GetValueObject ()
+{
+ return m_valobj;
+}
+
+lldb::DynamicValueType
+FormattersMatchData::GetDynamicValueType ()
+{
+ return m_dynamic_value_type;
+}
OpenPOWER on IntegriCloud