LLDB  mainline
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::SyntheticChildrenFrontEnd Class Referenceabstract

#include <TypeSynthetic.h>

Inheritance diagram for lldb_private::SyntheticChildrenFrontEnd:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::SyntheticChildrenFrontEnd:
Collaboration graph
[legend]

Public Types

typedef std::shared_ptr< SyntheticChildrenFrontEndSharedPointer
 
typedef std::unique_ptr< SyntheticChildrenFrontEndAutoPointer
 

Public Member Functions

 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 ()
 

Protected Member Functions

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

ValueObjectm_backend
 

Detailed Description

Definition at line 27 of file TypeSynthetic.h.

Member Typedef Documentation

◆ AutoPointer

Definition at line 79 of file TypeSynthetic.h.

◆ SharedPointer

Definition at line 78 of file TypeSynthetic.h.

Constructor & Destructor Documentation

◆ SyntheticChildrenFrontEnd()

lldb_private::SyntheticChildrenFrontEnd::SyntheticChildrenFrontEnd ( ValueObject backend)
inline

◆ ~SyntheticChildrenFrontEnd()

virtual lldb_private::SyntheticChildrenFrontEnd::~SyntheticChildrenFrontEnd ( )
virtualdefault

Member Function Documentation

◆ CalculateNumChildren() [1/2]

virtual size_t lldb_private::SyntheticChildrenFrontEnd::CalculateNumChildren ( )
pure virtual

Implemented in ObjCClassSyntheticChildrenFrontEnd, lldb_private::ScriptedSyntheticChildren::FrontEnd, lldb_private::formatters::NSArray1SyntheticFrontEnd, lldb_private::TypeFilterImpl::FrontEnd, lldb_private::formatters::NSArray0SyntheticFrontEnd, lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >, lldb_private::formatters::NSSetCodeRunningSyntheticFrontEnd, lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd, lldb_private::formatters::VectorTypeSyntheticFrontEnd, lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd, lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::NSDictionary1SyntheticFrontEnd, NSExceptionSyntheticFrontEnd, NSErrorSyntheticFrontEnd, lldb_private::SyntheticValueProviderFrontEnd, lldb_private::formatters::NSDictionaryISyntheticFrontEnd, lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd, lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::BlockPointerSyntheticFrontEnd, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd, lldb_private::formatters::NSArrayMSyntheticFrontEndBase, lldb_private::formatters::NSSetISyntheticFrontEnd, lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd, NSIndexPathSyntheticFrontEnd, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd, DummySyntheticFrontEnd, lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd, and lldb_private::formatters::VectorIteratorSyntheticFrontEnd.

Referenced by CalculateNumChildren(), and SyntheticChildrenFrontEnd().

◆ CalculateNumChildren() [2/2]

virtual size_t lldb_private::SyntheticChildrenFrontEnd::CalculateNumChildren ( uint32_t  max)
inlinevirtual

◆ CreateValueObjectFromAddress()

lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromAddress ( llvm::StringRef  name,
uint64_t  address,
const ExecutionContext exe_ctx,
CompilerType  type 
)
protected

◆ CreateValueObjectFromData()

lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromData ( llvm::StringRef  name,
const DataExtractor data,
const ExecutionContext exe_ctx,
CompilerType  type 
)
protected

◆ CreateValueObjectFromExpression()

lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromExpression ( llvm::StringRef  name,
llvm::StringRef  expression,
const ExecutionContext exe_ctx 
)
protected

Definition at line 98 of file TypeSynthetic.cpp.

◆ GetChildAtIndex()

virtual lldb::ValueObjectSP lldb_private::SyntheticChildrenFrontEnd::GetChildAtIndex ( size_t  idx)
pure virtual

Implemented in ObjCClassSyntheticChildrenFrontEnd, lldb_private::ScriptedSyntheticChildren::FrontEnd, lldb_private::formatters::NSArray1SyntheticFrontEnd, lldb_private::TypeFilterImpl::FrontEnd, lldb_private::formatters::NSArray0SyntheticFrontEnd, lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >, lldb_private::formatters::NSSetCodeRunningSyntheticFrontEnd, lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd, lldb_private::formatters::VectorTypeSyntheticFrontEnd, lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd, lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::NSDictionary1SyntheticFrontEnd, NSExceptionSyntheticFrontEnd, NSErrorSyntheticFrontEnd, lldb_private::SyntheticValueProviderFrontEnd, lldb_private::formatters::NSDictionaryISyntheticFrontEnd, lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd, lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::BlockPointerSyntheticFrontEnd, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd, lldb_private::formatters::NSArrayMSyntheticFrontEndBase, lldb_private::formatters::NSSetISyntheticFrontEnd, lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd, NSIndexPathSyntheticFrontEnd, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd, DummySyntheticFrontEnd, lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd, and lldb_private::formatters::VectorIteratorSyntheticFrontEnd.

Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), and CalculateNumChildren().

◆ GetIndexOfChildWithName()

virtual size_t lldb_private::SyntheticChildrenFrontEnd::GetIndexOfChildWithName ( ConstString  name)
pure virtual

Implemented in ObjCClassSyntheticChildrenFrontEnd, lldb_private::ScriptedSyntheticChildren::FrontEnd, lldb_private::formatters::NSArray1SyntheticFrontEnd, lldb_private::TypeFilterImpl::FrontEnd, lldb_private::formatters::NSArray0SyntheticFrontEnd, lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >, lldb_private::formatters::VectorTypeSyntheticFrontEnd, lldb_private::formatters::NSSetCodeRunningSyntheticFrontEnd, lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd, lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd, lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >, NSErrorSyntheticFrontEnd, lldb_private::formatters::NSDictionary1SyntheticFrontEnd, lldb_private::formatters::BlockPointerSyntheticFrontEnd, NSExceptionSyntheticFrontEnd, NSIndexPathSyntheticFrontEnd, lldb_private::formatters::NSDictionaryISyntheticFrontEnd, lldb_private::SyntheticValueProviderFrontEnd, lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd, lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd, lldb_private::formatters::NSArrayMSyntheticFrontEndBase, lldb_private::formatters::NSSetISyntheticFrontEnd, lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd, DummySyntheticFrontEnd, lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd, and lldb_private::formatters::VectorIteratorSyntheticFrontEnd.

Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), CalculateNumChildren(), and lldb_private::TypeFilterImpl::FrontEnd::MightHaveChildren().

◆ GetSyntheticTypeName()

virtual ConstString lldb_private::SyntheticChildrenFrontEnd::GetSyntheticTypeName ( )
inlinevirtual

Reimplemented in lldb_private::ScriptedSyntheticChildren::FrontEnd.

Definition at line 76 of file TypeSynthetic.h.

◆ GetSyntheticValue()

virtual lldb::ValueObjectSP lldb_private::SyntheticChildrenFrontEnd::GetSyntheticValue ( )
inlinevirtual

◆ IsValid()

bool lldb_private::SyntheticChildrenFrontEnd::IsValid ( )
inlineprotected

◆ MightHaveChildren()

virtual bool lldb_private::SyntheticChildrenFrontEnd::MightHaveChildren ( )
pure virtual

Implemented in ObjCClassSyntheticChildrenFrontEnd, lldb_private::ScriptedSyntheticChildren::FrontEnd, lldb_private::formatters::NSArray1SyntheticFrontEnd, lldb_private::TypeFilterImpl::FrontEnd, lldb_private::formatters::NSArray0SyntheticFrontEnd, lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >, lldb_private::formatters::VectorTypeSyntheticFrontEnd, lldb_private::formatters::NSSetCodeRunningSyntheticFrontEnd, lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd, lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd, lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >, NSErrorSyntheticFrontEnd, lldb_private::formatters::NSDictionary1SyntheticFrontEnd, lldb_private::formatters::BlockPointerSyntheticFrontEnd, NSExceptionSyntheticFrontEnd, NSIndexPathSyntheticFrontEnd, lldb_private::SyntheticValueProviderFrontEnd, lldb_private::formatters::NSDictionaryISyntheticFrontEnd, lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd, lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd, lldb_private::formatters::NSArrayMSyntheticFrontEndBase, lldb_private::formatters::NSSetISyntheticFrontEnd, lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd, DummySyntheticFrontEnd, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd, lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd, and lldb_private::formatters::VectorIteratorSyntheticFrontEnd.

Referenced by CalculateNumChildren().

◆ SetValid()

void lldb_private::SyntheticChildrenFrontEnd::SetValid ( bool  valid)
inlineprotected

Definition at line 31 of file TypeSynthetic.h.

◆ Update()

virtual bool lldb_private::SyntheticChildrenFrontEnd::Update ( )
pure virtual

Implemented in ObjCClassSyntheticChildrenFrontEnd, lldb_private::ScriptedSyntheticChildren::FrontEnd, lldb_private::formatters::NSArray1SyntheticFrontEnd, lldb_private::TypeFilterImpl::FrontEnd, lldb_private::formatters::NSArray0SyntheticFrontEnd, lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >, lldb_private::formatters::VectorTypeSyntheticFrontEnd, lldb_private::formatters::NSSetCodeRunningSyntheticFrontEnd, lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd, lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd, lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::NSDictionary1SyntheticFrontEnd, lldb_private::formatters::BlockPointerSyntheticFrontEnd, NSExceptionSyntheticFrontEnd, NSErrorSyntheticFrontEnd, lldb_private::SyntheticValueProviderFrontEnd, lldb_private::formatters::NSDictionaryISyntheticFrontEnd, lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd, lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::GenericNSArrayMSyntheticFrontEnd< D32, D64 >, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd, lldb_private::formatters::NSArrayMSyntheticFrontEndBase, lldb_private::formatters::NSSetISyntheticFrontEnd, lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd, NSIndexPathSyntheticFrontEnd, DummySyntheticFrontEnd, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd, lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd, and lldb_private::formatters::VectorIteratorSyntheticFrontEnd.

Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), CalculateNumChildren(), and lldb_private::formatters::VectorTypeSummaryProvider().

Member Data Documentation

◆ m_backend

ValueObject& lldb_private::SyntheticChildrenFrontEnd::m_backend
protected

Definition at line 29 of file TypeSynthetic.h.

Referenced by lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::CalculateNumChildren(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSSetISyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >::GetChildAtIndex(), lldb_private::formatters::NSDictionaryISyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSDictionary1SyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >::GetChildAtIndex(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >::GetChildAtIndex(), lldb_private::TypeFilterImpl::FrontEnd::GetChildAtIndex(), lldb_private::formatters::NSArray1SyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::VectorIteratorSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::Update(), lldb_private::formatters::NSSetISyntheticFrontEnd::Update(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSArrayMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd::Update(), lldb_private::formatters::NSDictionaryISyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::Update(), lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd::Update(), and lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >::Update().


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