Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:42:42

0001 //===-- SBLanguageRuntime.h -------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLDB_API_SBLANGUAGERUNTIME_H
0010 #define LLDB_API_SBLANGUAGERUNTIME_H
0011 
0012 #include "lldb/API/SBDefines.h"
0013 
0014 namespace lldb {
0015 
0016 class SBLanguageRuntime {
0017 public:
0018   static lldb::LanguageType GetLanguageTypeFromString(const char *string);
0019 
0020   static const char *GetNameForLanguageType(lldb::LanguageType language);
0021 
0022   /// Returns whether the given language is any version of C++.
0023   static bool LanguageIsCPlusPlus(lldb::LanguageType language);
0024 
0025   /// Returns whether the given language is Obj-C or Obj-C++.
0026   static bool LanguageIsObjC(lldb::LanguageType language);
0027 
0028   /// Returns whether the given language is any version of C, C++ or Obj-C.
0029   static bool LanguageIsCFamily(lldb::LanguageType language);
0030 
0031   /// Returns whether the given language supports exception breakpoints on
0032   /// throw statements.
0033   static bool SupportsExceptionBreakpointsOnThrow(lldb::LanguageType language);
0034 
0035   /// Returns whether the given language supports exception breakpoints on
0036   /// catch statements.
0037   static bool SupportsExceptionBreakpointsOnCatch(lldb::LanguageType language);
0038 
0039   /// Returns the keyword used for throw statements in the given language, e.g.
0040   /// Python uses \b raise. Returns \b nullptr if the language is not supported.
0041   static const char *GetThrowKeywordForLanguage(lldb::LanguageType language);
0042 
0043   /// Returns the keyword used for catch statements in the given language, e.g.
0044   /// Python uses \b except. Returns \b nullptr if the language is not
0045   /// supported.
0046   static const char *GetCatchKeywordForLanguage(lldb::LanguageType language);
0047 };
0048 
0049 } // namespace lldb
0050 
0051 #endif // LLDB_API_SBLANGUAGERUNTIME_H