1 //===-- NativeRegisterContextRegisterInfo.h ---------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_PLUGINS_PROCESS_UTIILTY_NATIVE_REGISTER_CONTEXT_REGISTER_INFO
11 #define LLDB_PLUGINS_PROCESS_UTIILTY_NATIVE_REGISTER_CONTEXT_REGISTER_INFO
15 #include "RegisterInfoInterface.h"
16 #include "lldb/Host/common/NativeRegisterContext.h"
18 namespace lldb_private {
19 class NativeRegisterContextRegisterInfo : public NativeRegisterContext {
22 /// Construct a NativeRegisterContextRegisterInfo, taking ownership
23 /// of the register_info_interface pointer.
25 NativeRegisterContextRegisterInfo(
26 NativeThreadProtocol &thread, uint32_t concrete_frame_idx,
27 RegisterInfoInterface *register_info_interface);
29 uint32_t GetRegisterCount() const override;
31 uint32_t GetUserRegisterCount() const override;
33 const RegisterInfo *GetRegisterInfoAtIndex(uint32_t reg_index) const override;
35 const RegisterInfoInterface &GetRegisterInfoInterface() const;
38 std::unique_ptr<RegisterInfoInterface> m_register_info_interface_up;