Enum sway_core::language::parsed::AstNodeContent
source · pub enum AstNodeContent {
UseStatement(UseStatement),
Declaration(Declaration),
Expression(Expression),
ImplicitReturnExpression(Expression),
IncludeStatement(IncludeStatement),
}
Expand description
Represents the various structures that constitute a Sway program.
Variants§
UseStatement(UseStatement)
A statement of the form use foo::bar;
or use ::foo::bar;
Declaration(Declaration)
Any type of declaration, of which there are quite a few. See Declaration for more details on the possible variants.
Expression(Expression)
Any type of expression, of which there are quite a few. See Expression for more details.
ImplicitReturnExpression(Expression)
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.
IncludeStatement(IncludeStatement)
A statement of the form mod foo::bar;
which imports/includes another source file.
Trait Implementations§
source§impl Clone for AstNodeContent
impl Clone for AstNodeContent
source§fn clone(&self) -> AstNodeContent
fn clone(&self) -> AstNodeContent
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl RefUnwindSafe for AstNodeContent
impl Send for AstNodeContent
impl Sync for AstNodeContent
impl Unpin for AstNodeContent
impl UnwindSafe for AstNodeContent
Blanket Implementations§
source§impl<T> AnyDebug for Twhere
T: Any + Debug,
impl<T> AnyDebug for Twhere T: Any + Debug,
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Returns a reference to the underlying type as
Any
.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.