LLDB mainline
|
Synthetic children frontend for std::coroutine_handle<promise_type>
from libc++, libstdc++ and MSVC STL.
More...
#include <Coroutines.h>
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 |
![]() | |
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 | |
![]() | |
typedef std::shared_ptr< SyntheticChildrenFrontEnd > | SharedPointer |
typedef std::unique_ptr< SyntheticChildrenFrontEnd > | AutoPointer |
![]() | |
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) |
![]() | |
ValueObject & | m_backend |
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.
lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::StdlibCoroutineHandleSyntheticFrontEnd | ( | lldb::ValueObjectSP | valobj_sp | ) |
Definition at line 97 of file Coroutines.cpp.
References Update().
|
overridedefault |
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 107 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 115 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 205 of file Coroutines.cpp.
References m_destroy_ptr_sp, m_promise_ptr_sp, m_resume_ptr_sp, and UINT32_MAX.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 200 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 128 of file Coroutines.cpp.
References lldb::eBasicTypeVoid, error(), ExtractDestroyFunction(), GetCoroFramePtrFromHandle(), lldb_private::CompilerType::GetPointerType(), InferPromiseType(), lldb_private::CompilerType::IsVoidType(), LLDB_INVALID_ADDRESS, and lldbassert.
Referenced by StdlibCoroutineHandleSyntheticFrontEnd().
|
private |
Definition at line 49 of file Coroutines.h.
Referenced by GetIndexOfChildWithName().
|
private |
Definition at line 50 of file Coroutines.h.
Referenced by GetIndexOfChildWithName().
|
private |
Definition at line 48 of file Coroutines.h.
Referenced by GetIndexOfChildWithName().