14#include "llvm/ADT/APSInt.h"
86 offset = offset +
m_start->GetValueAsUnsigned(0);
88 name.
Printf(
"[%" PRIu64
"]", (uint64_t)idx);
99 if (!data_type_finder_sp)
102 m_element_type = data_type_finder_sp->GetCompilerType().GetPointeeType();
105 llvm::Expected<uint64_t> size_or_err =
m_element_type.GetByteSize(
nullptr);
114 m_start = data_type_finder_sp.get();
121 }
else if (
auto arg =
122 m_backend.GetCompilerType().GetIntegralTemplateArgument(1)) {
134 return llvm::createStringError(
"Type has no child named '%s'",
138 return llvm::createStringError(
"Type has no child named '%s'",
141 return *optional_idx;
#define LLDB_LOG_ERRORV(log, error,...)
Generic representation of a type in a programming language.
size_t GetNumTemplateArguments(bool expand_pack=false) const
Return the number of template arguments the type has.
A uniqued constant string class.
const char * AsCString(const char *value_if_empty=nullptr) const
Get the string value as a C string.
const char * GetCString() const
Get the string value as a C string.
llvm::StringRef GetString() const
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
SyntheticChildrenFrontEnd(ValueObject &backend)
lldb::ValueObjectSP CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type, bool do_deref=true)
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.
ChildCacheState
Specifies if children need to be re-computed after a call to SyntheticChildrenFrontEnd::Update.
@ eRefetch
Children need to be recomputed dynamically.
@ eReuse
Children did not change and don't need to be recomputed; re-use what we computed the last time we cal...
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP