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>

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.
 
 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!
 
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 49 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 54 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 65 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::ClangExpressionDeclMap::AddOneVariable(), 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::plugin::dwarf::SymbolFileDWARF::CompleteType(), lldb_private::npdb::SymbolFileNativePDB::CompleteType(), lldb_private::ClangASTImporter::CopyType(), lldb_private::TypeSystemClang::CreateMemberPointerType(), lldb_private::ClangASTImporter::DeportType(), DWARFASTParserClang::ExtractIntFromFormValue(), lldb_private::ClangExpressionDeclMap::GetVariableValue(), lldb_private::ClangASTSource::GuardedCopyType(), lldb_private::plugin::dwarf::SymbolFileDWARF::HasForwardDeclForCompilerType(), lldb_private::ClangUtil::IsClangType(), DWARFASTParserClang::ParseChildMembers(), DWARFASTParserClang::ParseInheritance(), lldb_private::TypeSystemClang::RequireCompleteType(), lldb_private::TypeSystemClang::SetIsPacked(), and lldb_private::TypeSystemClang::SetObjCSuperClass().

◆ 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 57 of file CompilerType.h.

References m_typesystem_sp.

◆ operator bool()

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

Definition at line 72 of file CompilerType.h.

References m_typesystem_sp.

◆ operator!=()

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

Definition at line 76 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 1219 of file CompilerType.cpp.

◆ operator==()

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

Definition at line 1210 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: