blob: 0e1db66b0899551fa3b58010123a11b7d7d8d714 [file] [log] [blame]
Eugene Zelenko8d15f332015-10-20 01:10:59 +00001//===-- ObjCPlusPlusLanguage.h ----------------------------------*- C++ -*-===//
Enrico Granata5f9d3102015-08-27 21:33:50 +00002//
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:
Eugene Zelenko8d15f332015-10-20 01:10:59 +000026 ObjCPlusPlusLanguage() = default;
27
28 ~ObjCPlusPlusLanguage() override = default;
29
Enrico Granata5f9d3102015-08-27 21:33:50 +000030 lldb::LanguageType
Eugene Zelenko8d15f332015-10-20 01:10:59 +000031 GetLanguageType() const override
Enrico Granata5f9d3102015-08-27 21:33:50 +000032 {
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 //------------------------------------------------------------------
Eugene Zelenko8d15f332015-10-20 01:10:59 +000054 ConstString
55 GetPluginName() override;
Enrico Granata5f9d3102015-08-27 21:33:50 +000056
Eugene Zelenko8d15f332015-10-20 01:10:59 +000057 uint32_t
58 GetPluginVersion() override;
Enrico Granata5f9d3102015-08-27 21:33:50 +000059};
60
61} // namespace lldb_private
62
Eugene Zelenko8d15f332015-10-20 01:10:59 +000063#endif // liblldb_CPlusPlusLanguage_h_