1 //===-- NativeRegisterContextRegisterInfo.h ---------------------*- C++ -*-===//
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-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEREGISTERCONTEXTREGISTERINFO_H
14 #include "RegisterInfoInterface.h"
15 #include "lldb/Host/common/NativeRegisterContext.h"
17 namespace lldb_private
{
18 class NativeRegisterContextRegisterInfo
: public NativeRegisterContext
{
21 /// Construct a NativeRegisterContextRegisterInfo, taking ownership
22 /// of the register_info_interface pointer.
24 NativeRegisterContextRegisterInfo(
25 NativeThreadProtocol
&thread
,
26 RegisterInfoInterface
*register_info_interface
);
28 uint32_t GetRegisterCount() const override
;
30 uint32_t GetUserRegisterCount() const override
;
32 const RegisterInfo
*GetRegisterInfoAtIndex(uint32_t reg_index
) const override
;
34 const RegisterInfoInterface
&GetRegisterInfoInterface() const;
37 std::unique_ptr
<RegisterInfoInterface
> m_register_info_interface_up
;