LLDB mainline
DataVisualization.h
Go to the documentation of this file.
1//===-- DataVisualization.h -------------------------------------*- C++ -*-===//
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#ifndef LLDB_DATAFORMATTERS_DATAVISUALIZATION_H
10#define LLDB_DATAFORMATTERS_DATAVISUALIZATION_H
11
14
15namespace lldb_private {
16
17// this class is the high-level front-end of LLDB Data Visualization code in
18// FormatManager.h/cpp is the low-level implementation of this feature clients
19// should refer to this class as the entry-point into the data formatters
20// unless they have a good reason to bypass this and go to the backend
22public:
23 // use this call to force the FM to consider itself updated even when there
24 // is no apparent reason for that
25 static void ForceUpdate();
26
27 static uint32_t GetCurrentRevision();
28
29 static bool ShouldPrintAsOneLiner(ValueObject &valobj);
30
32 lldb::DynamicValueType use_dynamic);
33
36
39
42
45
48
51
53 public:
54 static bool GetSummaryFormat(llvm::StringRef type,
56
57 static void Add(llvm::StringRef type, const lldb::TypeSummaryImplSP &entry);
58
59 static bool Delete(llvm::StringRef type);
60
61 static void Clear();
62
63 static void ForEach(std::function<bool(const TypeMatcher &,
65 callback);
66
67 static uint32_t GetCount();
68 };
69
70 class Categories {
71 public:
72 static bool GetCategory(llvm::StringRef category,
74 bool allow_create = true);
75
76 static bool GetCategory(lldb::LanguageType language,
78
79 static void Add(llvm::StringRef category);
80
81 static bool Delete(llvm::StringRef category);
82
83 static void Clear();
84
85 static void Clear(llvm::StringRef category);
86
87 static void Enable(llvm::StringRef category,
89
90 static void Enable(lldb::LanguageType lang_type);
91
92 static void Disable(llvm::StringRef category);
93
94 static void Disable(lldb::LanguageType lang_type);
95
96 static void Enable(const lldb::TypeCategoryImplSP &category,
98
99 static void Disable(const lldb::TypeCategoryImplSP &category);
100
101 static void EnableStar();
102
103 static void DisableStar();
104
105 static void ForEach(TypeCategoryMap::ForEachCallback callback);
106
107 static uint32_t GetCount();
108
110 };
111};
112
113} // namespace lldb_private
114
115#endif // LLDB_DATAFORMATTERS_DATAVISUALIZATION_H
static bool GetCategory(llvm::StringRef category, lldb::TypeCategoryImplSP &entry, bool allow_create=true)
static lldb::TypeCategoryImplSP GetCategoryAtIndex(size_t)
static void ForEach(TypeCategoryMap::ForEachCallback callback)
static bool Delete(llvm::StringRef category)
static void Disable(llvm::StringRef category)
static void Add(llvm::StringRef category)
static void Enable(llvm::StringRef category, TypeCategoryMap::Position=TypeCategoryMap::Default)
static void ForEach(std::function< bool(const TypeMatcher &, const lldb::TypeSummaryImplSP &)> callback)
static bool GetSummaryFormat(llvm::StringRef type, lldb::TypeSummaryImplSP &entry)
static void Add(llvm::StringRef type, const lldb::TypeSummaryImplSP &entry)
static lldb::ScriptedSyntheticChildrenSP GetSyntheticForType(lldb::TypeNameSpecifierImplSP type_sp)
static lldb::TypeFilterImplSP GetFilterForType(lldb::TypeNameSpecifierImplSP type_sp)
static bool ShouldPrintAsOneLiner(ValueObject &valobj)
static lldb::TypeSummaryImplSP GetSummaryFormat(ValueObject &valobj, lldb::DynamicValueType use_dynamic)
static lldb::TypeFormatImplSP GetFormat(ValueObject &valobj, lldb::DynamicValueType use_dynamic)
static lldb::TypeFormatImplSP GetFormatForType(lldb::TypeNameSpecifierImplSP type_sp)
static lldb::SyntheticChildrenSP GetSyntheticChildren(ValueObject &valobj, lldb::DynamicValueType use_dynamic)
static lldb::TypeSummaryImplSP GetSummaryForType(lldb::TypeNameSpecifierImplSP type_sp)
std::function< bool(const lldb::TypeCategoryImplSP &)> ForEachCallback
static const Position Default
Class for matching type names.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::TypeSummaryImpl > TypeSummaryImplSP
std::shared_ptr< lldb_private::TypeFormatImpl > TypeFormatImplSP
std::shared_ptr< lldb_private::TypeNameSpecifierImpl > TypeNameSpecifierImplSP
LanguageType
Programming language type.
std::shared_ptr< lldb_private::SyntheticChildren > SyntheticChildrenSP
std::shared_ptr< lldb_private::TypeCategoryImpl > TypeCategoryImplSP
std::shared_ptr< lldb_private::ScriptedSyntheticChildren > ScriptedSyntheticChildrenSP
std::shared_ptr< lldb_private::TypeFilterImpl > TypeFilterImplSP