43 lines · cpp
1//===-- NativeRegisterContextRegisterInfo.cpp -----------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "NativeRegisterContextRegisterInfo.h"10#include "lldb/lldb-private-forward.h"11#include "lldb/lldb-types.h"12 13using namespace lldb_private;14 15NativeRegisterContextRegisterInfo::NativeRegisterContextRegisterInfo(16 NativeThreadProtocol &thread,17 RegisterInfoInterface *register_info_interface)18 : NativeRegisterContext(thread),19 m_register_info_interface_up(register_info_interface) {20 assert(register_info_interface && "null register_info_interface");21}22 23uint32_t NativeRegisterContextRegisterInfo::GetRegisterCount() const {24 return m_register_info_interface_up->GetRegisterCount();25}26 27uint32_t NativeRegisterContextRegisterInfo::GetUserRegisterCount() const {28 return m_register_info_interface_up->GetUserRegisterCount();29}30 31const RegisterInfo *NativeRegisterContextRegisterInfo::GetRegisterInfoAtIndex(32 uint32_t reg_index) const {33 if (reg_index <= GetRegisterCount())34 return m_register_info_interface_up->GetRegisterInfo() + reg_index;35 else36 return nullptr;37}38 39const RegisterInfoInterface &40NativeRegisterContextRegisterInfo::GetRegisterInfoInterface() const {41 return *m_register_info_interface_up;42}43