LLDB mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd Class Reference
Inheritance diagram for lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd:
Inheritance graph
[legend]

Public Member Functions

 LibcxxStdSpanSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp)
 
 ~LibcxxStdSpanSyntheticFrontEnd () override=default
 
llvm::Expected< uint32_t > CalculateNumChildren () override
 
lldb::ValueObjectSP GetChildAtIndex (uint32_t idx) override
 
lldb::ChildCacheState Update () override
 Determines properties of the std::span<> associated with this object.
 
bool MightHaveChildren () override
 
size_t GetIndexOfChildWithName (ConstString name) override
 
- Public Member Functions inherited from lldb_private::SyntheticChildrenFrontEnd
 SyntheticChildrenFrontEnd (ValueObject &backend)
 
virtual ~SyntheticChildrenFrontEnd ()=default
 
virtual llvm::Expected< uint32_t > CalculateNumChildren ()=0
 
virtual llvm::Expected< uint32_t > CalculateNumChildren (uint32_t max)
 
uint32_t CalculateNumChildrenIgnoringErrors (uint32_t max=UINT32_MAX)
 
virtual lldb::ValueObjectSP GetChildAtIndex (uint32_t idx)=0
 
virtual size_t GetIndexOfChildWithName (ConstString name)=0
 
virtual lldb::ChildCacheState Update ()=0
 This function is assumed to always succeed and if it fails, the front-end should know to deal with it in the correct way (most probably, by refusing to return any children).
 
virtual bool MightHaveChildren ()=0
 
virtual lldb::ValueObjectSP GetSyntheticValue ()
 
virtual ConstString GetSyntheticTypeName ()
 

Private Attributes

ValueObjectm_start = nullptr
 First element of span. Held, not owned.
 
CompilerType m_element_type {}
 Type of span elements.
 
size_t m_num_elements = 0
 Number of elements in span.
 
uint32_t m_element_size = 0
 Size in bytes of each span element.
 

Additional Inherited Members

- Public Types inherited from lldb_private::SyntheticChildrenFrontEnd
typedef std::shared_ptr< SyntheticChildrenFrontEndSharedPointer
 
typedef std::unique_ptr< SyntheticChildrenFrontEndAutoPointer
 
- Protected Member Functions inherited from lldb_private::SyntheticChildrenFrontEnd
void SetValid (bool valid)
 
bool IsValid ()
 
lldb::ValueObjectSP CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx)
 
lldb::ValueObjectSP CreateValueObjectFromAddress (llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type)
 
lldb::ValueObjectSP CreateValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type)
 
- Protected Attributes inherited from lldb_private::SyntheticChildrenFrontEnd
ValueObjectm_backend
 

Detailed Description

Definition at line 24 of file LibCxxSpan.cpp.

Constructor & Destructor Documentation

◆ LibcxxStdSpanSyntheticFrontEnd()

lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::LibcxxStdSpanSyntheticFrontEnd ( lldb::ValueObjectSP  valobj_sp)

Definition at line 69 of file LibCxxSpan.cpp.

References Update().

◆ ~LibcxxStdSpanSyntheticFrontEnd()

lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::~LibcxxStdSpanSyntheticFrontEnd ( )
overridedefault

Member Function Documentation

◆ CalculateNumChildren()

llvm::Expected< uint32_t > lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::CalculateNumChildren ( )
overridevirtual

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 76 of file LibCxxSpan.cpp.

◆ GetChildAtIndex()

lldb::ValueObjectSP lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::GetChildAtIndex ( uint32_t  idx)
overridevirtual

◆ GetIndexOfChildWithName()

size_t lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::GetIndexOfChildWithName ( ConstString  name)
overridevirtual

◆ MightHaveChildren()

bool lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::MightHaveChildren ( )
overridevirtual

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 129 of file LibCxxSpan.cpp.

◆ Update()

lldb::ChildCacheState lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::Update ( )
overridevirtual

Determines properties of the std::span<> associated with this object.

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 97 of file LibCxxSpan.cpp.

References lldb::eRefetch, lldb::eReuse, and lldb_private::formatters::GetChildMemberWithName().

Referenced by LibcxxStdSpanSyntheticFrontEnd().

Member Data Documentation

◆ m_element_size

uint32_t lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::m_element_size = 0
private

Size in bytes of each span element.

Definition at line 66 of file LibCxxSpan.cpp.

◆ m_element_type

CompilerType lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::m_element_type {}
private

Type of span elements.

Definition at line 64 of file LibCxxSpan.cpp.

◆ m_num_elements

size_t lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::m_num_elements = 0
private

Number of elements in span.

Definition at line 65 of file LibCxxSpan.cpp.

◆ m_start

ValueObject* lldb_private::formatters::LibcxxStdSpanSyntheticFrontEnd::m_start = nullptr
private

First element of span. Held, not owned.

Definition at line 63 of file LibCxxSpan.cpp.


The documentation for this class was generated from the following file: