]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/DataFormatters/FormatClasses.cpp
Vendor import of lldb trunk r290819:
[FreeBSD/FreeBSD.git] / source / DataFormatters / FormatClasses.cpp
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 // C Includes
16
17 // C++ Includes
18
19 // Other libraries and framework includes
20
21 // Project includes
22
23 using namespace lldb;
24 using namespace lldb_private;
25
26 FormattersMatchData::FormattersMatchData(ValueObject &valobj,
27                                          lldb::DynamicValueType use_dynamic)
28     : m_valobj(valobj), m_dynamic_value_type(use_dynamic),
29       m_formatters_match_vector({}, false), m_type_for_cache(),
30       m_candidate_languages() {
31   m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic);
32   m_candidate_languages = FormatManager::GetCandidateLanguages(valobj);
33 }
34
35 FormattersMatchVector FormattersMatchData::GetMatchesVector() {
36   if (!m_formatters_match_vector.second) {
37     m_formatters_match_vector.second = true;
38     m_formatters_match_vector.first =
39         FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type);
40   }
41   return m_formatters_match_vector.first;
42 }
43
44 ConstString FormattersMatchData::GetTypeForCache() { return m_type_for_cache; }
45
46 CandidateLanguagesVector FormattersMatchData::GetCandidateLanguages() {
47   return m_candidate_languages;
48 }
49
50 ValueObject &FormattersMatchData::GetValueObject() { return m_valobj; }
51
52 lldb::DynamicValueType FormattersMatchData::GetDynamicValueType() {
53   return m_dynamic_value_type;
54 }