FormatClasses.cpp revision 344779
1//===-- FormatClasses.cpp ----------------------------------------*- C++ 2//-*-===// 3// 4// The LLVM Compiler Infrastructure 5// 6// This file is distributed under the University of Illinois Open Source 7// License. See LICENSE.TXT for details. 8// 9//===----------------------------------------------------------------------===// 10 11#include "lldb/DataFormatters/FormatClasses.h" 12 13#include "lldb/DataFormatters/FormatManager.h" 14 15 16 17 18 19using namespace lldb; 20using namespace lldb_private; 21 22FormattersMatchData::FormattersMatchData(ValueObject &valobj, 23 lldb::DynamicValueType use_dynamic) 24 : m_valobj(valobj), m_dynamic_value_type(use_dynamic), 25 m_formatters_match_vector({}, false), m_type_for_cache(), 26 m_candidate_languages() { 27 m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic); 28 m_candidate_languages = FormatManager::GetCandidateLanguages(valobj); 29} 30 31FormattersMatchVector FormattersMatchData::GetMatchesVector() { 32 if (!m_formatters_match_vector.second) { 33 m_formatters_match_vector.second = true; 34 m_formatters_match_vector.first = 35 FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type); 36 } 37 return m_formatters_match_vector.first; 38} 39 40ConstString FormattersMatchData::GetTypeForCache() { return m_type_for_cache; } 41 42CandidateLanguagesVector FormattersMatchData::GetCandidateLanguages() { 43 return m_candidate_languages; 44} 45 46ValueObject &FormattersMatchData::GetValueObject() { return m_valobj; } 47 48lldb::DynamicValueType FormattersMatchData::GetDynamicValueType() { 49 return m_dynamic_value_type; 50} 51