9#ifndef LLDB_SOURCE_PLUGINS_REGISTERTYPEBUILDER_REGISTERTYPEBUILDERCLANG_H
10#define LLDB_SOURCE_PLUGINS_REGISTERTYPEBUILDER_REGISTERTYPEBUILDERCLANG_H
25 return "register-types-clang";
29 return "Create register types using TypeSystemClang";
37 uint32_t expected_byte_size,
41 uint32_t register_byte_size,
45 uint32_t register_byte_size,
60 llvm::SmallDenseMap<std::pair<uint64_t, uint32_t>,
CompilerType, 8>
64 std::optional<CompilerType>
66 uint32_t register_byte_size);
Generic representation of a type in a programming language.
std::optional< CompilerType > GetExistingCompilerType(const RegisterType *register_type, uint32_t register_byte_size)
CompilerType BuildEnumType(const RegisterTypeEnum *enum_type_info, uint32_t register_byte_size, lldb::TypeSystemClangSP type_system)
llvm::StringRef GetPluginName() override
CompilerType BuildFlagsType(const RegisterTypeFlags *flags_info, uint32_t register_byte_size, lldb::TypeSystemClangSP type_system)
std::weak_ptr< TypeSystemClang > m_cached_type_system
CompilerType GetRegisterType(const RegisterInfo ®_info) override
Do not cache the returned CompilerType.
llvm::SmallDenseMap< std::pair< uint64_t, uint32_t >, CompilerType, 8 > m_type_cache
CompilerType BuildBuiltinType(const RegisterTypeBuiltin *builtin_type, uint32_t expected_byte_size, lldb::TypeSystemClangSP type_system)
static llvm::StringRef GetPluginNameStatic()
RegisterTypeBuilderClang(Target &target)
static llvm::StringRef GetPluginDescriptionStatic()
static lldb::RegisterTypeBuilderSP CreateInstance(Target &target)
RegisterTypeBuilder()=default
A predefined GDB target-description type.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::RegisterTypeBuilder > RegisterTypeBuilderSP
std::shared_ptr< lldb_private::TypeSystemClang > TypeSystemClangSP
Every register is described in detail including its name, alternate name (optional),...