42 std::string &dest)
const {
73 if (type_flags.
Test(eTypeIsPointer) &&
74 !type_flags.
Test(eTypeIsObjC)) {
79 size_t max_len = target_sp->GetMaximumSizeOfStringSummary();
84 target_sp->ReadCStringFromMemory(
85 address, (
char *)buffer_sp->GetBytes(), max_len,
error);
99 auto size_or_err = compiler_type.
GetByteSize(exe_scope);
103 "Cannot get size of type while formatting object: {0}");
125 return !dest.empty();
133 Cascades() ?
"" :
" (not cascading)",
146 std::string &dest)
const {
154 void *valobj_key = (process_sp = valobj->
GetProcessSP()).get();
156 valobj_key = (target_sp = valobj->
GetTargetSP()).get();
158 target_sp = process_sp->GetTarget().shared_from_this();
167 const ModuleList &images(target_sp->GetImages());
170 images.
FindTypes(
nullptr, query, results);
176 if ((type_sp->GetForwardCompilerType().GetTypeInfo() &
177 eTypeIsEnumeration) == eTypeIsEnumeration) {
178 valobj_enum_type = type_sp->GetFullCompilerType();
179 m_types.emplace(valobj_key, valobj_enum_type);
184 valobj_enum_type = iter->second;
185 if (!valobj_enum_type.
IsValid())
199 return !dest.empty();
205 Cascades() ?
"" :
" (not cascading)",
static llvm::raw_ostream & error(Stream &strm)
#define LLDB_LOG_ERRORV(log, error,...)
A section + offset based address class.
Generic representation of a type in a programming language.
llvm::Expected< uint64_t > GetByteSize(ExecutionContextScope *exe_scope) const
Return the size of the type in bytes.
bool DumpTypeValue(Stream *s, lldb::Format format, const DataExtractor &data, lldb::offset_t data_offset, size_t data_byte_size, uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, ExecutionContextScope *exe_scope)
uint32_t GetTypeInfo(CompilerType *pointee_or_element_compiler_type=nullptr) const
A uniqued constant string class.
A subclass of DataBuffer that stores a data buffer on the heap.
"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.
ExecutionContextScope * GetBestExecutionContextScope() const
bool Test(ValueType bit) const
Test a single flag bit.
A collection class for Module objects.
void FindTypes(Module *search_first, const TypeQuery &query, lldb_private::TypeResults &results) const
Find types using a type-matching object that contains all search parameters.
llvm::StringRef GetString() const
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
TypeIterable Types() const
A class that contains all state required for type lookups.
This class tracks the state and results of a TypeQuery.
virtual uint32_t GetBitfieldBitSize()
virtual uint64_t GetData(DataExtractor &data, Status &error)
lldb::ProcessSP GetProcessSP() const
lldb::TargetSP GetTargetSP() const
AddrAndType GetPointerValue()
virtual uint32_t GetBitfieldBitOffset()
const ExecutionContextRef & GetExecutionContextRef() const
virtual bool CanProvideValue()
const Value & GetValue() const
RegisterInfo * GetRegisterInfo() const
ContextType
Type that describes Value::m_context.
@ RegisterInfo
RegisterInfo * (can be a scalar or a vector register).
ContextType GetContextType() const
const CompilerType & GetCompilerType()
#define LLDB_INVALID_ADDRESS
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
lldb::offset_t DumpDataExtractor(const DataExtractor &DE, Stream *s, lldb::offset_t offset, lldb::Format item_format, size_t item_byte_size, size_t item_count, size_t num_per_line, uint64_t base_addr, uint32_t item_bit_size, uint32_t item_bit_offset, ExecutionContextScope *exe_scope=nullptr, bool show_memory_tags=false)
Dumps item_count objects into the stream s.
Format
Display format definitions.
@ eFormatCString
NULL terminated C strings.
std::shared_ptr< lldb_private::Type > TypeSP
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::WritableDataBuffer > WritableDataBufferSP
std::shared_ptr< lldb_private::Target > TargetSP
Every register is described in detail including its name, alternate name (optional),...
uint32_t byte_size
Size in bytes of the register.