*** to conform to clang-format’s LLVM style. This kind of mass change has
*** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge
effort. Alternatively, it may be worth merging all changes up to this commit,
performing the same reformatting operation locally, and then discarding the
merge for this particular commit. The commands used to accomplish this
reformatting were as follows (with current working directory as the root of
the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} +
find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of
a meaningful prior commit. There are alternatives available that will attempt
to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
91 lines
3.0 KiB
C++
91 lines
3.0 KiB
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_
|
|
|
|
// 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:
|
|
OperatingSystemGo(lldb_private::Process *process);
|
|
|
|
~OperatingSystemGo() override;
|
|
|
|
//------------------------------------------------------------------
|
|
// Static Functions
|
|
//------------------------------------------------------------------
|
|
static lldb_private::OperatingSystem *
|
|
CreateInstance(lldb_private::Process *process, bool force);
|
|
|
|
static void Initialize();
|
|
|
|
static void DebuggerInitialize(lldb_private::Debugger &debugger);
|
|
|
|
static void Terminate();
|
|
|
|
static lldb_private::ConstString GetPluginNameStatic();
|
|
|
|
static const char *GetPluginDescriptionStatic();
|
|
|
|
//------------------------------------------------------------------
|
|
// lldb_private::PluginInterface Methods
|
|
//------------------------------------------------------------------
|
|
lldb_private::ConstString GetPluginName() override;
|
|
|
|
uint32_t GetPluginVersion() override;
|
|
|
|
//------------------------------------------------------------------
|
|
// lldb_private::OperatingSystem Methods
|
|
//------------------------------------------------------------------
|
|
bool UpdateThreadList(lldb_private::ThreadList &old_thread_list,
|
|
lldb_private::ThreadList &real_thread_list,
|
|
lldb_private::ThreadList &new_thread_list) override;
|
|
|
|
void ThreadWasSelected(lldb_private::Thread *thread) override;
|
|
|
|
lldb::RegisterContextSP
|
|
CreateRegisterContextForThread(lldb_private::Thread *thread,
|
|
lldb::addr_t reg_data_addr) override;
|
|
|
|
lldb::StopInfoSP
|
|
CreateThreadStopReason(lldb_private::Thread *thread) override;
|
|
|
|
//------------------------------------------------------------------
|
|
// Method for lazy creation of threads on demand
|
|
//------------------------------------------------------------------
|
|
lldb::ThreadSP CreateThread(lldb::tid_t tid, lldb::addr_t context) override;
|
|
|
|
private:
|
|
struct Goroutine;
|
|
|
|
static lldb::ValueObjectSP FindGlobal(lldb::TargetSP target,
|
|
const char *name);
|
|
|
|
static lldb::TypeSP FindType(lldb::TargetSP target_sp, const char *name);
|
|
|
|
bool Init(lldb_private::ThreadList &threads);
|
|
|
|
Goroutine CreateGoroutineAtIndex(uint64_t idx, lldb_private::Error &err);
|
|
|
|
std::unique_ptr<DynamicRegisterInfo> m_reginfo;
|
|
lldb::ValueObjectSP m_allg_sp;
|
|
lldb::ValueObjectSP m_allglen_sp;
|
|
};
|
|
|
|
#endif // liblldb_OperatingSystemGo_h_
|