LLDB mainline
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/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/ValueObject/ValueObject.h"
#include "lldb/ValueObject/ValueObjectVariable.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 <cassert>
#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)
#define _TO_STR(_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 VariableListSP GetFunctionVariableList (const SymbolContext &sc)
static bool PrintFunctionNameWithArgs (Stream &s, const ExecutionContext *exe_ctx, const SymbolContext &sc)
static bool HandleFunctionNameWithArgs (Stream &s, const ExecutionContext *exe_ctx, const SymbolContext &sc)
static bool FormatFunctionNameForLanguage (Stream &s, const ExecutionContext *exe_ctx, const SymbolContext *sc)
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_progress_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)
Value:
_TO_STR2(_val)
#define _TO_STR2(_val)

Definition at line 188 of file FormatEntity.cpp.

◆ _TO_STR2

#define _TO_STR2 ( _val)
Value:
#_val

Definition at line 187 of file FormatEntity.cpp.

◆ ENUM_TO_CSTR

Typedef Documentation

◆ Definition

◆ Entry

Definition at line 84 of file FormatEntity.cpp.

◆ EntryType

Definition at line 85 of file FormatEntity.cpp.

Enumeration Type Documentation

◆ FileKind

enum FileKind
Enumerator
FileError 
Basename 
Dirname 
Fullpath 

Definition at line 87 of file FormatEntity.cpp.

Function Documentation

◆ AddMatches()

◆ ConvertValueObjectStyleToChar()

◆ DumpAddressAndContent()

◆ DumpAddressOffsetFromFunction()

◆ DumpCommaSeparatedChildEntryNames()

◆ DumpFile()

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

◆ DumpRegister() [1/2]

◆ DumpRegister() [2/2]

◆ DumpValue()

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

Definition at line 754 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::CompilerType::GetTypeInfo(), lldb_private::ValueObject::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()

◆ ExpandIndexedExpression()

◆ FindEntry()

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

◆ FormatFunctionNameForLanguage()

◆ FormatThreadExtendedInfoRecurse()

◆ GetFunctionVariableList()

◆ HandleFunctionNameWithArgs()

◆ IsToken()

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

Definition at line 1130 of file FormatEntity.cpp.

Referenced by ParseBaseName().

◆ MakeMatch()

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

Definition at line 2526 of file FormatEntity.cpp.

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

◆ ParseBaseName()

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 1142 of file FormatEntity.cpp.

References IsToken().

Referenced by PrettyPrintFunctionNameWithArgs().

◆ ParseEntry()

◆ ParseInternal()

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

Definition at line 2180 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::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, lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), 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::StartAlternative(), 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()

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 1179 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 PrintFunctionNameWithArgs(), and PrintFunctionNameWithArgs().

◆ PrintFunctionNameWithArgs()

◆ RunScriptFormatKeyword()

◆ ScanBracketedRange()

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 562 of file FormatEntity.cpp.

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

Referenced by DumpValue().

Variable Documentation

◆ g_addr_entries

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

Definition at line 92 of file FormatEntity.cpp.

◆ g_ansi_bg_entries

Definition g_ansi_bg_entries[]
constexpr
Initial value:

Definition at line 206 of file FormatEntity.cpp.

◆ g_ansi_entries

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
#define ANSI_CTRL_SLOW_BLINK
#define ANSI_CTRL_ITALIC
#define ANSI_CTRL_FAST_BLINK
#define ANSI_CTRL_CROSSED_OUT
#define ANSI_CTRL_IMAGE_NEGATIVE
#define ANSI_CTRL_CONCEAL
#define ANSI_CTRL_FAINT
#define ANSI_CTRL_NORMAL
#define ANSI_CTRL_BOLD
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 at line 222 of file FormatEntity.cpp.

◆ g_ansi_fg_entries

◆ g_file_child_entries

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 96 of file FormatEntity.cpp.

◆ g_frame_child_entries

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),
Definition("kind", EntryType::FrameKind),
}
constexpr Definition g_string_entry[]

Definition at line 101 of file FormatEntity.cpp.

◆ g_function_child_entries

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("is-inlined", EntryType::FunctionIsInlined),
Definition("prefix", EntryType::FunctionPrefix),
Definition("scope", EntryType::FunctionScope),
Definition("basename", EntryType::FunctionBasename),
Definition("name-qualifiers", EntryType::FunctionNameQualifiers),
Definition("template-arguments", EntryType::FunctionTemplateArguments),
Definition("formatted-arguments", EntryType::FunctionFormattedArguments),
Definition("return-left", EntryType::FunctionReturnLeft),
Definition("return-right", EntryType::FunctionReturnRight),
Definition("qualifiers", EntryType::FunctionQualifiers),
Definition("suffix", EntryType::FunctionSuffix),
}

Definition at line 114 of file FormatEntity.cpp.

◆ g_line_child_entries

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 141 of file FormatEntity.cpp.

◆ g_module_child_entries

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

Definition at line 150 of file FormatEntity.cpp.

◆ g_process_child_entries

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 153 of file FormatEntity.cpp.

◆ g_progress_child_entries

Definition g_progress_child_entries[]
constexpr
Initial value:
= {
Definition("count", EntryType::ProgressCount),
Definition("message", EntryType::ProgressMessage)}

Definition at line 183 of file FormatEntity.cpp.

◆ g_root

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

Definition at line 286 of file FormatEntity.cpp.

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

◆ g_script_child_entries

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 243 of file FormatEntity.cpp.

◆ g_string_entry

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

Definition at line 89 of file FormatEntity.cpp.

◆ g_svar_child_entries

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

Definition at line 159 of file FormatEntity.cpp.

◆ g_target_child_entries

Definition g_target_child_entries[]
constexpr
Initial value:
= {
Definition("arch", EntryType::TargetArch),
Entry::DefinitionWithChildren("file", EntryType::TargetFile,

Definition at line 178 of file FormatEntity.cpp.

◆ g_thread_child_entries

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 165 of file FormatEntity.cpp.

◆ g_top_level_entries

Definition g_top_level_entries[]
constexpr

Definition at line 252 of file FormatEntity.cpp.

◆ g_var_child_entries

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

Definition at line 162 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 725 of file FormatEntity.cpp.

Referenced by DumpValueWithLLVMFormat(), and ParseInternal().