1 //===-- FormatClasses.cpp ----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/DataFormatters/FormatClasses.h"
12 #include "lldb/DataFormatters/FormatManager.h"
18 // Other libraries and framework includes
23 using namespace lldb_private;
25 FormattersMatchData::FormattersMatchData (ValueObject& valobj, lldb::DynamicValueType use_dynamic) :
27 m_dynamic_value_type(use_dynamic),
28 m_formatters_match_vector({},false),
30 m_candidate_languages()
32 m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic);
33 m_candidate_languages = FormatManager::GetCandidateLanguages(valobj);
37 FormattersMatchData::GetMatchesVector ()
39 if (!m_formatters_match_vector.second)
41 m_formatters_match_vector.second = true;
42 m_formatters_match_vector.first = FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type);
44 return m_formatters_match_vector.first;
48 FormattersMatchData::GetTypeForCache ()
50 return m_type_for_cache;
53 CandidateLanguagesVector
54 FormattersMatchData::GetCandidateLanguages ()
56 return m_candidate_languages;
60 FormattersMatchData::GetValueObject ()
65 lldb::DynamicValueType
66 FormattersMatchData::GetDynamicValueType ()
68 return m_dynamic_value_type;