blob: 67be5109b278d8dd88c51282b81e74e7a734d601 [file] [log] [blame]
Enrico Granata5f9d3102015-08-27 21:33:50 +00001//===-- 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
20namespace lldb_private {
21
22class ObjCPlusPlusLanguage :
23 public Language
24{
25public:
26 virtual ~ObjCPlusPlusLanguage() = default;
27
28 ObjCPlusPlusLanguage () = default;
29
30 lldb::LanguageType
31 GetLanguageType () const
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 virtual ConstString
55 GetPluginName();
56
57 virtual uint32_t
58 GetPluginVersion();
59};
60
61} // namespace lldb_private
62
63#endif // liblldb_CPlusPlusLanguage_h_