| //===-- NativeRegisterContextRegisterInfo.cpp -----------------------------===// | |
| // | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
| // See https://llvm.org/LICENSE.txt for license information. | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "NativeRegisterContextRegisterInfo.h" | |
| #include "lldb/lldb-private-forward.h" | |
| #include "lldb/lldb-types.h" | |
| using namespace lldb_private; | |
| NativeRegisterContextRegisterInfo::NativeRegisterContextRegisterInfo( | |
| NativeThreadProtocol &thread, | |
| RegisterInfoInterface *register_info_interface) | |
| : NativeRegisterContext(thread), | |
| 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(); | |
| } | |
| uint32_t NativeRegisterContextRegisterInfo::GetUserRegisterCount() const { | |
| return m_register_info_interface_up->GetUserRegisterCount(); | |
| } | |
| 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; | |
| } |