9#ifndef LLDB_CORE_FORMATENTITY_H
10#define LLDB_CORE_FORMATENTITY_H
23class CompletionRequest;
24class ExecutionContext;
38namespace FormatEntity {
109 const char *
string =
nullptr;
144 bool keep_separator =
false) {
149 const char *f =
nullptr)
152 Entry(llvm::StringRef s);
183 const size_t m = rhs.
children.size();
184 for (
size_t i = 0; i < std::min<size_t>(n, m); ++i) {
210 ValueObject *valobj,
bool function_changed,
bool initial_function);
215 bool function_changed,
bool initial_function);
220 bool initial_function);
225 llvm::StringRef &variable_name,
226 llvm::StringRef &variable_format);
237 llvm::StringRef element_format);
A section + offset based address class.
"lldb/Utility/ArgCompletionRequest.h"
"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution ...
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
A stream class that can stream formatted output to a file.
Defines a symbol context baton that can be handed other debug core functions.
A class that represents a running process on the host machine.
Format
Display format definitions.
const char * name
The name/string placeholder that corresponds to this definition.
constexpr Definition(const char *name, const FormatEntity::Entry::Type t, const uint64_t data)
const Definition * children
An array of "num_children" Definition entries.
constexpr Definition(const char *name, const FormatEntity::Entry::Type t, const uint64_t num_children, const Definition *children, const bool keep_separator=false)
const bool keep_separator
Whether the separator is kept during parsing or not.
const char * string
Insert this exact string into the output.
const uint64_t data
Data that is returned as the value of the format string.
constexpr Definition(const char *name, const FormatEntity::Entry::Type t)
const uint32_t num_children
The number of children of this node in the tree of format strings.
const Entry::Type type
Entry::Type corresponding to this definition.
constexpr Definition(const char *name, const char *string)
void Dump(Stream &s, int depth=0) const
std::vector< Entry > children
void AppendText(const llvm::StringRef &s)
static constexpr Definition DefinitionWithChildren(const char *name, const FormatEntity::Entry::Type t, const Definition(&children)[N], bool keep_separator=false)
std::string printf_format
bool operator==(const Entry &rhs) const
void AppendEntry(const Entry &&entry)
static const char * TypeToCString(Type t)
@ FunctionAddrOffsetConcrete
@ FunctionInitialFunction
@ ThreadCompletedExpression
@ ScriptVariableSynthetic
Entry(Type t=Type::Invalid, const char *s=nullptr, const char *f=nullptr)