9#ifndef LLDB_CORE_FORMATENTITY_H
10#define LLDB_CORE_FORMATENTITY_H
14#include "llvm/ADT/SmallVector.h"
125 const char *
string =
nullptr;
160 bool keep_separator =
false) {
161 return Definition(name, t, N, children, keep_separator);
165 const char *f =
nullptr);
166 Entry(llvm::StringRef s);
233 ValueObject *valobj,
bool function_changed,
bool initial_function);
238 bool function_changed,
bool initial_function);
243 llvm::StringRef &variable_name,
244 llvm::StringRef &variable_format);
255 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
Entry(Type t=Type::Invalid, const char *s=nullptr, const char *f=nullptr)
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
llvm::SmallVector< std::vector< Entry >, 1 > children_stack
A stack of children entries, used by Scope entries to provide alterantive children.
bool operator==(const Entry &rhs) const
std::vector< Entry > & GetChildren()
static const char * TypeToCString(Type t)
void AppendEntry(const Entry &&entry)
@ FunctionAddrOffsetConcrete
@ FunctionInitialFunction
@ FunctionTemplateArguments
@ FunctionFormattedArguments
@ ThreadCompletedExpression
@ ScriptVariableSynthetic