| //===-- NativeRegisterContex.cpp --------------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "lldb/lldb-types.h" |
| #include "lldb/lldb-private-forward.h" |
| #include "lldb/Target/NativeRegisterContextRegisterInfo.h" |
| |
| using namespace lldb_private; |
| |
| NativeRegisterContextRegisterInfo::NativeRegisterContextRegisterInfo (NativeThreadProtocol &thread, |
| uint32_t concrete_frame_idx, |
| RegisterInfoInterface *register_info_interface) : |
| NativeRegisterContext (thread, concrete_frame_idx), |
| m_register_info_interface_up (register_info_interface) |
| { |
| assert (register_info_interface && "null register_info_interface"); |
| } |
| |
| uint32_t |
| NativeRegisterContextRegisterInfo::GetRegisterCount () const |
| { |
| return m_register_info_interface_up->GetRegisterCount (); |
| } |
| |
| const RegisterInfo * |
| NativeRegisterContextRegisterInfo::GetRegisterInfoAtIndex (uint32_t reg_index) const |
| { |
| if (reg_index <= GetRegisterCount ()) |
| return m_register_info_interface_up->GetRegisterInfo () + reg_index; |
| else |
| return nullptr; |
| } |
| |
| const RegisterInfoInterface& |
| NativeRegisterContextRegisterInfo::GetRegisterInfoInterface () const |
| { |
| return *m_register_info_interface_up; |
| } |