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

This is a minimal wrapper of a TypeSystem shared pointer as returned by CompilerType which conventien dyn_cast support. More...

#include <CompilerType.h>

Collaboration diagram for lldb_private::CompilerType::TypeSystemSPWrapper:
Collaboration graph
[legend]

Public Member Functions

 TypeSystemSPWrapper ()=default
 
 TypeSystemSPWrapper (lldb::TypeSystemSP typesystem_sp)
 
template<class TypeSystemType >
bool isa_and_nonnull ()
 
template<class TypeSystemType >
std::shared_ptr< TypeSystemType > dyn_cast_or_null ()
 Return a shared_ptr<TypeSystemType> if dyn_cast succeeds. More...
 
 operator bool () const
 
bool operator== (const TypeSystemSPWrapper &other) const
 
bool operator!= (const TypeSystemSPWrapper &other) const
 
TypeSystemoperator-> () const
 Only to be used in a one-off situations like if (typesystem && typesystem->method()) Do not store this pointer! More...
 
lldb::TypeSystemSP GetSharedPointer () const
 

Private Attributes

lldb::TypeSystemSP m_typesystem_sp
 

Detailed Description

This is a minimal wrapper of a TypeSystem shared pointer as returned by CompilerType which conventien dyn_cast support.

Definition at line 52 of file CompilerType.h.

Constructor & Destructor Documentation

◆ TypeSystemSPWrapper() [1/2]

lldb_private::CompilerType::TypeSystemSPWrapper::TypeSystemSPWrapper ( )
default

◆ TypeSystemSPWrapper() [2/2]

lldb_private::CompilerType::TypeSystemSPWrapper::TypeSystemSPWrapper ( lldb::TypeSystemSP  typesystem_sp)
inline

Definition at line 57 of file CompilerType.h.

Member Function Documentation

◆ dyn_cast_or_null()

template<class TypeSystemType >
std::shared_ptr<TypeSystemType> lldb_private::CompilerType::TypeSystemSPWrapper::dyn_cast_or_null ( )
inline

Return a shared_ptr<TypeSystemType> if dyn_cast succeeds.

Definition at line 68 of file CompilerType.h.

References m_typesystem_sp.

Referenced by lldb_private::TypeSystemClang::AddFieldToRecordType(), lldb_private::NameSearchContext::AddFunDecl(), lldb_private::TypeSystemClang::AddMethodToObjCObjectType(), lldb_private::TypeSystemClang::AddObjCClassProperty(), lldb_private::NameSearchContext::AddVarDecl(), lldb_private::TypeSystemClang::AddVariableToRecordType(), lldb_private::TypeSystemClang::AreTypesSame(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::TypeSystemClang::BuildIndirectFields(), lldb_private::TypeSystemClang::CompleteTagDeclarationDefinition(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), SymbolFileDWARF::CompleteType(), lldb_private::ClangASTImporter::CopyType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), lldb_private::ClangASTImporter::DeportType(), DWARFASTParserClang::ExtractIntFromFormValue(), ForcefullyCompleteType(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetValueOffset(), lldb_private::ClangExpressionDeclMap::GetVariableValue(), lldb_private::ClangASTSource::GuardedCopyType(), SymbolFileDWARF::HasForwardDeclForClangType(), lldb_private::ClangUtil::IsClangType(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseInheritance(), lldb_private::TypeSystemClang::RequireCompleteType(), lldb_private::TypeSystemClang::SetIsPacked(), lldb_private::TypeSystemClang::SetObjCSuperClass(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), and lldb_private::formatters::LibCxxUnorderedMapIteratorSyntheticFrontEnd::Update().

◆ GetSharedPointer()

lldb::TypeSystemSP lldb_private::CompilerType::TypeSystemSPWrapper::GetSharedPointer ( ) const
inline

◆ isa_and_nonnull()

template<class TypeSystemType >
bool lldb_private::CompilerType::TypeSystemSPWrapper::isa_and_nonnull ( )
inline

Definition at line 60 of file CompilerType.h.

References m_typesystem_sp.

◆ operator bool()

lldb_private::CompilerType::TypeSystemSPWrapper::operator bool ( ) const
inlineexplicit

Definition at line 75 of file CompilerType.h.

References m_typesystem_sp.

◆ operator!=()

bool lldb_private::CompilerType::TypeSystemSPWrapper::operator!= ( const TypeSystemSPWrapper other) const
inline

Definition at line 79 of file CompilerType.h.

◆ operator->()

TypeSystem * CompilerType::TypeSystemSPWrapper::operator-> ( ) const

Only to be used in a one-off situations like if (typesystem && typesystem->method()) Do not store this pointer!

Definition at line 1002 of file CompilerType.cpp.

◆ operator==()

bool CompilerType::TypeSystemSPWrapper::operator== ( const TypeSystemSPWrapper other) const

Definition at line 993 of file CompilerType.cpp.

References m_typesystem_sp.

Member Data Documentation

◆ m_typesystem_sp

lldb::TypeSystemSP lldb_private::CompilerType::TypeSystemSPWrapper::m_typesystem_sp
private

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