13#include "llvm/ADT/APSInt.h"
14#include "llvm/Support/Error.h"
15#include "llvm/Support/ErrorExtras.h"
42 offset +=
m_start->GetValueAsUnsigned(0);
43 const std::string name = llvm::formatv(
"[{0}]", idx);
56 llvm::Expected<uint64_t> size_or_err =
m_element_type.GetByteSize(
nullptr);
70 m_backend.GetChildAtNamePath({
"_M_extent",
"_M_extent_value"})) {
72 }
else if (
const auto arg =
73 m_backend.GetCompilerType().GetIntegralTemplateArgument(1)) {
81 llvm::Expected<size_t>
84 return llvm::createStringErrorV(
"type has no child named '{0}'", name);
88 return llvm::createStringErrorV(
"type has no child named '{0}'", name);
#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.
lldb::ValueObjectSP CreateChildValueObjectFromAddress(llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type, bool do_deref=true)
SyntheticChildrenFrontEnd(ValueObject &backend)
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