diff options
Diffstat (limited to 'contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp')
-rw-r--r-- | contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp b/contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp new file mode 100644 index 000000000000..958652ab6f13 --- /dev/null +++ b/contrib/llvm-project/lldb/source/API/SBLanguageRuntime.cpp @@ -0,0 +1,68 @@ +//===-- 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; +} |