Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h
39644 views
//===-- ObjCPlusPlusLanguage.h ----------------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H9#define LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H1011#include "Plugins/Language/ClangCommon/ClangHighlighter.h"12#include "lldb/Target/Language.h"13#include "lldb/lldb-private.h"1415namespace lldb_private {1617class ObjCPlusPlusLanguage : public Language {18ClangHighlighter m_highlighter;1920public:21ObjCPlusPlusLanguage() = default;2223~ObjCPlusPlusLanguage() override = default;2425lldb::LanguageType GetLanguageType() const override {26return lldb::eLanguageTypeObjC_plus_plus;27}2829llvm::StringRef GetUserEntryPointName() const override { return "main"; }3031llvm::StringRef GetNilReferenceSummaryString() override { return "nil"; }3233bool IsSourceFile(llvm::StringRef file_path) const override;3435const Highlighter *GetHighlighter() const override { return &m_highlighter; }3637// Static Functions38static void Initialize();3940static void Terminate();4142static lldb_private::Language *CreateInstance(lldb::LanguageType language);4344llvm::StringRef GetInstanceVariableName() override { return "self"; }4546static llvm::StringRef GetPluginNameStatic() { return "objcplusplus"; }4748// PluginInterface protocol49llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }50};5152} // namespace lldb_private5354#endif // LLDB_SOURCE_PLUGINS_LANGUAGE_OBJCPLUSPLUS_OBJCPLUSPLUSLANGUAGE_H555657