1 //===-- ObjCPlusPlusLanguage.h ----------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef liblldb_ObjCPlusPlusLanguage_h_ 11 #define liblldb_ObjCPlusPlusLanguage_h_ 12 13 // C Includes 14 // C++ Includes 15 // Other libraries and framework includes 16 // Project includes 17 #include "lldb/Target/Language.h" 18 #include "lldb/lldb-private.h" 19 20 namespace lldb_private { 21 22 class ObjCPlusPlusLanguage : public Language { 23 public: 24 ObjCPlusPlusLanguage() = default; 25 26 ~ObjCPlusPlusLanguage() override = default; 27 28 lldb::LanguageType GetLanguageType() const override { 29 return lldb::eLanguageTypeObjC_plus_plus; 30 } 31 32 //------------------------------------------------------------------ 33 // Static Functions 34 //------------------------------------------------------------------ 35 static void Initialize(); 36 37 static void Terminate(); 38 39 static lldb_private::Language *CreateInstance(lldb::LanguageType language); 40 41 static lldb_private::ConstString GetPluginNameStatic(); 42 43 //------------------------------------------------------------------ 44 // PluginInterface protocol 45 //------------------------------------------------------------------ 46 ConstString GetPluginName() override; 47 48 uint32_t GetPluginVersion() override; 49 }; 50 51 } // namespace lldb_private 52 53 #endif // liblldb_CPlusPlusLanguage_h_ 54