21using size_func =
decltype(T::GetSizeMember(std::declval<ValueObject &>()));
23using start_func =
decltype(T::GetStartMember(std::declval<ValueObject &>()));
25template <
typename...>
struct check_func : std::true_type {};
54template <
class StandardImpl>
59 "Missing Required Functions.");
87 offset = offset +
m_start->GetValueAsUnsigned(0);
89 name.
Printf(
"[%" PRIu64
"]", (uint64_t)idx);
102 llvm::Expected<uint64_t> size_or_err =
m_element_type.GetByteSize(
nullptr);
117 return llvm::createStringError(
"Type has no child named '%s'",
122 return llvm::createStringError(
"Type has no child named '%s'",
125 return *optional_idx;
#define LLDB_LOG_ERRORV(log, error,...)
Generic representation of a type in a programming language.
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)
virtual lldb::ValueObjectSP GetChildMemberWithName(llvm::StringRef name, bool can_create=true)
decltype(T::GetSizeMember(std::declval< ValueObject & >())) size_func
decltype(T::GetStartMember(std::declval< ValueObject & >())) start_func
check_func< size_func< T >, start_func< T > > has_functions
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.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
static ValueObjectSP GetSizeMember(ValueObject &backend)
static ValueObjectSP GetStartMember(ValueObject &backend)
static ValueObjectSP GetSizeMember(ValueObject &backend)
static ValueObjectSP GetStartMember(ValueObject &backend)