1*0fca6ea1SDimitry Andric //===-- SBLanguages.h -----------------------------------------*- C++ -*-===// 2*0fca6ea1SDimitry Andric // 3*0fca6ea1SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*0fca6ea1SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*0fca6ea1SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*0fca6ea1SDimitry Andric // 7*0fca6ea1SDimitry Andric //===----------------------------------------------------------------------===// 8*0fca6ea1SDimitry Andric 9*0fca6ea1SDimitry Andric #ifndef LLDB_API_SBLANGUAGE_H 10*0fca6ea1SDimitry Andric #define LLDB_API_SBLANGUAGE_H 11*0fca6ea1SDimitry Andric 12*0fca6ea1SDimitry Andric namespace lldb { 13*0fca6ea1SDimitry Andric /// Used by \ref SBExpressionOptions. 14*0fca6ea1SDimitry Andric /// These enumerations use the same language enumerations as the DWARF 15*0fca6ea1SDimitry Andric /// specification for ease of use and consistency. 16*0fca6ea1SDimitry Andric enum SBSourceLanguageName : uint16_t { 17*0fca6ea1SDimitry Andric /// ISO Ada. 18*0fca6ea1SDimitry Andric eLanguageNameAda = 0x0001, 19*0fca6ea1SDimitry Andric /// BLISS. 20*0fca6ea1SDimitry Andric eLanguageNameBLISS = 0x0002, 21*0fca6ea1SDimitry Andric /// C (K&R and ISO). 22*0fca6ea1SDimitry Andric eLanguageNameC = 0x0003, 23*0fca6ea1SDimitry Andric /// ISO C++. 24*0fca6ea1SDimitry Andric eLanguageNameC_plus_plus = 0x0004, 25*0fca6ea1SDimitry Andric /// ISO Cobol. 26*0fca6ea1SDimitry Andric eLanguageNameCobol = 0x0005, 27*0fca6ea1SDimitry Andric /// Crystal. 28*0fca6ea1SDimitry Andric eLanguageNameCrystal = 0x0006, 29*0fca6ea1SDimitry Andric /// D. 30*0fca6ea1SDimitry Andric eLanguageNameD = 0x0007, 31*0fca6ea1SDimitry Andric /// Dylan. 32*0fca6ea1SDimitry Andric eLanguageNameDylan = 0x0008, 33*0fca6ea1SDimitry Andric /// ISO Fortran. 34*0fca6ea1SDimitry Andric eLanguageNameFortran = 0x0009, 35*0fca6ea1SDimitry Andric /// Go. 36*0fca6ea1SDimitry Andric eLanguageNameGo = 0x000a, 37*0fca6ea1SDimitry Andric /// Haskell. 38*0fca6ea1SDimitry Andric eLanguageNameHaskell = 0x000b, 39*0fca6ea1SDimitry Andric /// Java. 40*0fca6ea1SDimitry Andric eLanguageNameJava = 0x000c, 41*0fca6ea1SDimitry Andric /// Julia. 42*0fca6ea1SDimitry Andric eLanguageNameJulia = 0x000d, 43*0fca6ea1SDimitry Andric /// Kotlin. 44*0fca6ea1SDimitry Andric eLanguageNameKotlin = 0x000e, 45*0fca6ea1SDimitry Andric /// Modula 2. 46*0fca6ea1SDimitry Andric eLanguageNameModula2 = 0x000f, 47*0fca6ea1SDimitry Andric /// Modula 3. 48*0fca6ea1SDimitry Andric eLanguageNameModula3 = 0x0010, 49*0fca6ea1SDimitry Andric /// Objective C. 50*0fca6ea1SDimitry Andric eLanguageNameObjC = 0x0011, 51*0fca6ea1SDimitry Andric /// Objective C++. 52*0fca6ea1SDimitry Andric eLanguageNameObjC_plus_plus = 0x0012, 53*0fca6ea1SDimitry Andric /// OCaml. 54*0fca6ea1SDimitry Andric eLanguageNameOCaml = 0x0013, 55*0fca6ea1SDimitry Andric /// OpenCL C. 56*0fca6ea1SDimitry Andric eLanguageNameOpenCL_C = 0x0014, 57*0fca6ea1SDimitry Andric /// ISO Pascal. 58*0fca6ea1SDimitry Andric eLanguageNamePascal = 0x0015, 59*0fca6ea1SDimitry Andric /// ANSI PL/I. 60*0fca6ea1SDimitry Andric eLanguageNamePLI = 0x0016, 61*0fca6ea1SDimitry Andric /// Python. 62*0fca6ea1SDimitry Andric eLanguageNamePython = 0x0017, 63*0fca6ea1SDimitry Andric /// RenderScript Kernel Language. 64*0fca6ea1SDimitry Andric eLanguageNameRenderScript = 0x0018, 65*0fca6ea1SDimitry Andric /// Rust. 66*0fca6ea1SDimitry Andric eLanguageNameRust = 0x0019, 67*0fca6ea1SDimitry Andric /// Swift. 68*0fca6ea1SDimitry Andric eLanguageNameSwift = 0x001a, 69*0fca6ea1SDimitry Andric /// Unified Parallel C (UPC). 70*0fca6ea1SDimitry Andric eLanguageNameUPC = 0x001b, 71*0fca6ea1SDimitry Andric /// Zig. 72*0fca6ea1SDimitry Andric eLanguageNameZig = 0x001c, 73*0fca6ea1SDimitry Andric /// Assembly. 74*0fca6ea1SDimitry Andric eLanguageNameAssembly = 0x001d, 75*0fca6ea1SDimitry Andric /// C#. 76*0fca6ea1SDimitry Andric eLanguageNameC_sharp = 0x001e, 77*0fca6ea1SDimitry Andric /// Mojo. 78*0fca6ea1SDimitry Andric eLanguageNameMojo = 0x001f, 79*0fca6ea1SDimitry Andric /// OpenGL Shading Language. 80*0fca6ea1SDimitry Andric eLanguageNameGLSL = 0x0020, 81*0fca6ea1SDimitry Andric /// OpenGL ES Shading Language. 82*0fca6ea1SDimitry Andric eLanguageNameGLSL_ES = 0x0021, 83*0fca6ea1SDimitry Andric /// High Level Shading Language. 84*0fca6ea1SDimitry Andric eLanguageNameHLSL = 0x0022, 85*0fca6ea1SDimitry Andric /// OpenCL C++. 86*0fca6ea1SDimitry Andric eLanguageNameOpenCL_CPP = 0x0023, 87*0fca6ea1SDimitry Andric /// C++ for OpenCL. 88*0fca6ea1SDimitry Andric eLanguageNameCPP_for_OpenCL = 0x0024, 89*0fca6ea1SDimitry Andric /// SYCL. 90*0fca6ea1SDimitry Andric eLanguageNameSYCL = 0x0025, 91*0fca6ea1SDimitry Andric /// Ruby. 92*0fca6ea1SDimitry Andric eLanguageNameRuby = 0x0026, 93*0fca6ea1SDimitry Andric /// Move. 94*0fca6ea1SDimitry Andric eLanguageNameMove = 0x0027, 95*0fca6ea1SDimitry Andric /// Hylo. 96*0fca6ea1SDimitry Andric eLanguageNameHylo = 0x0028, 97*0fca6ea1SDimitry Andric }; 98*0fca6ea1SDimitry Andric 99*0fca6ea1SDimitry Andric } // namespace lldb 100*0fca6ea1SDimitry Andric 101*0fca6ea1SDimitry Andric #endif 102