LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
lldb_private::FormatEntity::Entry Struct Reference

#include <FormatEntity.h>

Collaboration diagram for lldb_private::FormatEntity::Entry:
Collaboration graph
[legend]

Classes

struct  Definition
 

Public Types

enum  Type {
  Type::Invalid, Type::ParentNumber, Type::ParentString, Type::EscapeCode,
  Type::Root, Type::String, Type::Scope, Type::Variable,
  Type::VariableSynthetic, Type::ScriptVariable, Type::ScriptVariableSynthetic, Type::AddressLoad,
  Type::AddressFile, Type::AddressLoadOrFile, Type::ProcessID, Type::ProcessFile,
  Type::ScriptProcess, Type::ThreadID, Type::ThreadProtocolID, Type::ThreadIndexID,
  Type::ThreadName, Type::ThreadQueue, Type::ThreadStopReason, Type::ThreadStopReasonRaw,
  Type::ThreadReturnValue, Type::ThreadCompletedExpression, Type::ScriptThread, Type::ThreadInfo,
  Type::TargetArch, Type::ScriptTarget, Type::ModuleFile, Type::File,
  Type::Lang, Type::FrameIndex, Type::FrameNoDebug, Type::FrameRegisterPC,
  Type::FrameRegisterSP, Type::FrameRegisterFP, Type::FrameRegisterFlags, Type::FrameRegisterByName,
  Type::FrameIsArtificial, Type::ScriptFrame, Type::FunctionID, Type::FunctionDidChange,
  Type::FunctionInitialFunction, Type::FunctionName, Type::FunctionNameWithArgs, Type::FunctionNameNoArgs,
  Type::FunctionMangledName, Type::FunctionAddrOffset, Type::FunctionAddrOffsetConcrete, Type::FunctionLineOffset,
  Type::FunctionPCOffset, Type::FunctionInitial, Type::FunctionChanged, Type::FunctionIsOptimized,
  Type::LineEntryFile, Type::LineEntryLineNumber, Type::LineEntryColumn, Type::LineEntryStartAddress,
  Type::LineEntryEndAddress, Type::CurrentPCArrow
}
 

Public Member Functions

 Entry (Type t=Type::Invalid, const char *s=nullptr, const char *f=nullptr)
 
 Entry (llvm::StringRef s)
 
 Entry (char ch)
 
void AppendChar (char ch)
 
void AppendText (const llvm::StringRef &s)
 
void AppendText (const char *cstr)
 
void AppendEntry (const Entry &&entry)
 
void Clear ()
 
void Dump (Stream &s, int depth=0) const
 
bool operator== (const Entry &rhs) const
 

Static Public Member Functions

template<size_t N>
static constexpr Definition DefinitionWithChildren (const char *name, const FormatEntity::Entry::Type t, const Definition(&children)[N], bool keep_separator=false)
 
static const char * TypeToCString (Type t)
 

Public Attributes

std::string string
 
std::string printf_format
 
std::vector< Entrychildren
 
Type type
 
lldb::Format fmt = lldb::eFormatDefault
 
lldb::addr_t number = 0
 
bool deref = false
 

Detailed Description

Definition at line 40 of file FormatEntity.h.

Member Enumeration Documentation

◆ Type

Enumerator
Invalid 
ParentNumber 
ParentString 
EscapeCode 
Root 
String 
Scope 
Variable 
VariableSynthetic 
ScriptVariable 
ScriptVariableSynthetic 
AddressLoad 
AddressFile 
AddressLoadOrFile 
ProcessID 
ProcessFile 
ScriptProcess 
ThreadID 
ThreadProtocolID 
ThreadIndexID 
ThreadName 
ThreadQueue 
ThreadStopReason 
ThreadStopReasonRaw 
ThreadReturnValue 
ThreadCompletedExpression 
ScriptThread 
ThreadInfo 
TargetArch 
ScriptTarget 
ModuleFile 
File 
Lang 
FrameIndex 
FrameNoDebug 
FrameRegisterPC 
FrameRegisterSP 
FrameRegisterFP 
FrameRegisterFlags 
FrameRegisterByName 
FrameIsArtificial 
ScriptFrame 
FunctionID 
FunctionDidChange 
FunctionInitialFunction 
FunctionName 
FunctionNameWithArgs 
FunctionNameNoArgs 
FunctionMangledName 
FunctionAddrOffset 
FunctionAddrOffsetConcrete 
FunctionLineOffset 
FunctionPCOffset 
FunctionInitial 
FunctionChanged 
FunctionIsOptimized 
LineEntryFile 
LineEntryLineNumber 
LineEntryColumn 
LineEntryStartAddress 
LineEntryEndAddress 
CurrentPCArrow 

Definition at line 41 of file FormatEntity.h.

Constructor & Destructor Documentation

◆ Entry() [1/3]

lldb_private::FormatEntity::Entry::Entry ( Type  t = Type::Invalid,
const char *  s = nullptr,
const char *  f = nullptr 
)
inline

Definition at line 149 of file FormatEntity.h.

◆ Entry() [2/3]

FormatEntity::Entry::Entry ( llvm::StringRef  s)

Definition at line 264 of file FormatEntity.cpp.

◆ Entry() [3/3]

FormatEntity::Entry::Entry ( char  ch)

Definition at line 268 of file FormatEntity.cpp.

Member Function Documentation

◆ AppendChar()

void FormatEntity::Entry::AppendChar ( char  ch)

Definition at line 272 of file FormatEntity.cpp.

References String.

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

◆ AppendEntry()

void lldb_private::FormatEntity::Entry::AppendEntry ( const Entry &&  entry)
inline

Definition at line 162 of file FormatEntity.h.

References children.

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

◆ AppendText() [1/2]

void FormatEntity::Entry::AppendText ( const char *  cstr)

Definition at line 286 of file FormatEntity.cpp.

◆ AppendText() [2/2]

void FormatEntity::Entry::AppendText ( const llvm::StringRef &  s)

Definition at line 279 of file FormatEntity.cpp.

References String.

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

◆ Clear()

void lldb_private::FormatEntity::Entry::Clear ( )
inline

◆ DefinitionWithChildren()

template<size_t N>
static constexpr Definition lldb_private::FormatEntity::Entry::DefinitionWithChildren ( const char *  name,
const FormatEntity::Entry::Type  t,
const Definition(&)  children[N],
bool  keep_separator = false 
)
inlinestaticconstexpr

Definition at line 143 of file FormatEntity.h.

References children.

◆ Dump()

void FormatEntity::Entry::Dump ( Stream s,
int  depth = 0 
) const

◆ operator==()

bool lldb_private::FormatEntity::Entry::operator== ( const Entry rhs) const
inline

Definition at line 178 of file FormatEntity.h.

References children, deref, fmt, printf_format, string, and type.

◆ TypeToCString()

const char * FormatEntity::Entry::TypeToCString ( Type  t)
static

Definition at line 301 of file FormatEntity.cpp.

References ENUM_TO_CSTR, and lldb_private::Invalid.

Member Data Documentation

◆ children

std::vector<Entry> lldb_private::FormatEntity::Entry::children

◆ deref

bool lldb_private::FormatEntity::Entry::deref = false

◆ fmt

lldb::Format lldb_private::FormatEntity::Entry::fmt = lldb::eFormatDefault

◆ number

lldb::addr_t lldb_private::FormatEntity::Entry::number = 0

◆ printf_format

std::string lldb_private::FormatEntity::Entry::printf_format

◆ string

std::string lldb_private::FormatEntity::Entry::string

◆ type

Type lldb_private::FormatEntity::Entry::type

The documentation for this struct was generated from the following files: