//===-- GoLanguage.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_GoLanguage_h_ #define liblldb_GoLanguage_h_ // C Includes // C++ Includes #include // Other libraries and framework includes #include "llvm/ADT/StringRef.h" // Project includes #include "lldb/Target/Language.h" #include "lldb/Utility/ConstString.h" #include "lldb/lldb-private.h" namespace lldb_private { class GoLanguage : public Language { public: GoLanguage() = default; ~GoLanguage() override = default; lldb::LanguageType GetLanguageType() const override { return lldb::eLanguageTypeGo; } HardcodedFormatters::HardcodedSummaryFinder GetHardcodedSummaries() override; HardcodedFormatters::HardcodedSyntheticFinder GetHardcodedSynthetics() override; //------------------------------------------------------------------ // Static Functions //------------------------------------------------------------------ static void Initialize(); static void Terminate(); static lldb_private::Language *CreateInstance(lldb::LanguageType language); static lldb_private::ConstString GetPluginNameStatic(); //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ ConstString GetPluginName() override; uint32_t GetPluginVersion() override; }; } // namespace lldb_private #endif // liblldb_GoLanguage_h_