Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp
39642 views
//===-- ObjCPlusPlusLanguage.cpp ------------------------------------------===//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#include "ObjCPlusPlusLanguage.h"910#include "lldb/Core/PluginManager.h"11#include "lldb/Utility/ConstString.h"1213using namespace lldb;14using namespace lldb_private;1516LLDB_PLUGIN_DEFINE(ObjCPlusPlusLanguage)1718bool ObjCPlusPlusLanguage::IsSourceFile(llvm::StringRef file_path) const {19const auto suffixes = {".h", ".mm"};20for (auto suffix : suffixes) {21if (file_path.ends_with_insensitive(suffix))22return true;23}24return false;25}2627void ObjCPlusPlusLanguage::Initialize() {28PluginManager::RegisterPlugin(GetPluginNameStatic(), "Objective-C++ Language",29CreateInstance);30}3132void ObjCPlusPlusLanguage::Terminate() {33PluginManager::UnregisterPlugin(CreateInstance);34}3536// Static Functions37Language *ObjCPlusPlusLanguage::CreateInstance(lldb::LanguageType language) {38switch (language) {39case lldb::eLanguageTypeObjC_plus_plus:40return new ObjCPlusPlusLanguage();41default:42return nullptr;43}44}454647