]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp
MFV r304060:
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / source / DataFormatters / FormatClasses.cpp
1 //===-- FormatClasses.cpp ----------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #include "lldb/DataFormatters/FormatClasses.h"
11
12 #include "lldb/DataFormatters/FormatManager.h"
13
14 // C Includes
15
16 // C++ Includes
17
18 // Other libraries and framework includes
19
20 // Project includes
21
22 using namespace lldb;
23 using namespace lldb_private;
24
25 FormattersMatchData::FormattersMatchData (ValueObject& valobj, lldb::DynamicValueType use_dynamic) :
26     m_valobj(valobj),
27     m_dynamic_value_type(use_dynamic),
28     m_formatters_match_vector({},false),
29     m_type_for_cache(),
30     m_candidate_languages()
31 {
32     m_type_for_cache = FormatManager::GetTypeForCache(valobj, use_dynamic);
33     m_candidate_languages = FormatManager::GetCandidateLanguages(valobj);
34 }
35
36 FormattersMatchVector
37 FormattersMatchData::GetMatchesVector ()
38 {
39     if (!m_formatters_match_vector.second)
40     {
41         m_formatters_match_vector.second = true;
42         m_formatters_match_vector.first = FormatManager::GetPossibleMatches(m_valobj, m_dynamic_value_type);
43     }
44     return m_formatters_match_vector.first;
45 }
46
47 ConstString
48 FormattersMatchData::GetTypeForCache ()
49 {
50     return m_type_for_cache;
51 }
52
53 CandidateLanguagesVector
54 FormattersMatchData::GetCandidateLanguages ()
55 {
56     return m_candidate_languages;
57 }
58
59 ValueObject&
60 FormattersMatchData::GetValueObject ()
61 {
62     return m_valobj;
63 }
64
65 lldb::DynamicValueType
66 FormattersMatchData::GetDynamicValueType ()
67 {
68     return m_dynamic_value_type;
69 }