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

#include <TypeSynthetic.h>

Inheritance diagram for lldb_private::SyntheticChildrenFrontEnd:
Inheritance 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
 

Private Member Functions

 SyntheticChildrenFrontEnd (const SyntheticChildrenFrontEnd &)=delete
 
const SyntheticChildrenFrontEndoperator= (const SyntheticChildrenFrontEnd &)=delete
 

Private Attributes

bool m_valid
 

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() [1/2]

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

Definition at line 36 of file TypeSynthetic.h.

◆ ~SyntheticChildrenFrontEnd()

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

◆ SyntheticChildrenFrontEnd() [2/2]

lldb_private::SyntheticChildrenFrontEnd::SyntheticChildrenFrontEnd ( const SyntheticChildrenFrontEnd )
privatedelete

Member Function Documentation

◆ CalculateNumChildren() [1/2]

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

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

Referenced by CalculateNumChildren().

◆ CalculateNumChildren() [2/2]

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

Reimplemented in lldb_private::ScriptedSyntheticChildren::FrontEnd.

Definition at line 43 of file TypeSynthetic.h.

References CalculateNumChildren().

◆ 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

◆ GetChildAtIndex()

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

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

Referenced by lldb_private::formatters::BlockPointerSummaryProvider().

◆ GetIndexOfChildWithName()

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

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

Referenced by lldb_private::formatters::BlockPointerSummaryProvider().

◆ 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

Definition at line 33 of file TypeSynthetic.h.

References m_valid.

◆ MightHaveChildren()

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

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

◆ operator=()

const SyntheticChildrenFrontEnd & lldb_private::SyntheticChildrenFrontEnd::operator= ( const SyntheticChildrenFrontEnd )
privatedelete

◆ SetValid()

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

Definition at line 31 of file TypeSynthetic.h.

References m_valid.

◆ Update()

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

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

Referenced by lldb_private::formatters::BlockPointerSummaryProvider().

Member Data Documentation

◆ m_backend

ValueObject& lldb_private::SyntheticChildrenFrontEnd::m_backend
protected

◆ m_valid

bool lldb_private::SyntheticChildrenFrontEnd::m_valid
private

Definition at line 98 of file TypeSynthetic.h.

Referenced by IsValid(), and SetValid().


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