| //===-- SBLanguageRuntime.cpp ---------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "lldb/API/SBLanguageRuntime.h" |
| #include "lldb/Target/Language.h" |
| #include "lldb/Utility/Instrumentation.h" |
| |
| using namespace lldb; |
| using namespace lldb_private; |
| |
| lldb::LanguageType |
| SBLanguageRuntime::GetLanguageTypeFromString(const char *string) { |
| LLDB_INSTRUMENT_VA(string); |
| |
| return Language::GetLanguageTypeFromString(llvm::StringRef(string)); |
| } |
| |
| const char * |
| SBLanguageRuntime::GetNameForLanguageType(lldb::LanguageType language) { |
| LLDB_INSTRUMENT_VA(language); |
| |
| return Language::GetNameForLanguageType(language); |
| } |
| |
| bool SBLanguageRuntime::LanguageIsCPlusPlus(lldb::LanguageType language) { |
| return Language::LanguageIsCPlusPlus(language); |
| } |
| |
| bool SBLanguageRuntime::LanguageIsObjC(lldb::LanguageType language) { |
| return Language::LanguageIsObjC(language); |
| } |
| |
| bool SBLanguageRuntime::LanguageIsCFamily(lldb::LanguageType language) { |
| return Language::LanguageIsCFamily(language); |
| } |
| |
| bool SBLanguageRuntime::SupportsExceptionBreakpointsOnThrow( |
| lldb::LanguageType language) { |
| if (Language *lang_plugin = Language::FindPlugin(language)) |
| return lang_plugin->SupportsExceptionBreakpointsOnThrow(); |
| return false; |
| } |
| |
| bool SBLanguageRuntime::SupportsExceptionBreakpointsOnCatch( |
| lldb::LanguageType language) { |
| if (Language *lang_plugin = Language::FindPlugin(language)) |
| return lang_plugin->SupportsExceptionBreakpointsOnCatch(); |
| return false; |
| } |
| |
| const char * |
| SBLanguageRuntime::GetThrowKeywordForLanguage(lldb::LanguageType language) { |
| if (Language *lang_plugin = Language::FindPlugin(language)) |
| return ConstString(lang_plugin->GetThrowKeyword()).AsCString(); |
| return nullptr; |
| } |
| |
| const char * |
| SBLanguageRuntime::GetCatchKeywordForLanguage(lldb::LanguageType language) { |
| if (Language *lang_plugin = Language::FindPlugin(language)) |
| return ConstString(lang_plugin->GetCatchKeyword()).AsCString(); |
| return nullptr; |
| } |