diff options
Diffstat (limited to 'lldb/source/Plugins/OperatingSystem/Go')
-rw-r--r-- | lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp | 61 | ||||
-rw-r--r-- | lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h | 46 |
2 files changed, 54 insertions, 53 deletions
diff --git a/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp b/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp index 2709afc2743..86c574f2776 100644 --- a/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp +++ b/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp @@ -1,4 +1,4 @@ -//===-- OperatingSystemGo.cpp --------------------------------*- C++ -*-===// +//===-- OperatingSystemGo.cpp -----------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -6,13 +6,15 @@ // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// -#include "OperatingSystemGo.h" // C Includes // C++ Includes #include <unordered_map> // Other libraries and framework includes +// Project includes +#include "OperatingSystemGo.h" + #include "lldb/Core/DataBufferHeap.h" #include "lldb/Core/Debugger.h" #include "lldb/Core/Module.h" @@ -56,13 +58,7 @@ enum class PluginProperties : public Properties { - public: - static ConstString - GetSettingName() - { - return OperatingSystemGo::GetPluginNameStatic(); - } - +public: PluginProperties() : Properties() { @@ -70,7 +66,13 @@ class PluginProperties : public Properties m_collection_sp->Initialize(g_properties); } - virtual ~PluginProperties() {} + ~PluginProperties() override = default; + + static ConstString + GetSettingName() + { + return OperatingSystemGo::GetPluginNameStatic(); + } bool GetEnableGoroutines() @@ -100,10 +102,7 @@ GetGlobalPluginProperties() class RegisterContextGo : public RegisterContextMemory { - public: - //------------------------------------------------------------------ - // Constructors and Destructors - //------------------------------------------------------------------ +public: RegisterContextGo(lldb_private::Thread &thread, uint32_t concrete_frame_idx, DynamicRegisterInfo ®_info, lldb::addr_t reg_data_addr) : RegisterContextMemory(thread, concrete_frame_idx, reg_info, reg_data_addr) @@ -118,10 +117,11 @@ class RegisterContextGo : public RegisterContextMemory m_reg_data.SetData(reg_data_sp); } - virtual ~RegisterContextGo() {} + ~RegisterContextGo() override = default; - virtual bool - ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue ®_value) + bool + ReadRegister(const lldb_private::RegisterInfo *reg_info, + lldb_private::RegisterValue ®_value) override { switch (reg_info->kinds[eRegisterKindGeneric]) { @@ -134,8 +134,9 @@ class RegisterContextGo : public RegisterContextMemory } } - virtual bool - WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue ®_value) + bool + WriteRegister(const lldb_private::RegisterInfo *reg_info, + const lldb_private::RegisterValue ®_value) override { switch (reg_info->kinds[eRegisterKindGeneric]) { @@ -147,11 +148,11 @@ class RegisterContextGo : public RegisterContextMemory } } - private: +private: DISALLOW_COPY_AND_ASSIGN(RegisterContextGo); }; -} // namespace +} // anonymous namespace struct OperatingSystemGo::Goroutine { @@ -219,6 +220,14 @@ OperatingSystemGo::CreateInstance(Process *process, bool force) return new OperatingSystemGo(process); } +OperatingSystemGo::OperatingSystemGo(lldb_private::Process *process) + : OperatingSystem(process) + , m_reginfo(new DynamicRegisterInfo) +{ +} + +OperatingSystemGo::~OperatingSystemGo() = default; + ConstString OperatingSystemGo::GetPluginNameStatic() { @@ -232,16 +241,6 @@ OperatingSystemGo::GetPluginDescriptionStatic() return "Operating system plug-in that reads runtime data-structures for goroutines."; } -OperatingSystemGo::OperatingSystemGo(lldb_private::Process *process) - : OperatingSystem(process) - , m_reginfo(new DynamicRegisterInfo) -{ -} - -OperatingSystemGo::~OperatingSystemGo() -{ -} - bool OperatingSystemGo::Init(ThreadList &threads) { diff --git a/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h b/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h index b543f61be6a..d3391d907df 100644 --- a/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h +++ b/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h @@ -1,24 +1,32 @@ -//===-- OperatingSystemGo.h ----------------------------------*- C++ -*-===// +//===-- OperatingSystemGo.h -------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // -//===-------------------------------------------------------------------===// +//===----------------------------------------------------------------------===// #ifndef _liblldb_OperatingSystemGo_h_ #define _liblldb_OperatingSystemGo_h_ -#include <iostream> +// C Includes +// C++ Includes +#include <memory> +// Other libraries and framework includes +// Project includes #include "lldb/Target/OperatingSystem.h" class DynamicRegisterInfo; class OperatingSystemGo : public lldb_private::OperatingSystem { - public: +public: + OperatingSystemGo(lldb_private::Process *process); + + ~OperatingSystemGo() override; + //------------------------------------------------------------------ // Static Functions //------------------------------------------------------------------ @@ -35,38 +43,32 @@ class OperatingSystemGo : public lldb_private::OperatingSystem static const char *GetPluginDescriptionStatic(); //------------------------------------------------------------------ - // Class Methods - //------------------------------------------------------------------ - OperatingSystemGo(lldb_private::Process *process); - - virtual ~OperatingSystemGo(); - - //------------------------------------------------------------------ // lldb_private::PluginInterface Methods //------------------------------------------------------------------ - virtual lldb_private::ConstString GetPluginName(); + lldb_private::ConstString GetPluginName() override; - virtual uint32_t GetPluginVersion(); + uint32_t GetPluginVersion() override; //------------------------------------------------------------------ // lldb_private::OperatingSystem Methods //------------------------------------------------------------------ - virtual bool UpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &real_thread_list, - lldb_private::ThreadList &new_thread_list); + bool UpdateThreadList(lldb_private::ThreadList &old_thread_list, + lldb_private::ThreadList &real_thread_list, + lldb_private::ThreadList &new_thread_list) override; - virtual void ThreadWasSelected(lldb_private::Thread *thread); + void ThreadWasSelected(lldb_private::Thread *thread) override; - virtual lldb::RegisterContextSP CreateRegisterContextForThread(lldb_private::Thread *thread, - lldb::addr_t reg_data_addr); + lldb::RegisterContextSP CreateRegisterContextForThread(lldb_private::Thread *thread, + lldb::addr_t reg_data_addr) override; - virtual lldb::StopInfoSP CreateThreadStopReason(lldb_private::Thread *thread); + lldb::StopInfoSP CreateThreadStopReason(lldb_private::Thread *thread) override; //------------------------------------------------------------------ // Method for lazy creation of threads on demand //------------------------------------------------------------------ - virtual lldb::ThreadSP CreateThread(lldb::tid_t tid, lldb::addr_t context); + lldb::ThreadSP CreateThread(lldb::tid_t tid, lldb::addr_t context) override; - private: +private: struct Goroutine; static lldb::ValueObjectSP FindGlobal(lldb::TargetSP target, const char *name); @@ -82,4 +84,4 @@ class OperatingSystemGo : public lldb_private::OperatingSystem lldb::ValueObjectSP m_allglen_sp; }; -#endif // #ifndef liblldb_OperatingSystemGo_h_ +#endif // liblldb_OperatingSystemGo_h_ |