//===-- ObjCPlusPlusLanguage.cpp --------------------------------------*- C++ //-*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "ObjCPlusPlusLanguage.h" #include "lldb/Core/ConstString.h" #include "lldb/Core/PluginManager.h" using namespace lldb; using namespace lldb_private; void ObjCPlusPlusLanguage::Initialize() { PluginManager::RegisterPlugin(GetPluginNameStatic(), "Objective-C++ Language", CreateInstance); } void ObjCPlusPlusLanguage::Terminate() { PluginManager::UnregisterPlugin(CreateInstance); } lldb_private::ConstString ObjCPlusPlusLanguage::GetPluginNameStatic() { static ConstString g_name("objcplusplus"); return g_name; } //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ lldb_private::ConstString ObjCPlusPlusLanguage::GetPluginName() { return GetPluginNameStatic(); } uint32_t ObjCPlusPlusLanguage::GetPluginVersion() { return 1; } //------------------------------------------------------------------ // Static Functions //------------------------------------------------------------------ Language *ObjCPlusPlusLanguage::CreateInstance(lldb::LanguageType language) { switch (language) { case lldb::eLanguageTypeObjC_plus_plus: return new ObjCPlusPlusLanguage(); default: return nullptr; } }