xref: /freebsd-src/lib/clang/include/lldb/API/SBLanguages.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
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