Skip to main content

Module ast

Module ast 

Source

Structs§

BlockParamDecl
FnDecl
A function declaration (fn name: <entry> stmts...).
Program
Top-level program representation. Any leading type declarations are collected into structs; kind is the statement or function body.
SourcePosition
SourceSpan
StructDecl
A nominal struct definition: type Foo { a: 4, _: 5, b: 2 }. Field offsets are the running byte sum (padding included); the struct size is the total.
StructFieldDecl
One field of a type Foo { ... } declaration. A field named _ is padding: it advances the running offset by its byte size without naming a slot.
TupleField
TypedAtom

Enums§

Atom
Callee
A direct function reference in textual QCode.
CastOp
ExprNode
ExtractField
FnKind
GepField
The field selector of a gep(...) — by field name or by raw byte offset.
Label
A branch target or label declaration — either a named label or a block address.
ProgramKind
Statement
StructFieldType
The declared type of a struct field: either a scalar of n bytes, or a pointer to a named (nominal) struct, written Foo*.

Type Aliases§

BlockArgs
Per-parameter arguments on a branch edge: (param_name, value) in declaration order. Empty unless the edge was written as goto <block @v1=e1 @v2=e2>.
SwitchCase
One switch arm: (case value, target block, arguments on that edge).