Enum sway_core::parse_tree::ExpressionKind
source · [−]pub enum ExpressionKind {
Show 23 variants
Literal(Literal),
FunctionApplication(Box<FunctionApplicationExpression>),
LazyOperator(LazyOperatorExpression),
Variable(Ident),
Tuple(Vec<Expression>),
TupleIndex(TupleIndexExpression),
Array(Vec<Expression>),
Struct(Box<StructExpression>),
CodeBlock(CodeBlock),
If(IfExpression),
Match(MatchExpression),
Asm(Box<AsmExpression>),
MethodApplication(Box<MethodApplicationExpression>),
Subfield(SubfieldExpression),
DelineatedPath(Box<DelineatedPathExpression>),
AbiCast(Box<AbiCastExpression>),
ArrayIndex(ArrayIndexExpression),
StorageAccess(StorageAccessExpression),
IntrinsicFunction(IntrinsicFunctionExpression),
WhileLoop(WhileLoopExpression),
Break,
Continue,
Reassignment(ReassignmentExpression),
}
Variants
Literal(Literal)
FunctionApplication(Box<FunctionApplicationExpression>)
LazyOperator(LazyOperatorExpression)
Variable(Ident)
Tuple(Vec<Expression>)
TupleIndex(TupleIndexExpression)
Array(Vec<Expression>)
Struct(Box<StructExpression>)
CodeBlock(CodeBlock)
If(IfExpression)
Match(MatchExpression)
Asm(Box<AsmExpression>)
MethodApplication(Box<MethodApplicationExpression>)
Subfield(SubfieldExpression)
A subfield expression is anything of the form:
<ident>.<ident>
DelineatedPath(Box<DelineatedPathExpression>)
A delineated path is anything of the form:
<ident>::<ident>
Where there are n >= 2
idents.
These could be either enum variant constructions, or they could be
references to some sort of module in the module tree.
For example, a reference to a module:
std::ops::add
And, an enum declaration:
enum MyEnum {
Variant1,
Variant2
}
MyEnum::Variant1
AbiCast(Box<AbiCastExpression>)
A cast of a hash to an ABI for calling a contract.
ArrayIndex(ArrayIndexExpression)
StorageAccess(StorageAccessExpression)
IntrinsicFunction(IntrinsicFunctionExpression)
WhileLoop(WhileLoopExpression)
A control flow element which loops continually until some boolean expression evaluates as
false
.
Break
Continue
Reassignment(ReassignmentExpression)
Trait Implementations
sourceimpl Clone for ExpressionKind
impl Clone for ExpressionKind
sourcefn clone(&self) -> ExpressionKind
fn clone(&self) -> ExpressionKind
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl RefUnwindSafe for ExpressionKind
impl Send for ExpressionKind
impl Sync for ExpressionKind
impl Unpin for ExpressionKind
impl UnwindSafe for ExpressionKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more