LLDB  mainline
Public Member Functions | Private Types | Private Attributes | List of all members
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>

Collaboration diagram for RegisterNumber:
Collaboration graph
[legend]

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_tCollection
 

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

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 lldb::eRegisterKindLLDB, GetAsKind(), m_name, and m_reg_ctx_sp.

◆ RegisterNumber() [2/2]

RegisterNumber::RegisterNumber ( )

Definition at line 29 of file RegisterNumber.cpp.

Member Function Documentation

◆ GetAsKind()

uint32_t RegisterNumber::GetAsKind ( lldb::RegisterKind  kind)

◆ GetName()

const char * RegisterNumber::GetName ( )

◆ GetRegisterKind()

lldb::RegisterKind RegisterNumber::GetRegisterKind ( ) const

Definition at line 103 of file RegisterNumber.cpp.

References m_kind.

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

◆ GetRegisterNumber()

uint32_t RegisterNumber::GetRegisterNumber ( ) const

Definition at line 101 of file RegisterNumber.cpp.

References m_regnum.

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

◆ init()

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

◆ IsValid()

bool RegisterNumber::IsValid ( ) const

◆ operator!=()

bool RegisterNumber::operator!= ( RegisterNumber rhs)

Definition at line 73 of file RegisterNumber.cpp.

◆ 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, and m_regnum.

◆ operator==()

bool RegisterNumber::operator== ( RegisterNumber rhs)

Definition at line 56 of file RegisterNumber.cpp.

References GetAsKind(), IsValid(), LLDB_INVALID_REGNUM, m_kind, and m_regnum.

Member Data Documentation

◆ m_kind

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

Definition at line 54 of file RegisterNumber.h.

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

◆ m_kind_regnum_map

Collection RegisterNumber::m_kind_regnum_map
private

Definition at line 55 of file RegisterNumber.h.

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

◆ 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=(), and RegisterNumber().

◆ m_regnum

uint32_t RegisterNumber::m_regnum = LLDB_INVALID_REGNUM
private

Definition at line 53 of file RegisterNumber.h.

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


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