diff options
Diffstat (limited to 'source/DataFormatters/FormatClasses.cpp')
-rw-r--r-- | source/DataFormatters/FormatClasses.cpp | 47 |
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; +} |