LLDB mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd Class Reference

Synthetic children frontend for std::coroutine_handle<promise_type> from libc++, libstdc++ and MSVC STL. More...

#include <Coroutines.h>

Inheritance diagram for lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd:
Inheritance graph
[legend]

Public Member Functions

 StdlibCoroutineHandleSyntheticFrontEnd (lldb::ValueObjectSP valobj_sp)
 
 ~StdlibCoroutineHandleSyntheticFrontEnd () override
 
size_t CalculateNumChildren () override
 
lldb::ValueObjectSP GetChildAtIndex (size_t idx) override
 
bool Update () override
 
bool MightHaveChildren () override
 
size_t GetIndexOfChildWithName (ConstString name) override
 
- Public Member Functions inherited from lldb_private::SyntheticChildrenFrontEnd
 SyntheticChildrenFrontEnd (ValueObject &backend)
 
virtual ~SyntheticChildrenFrontEnd ()=default
 
virtual size_t CalculateNumChildren ()=0
 
virtual size_t CalculateNumChildren (uint32_t max)
 
virtual lldb::ValueObjectSP GetChildAtIndex (size_t idx)=0
 
virtual size_t GetIndexOfChildWithName (ConstString name)=0
 
virtual bool Update ()=0
 
virtual bool MightHaveChildren ()=0
 
virtual lldb::ValueObjectSP GetSyntheticValue ()
 
virtual ConstString GetSyntheticTypeName ()
 

Private Attributes

lldb::ValueObjectSP m_resume_ptr_sp
 
lldb::ValueObjectSP m_destroy_ptr_sp
 
lldb::ValueObjectSP m_promise_ptr_sp
 

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

Synthetic children frontend for std::coroutine_handle<promise_type> from libc++, libstdc++ and MSVC STL.

Shows the compiler-generated resume and destroy function pointers as well as the promise, if the promise type is promise_type != void.

Definition at line 30 of file Coroutines.h.

Constructor & Destructor Documentation

◆ StdlibCoroutineHandleSyntheticFrontEnd()

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

Definition at line 97 of file Coroutines.cpp.

References Update().

◆ ~StdlibCoroutineHandleSyntheticFrontEnd()

lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::~StdlibCoroutineHandleSyntheticFrontEnd ( )
overridedefault

Member Function Documentation

◆ CalculateNumChildren()

size_t lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::CalculateNumChildren ( )
overridevirtual

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 107 of file Coroutines.cpp.

◆ GetChildAtIndex()

lldb::ValueObjectSP lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::GetChildAtIndex ( size_t  idx)
overridevirtual

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 115 of file Coroutines.cpp.

◆ GetIndexOfChildWithName()

size_t StdlibCoroutineHandleSyntheticFrontEnd::GetIndexOfChildWithName ( ConstString  name)
overridevirtual

◆ MightHaveChildren()

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

Implements lldb_private::SyntheticChildrenFrontEnd.

Definition at line 200 of file Coroutines.cpp.

◆ Update()

bool lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::Update ( )
overridevirtual

Member Data Documentation

◆ m_destroy_ptr_sp

lldb::ValueObjectSP lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::m_destroy_ptr_sp
private

Definition at line 49 of file Coroutines.h.

Referenced by GetIndexOfChildWithName().

◆ m_promise_ptr_sp

lldb::ValueObjectSP lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::m_promise_ptr_sp
private

Definition at line 50 of file Coroutines.h.

Referenced by GetIndexOfChildWithName().

◆ m_resume_ptr_sp

lldb::ValueObjectSP lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::m_resume_ptr_sp
private

Definition at line 48 of file Coroutines.h.

Referenced by GetIndexOfChildWithName().


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