LLDB mainline
Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
FormatEntity.cpp File Reference
#include "lldb/Core/FormatEntity.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/AddressRange.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/DumpRegisterValue.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Core/ValueObjectVariable.h"
#include "lldb/DataFormatters/DataVisualization.h"
#include "lldb/DataFormatters/FormatClasses.h"
#include "lldb/DataFormatters/FormatManager.h"
#include "lldb/DataFormatters/TypeSummary.h"
#include "lldb/Expression/ExpressionVariable.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Symbol/Block.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/LineEntry.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/ExecutionContextScope.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Utility/AnsiTerminal.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/CompletionRequest.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/StringList.h"
#include "lldb/Utility/StructuredData.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-forward.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Regex.h"
#include "llvm/TargetParser/Triple.h"
#include <cctype>
#include <cinttypes>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <memory>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  lldb_private
 A class that represents a running process on the host machine.
 

Macros

#define _TO_STR2(_val)   #_val
 
#define _TO_STR(_val)   _TO_STR2(_val)
 
#define ENUM_TO_CSTR(eee)
 

Typedefs

using Definition = lldb_private::FormatEntity::Entry::Definition
 
using Entry = FormatEntity::Entry
 
using EntryType = FormatEntity::Entry::Type
 

Enumerations

enum  FileKind { FileError = 0 , Basename , Dirname , Fullpath }
 

Functions

template<typename T >
static bool RunScriptFormatKeyword (Stream &s, const SymbolContext *sc, const ExecutionContext *exe_ctx, T t, const char *script_function_name)
 
static bool DumpAddressAndContent (Stream &s, const SymbolContext *sc, const ExecutionContext *exe_ctx, const Address &addr, bool print_file_addr_or_load_addr)
 
static bool DumpAddressOffsetFromFunction (Stream &s, const SymbolContext *sc, const ExecutionContext *exe_ctx, const Address &format_addr, bool concrete_only, bool no_padding, bool print_zero_offsets)
 
static bool ScanBracketedRange (llvm::StringRef subpath, size_t &close_bracket_index, const char *&var_name_final_if_array_range, int64_t &index_lower, int64_t &index_higher)
 
static bool DumpFile (Stream &s, const FileSpec &file, FileKind file_kind)
 
static bool DumpRegister (Stream &s, StackFrame *frame, RegisterKind reg_kind, uint32_t reg_num, Format format)
 
static ValueObjectSP ExpandIndexedExpression (ValueObject *valobj, size_t index, bool deref_pointer)
 
static char ConvertValueObjectStyleToChar (ValueObject::ValueObjectRepresentationStyle style)
 
static bool DumpValueWithLLVMFormat (Stream &s, llvm::StringRef options, ValueObject &valobj)
 
static bool DumpValue (Stream &s, const SymbolContext *sc, const ExecutionContext *exe_ctx, const FormatEntity::Entry &entry, ValueObject *valobj)
 
static bool DumpRegister (Stream &s, StackFrame *frame, const char *reg_name, Format format)
 
static bool FormatThreadExtendedInfoRecurse (const FormatEntity::Entry &entry, const StructuredData::ObjectSP &thread_info_dictionary, const SymbolContext *sc, const ExecutionContext *exe_ctx, Stream &s)
 
static bool IsToken (const char *var_name_begin, const char *var)
 
static std::pair< char const *, char const * > ParseBaseName (char const *full_name)
 Parses the basename out of a demangled function name that may include function arguments.
 
static void PrettyPrintFunctionNameWithArgs (Stream &out_stream, char const *full_name, ExecutionContextScope *exe_scope, VariableList const &args)
 Writes out the function name in 'full_name' to 'out_stream' but replaces each argument type with the variable name and the corresponding pretty-printed value.
 
static void FormatInlinedBlock (Stream &out_stream, Block *block)
 
static bool DumpCommaSeparatedChildEntryNames (Stream &s, const Definition *parent)
 
static Status ParseEntry (const llvm::StringRef &format_str, const Definition *parent, FormatEntity::Entry &entry)
 
static const DefinitionFindEntry (const llvm::StringRef &format_str, const Definition *parent, llvm::StringRef &remainder)
 
static Status ParseInternal (llvm::StringRef &format, Entry &parent_entry, uint32_t depth)
 
static std::string MakeMatch (const llvm::StringRef &prefix, const char *suffix)
 
static void AddMatches (const Definition *def, const llvm::StringRef &prefix, const llvm::StringRef &match_prefix, StringList &matches)
 

Variables

constexpr Definition g_string_entry []
 
constexpr Definition g_addr_entries []
 
constexpr Definition g_file_child_entries []
 
constexpr Definition g_frame_child_entries []
 
constexpr Definition g_function_child_entries []
 
constexpr Definition g_line_child_entries []
 
constexpr Definition g_module_child_entries []
 
constexpr Definition g_process_child_entries []
 
constexpr Definition g_svar_child_entries []
 
constexpr Definition g_var_child_entries []
 
constexpr Definition g_thread_child_entries []
 
constexpr Definition g_target_child_entries []
 
constexpr Definition g_ansi_fg_entries []
 
constexpr Definition g_ansi_bg_entries []
 
constexpr Definition g_ansi_entries []
 
constexpr Definition g_script_child_entries []
 
constexpr Definition g_top_level_entries []
 
constexpr Definition g_root
 
static llvm::Regex LLVMFormatPattern {"x[-+]?\\d*|n|d", llvm::Regex::IgnoreCase}
 Options supported by format_provider<T> for integral arithmetic types.
 

Macro Definition Documentation

◆ _TO_STR

#define _TO_STR (   _val)    _TO_STR2(_val)

Definition at line 168 of file FormatEntity.cpp.

◆ _TO_STR2

#define _TO_STR2 (   _val)    #_val

Definition at line 167 of file FormatEntity.cpp.

◆ ENUM_TO_CSTR

#define ENUM_TO_CSTR (   eee)
Value:
case FormatEntity::Entry::Type::eee: \
return #eee

Definition at line 290 of file FormatEntity.cpp.

Typedef Documentation

◆ Definition

Definition at line 82 of file FormatEntity.cpp.

◆ Entry

Definition at line 83 of file FormatEntity.cpp.

◆ EntryType

Definition at line 84 of file FormatEntity.cpp.

Enumeration Type Documentation

◆ FileKind

enum FileKind
Enumerator
FileError 
Basename 
Dirname 
Fullpath 

Definition at line 86 of file FormatEntity.cpp.

Function Documentation

◆ AddMatches()

static void AddMatches ( const Definition def,
const llvm::StringRef &  prefix,
const llvm::StringRef &  match_prefix,
StringList matches 
)
static

◆ ConvertValueObjectStyleToChar()

static char ConvertValueObjectStyleToChar ( ValueObject::ValueObjectRepresentationStyle  style)
static

◆ DumpAddressAndContent()

static bool DumpAddressAndContent ( Stream s,
const SymbolContext sc,
const ExecutionContext exe_ctx,
const Address addr,
bool  print_file_addr_or_load_addr 
)
static

◆ DumpAddressOffsetFromFunction()

static bool DumpAddressOffsetFromFunction ( Stream s,
const SymbolContext sc,
const ExecutionContext exe_ctx,
const Address format_addr,
bool  concrete_only,
bool  no_padding,
bool  print_zero_offsets 
)
static

◆ DumpCommaSeparatedChildEntryNames()

static bool DumpCommaSeparatedChildEntryNames ( Stream s,
const Definition parent 
)
static

◆ DumpFile()

static bool DumpFile ( Stream s,
const FileSpec file,
FileKind  file_kind 
)
static

◆ DumpRegister() [1/2]

static bool DumpRegister ( Stream s,
StackFrame frame,
const char *  reg_name,
Format  format 
)
static

◆ DumpRegister() [2/2]

static bool DumpRegister ( Stream s,
StackFrame frame,
RegisterKind  reg_kind,
uint32_t  reg_num,
Format  format 
)
static

◆ DumpValue()

static bool DumpValue ( Stream s,
const SymbolContext sc,
const ExecutionContext exe_ctx,
const FormatEntity::Entry entry,
ValueObject valobj 
)
static

Definition at line 693 of file FormatEntity.cpp.

References lldb_private::ConstString::AsCString(), ConvertValueObjectStyleToChar(), lldb_private::DataFormatters, lldb_private::FormatEntity::Entry::deref, lldb_private::ValueObject::Dereference(), lldb_private::ValueObject::GetValueForExpressionPathOptions::DoAllowBitfieldSyntax(), lldb_private::ValueObject::GetValueForExpressionPathOptions::DoAllowFragileIVar(), lldb_private::ValueObject::GetValueForExpressionPathOptions::DontCheckDotVsArrowSyntax(), lldb_private::ValueObject::DumpPrintableRepresentation(), DumpValueWithLLVMFormat(), lldb_private::ValueObject::eDisable, lldb_private::ValueObject::eExpressionPathAftermathDereference, lldb_private::ValueObject::eExpressionPathAftermathNothing, lldb_private::ValueObject::eExpressionPathEndResultTypeBoundedRange, lldb_private::ValueObject::eExpressionPathEndResultTypePlain, lldb_private::ValueObject::eExpressionPathEndResultTypeUnboundedRange, lldb_private::ValueObject::eExpressionPathScanEndReasonEndOfString, lldb::eFormatDefault, lldb::eFormatInvalid, lldb::eFormatterMatchExact, error(), lldb_private::ValueObject::eValueObjectRepresentationStyleSummary, lldb_private::ValueObject::eValueObjectRepresentationStyleValue, ExpandIndexedExpression(), lldb_private::FormatEntity::Entry::fmt, lldb_private::FormatEntity::FormatStringRef(), lldb_private::ValueObject::GetBitfieldBitSize(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ConstString::GetCString(), lldb_private::ValueObject::GetDynamicValueType(), lldb_private::FormatManager::GetFormatAsCString(), lldb_private::FormatManager::GetFormatAsFormatChar(), lldb_private::ValueObject::GetLocationAsCString(), lldb_private::GetLog(), lldb_private::ValueObject::GetNumChildrenIgnoringErrors(), lldb_private::ValueObject::GetQualifiedRepresentationIfAvailable(), lldb_private::StreamString::GetString(), lldb_private::DataVisualization::GetSummaryForType(), lldb_private::ValueObject::GetSyntheticValue(), lldb_private::ValueObject::GetTargetSP(), lldb_private::ValueObject::GetTypeInfo(), lldb_private::CompilerType::GetTypeInfo(), lldb_private::ValueObject::GetTypeName(), lldb_private::ValueObject::GetValueForExpressionPath(), lldb_private::ValueObject::HasSpecialPrintableRepresentation(), lldb_private::CompilerType::IsAggregateType(), lldb_private::ValueObject::IsBitfield(), lldb_private::ValueObject::IsSynthetic(), LLDB_LOG, LLDB_LOGF, lldb_private::FormatEntity::Entry::number, lldb_private::Stream::Printf(), lldb_private::FormatEntity::Entry::printf_format, lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), RunScriptFormatKeyword(), ScanBracketedRange(), lldb_private::FormatEntity::Entry::ScriptVariable, lldb_private::FormatEntity::Entry::ScriptVariableSynthetic, lldb_private::ValueObject::GetValueForExpressionPathOptions::SetSyntheticChildrenTraversal(), lldb_private::FormatEntity::Entry::string, lldb_private::FormatEntity::Entry::type, lldb_private::FormatEntity::Entry::Variable, and lldb_private::FormatEntity::Entry::VariableSynthetic.

Referenced by lldb_private::FormatEntity::Format().

◆ DumpValueWithLLVMFormat()

static bool DumpValueWithLLVMFormat ( Stream s,
llvm::StringRef  options,
ValueObject valobj 
)
static

◆ ExpandIndexedExpression()

static ValueObjectSP ExpandIndexedExpression ( ValueObject valobj,
size_t  index,
bool  deref_pointer 
)
static

◆ FindEntry()

static const Definition * FindEntry ( const llvm::StringRef &  format_str,
const Definition parent,
llvm::StringRef &  remainder 
)
static

◆ FormatInlinedBlock()

static void FormatInlinedBlock ( Stream out_stream,
Block block 
)
static

◆ FormatThreadExtendedInfoRecurse()

static bool FormatThreadExtendedInfoRecurse ( const FormatEntity::Entry entry,
const StructuredData::ObjectSP thread_info_dictionary,
const SymbolContext sc,
const ExecutionContext exe_ctx,
Stream s 
)
static

◆ IsToken()

static bool IsToken ( const char *  var_name_begin,
const char *  var 
)
inlinestatic

Definition at line 1069 of file FormatEntity.cpp.

Referenced by ParseBaseName().

◆ MakeMatch()

static std::string MakeMatch ( const llvm::StringRef &  prefix,
const char *  suffix 
)
static

Definition at line 2368 of file FormatEntity.cpp.

Referenced by AddMatches(), and lldb_private::FormatEntity::AutoComplete().

◆ ParseBaseName()

static std::pair< char const *, char const * > ParseBaseName ( char const *  full_name)
static

Parses the basename out of a demangled function name that may include function arguments.

Supports template functions.

Returns pointers to the opening and closing parenthesis of full_name. Can return nullptr for either parenthesis if none is exists.

Definition at line 1081 of file FormatEntity.cpp.

References IsToken().

Referenced by PrettyPrintFunctionNameWithArgs().

◆ ParseEntry()

static Status ParseEntry ( const llvm::StringRef &  format_str,
const Definition parent,
FormatEntity::Entry entry 
)
static

◆ ParseInternal()

static Status ParseInternal ( llvm::StringRef &  format,
Entry parent_entry,
uint32_t  depth 
)
static

Definition at line 2033 of file FormatEntity.cpp.

References lldb_private::FormatEntity::Entry::AppendChar(), lldb_private::FormatEntity::Entry::AppendEntry(), lldb_private::FormatEntity::Entry::AppendText(), lldb_private::FormatEntity::Entry::deref, error(), lldb_private::ValueObject::eValueObjectRepresentationStyleChildrenCount, lldb_private::ValueObject::eValueObjectRepresentationStyleExpressionPath, lldb_private::ValueObject::eValueObjectRepresentationStyleLanguageSpecific, lldb_private::ValueObject::eValueObjectRepresentationStyleLocation, lldb_private::ValueObject::eValueObjectRepresentationStyleName, lldb_private::ValueObject::eValueObjectRepresentationStyleSummary, lldb_private::ValueObject::eValueObjectRepresentationStyleType, lldb_private::ValueObject::eValueObjectRepresentationStyleValue, lldb_private::FormatEntity::ExtractVariableInfo(), lldb_private::FormatEntity::Entry::fmt, g_root, lldb_private::FormatManager::GetFormatFromCString(), LLVMFormatPattern, lldb_private::FormatEntity::Entry::number, ParseEntry(), ParseInternal(), lldb_private::FormatEntity::Entry::printf_format, lldb_private::FormatEntity::Entry::Scope, lldb_private::FormatEntity::Entry::string, lldb_private::FormatEntity::Entry::ThreadID, lldb_private::FormatEntity::Entry::ThreadProtocolID, lldb_private::FormatEntity::Entry::type, lldb_private::FormatEntity::Entry::Variable, and lldb_private::FormatEntity::Entry::VariableSynthetic.

Referenced by lldb_private::FormatEntity::Parse(), and ParseInternal().

◆ PrettyPrintFunctionNameWithArgs()

static void PrettyPrintFunctionNameWithArgs ( Stream out_stream,
char const *  full_name,
ExecutionContextScope exe_scope,
VariableList const &  args 
)
static

Writes out the function name in 'full_name' to 'out_stream' but replaces each argument type with the variable name and the corresponding pretty-printed value.

Definition at line 1118 of file FormatEntity.cpp.

References ParseBaseName(), lldb_private::FormatEntity::PrettyPrintFunctionArguments(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), and lldb_private::Stream::Write().

Referenced by lldb_private::FormatEntity::Format(), and lldb_private::CPlusPlusLanguage::GetFunctionDisplayName().

◆ RunScriptFormatKeyword()

template<typename T >
static bool RunScriptFormatKeyword ( Stream s,
const SymbolContext sc,
const ExecutionContext exe_ctx,
t,
const char *  script_function_name 
)
static

◆ ScanBracketedRange()

static bool ScanBracketedRange ( llvm::StringRef  subpath,
size_t &  close_bracket_index,
const char *&  var_name_final_if_array_range,
int64_t &  index_lower,
int64_t &  index_higher 
)
static

Definition at line 501 of file FormatEntity.cpp.

References lldb_private::DataFormatters, lldb_private::GetLog(), and LLDB_LOGF.

Referenced by DumpValue().

Variable Documentation

◆ g_addr_entries

constexpr Definition g_addr_entries[]
constexpr
Initial value:
= {
Definition("load", EntryType::AddressLoad),
Definition("file", EntryType::AddressFile)}
lldb_private::FormatEntity::Entry::Definition Definition

Definition at line 91 of file FormatEntity.cpp.

◆ g_ansi_bg_entries

constexpr Definition g_ansi_bg_entries[]
constexpr
Initial value:

Definition at line 186 of file FormatEntity.cpp.

◆ g_ansi_entries

constexpr Definition g_ansi_entries[]
constexpr
Initial value:
= {
Definition("underline",
Definition("slow-blink",
Definition("fast-blink",
Definition("negative",
Definition("conceal",
Definition("crossed-out",
}
#define ANSI_CTRL_UNDERLINE
Definition: AnsiTerminal.h:55
#define ANSI_CTRL_SLOW_BLINK
Definition: AnsiTerminal.h:56
#define ANSI_CTRL_ITALIC
Definition: AnsiTerminal.h:54
#define ANSI_CTRL_FAST_BLINK
Definition: AnsiTerminal.h:57
#define ANSI_CTRL_CROSSED_OUT
Definition: AnsiTerminal.h:60
#define ANSI_CTRL_IMAGE_NEGATIVE
Definition: AnsiTerminal.h:58
#define ANSI_CTRL_CONCEAL
Definition: AnsiTerminal.h:59
#define ANSI_CTRL_FAINT
Definition: AnsiTerminal.h:53
#define ANSI_CTRL_NORMAL
Definition: AnsiTerminal.h:51
#define ANSI_CTRL_BOLD
Definition: AnsiTerminal.h:52
constexpr Definition g_ansi_bg_entries[]
constexpr Definition g_ansi_fg_entries[]
static constexpr Definition DefinitionWithChildren(const char *name, const FormatEntity::Entry::Type t, const Definition(&children)[N], bool keep_separator=false)
Definition: FormatEntity.h:142

Definition at line 202 of file FormatEntity.cpp.

◆ g_ansi_fg_entries

constexpr Definition g_ansi_fg_entries[]
constexpr

◆ g_file_child_entries

constexpr Definition g_file_child_entries[]
constexpr
Initial value:
= {
Definition("basename", EntryType::ParentNumber, FileKind::Basename),
Definition("dirname", EntryType::ParentNumber, FileKind::Dirname),
Definition("fullpath", EntryType::ParentNumber, FileKind::Fullpath)}
@ Dirname
@ Basename
@ Fullpath

Definition at line 95 of file FormatEntity.cpp.

◆ g_frame_child_entries

constexpr Definition g_frame_child_entries[]
constexpr
Initial value:
= {
Definition("index", EntryType::FrameIndex),
Definition("pc", EntryType::FrameRegisterPC),
Definition("fp", EntryType::FrameRegisterFP),
Definition("sp", EntryType::FrameRegisterSP),
Definition("flags", EntryType::FrameRegisterFlags),
Definition("no-debug", EntryType::FrameNoDebug),
Entry::DefinitionWithChildren("reg", EntryType::FrameRegisterByName,
Definition("is-artificial", EntryType::FrameIsArtificial),
}
constexpr Definition g_string_entry[]

Definition at line 100 of file FormatEntity.cpp.

◆ g_function_child_entries

constexpr Definition g_function_child_entries[]
constexpr
Initial value:
= {
Definition("id", EntryType::FunctionID),
Definition("name", EntryType::FunctionName),
Definition("name-without-args", EntryType::FunctionNameNoArgs),
Definition("name-with-args", EntryType::FunctionNameWithArgs),
Definition("mangled-name", EntryType::FunctionMangledName),
Definition("addr-offset", EntryType::FunctionAddrOffset),
Definition("concrete-only-addr-offset-no-padding",
EntryType::FunctionAddrOffsetConcrete),
Definition("line-offset", EntryType::FunctionLineOffset),
Definition("pc-offset", EntryType::FunctionPCOffset),
Definition("initial-function", EntryType::FunctionInitial),
Definition("changed", EntryType::FunctionChanged),
Definition("is-optimized", EntryType::FunctionIsOptimized)}

Definition at line 112 of file FormatEntity.cpp.

◆ g_line_child_entries

constexpr Definition g_line_child_entries[]
constexpr
Initial value:
= {
Entry::DefinitionWithChildren("file", EntryType::LineEntryFile,
Definition("number", EntryType::LineEntryLineNumber),
Definition("column", EntryType::LineEntryColumn),
Definition("start-addr", EntryType::LineEntryStartAddress),
Definition("end-addr", EntryType::LineEntryEndAddress),
}
constexpr Definition g_file_child_entries[]

Definition at line 127 of file FormatEntity.cpp.

◆ g_module_child_entries

constexpr Definition g_module_child_entries[]
constexpr
Initial value:
"file", EntryType::ModuleFile, g_file_child_entries)}

Definition at line 136 of file FormatEntity.cpp.

◆ g_process_child_entries

constexpr Definition g_process_child_entries[]
constexpr
Initial value:
= {
Definition("id", EntryType::ProcessID),
Definition("name", EntryType::ProcessFile, FileKind::Basename),
Entry::DefinitionWithChildren("file", EntryType::ProcessFile,

Definition at line 139 of file FormatEntity.cpp.

◆ g_root

constexpr Definition g_root
constexpr
Initial value:
"<root>", EntryType::Root, g_top_level_entries)
constexpr Definition g_top_level_entries[]

Definition at line 262 of file FormatEntity.cpp.

Referenced by lldb_private::FormatEntity::AutoComplete(), and ParseInternal().

◆ g_script_child_entries

constexpr Definition g_script_child_entries[]
constexpr
Initial value:
= {
Definition("frame", EntryType::ScriptFrame),
Definition("process", EntryType::ScriptProcess),
Definition("target", EntryType::ScriptTarget),
Definition("thread", EntryType::ScriptThread),
Definition("var", EntryType::ScriptVariable),
Definition("svar", EntryType::ScriptVariableSynthetic),
Definition("thread", EntryType::ScriptThread)}

Definition at line 223 of file FormatEntity.cpp.

◆ g_string_entry

constexpr Definition g_string_entry[]
constexpr
Initial value:
= {
Definition("*", EntryType::ParentString)}

Definition at line 88 of file FormatEntity.cpp.

◆ g_svar_child_entries

constexpr Definition g_svar_child_entries[]
constexpr
Initial value:
= {
Definition("*", EntryType::ParentString)}

Definition at line 145 of file FormatEntity.cpp.

◆ g_target_child_entries

constexpr Definition g_target_child_entries[]
constexpr
Initial value:
= {
Definition("arch", EntryType::TargetArch)}

Definition at line 164 of file FormatEntity.cpp.

◆ g_thread_child_entries

constexpr Definition g_thread_child_entries[]
constexpr
Initial value:
= {
Definition("id", EntryType::ThreadID),
Definition("protocol_id", EntryType::ThreadProtocolID),
Definition("index", EntryType::ThreadIndexID),
Entry::DefinitionWithChildren("info", EntryType::ThreadInfo,
Definition("queue", EntryType::ThreadQueue),
Definition("name", EntryType::ThreadName),
Definition("stop-reason", EntryType::ThreadStopReason),
Definition("stop-reason-raw", EntryType::ThreadStopReasonRaw),
Definition("return-value", EntryType::ThreadReturnValue),
Definition("completed-expression", EntryType::ThreadCompletedExpression)}

Definition at line 151 of file FormatEntity.cpp.

◆ g_top_level_entries

constexpr Definition g_top_level_entries[]
constexpr
Initial value:
= {
Entry::DefinitionWithChildren("addr", EntryType::AddressLoadOrFile,
Definition("addr-file-or-load", EntryType::AddressLoadOrFile),
Entry::DefinitionWithChildren("ansi", EntryType::Invalid, g_ansi_entries),
Definition("current-pc-arrow", EntryType::CurrentPCArrow),
Entry::DefinitionWithChildren("file", EntryType::File,
Definition("language", EntryType::Lang),
Entry::DefinitionWithChildren("frame", EntryType::Invalid,
Entry::DefinitionWithChildren("function", EntryType::Invalid,
Entry::DefinitionWithChildren("line", EntryType::Invalid,
Entry::DefinitionWithChildren("module", EntryType::Invalid,
Entry::DefinitionWithChildren("process", EntryType::Invalid,
Entry::DefinitionWithChildren("script", EntryType::Invalid,
Entry::DefinitionWithChildren("svar", EntryType::VariableSynthetic,
Entry::DefinitionWithChildren("thread", EntryType::Invalid,
Entry::DefinitionWithChildren("target", EntryType::Invalid,
Entry::DefinitionWithChildren("var", EntryType::Variable,
constexpr Definition g_frame_child_entries[]
constexpr Definition g_script_child_entries[]
constexpr Definition g_svar_child_entries[]
constexpr Definition g_var_child_entries[]
constexpr Definition g_line_child_entries[]
constexpr Definition g_function_child_entries[]
constexpr Definition g_module_child_entries[]
constexpr Definition g_ansi_entries[]
constexpr Definition g_process_child_entries[]
constexpr Definition g_addr_entries[]
constexpr Definition g_target_child_entries[]
constexpr Definition g_thread_child_entries[]

Definition at line 232 of file FormatEntity.cpp.

◆ g_var_child_entries

constexpr Definition g_var_child_entries[]
constexpr
Initial value:
= {
Definition("*", EntryType::ParentString)}

Definition at line 148 of file FormatEntity.cpp.

◆ LLVMFormatPattern

llvm::Regex LLVMFormatPattern {"x[-+]?\\d*|n|d", llvm::Regex::IgnoreCase}
static

Options supported by format_provider<T> for integral arithmetic types.

See table in FormatProviders.h.

Definition at line 664 of file FormatEntity.cpp.

Referenced by DumpValueWithLLVMFormat(), and ParseInternal().