LLDB mainline
RegisterNumber Class Reference

A class to represent register numbers, and able to convert between different register numbering schemes that may be used in a single debug session. More...

#include <RegisterNumber.h>

Public Member Functions

 RegisterNumber (lldb_private::Thread &thread, lldb::RegisterKind kind, uint32_t num)
 RegisterNumber ()
void init (lldb_private::Thread &thread, lldb::RegisterKind kind, uint32_t num)
const RegisterNumberoperator= (const RegisterNumber &rhs)
bool operator== (RegisterNumber &rhs)
bool operator!= (RegisterNumber &rhs)
bool IsValid () const
uint32_t GetAsKind (lldb::RegisterKind kind)
uint32_t GetRegisterNumber () const
lldb::RegisterKind GetRegisterKind () const
const char * GetName ()

Private Types

typedef std::map< lldb::RegisterKind, uint32_t > Collection

Private Attributes

lldb::RegisterContextSP m_reg_ctx_sp
uint32_t m_regnum = LLDB_INVALID_REGNUM
lldb::RegisterKind m_kind = lldb::kNumRegisterKinds
Collection m_kind_regnum_map
const char * m_name = nullptr

Detailed Description

A class to represent register numbers, and able to convert between different register numbering schemes that may be used in a single debug session.

Definition at line 19 of file RegisterNumber.h.

Member Typedef Documentation

◆ Collection

typedef std::map<lldb::RegisterKind, uint32_t> RegisterNumber::Collection
private

Definition at line 50 of file RegisterNumber.h.

Constructor & Destructor Documentation

◆ RegisterNumber() [1/2]

RegisterNumber::RegisterNumber ( lldb_private::Thread & thread,
lldb::RegisterKind kind,
uint32_t num )

Definition at line 15 of file RegisterNumber.cpp.

References m_kind, m_kind_regnum_map, m_name, m_reg_ctx_sp, and m_regnum.

Referenced by operator!=(), operator=(), and operator==().

◆ RegisterNumber() [2/2]

RegisterNumber::RegisterNumber ( )

Definition at line 29 of file RegisterNumber.cpp.

References m_kind_regnum_map, and m_reg_ctx_sp.

Member Function Documentation

◆ GetAsKind()

◆ GetName()

◆ GetRegisterKind()

lldb::RegisterKind RegisterNumber::GetRegisterKind ( ) const

Definition at line 104 of file RegisterNumber.cpp.

References m_kind.

Referenced by lldb_private::RegisterContextUnwind::ReadGPRValue().

◆ GetRegisterNumber()

uint32_t RegisterNumber::GetRegisterNumber ( ) const

Definition at line 102 of file RegisterNumber.cpp.

References m_regnum.

Referenced by lldb_private::RegisterContextUnwind::ReadGPRValue().

◆ init()

◆ IsValid()

◆ operator!=()

bool RegisterNumber::operator!= ( RegisterNumber & rhs)

Definition at line 74 of file RegisterNumber.cpp.

References RegisterNumber().

◆ operator=()

const RegisterNumber & RegisterNumber::operator= ( const RegisterNumber & rhs)

Definition at line 46 of file RegisterNumber.cpp.

References m_kind, m_kind_regnum_map, m_name, m_reg_ctx_sp, m_regnum, and RegisterNumber().

◆ operator==()

bool RegisterNumber::operator== ( RegisterNumber & rhs)

Member Data Documentation

◆ m_kind

lldb::RegisterKind RegisterNumber::m_kind = lldb::kNumRegisterKinds
private

◆ m_kind_regnum_map

Collection RegisterNumber::m_kind_regnum_map
private

Definition at line 55 of file RegisterNumber.h.

Referenced by GetAsKind(), operator=(), RegisterNumber(), and RegisterNumber().

◆ m_name

const char* RegisterNumber::m_name = nullptr
private

Definition at line 56 of file RegisterNumber.h.

Referenced by GetName(), init(), operator=(), and RegisterNumber().

◆ m_reg_ctx_sp

lldb::RegisterContextSP RegisterNumber::m_reg_ctx_sp
private

Definition at line 52 of file RegisterNumber.h.

Referenced by GetAsKind(), init(), IsValid(), operator=(), RegisterNumber(), and RegisterNumber().

◆ m_regnum

uint32_t RegisterNumber::m_regnum = LLDB_INVALID_REGNUM
private

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