1*b9c1b51eSKate Stone //===-- FormatClasses.cpp ----------------------------------------*- C++ 2*b9c1b51eSKate Stone //-*-===// 35548cb50SEnrico Granata // 45548cb50SEnrico Granata // The LLVM Compiler Infrastructure 55548cb50SEnrico Granata // 65548cb50SEnrico Granata // This file is distributed under the University of Illinois Open Source 75548cb50SEnrico Granata // License. See LICENSE.TXT for details. 85548cb50SEnrico Granata // 95548cb50SEnrico Granata //===----------------------------------------------------------------------===// 105548cb50SEnrico Granata 11de61cecdSEnrico Granata #include "lldb/DataFormatters/FormatClasses.h" 125548cb50SEnrico Granata 138a9a8f39SEnrico Granata #include "lldb/DataFormatters/FormatManager.h" 148a9a8f39SEnrico Granata 155548cb50SEnrico Granata // C Includes 165548cb50SEnrico Granata 175548cb50SEnrico Granata // C++ Includes 185548cb50SEnrico Granata 195548cb50SEnrico Granata // Other libraries and framework includes 205548cb50SEnrico Granata 215548cb50SEnrico Granata // Project includes 225548cb50SEnrico Granata 235548cb50SEnrico Granata using namespace lldb; 245548cb50SEnrico Granata using namespace lldb_private; 255548cb50SEnrico Granata 26*b9c1b51eSKate Stone FormattersMatchData::FormattersMatchData(ValueObject &valobj, 27*b9c1b51eSKate Stone lldb::DynamicValueType use_dynamic) 28*b9c1b51eSKate Stone : m_valobj(valobj), m_dynamic_value_type(use_dynamic), 29*b9c1b51eSKate Stone m_formatters_match_vector({}, false), m_type_for_cache(), 30*b9c1b51eSKate Stone m_candidate_languages() { 318a9a8f39SEnrico Granata m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic); 328a9a8f39SEnrico Granata m_candidate_languages = FormatManager::GetCandidateLanguages(valobj); 338a9a8f39SEnrico Granata } 348a9a8f39SEnrico Granata 35*b9c1b51eSKate Stone FormattersMatchVector FormattersMatchData::GetMatchesVector() { 36*b9c1b51eSKate Stone if (!m_formatters_match_vector.second) { 378a9a8f39SEnrico Granata m_formatters_match_vector.second = true; 38*b9c1b51eSKate Stone m_formatters_match_vector.first = 39*b9c1b51eSKate Stone FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type); 408a9a8f39SEnrico Granata } 418a9a8f39SEnrico Granata return m_formatters_match_vector.first; 428a9a8f39SEnrico Granata } 438a9a8f39SEnrico Granata 44*b9c1b51eSKate Stone ConstString FormattersMatchData::GetTypeForCache() { return m_type_for_cache; } 458a9a8f39SEnrico Granata 46*b9c1b51eSKate Stone CandidateLanguagesVector FormattersMatchData::GetCandidateLanguages() { 478a9a8f39SEnrico Granata return m_candidate_languages; 488a9a8f39SEnrico Granata } 498a9a8f39SEnrico Granata 50*b9c1b51eSKate Stone ValueObject &FormattersMatchData::GetValueObject() { return m_valobj; } 518a9a8f39SEnrico Granata 52*b9c1b51eSKate Stone lldb::DynamicValueType FormattersMatchData::GetDynamicValueType() { 538a9a8f39SEnrico Granata return m_dynamic_value_type; 548a9a8f39SEnrico Granata } 55