Expand description
Typed IR for Draxl.
This crate defines the shared syntax model for the entire workspace:
- stable metadata on modeled nodes
- typed items, statements, expressions, patterns, and types
- deterministic JSON emission for test fixtures and tooling
It deliberately does not own parsing, validation rules, formatting policy, lowering, or patch application.
Structs§
- Block
- Block expression body.
- Comment
Node - Line comment node.
- DocNode
- Doc comment node.
- Expr
Binary - Binary expression.
- Expr
Call - Call expression.
- Expr
Group - Grouped expression that preserves source parentheses.
- ExprLit
- Literal expression.
- Expr
Match - Match expression.
- Expr
Path - Path expression.
- Expr
Unary - Unary expression.
- Field
- Struct field.
- File
- Parsed Draxl file.
- Item
Enum - Enum item.
- ItemFn
- Function item.
- ItemMod
- Module item.
- Item
Struct - Struct item.
- ItemUse
- Use item.
- Match
Arm - Match arm.
- Meta
- Shared metadata carried by Draxl nodes.
- Param
- Function parameter.
- PatIdent
- Identifier pattern.
- PatWild
- Wildcard pattern.
- Path
- Path value.
- Span
- Byte range in the original source file.
- Stmt
Expr - Expression statement.
- StmtLet
- Let statement.
- Type
Path - Path type.
- UseGlob
- Glob
usetree leaf. - UseGroup
- Braced
usetree group. - UseName
- Single-name
usetree segment. - UsePath
Tree - Prefix-plus-child
usetree segment. - Variant
- Enum variant.
Enums§
- Binary
Op - Binary operator in the bootstrap subset.
- Expr
- Expression in the bootstrap subset.
- Item
- Top-level or module item.
- Literal
- Literal value.
- Pattern
- Pattern in the bootstrap subset.
- Stmt
- Statement inside a block.
- Type
- Type in the bootstrap subset.
- UnaryOp
- Unary operator in the bootstrap subset.
- UseTree
- Tree form for
useitems in the bootstrap subset.