14#include "llvm/ADT/APSInt.h"
15#include "llvm/Support/Error.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)) {
83 return llvm::createStringError(
84 llvm::formatv(
"Type has no child named {0}", name.
GetStringRef()));
88 return llvm::createStringError(
89 llvm::formatv(
"Type has no child named {0}", name.
GetStringRef()));
#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.
llvm::StringRef GetStringRef() const
Get the string value as a llvm::StringRef.
const char * GetCString() const
Get the string value as a C string.
SyntheticChildrenFrontEnd(ValueObject &backend)
lldb::ValueObjectSP CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type, bool do_deref=true)
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