9#ifndef LLDB_DATAFORMATTERS_FORMATCLASSES_H
10#define LLDB_DATAFORMATTERS_FORMATCLASSES_H
30 template <
typename FormatterType>
32 std::function<
typename FormatterType::SharedPointer(
36 template <
typename FormatterType>
38 std::vector<HardcodedFormatterFinder<FormatterType>>;
79 Flags flags, uint32_t ptr_stripped_depth = 0)
102 template <
class Formatter>
103 bool IsMatch(
const std::shared_ptr<Formatter> &formatter_sp)
const {
159 m_type.m_type_name = std::string(name);
166 m_type.m_type_name = std::string(type->GetName().GetStringRef());
167 m_type.m_compiler_type = type->GetForwardCompilerType();
174 m_type.m_type_name.assign(type.GetTypeName().GetCString());
175 m_type.m_compiler_type = type;
180 if (
m_type.m_type_name.size())
181 return m_type.m_type_name.c_str();
186 if (
m_type.m_compiler_type.IsValid())
187 return m_type.m_compiler_type;
Generic representation of a type in a programming language.
A uniqued constant string class.
TypeNameSpecifierImpl(CompilerType type)
const TypeNameSpecifierImpl & operator=(const TypeNameSpecifierImpl &)=delete
CompilerType GetCompilerType()
lldb::FormatterMatchType GetMatchType()
TypeNameSpecifierImpl(lldb::TypeSP type)
lldb::FormatterMatchType m_match_type
TypeNameSpecifierImpl()=default
TypeNameSpecifierImpl(const TypeNameSpecifierImpl &)=delete
TypeNameSpecifierImpl(llvm::StringRef name, lldb::FormatterMatchType match_type)
A class that represents a running process on the host machine.
std::vector< FormattersMatchCandidate > FormattersMatchVector
std::vector< lldb::LanguageType > CandidateLanguagesVector
FormatterMatchType
Type of match to be performed when looking for a formatter for a data type.
std::shared_ptr< lldb_private::Type > TypeSP
CompilerType m_compiler_type