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 (uint32_t max) |
virtual lldb::ValueObjectSP | GetSyntheticValue () |
virtual ConstString | GetSyntheticTypeName () |
Private Attributes | |
lldb::ValueObjectSP | m_frame_ptr_sp |
std::unique_ptr< lldb_private::ClangASTImporter > | m_ast_importer |
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 32 of file Coroutines.h.
lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEnd::StdlibCoroutineHandleSyntheticFrontEnd | ( | lldb::ValueObjectSP | valobj_sp | ) |
Definition at line 123 of file Coroutines.cpp.
References Update().
|
overridedefault |
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 134 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 142 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 194 of file Coroutines.cpp.
References m_frame_ptr_sp, and UINT32_MAX.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 190 of file Coroutines.cpp.
|
overridevirtual |
Implements lldb_private::SyntheticChildrenFrontEnd.
Definition at line 150 of file Coroutines.cpp.
References ExtractDestroyFunction(), GetCoroFramePtrFromHandle(), GetCoroutineFrameType(), lldb_private::CompilerType::GetPointerType(), InferPromiseType(), and lldb_private::CompilerType::IsVoidType().
Referenced by StdlibCoroutineHandleSyntheticFrontEnd().
|
private |
Definition at line 51 of file Coroutines.h.
|
private |
Definition at line 50 of file Coroutines.h.
Referenced by GetIndexOfChildWithName().