Expand description
Modules§
- visitor
- Visitor trait for AST traversal.
Structs§
- Annotation
- A decorator-style annotation such as
@derive(Equatable)or@performance(max_latency: 100). - Annotation
Arg - A single argument to an annotation, optionally labelled.
- Arg
- A named argument in a function call:
label: value. - Associated
Type - An associated type inside a trait declaration.
- Block
- A block of statements with an optional tail expression.
- Class
Decl - A class declaration.
- Const
Decl - A
const NAME: Type = valuedeclaration. - Effect
Decl - An algebraic effect declaration.
- Enum
Decl - An enum (algebraic data type) declaration.
- FileId
- Identifies a source file within the compilation session.
- FnDecl
- A function declaration.
- ForLoop
for pattern in iterable { body }.- Generic
Param - A single generic type parameter, e.g.
TorT: Bound. - Guard
Stmt guard (condition) else { diverging_block }.- Handler
Pair - A handler pair inside a
handlingblock:Log with handler. - Handling
Block handling (Effect with handler, ...) { body }.- Ident
- An identifier token with its source span.
- Impl
Block - An
impl Trait for Typeorimpl Typeblock. - Import
Decl - An import declaration.
- Imported
Name - One named item in an import list.
- LetStmt
let [mut] pattern [: Type] = value.- Loop
Stmt loop { body }.- Match
Arm - One arm of a
matchexpression. - Module
- The root AST node for a single Bock source file.
- Module
Handle Decl - A module-level
handle Effect with handlerdeclaration. - Module
Path - A module path declared at the top of a file, e.g.
module Std.Io. - Param
- A single function parameter.
- Property
Binding - A binding in a
forallclause of apropertytest. - Property
Test Decl - A
property("name") { forall(...) { ... } }property-based test declaration. - Record
Decl - A record (value-type) declaration.
- Record
Decl Field - A field in a record declaration.
- Record
Field - One field in a record construction expression.
- Record
Pattern Field - One field binding inside a record pattern.
- Record
Spread - A spread element in record construction:
..defaults. - Span
- A byte-offset span within a source file.
- Trait
Decl - A trait declaration (or platform-trait when
is_platformis true). - Type
Alias Decl - A
type Name = Type where (predicate)alias. - Type
Assignment - A type assignment inside an impl block:
type Output = Int. - Type
Constraint - A
whereclause constraint, e.g.T: Equatable. - Type
Path - A qualified path of identifiers separated by
., e.g.Std.Io.File. - While
Loop while (condition) { body }.
Enums§
- Assign
Op - An assignment operator.
- BinOp
- A binary operator.
- Enum
Variant - A single enum variant.
- Expr
- An expression node.
- Import
Items - The items selected from an import.
- Interpolation
Part - One segment of a string interpolation: either raw text or an embedded expression.
- Item
- A top-level item in a source file.
- Literal
- A literal value as it appears in source.
- Pattern
- A destructuring pattern used in
let,match,for, etc. - Stmt
- A statement node.
- Type
Expr - A syntactic type expression as it appears in source code.
- UnaryOp
- A unary operator.
- Visibility
- Declaration visibility.
Functions§
- strip_
type_ suffix - Strip a type suffix (e.g.,
_u8,_f64) from a numeric literal string.
Type Aliases§
- NodeId
- Unique identifier for an AST node within a compilation session.