LLDB  mainline
ObjCPlusPlusLanguage.h
Go to the documentation of this file.
1 //===-- ObjCPlusPlusLanguage.h ----------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H
10 #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H
11 
13 #include "lldb/Target/Language.h"
14 #include "lldb/lldb-private.h"
15 
16 namespace lldb_private {
17 
20 
21 public:
22  ObjCPlusPlusLanguage() = default;
23 
24  ~ObjCPlusPlusLanguage() override = default;
25 
28  }
29 
30  llvm::StringRef GetNilReferenceSummaryString() override { return "nil"; }
31 
32  bool IsSourceFile(llvm::StringRef file_path) const override;
33 
34  const Highlighter *GetHighlighter() const override { return &m_highlighter; }
35 
36  // Static Functions
37  static void Initialize();
38 
39  static void Terminate();
40 
42 
43  static llvm::StringRef GetPluginNameStatic() { return "objcplusplus"; }
44 
45  // PluginInterface protocol
46  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
47 };
48 
49 } // namespace lldb_private
50 
51 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H
lldb_private::ObjCPlusPlusLanguage::Terminate
static void Terminate()
Definition: ObjCPlusPlusLanguage.cpp:33
lldb::LanguageType
LanguageType
Programming language type.
Definition: lldb-enumerations.h:436
lldb_private::ObjCPlusPlusLanguage::GetPluginName
llvm::StringRef GetPluginName() override
Definition: ObjCPlusPlusLanguage.h:46
Language.h
lldb_private::Highlighter
Annotates source code with color attributes.
Definition: Highlighter.h:90
lldb_private::ObjCPlusPlusLanguage::Initialize
static void Initialize()
Definition: ObjCPlusPlusLanguage.cpp:28
lldb_private::ObjCPlusPlusLanguage::ObjCPlusPlusLanguage
ObjCPlusPlusLanguage()=default
lldb_private::ObjCPlusPlusLanguage::GetHighlighter
const Highlighter * GetHighlighter() const override
Definition: ObjCPlusPlusLanguage.h:34
lldb_private::ObjCPlusPlusLanguage::m_highlighter
ClangHighlighter m_highlighter
Definition: ObjCPlusPlusLanguage.h:19
lldb_private::ObjCPlusPlusLanguage::GetNilReferenceSummaryString
llvm::StringRef GetNilReferenceSummaryString() override
Returns the summary string for ValueObjects for which IsNilReference() is true.
Definition: ObjCPlusPlusLanguage.h:30
lldb_private::ObjCPlusPlusLanguage::~ObjCPlusPlusLanguage
~ObjCPlusPlusLanguage() override=default
ClangHighlighter.h
lldb::eLanguageTypeObjC_plus_plus
@ eLanguageTypeObjC_plus_plus
Objective-C++.
Definition: lldb-enumerations.h:454
lldb_private::ObjCPlusPlusLanguage::GetPluginNameStatic
static llvm::StringRef GetPluginNameStatic()
Definition: ObjCPlusPlusLanguage.h:43
lldb-private.h
lldb_private::ObjCPlusPlusLanguage::GetLanguageType
lldb::LanguageType GetLanguageType() const override
Definition: ObjCPlusPlusLanguage.h:26
lldb_private::Language
Definition: Language.h:29
lldb_private
A class that represents a running process on the host machine.
Definition: SBCommandInterpreterRunOptions.h:16
lldb_private::ClangHighlighter
Definition: ClangHighlighter.h:19
lldb_private::ObjCPlusPlusLanguage::IsSourceFile
bool IsSourceFile(llvm::StringRef file_path) const override
Definition: ObjCPlusPlusLanguage.cpp:19
lldb_private::ObjCPlusPlusLanguage
Definition: ObjCPlusPlusLanguage.h:18
lldb_private::ObjCPlusPlusLanguage::CreateInstance
static lldb_private::Language * CreateInstance(lldb::LanguageType language)
Definition: ObjCPlusPlusLanguage.cpp:38