Skip to main content

Module ast

Module ast 

Source
Expand description

Typed AST wrappers for the ink CST.

Every struct is a zero-cost newtype around SyntaxNode that implements AstNode. Use crate::Parse::tree() to get a SourceFile from a parse result.

Structs§

ArgList
Assignment
AstPtr
A lightweight pointer to an AST node, resolvable against a syntax tree.
AuthorWarning
BooleanLit
BranchContent
BranchlessCondBody
Choice
ChoiceBracketContent
ChoiceBullets
ChoiceCondition
ChoiceInnerContent
ChoiceStartContent
ConditionalWithExpr
ConstDecl
ContentLine
DivertNode
DivertTargetExpr
DivertTargetWithArgs
ElseBranch
EmptyLine
Error
Escape
ExternalDecl
FilePath
FloatLit
FunctionCall
FunctionParamList
Gather
GatherDashes
GlueNode
Identifier
ImplicitSequence
IncludeStmt
InfixExpr
InlineBranchesCond
InlineBranchesSeq
InlineLogic
InnerExpression
IntegerLit
KnotBody
KnotDef
KnotHeader
KnotParamDecl
KnotParams
Label
ListDecl
ListDef
ListExpr
ListMember
ListMemberOff
ListMemberOn
LogicLine
MixedContent
MultilineBlock
MultilineBranchBody
MultilineBranchCond
MultilineBranchSeq
MultilineBranchesCond
MultilineBranchesSeq
MultilineConditional
ParenExpr
Path
PostfixExpr
PrefixExpr
ReturnStmt
SequenceSymbolAnnotation
SequenceWithAnnotation
SequenceWordAnnotation
SimpleDivert
SourceFile
StitchBody
StitchDef
StitchHeader
StrayClosingBrace
StringLit
SyntaxNodePtr
An untyped lightweight pointer to a syntax node, resolvable against a tree.
Tag
TagLine
Tags
TempDecl
Text
ThreadStart
TunnelCallNode
TunnelOnwardsNode
VarDecl

Enums§

Expr
A typed expression node.

Traits§

AstNode
A typed wrapper around a SyntaxNode.