| //===-- 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; |
| } |
| } |