[RISCV] Add RVVConstraint to SiFive custom matrix multiply instructions. (#124055)
[llvm-project.git] / lldb / source / Plugins / Language / ObjCPlusPlus / ObjCPlusPlusLanguage.h
blob229dffe8462e41c2e20a844ea271801e350ac60b
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 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H
10 #define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H
12 #include "Plugins/Language/ClangCommon/ClangHighlighter.h"
13 #include "lldb/Target/Language.h"
14 #include "lldb/lldb-private.h"
16 namespace lldb_private {
18 class ObjCPlusPlusLanguage : public Language {
19 ClangHighlighter m_highlighter;
21 public:
22 ObjCPlusPlusLanguage() = default;
24 ~ObjCPlusPlusLanguage() override = default;
26 lldb::LanguageType GetLanguageType() const override {
27 return lldb::eLanguageTypeObjC_plus_plus;
30 llvm::StringRef GetUserEntryPointName() const override { return "main"; }
32 llvm::StringRef GetNilReferenceSummaryString() override { return "nil"; }
34 bool IsSourceFile(llvm::StringRef file_path) const override;
36 const Highlighter *GetHighlighter() const override { return &m_highlighter; }
38 // Static Functions
39 static void Initialize();
41 static void Terminate();
43 static lldb_private::Language *CreateInstance(lldb::LanguageType language);
45 llvm::StringRef GetInstanceVariableName() override { return "self"; }
47 virtual std::optional<bool>
48 GetBooleanFromString(llvm::StringRef str) const override;
50 static llvm::StringRef GetPluginNameStatic() { return "objcplusplus"; }
52 // PluginInterface protocol
53 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
56 } // namespace lldb_private
58 #endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H