Skip to main content

Module ast

Module ast 

Source
Expand description

Typed AST wrappers for the native .brink CST.

Every struct is a zero-cost newtype around SyntaxNode that implements AstNode, mirroring brink-syntax’s pattern exactly (studied from crates/internal/brink-syntax/src/ast/mod.rs) but over this crate’s own SyntaxKind. Use crate::Parse::tree() to get a SourceFile from a parse result.

Structs§

AlternationBlock
AlternationMarker
AnnotationArg
AnnotationArgs
AnnotationLine
ArgList
ArrayLiteral
AsBinding
AssignStmt
BangDispatch
Block
BooleanLit
BreakStmt
CallExpr
Choice
ChoiceBody
ChoiceBracketContent
ChoiceBullet
ChoiceGuard
ChoiceInnerContent
ChoicePoint
ChoiceStartContent
CompactCue
ConditionalBlock
ConstDecl
ConstructEntry
ConstructLiteral
ContentLine
ContinueStmt
Cue
CueName
DispatchName
DivertStmt
DivertTarget
DocComment
ElseBranch
ElseClause
Entry
Error
Escape
ExprStmt
ExternDecl
FlagsDecl
FlagsMember
FlagsMemberList
FloatLit
FlowDecl
FnDecl
ForStmt
GlueNode
IfArm
IfStmt
ImportDecl
InfixExpr
IntegerLit
Interpolation
Label
LambdaExpr
LambdaParams
LetStmt
LogicLine
MatchArm
MatchPattern
ModuleDecl
Param
ParamList
ParenExpr
Parenthetical
Path
PathExpr
PathSegment
PrefixExpr
ProseLine
ReturnRedirect
ReturnStmt
SceneBody
SceneHeading
SceneSlug
SceneStitch
SceneTitle
SourceFile
Span
SpanAttr
SpanAttrValue
SpanName
Splice
StmtBlock
StringLit
StructDecl
StructField
Tag
TagLine
Text
TunnelCall
TypeAnnotation
TypeExpr
TypeFn
TypeGeneric
TypeName
UntilStmt
UseDecl
UseTree
UseTreeList
VarDecl
WhileStmt

Enums§

Body
A flow/fn declaration’s body — either the prose-ground Block (BLOCK) or the code-ground StmtBlock (STMT_BLOCK), whichever the body-dialect selector on the opening brace chose (charter §4, RULED 2026-07-23: plain { } = per-keyword default, ~{ } = code-ground, >{ } = prose-ground — see parser::decl::decl_body). One enum rather than two separate body()/code_body() accessors, since a given declaration’s body is always exactly one or the other, never both.
TypeExprKind
What a TypeExpr wraps — exactly one of these per node.

Traits§

AstNode
A typed wrapper around a SyntaxNode.