Expand description

Contains all the code related to parsing Sway source code.

Re-exports

pub use declaration::*;

Modules

Structs

A single AstNode represents a node in the parse tree. Note that AstNode is a recursive type and can contain other AstNode, thus populating the tree.

in the expression a::b::c(), a and b are the prefixes and c is the suffix.

A module and its submodules in the form of a tree.

A parsed, but not yet type-checked, Sway program.

A library module that was declared as a dep of another module.

Represents some exportable information that results from compiling some Sway source code.

A UseStatement is a statement that imports something from a module into the local namespace.

A parsed while loop. Contains the condition, which is defined from an Expression, and the body from a CodeBlock.

Enums

Represents the various structures that constitute a Sway program.

Represents a parsed, but not yet type checked, Expression.

A Scrutinee is on the left-hand-side of a pattern, and dictates whether or not a pattern will succeed at pattern matching and what, if any, elements will need to be implemented in a desugared if expression.

A Sway program can be either a contract, script, predicate, or a library.

Type Definitions

The name used within a module to refer to one of its submodules.