15#include "llvm/Support/Error.h"
29 return llvm::createStringError(
"Invalid atomic ValueObject.");
43 value = value->Cast(value->GetCompilerType().GetCanonicalType());
50 llvm::Expected<size_t>
55 return llvm::createStringErrorV(
"Type has no child named '{}'", name);
75 const uint32_t float_mask = lldb::eTypeIsFloat | lldb::eTypeIsBuiltIn;
76 if ((first_type.
GetTypeInfo() & float_mask) == float_mask) {
88 if (first_typename.starts_with(
"std::shared_ptr<") ||
89 first_typename.starts_with(
"std::weak_ptr<"))
120 if (atomic_value->GetSummaryAsCString(summary, options) &&
127 if (aparent && aparent->
GetName() ==
"_M_impl") {
Generic representation of a type in a programming language.
CompilerType GetTypeTemplateArgument(size_t idx, bool expand_pack=false) const
ConstString GetDisplayTypeName() const
size_t GetNumTemplateArguments(bool expand_pack=false) const
Return the number of template arguments the type has.
uint32_t GetTypeInfo(CompilerType *pointee_or_element_compiler_type=nullptr) const
bool IsPointerType(CompilerType *pointee_type=nullptr) const
A uniqued constant string class.
llvm::StringRef GetStringRef() const
Get the string value as a llvm::StringRef.
A stream class that can stream formatted output to a file.
SyntheticChildrenFrontEnd(ValueObject &backend)
virtual lldb::ValueObjectSP GetChildMemberWithName(llvm::StringRef name, bool can_create=true)
lldb::ValueObjectSP GetChildAtNamePath(llvm::ArrayRef< llvm::StringRef > names)
CompilerType GetCompilerType()
ConstString GetName() const
virtual ValueObject * GetParent()
virtual lldb::ValueObjectSP GetNonSyntheticValue()
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