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::addAnd, an enum declaration:
enum MyEnum {
Variant1,
Variant2
}
MyEnum::Variant1AbiCast(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