LLDB mainline
|
Classes | |
struct | DataStack |
Typedefs | |
using | ControlStackElement = llvm::StringRef |
using | DataStackElement = std::variant< std::string, uint64_t, int64_t, lldb::ValueObjectSP, CompilerType, Selectors > |
Enumerations | |
enum | DataType : uint8_t { Any , String , Int , UInt , Object , Type , Selector } |
enum | OpCodes : uint8_t |
enum | Selectors : uint8_t |
enum | Signatures : uint8_t |
Functions | |
static llvm::Error | FormatImpl (DataStack &data) |
Implement the @format function. | |
static llvm::Error | TypeCheck (llvm::ArrayRef< DataStackElement > data, DataType type) |
static llvm::Error | TypeCheck (llvm::ArrayRef< DataStackElement > data, DataType type1, DataType type2) |
static llvm::Error | TypeCheck (llvm::ArrayRef< DataStackElement > data, DataType type1, DataType type2, DataType type3) |
llvm::Error | Interpret (std::vector< ControlStackElement > &control, DataStack &data, Selectors sel) |
using lldb_private::FormatterBytecode::ControlStackElement = typedef llvm::StringRef |
Definition at line 36 of file FormatterBytecode.h.
using lldb_private::FormatterBytecode::DataStackElement = typedef std::variant<std::string, uint64_t, int64_t, lldb::ValueObjectSP, CompilerType, Selectors> |
Definition at line 37 of file FormatterBytecode.h.
enum lldb_private::FormatterBytecode::DataType : uint8_t |
Enumerator | |
---|---|
Any | |
String | |
Int | |
UInt | |
Object | |
Type | |
Selector |
Definition at line 16 of file FormatterBytecode.h.
enum lldb_private::FormatterBytecode::OpCodes : uint8_t |
Definition at line 18 of file FormatterBytecode.h.
enum lldb_private::FormatterBytecode::Selectors : uint8_t |
Definition at line 24 of file FormatterBytecode.h.
enum lldb_private::FormatterBytecode::Signatures : uint8_t |
Definition at line 30 of file FormatterBytecode.h.
|
static |
Implement the @format function.
Definition at line 86 of file FormatterBytecode.cpp.
References lldb_private::Align(), lldb_private::FormatterBytecode::DataStack::Pop(), lldb_private::FormatterBytecode::DataStack::Push(), and lldb_private::toString().
Referenced by Interpret().
llvm::Error lldb_private::FormatterBytecode::Interpret | ( | std::vector< ControlStackElement > & | control, |
DataStack & | data, | ||
Selectors | sel | ||
) |
Activate the top most block from the control stack.
Fetch the next byte in the instruction stream.
Definition at line 183 of file FormatterBytecode.cpp.
References Any, BINOP, BINOP_CHECKZERO, lldb_private::DataFormatters, error(), FormatImpl(), lldb_private::GetLog(), Int, LLDB_LOGV, Object, pc, lldb_private::FormatterBytecode::DataStack::Pop(), POP_VALOBJ, lldb_private::FormatterBytecode::DataStack::PopAny(), lldb_private::FormatterBytecode::DataStack::Push(), Selector, SHIFTOP, String, lldb_private::toString(), TYPE_CHECK, and UInt.
Referenced by lldb_private::BytecodeSummaryFormat::FormatObject().
|
static |
Definition at line 132 of file FormatterBytecode.cpp.
References Any, Int, Object, Selector, String, Type, and UInt.
Referenced by TypeCheck().
|
static |
Definition at line 169 of file FormatterBytecode.cpp.
References error(), and TypeCheck().
|
static |
Definition at line 176 of file FormatterBytecode.cpp.
References error(), and TypeCheck().