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/lldb-private.h" 18 #include "lldb/Target/Language.h" 19 20 namespace lldb_private { 21 22 class ObjCPlusPlusLanguage : 23 public Language 24 { 25 public: 26 ObjCPlusPlusLanguage() = default; 27 28 ~ObjCPlusPlusLanguage() override = default; 29 30 lldb::LanguageType 31 GetLanguageType() const override 32 { 33 return lldb::eLanguageTypeObjC_plus_plus; 34 } 35 36 //------------------------------------------------------------------ 37 // Static Functions 38 //------------------------------------------------------------------ 39 static void 40 Initialize(); 41 42 static void 43 Terminate(); 44 45 static lldb_private::Language * 46 CreateInstance (lldb::LanguageType language); 47 48 static lldb_private::ConstString 49 GetPluginNameStatic(); 50 51 //------------------------------------------------------------------ 52 // PluginInterface protocol 53 //------------------------------------------------------------------ 54 ConstString 55 GetPluginName() override; 56 57 uint32_t 58 GetPluginVersion() override; 59 }; 60 61 } // namespace lldb_private 62 63 #endif // liblldb_CPlusPlusLanguage_h_ 64