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