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 std::optional<uint64_t> size = compiler_type.
GetByteSize(exe_scope);
121 return !dest.empty();
129 Cascades() ?
"" :
" (not cascading)",
142 std::string &dest)
const {
150 void *valobj_key = (process_sp = valobj->
GetProcessSP()).get();
152 valobj_key = (target_sp = valobj->
GetTargetSP()).get();
154 target_sp = process_sp->GetTarget().shared_from_this();
163 const ModuleList &images(target_sp->GetImages());
166 images.
FindTypes(
nullptr, query, results);
172 if ((type_sp->GetForwardCompilerType().GetTypeInfo() &
173 eTypeIsEnumeration) == eTypeIsEnumeration) {
174 valobj_enum_type = type_sp->GetFullCompilerType();
175 m_types.emplace(valobj_key, valobj_enum_type);
180 valobj_enum_type = iter->second;
181 if (!valobj_enum_type.
IsValid())
195 return !dest.empty();
201 Cascades() ?
"" :
" (not cascading)",
static llvm::raw_ostream & error(Stream &strm)
A section + offset based address class.
Generic representation of a type in a programming language.
std::optional< 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.
const char * AsCString(const char *value_if_empty=nullptr) const
Get the string value as a C string.
llvm::StringRef GetStringRef() const
Get the string value as a llvm::StringRef.
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::addr_t GetPointerValue(AddressType *address_type=nullptr)
lldb::ProcessSP GetProcessSP() const
lldb::TargetSP GetTargetSP() const
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.
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.