Enum sway_core::AstNodeContent [−][src]
pub enum AstNodeContent<'sc> {
UseStatement(UseStatement<'sc>),
ReturnStatement(ReturnStatement<'sc>),
Declaration(Declaration<'sc>),
Expression(Expression<'sc>),
ImplicitReturnExpression(Expression<'sc>),
WhileLoop(WhileLoop<'sc>),
IncludeStatement(IncludeStatement<'sc>),
}
Expand description
Represents the various structures that constitute a Sway program.
Variants
UseStatement(UseStatement<'sc>)
Tuple Fields
0: UseStatement<'sc>
A statement of the form use foo::bar;
or use ::foo::bar;
ReturnStatement(ReturnStatement<'sc>)
Tuple Fields
0: ReturnStatement<'sc>
A statement of the form return foo;
Declaration(Declaration<'sc>)
Tuple Fields
0: Declaration<'sc>
Any type of declaration, of which there are quite a few. See Declaration for more details on the possible variants.
Expression(Expression<'sc>)
Tuple Fields
0: Expression<'sc>
Any type of expression, of which there are quite a few. See Expression for more details.
ImplicitReturnExpression(Expression<'sc>)
Tuple Fields
0: Expression<'sc>
An implicit return expression is different from a AstNodeContent::ReturnStatement because it is not a control flow item. Therefore it is a different variant.
An implicit return expression is an Expression at the end of a code block which has no semicolon, denoting that it is the Expression to be returned from that block.
WhileLoop(WhileLoop<'sc>)
Tuple Fields
0: WhileLoop<'sc>
A control flow element which loops continually until some boolean expression evaluates as
false
.
IncludeStatement(IncludeStatement<'sc>)
A statement of the form dep foo::bar;
which imports/includes another source file.
Trait Implementations
Auto Trait Implementations
impl<'sc> RefUnwindSafe for AstNodeContent<'sc>
impl<'sc> Send for AstNodeContent<'sc>
impl<'sc> Sync for AstNodeContent<'sc>
impl<'sc> Unpin for AstNodeContent<'sc>
impl<'sc> UnwindSafe for AstNodeContent<'sc>
Blanket Implementations
Mutably borrows from an owned value. Read more