LLDB mainline
lldb_private::RegisterTypeBuilderClang Class Reference

#include <RegisterTypeBuilderClang.h>

Inheritance diagram for lldb_private::RegisterTypeBuilderClang:
[legend]

Public Member Functions

 RegisterTypeBuilderClang (Target &target)
llvm::StringRef GetPluginName () override
CompilerType GetRegisterType (const RegisterInfo &reg_info) override
 Do not cache the returned CompilerType.
Public Member Functions inherited from lldb_private::RegisterTypeBuilder
 ~RegisterTypeBuilder () override=default
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static void Initialize ()
static void Terminate ()
static llvm::StringRef GetPluginNameStatic ()
static llvm::StringRef GetPluginDescriptionStatic ()
static lldb::RegisterTypeBuilderSP CreateInstance (Target &target)

Private Member Functions

CompilerType BuildEnumType (const RegisterTypeEnum *enum_type_info, uint32_t register_byte_size, lldb::TypeSystemClangSP type_system)
CompilerType BuildFlagsType (const RegisterTypeFlags *flags_info, uint32_t register_byte_size, lldb::TypeSystemClangSP type_system)
std::optional< CompilerTypeGetExistingCompilerType (const RegisterType *register_type, uint32_t register_byte_size)

Private Attributes

Targetm_target
llvm::SmallDenseMap< std::pair< uint64_t, uint32_t >, CompilerType, 8 > m_type_cache
std::weak_ptr< TypeSystemClangm_cached_type_system

Additional Inherited Members

Protected Member Functions inherited from lldb_private::RegisterTypeBuilder
 RegisterTypeBuilder ()=default

Detailed Description

Definition at line 18 of file RegisterTypeBuilderClang.h.

Constructor & Destructor Documentation

◆ RegisterTypeBuilderClang()

RegisterTypeBuilderClang::RegisterTypeBuilderClang ( Target & target)

Definition at line 33 of file RegisterTypeBuilderClang.cpp.

References m_target.

Referenced by Initialize().

Member Function Documentation

◆ BuildEnumType()

CompilerType RegisterTypeBuilderClang::BuildEnumType ( const RegisterTypeEnum * enum_type_info,
uint32_t register_byte_size,
lldb::TypeSystemClangSP type_system )
private

◆ BuildFlagsType()

◆ CreateInstance()

lldb::RegisterTypeBuilderSP RegisterTypeBuilderClang::CreateInstance ( Target & target)
static

Definition at line 29 of file RegisterTypeBuilderClang.cpp.

Referenced by Initialize(), and Terminate().

◆ GetExistingCompilerType()

std::optional< CompilerType > RegisterTypeBuilderClang::GetExistingCompilerType ( const RegisterType * register_type,
uint32_t register_byte_size )
private

◆ GetPluginDescriptionStatic()

llvm::StringRef lldb_private::RegisterTypeBuilderClang::GetPluginDescriptionStatic ( )
inlinestatic

Definition at line 28 of file RegisterTypeBuilderClang.h.

Referenced by Initialize().

◆ GetPluginName()

llvm::StringRef lldb_private::RegisterTypeBuilderClang::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 27 of file RegisterTypeBuilderClang.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::RegisterTypeBuilderClang::GetPluginNameStatic ( )
inlinestatic

Definition at line 24 of file RegisterTypeBuilderClang.h.

Referenced by GetPluginName(), and Initialize().

◆ GetRegisterType()

◆ Initialize()

void RegisterTypeBuilderClang::Initialize ( )
static

◆ Terminate()

void RegisterTypeBuilderClang::Terminate ( )
static

Member Data Documentation

◆ m_cached_type_system

std::weak_ptr<TypeSystemClang> lldb_private::RegisterTypeBuilderClang::m_cached_type_system
private

Definition at line 58 of file RegisterTypeBuilderClang.h.

Referenced by GetRegisterType().

◆ m_target

Target& lldb_private::RegisterTypeBuilderClang::m_target
private

Definition at line 44 of file RegisterTypeBuilderClang.h.

Referenced by GetRegisterType(), and RegisterTypeBuilderClang().

◆ m_type_cache

llvm::SmallDenseMap<std::pair<uint64_t, uint32_t>, CompilerType, 8> lldb_private::RegisterTypeBuilderClang::m_type_cache
private

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