#include "lldb/DataFormatters/FormatManager.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/DataFormatters/LanguageCategory.h"
#include "lldb/Interpreter/ScriptInterpreter.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Language.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "llvm/ADT/STLExtras.h"
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacelldb_private::formatters;
struct FormatInfo { … };
static constexpr FormatInfo g_format_infos[] = …;
static_assert …;
static uint32_t g_num_format_infos = …;
static bool GetFormatFromFormatChar(char format_char, Format &format) { … }
static bool GetFormatFromFormatName(llvm::StringRef format_name,
Format &format) { … }
void FormatManager::Changed() { … }
bool FormatManager::GetFormatFromCString(const char *format_cstr,
lldb::Format &format) { … }
char FormatManager::GetFormatAsFormatChar(lldb::Format format) { … }
const char *FormatManager::GetFormatAsCString(Format format) { … }
void FormatManager::EnableAllCategories() { … }
void FormatManager::DisableAllCategories() { … }
void FormatManager::GetPossibleMatches(
ValueObject &valobj, CompilerType compiler_type,
lldb::DynamicValueType use_dynamic, FormattersMatchVector &entries,
FormattersMatchCandidate::Flags current_flags, bool root_level) { … }
lldb::TypeFormatImplSP
FormatManager::GetFormatForType(lldb::TypeNameSpecifierImplSP type_sp) { … }
lldb::TypeSummaryImplSP
FormatManager::GetSummaryForType(lldb::TypeNameSpecifierImplSP type_sp) { … }
lldb::TypeFilterImplSP
FormatManager::GetFilterForType(lldb::TypeNameSpecifierImplSP type_sp) { … }
lldb::ScriptedSyntheticChildrenSP
FormatManager::GetSyntheticForType(lldb::TypeNameSpecifierImplSP type_sp) { … }
void FormatManager::ForEachCategory(TypeCategoryMap::ForEachCallback callback) { … }
lldb::TypeCategoryImplSP
FormatManager::GetCategory(ConstString category_name, bool can_create) { … }
lldb::Format FormatManager::GetSingleItemFormat(lldb::Format vector_format) { … }
bool FormatManager::ShouldPrintAsOneLiner(ValueObject &valobj) { … }
ConstString FormatManager::GetTypeForCache(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) { … }
std::vector<lldb::LanguageType>
FormatManager::GetCandidateLanguages(lldb::LanguageType lang_type) { … }
LanguageCategory *
FormatManager::GetCategoryForLanguage(lldb::LanguageType lang_type) { … }
template <typename ImplSP>
ImplSP FormatManager::GetHardcoded(FormattersMatchData &match_data) { … }
namespace {
FormatterKind;
FormatterKind;
FormatterKind;
FormatterKind;
}
#define FORMAT_LOG …
template <typename ImplSP>
ImplSP FormatManager::Get(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) { … }
template <typename ImplSP>
ImplSP FormatManager::GetCached(FormattersMatchData &match_data) { … }
#undef FORMAT_LOG
lldb::TypeFormatImplSP
FormatManager::GetFormat(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) { … }
lldb::TypeSummaryImplSP
FormatManager::GetSummaryFormat(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) { … }
lldb::SyntheticChildrenSP
FormatManager::GetSyntheticChildren(ValueObject &valobj,
lldb::DynamicValueType use_dynamic) { … }
FormatManager::FormatManager()
: … { … }
void FormatManager::LoadSystemFormatters() { … }
void FormatManager::LoadVectorFormatters() { … }