pub enum Language {
Show 21 variants
Rust,
Cpp,
C,
Java,
CSharp,
Python,
TypeScript,
Go,
OCaml,
Ada,
D,
Elixir,
Julia,
Lua,
Nim,
Swift,
Zig,
Node,
Ada83,
FSharp,
Kotlin,
}Expand description
Which language a tree belongs to.
Carried so a coverage table can be indexed by it and a diagnostic can name it; the trees themselves never branch on it.
Variants§
Rust
Rust.
Cpp
C++.
C
C.
Java
Java.
CSharp
C#.
Python
Python.
TypeScript
TypeScript.
Go
Go.
OCaml
OCaml.
Ada
Ada.
D
D.
Elixir
Elixir.
Julia
Julia.
Lua
Lua.
Nim
Nim.
Swift
Swift.
Zig
Zig.
Node
Node (plain JavaScript).
Ada83
Ada 83 (ANSI/MIL-STD-1815A), a second column for a language already on the list — it answers enough clauses differently to need its own materialisation.
FSharp
F#.
Kotlin
Kotlin.
Implementations§
Source§impl Language
impl Language
Sourcepub const ALL: [Self; 21]
pub const ALL: [Self; 21]
Every language these trees cover.
The languages whose backends are complete, so a coverage table over this array is total by construction.
A variant exists in Language before it is in here: the enum is
what a module registers itself under while it is being built, and
this array is what says it is done. A language added to the enum
and not to this list appears in no table and claims no coverage —
which is the honest state for one whose catalogue is still empty.