LLDB
mainline
llvm-project
lldb
source
DataFormatters
FormatClasses.cpp
Go to the documentation of this file.
1
//===-- FormatClasses.cpp -------------------------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "
lldb/DataFormatters/FormatClasses.h
"
10
11
#include "
lldb/DataFormatters/FormatManager.h
"
12
13
14
15
16
17
using namespace
lldb
;
18
using namespace
lldb_private
;
19
20
FormattersMatchData::FormattersMatchData
(
ValueObject
&valobj,
21
lldb::DynamicValueType
use_dynamic)
22
:
m_valobj
(valobj),
m_dynamic_value_type
(use_dynamic),
23
m_formatters_match_vector
({},
false
), m_type_for_cache(),
24
m_candidate_languages() {
25
m_type_for_cache =
FormatManager::GetTypeForCache
(valobj, use_dynamic);
26
m_candidate_languages =
27
FormatManager::GetCandidateLanguages
(valobj.GetObjectRuntimeLanguage());
28
}
29
30
FormattersMatchVector
FormattersMatchData::GetMatchesVector
() {
31
if
(!
m_formatters_match_vector
.second) {
32
m_formatters_match_vector
.second =
true
;
33
m_formatters_match_vector
.first =
34
FormatManager::GetPossibleMatches
(
m_valobj
,
m_dynamic_value_type
);
35
}
36
return
m_formatters_match_vector
.first;
37
}
38
39
llvm::StringRef
FormattersMatchData::GetTypeForCache
() {
40
return
m_type_for_cache
;
41
}
42
43
CandidateLanguagesVector
FormattersMatchData::GetCandidateLanguages
() {
44
return
m_candidate_languages
;
45
}
46
47
ValueObject
&
FormattersMatchData::GetValueObject
() {
return
m_valobj
; }
48
49
lldb::DynamicValueType
FormattersMatchData::GetDynamicValueType
() {
50
return
m_dynamic_value_type
;
51
}
FormatClasses.h
FormatManager.h
lldb_private::FormatManager::GetPossibleMatches
static FormattersMatchVector GetPossibleMatches(ValueObject &valobj, lldb::DynamicValueType use_dynamic)
Definition
FormatManager.h:146
lldb_private::FormatManager::GetCandidateLanguages
static std::vector< lldb::LanguageType > GetCandidateLanguages(lldb::LanguageType lang_type)
Definition
FormatManager.cpp:579
lldb_private::FormatManager::GetTypeForCache
static llvm::StringRef GetTypeForCache(ValueObject &, lldb::DynamicValueType)
Definition
FormatManager.cpp:567
lldb_private::FormattersMatchData::m_valobj
ValueObject & m_valobj
Definition
FormatClasses.h:145
lldb_private::FormattersMatchData::GetValueObject
ValueObject & GetValueObject()
Definition
FormatClasses.cpp:47
lldb_private::FormattersMatchData::m_candidate_languages
CandidateLanguagesVector m_candidate_languages
Definition
FormatClasses.h:149
lldb_private::FormattersMatchData::GetCandidateLanguages
CandidateLanguagesVector GetCandidateLanguages()
Definition
FormatClasses.cpp:43
lldb_private::FormattersMatchData::m_formatters_match_vector
std::pair< FormattersMatchVector, bool > m_formatters_match_vector
Definition
FormatClasses.h:147
lldb_private::FormattersMatchData::GetDynamicValueType
lldb::DynamicValueType GetDynamicValueType()
Definition
FormatClasses.cpp:49
lldb_private::FormattersMatchData::GetMatchesVector
FormattersMatchVector GetMatchesVector()
Definition
FormatClasses.cpp:30
lldb_private::FormattersMatchData::FormattersMatchData
FormattersMatchData(ValueObject &, lldb::DynamicValueType)
Definition
FormatClasses.cpp:20
lldb_private::FormattersMatchData::m_dynamic_value_type
lldb::DynamicValueType m_dynamic_value_type
Definition
FormatClasses.h:146
lldb_private::FormattersMatchData::GetTypeForCache
llvm::StringRef GetTypeForCache()
Definition
FormatClasses.cpp:39
lldb_private::FormattersMatchData::m_type_for_cache
std::string m_type_for_cache
Definition
FormatClasses.h:148
lldb_private::ValueObject
ValueObject:
Definition
ValueObject.h:105
lldb_private
A class that represents a running process on the host machine.
Definition
SBAddressRange.h:14
lldb_private::FormattersMatchVector
std::vector< FormattersMatchCandidate > FormattersMatchVector
Definition
FormatClasses.h:127
lldb_private::CandidateLanguagesVector
std::vector< lldb::LanguageType > CandidateLanguagesVector
Definition
FormatClasses.h:128
lldb
Definition
SBAddress.h:15
lldb::DynamicValueType
DynamicValueType
Definition
lldb-enumerations.h:691
Generated on
for LLDB by
1.14.0