pub enum Node<'source> {
Show 34 variants
Unit(Token<'source>, Token<'source>),
Bool(bool, Token<'source>),
Number(Token<'source>),
String(Token<'source>),
Variable(Token<'source>),
Block(Box<Block<'source>>),
If(Box<If<'source>>),
Match(Box<Match<'source>>),
Enum(Box<Enum<'source>>),
Pipe(Token<'source>),
Call(Token<'source>),
Bind(Token<'source>),
Positive(Token<'source>),
Negative(Token<'source>),
Annotation(Box<Annotation<'source>>),
Deref(Token<'source>),
Mul(Token<'source>),
Div(Token<'source>),
Add(Token<'source>),
Sub(Token<'source>),
BitwiseAnd(Token<'source>),
BitwiseOr(Token<'source>),
BitwiseXor(Token<'source>),
EqualTo(Token<'source>),
NotEqualTo(Token<'source>),
Greater(Token<'source>),
GreaterEqual(Token<'source>),
Lesser(Token<'source>),
LesserEqual(Token<'source>),
LogicalAnd(Token<'source>),
LogicalOr(Token<'source>),
Name {
name: Token<'source>,
colon_token: Token<'source>,
},
Field {
dot_token: Token<'source>,
index: Token<'source>,
},
Tuple(Token<'source>),
}Expand description
Components of an expression.
Expression evalutation is stack-based rather than using a syntax tree.
Variants§
Unit(Token<'source>, Token<'source>)
Bool(bool, Token<'source>)
Number(Token<'source>)
String(Token<'source>)
Variable(Token<'source>)
Block(Box<Block<'source>>)
If(Box<If<'source>>)
Match(Box<Match<'source>>)
Enum(Box<Enum<'source>>)
Pipe(Token<'source>)
Call(Token<'source>)
Bind(Token<'source>)
Positive(Token<'source>)
Negative(Token<'source>)
Annotation(Box<Annotation<'source>>)
Deref(Token<'source>)
Mul(Token<'source>)
Div(Token<'source>)
Add(Token<'source>)
Sub(Token<'source>)
BitwiseAnd(Token<'source>)
BitwiseOr(Token<'source>)
BitwiseXor(Token<'source>)
EqualTo(Token<'source>)
NotEqualTo(Token<'source>)
Greater(Token<'source>)
GreaterEqual(Token<'source>)
Lesser(Token<'source>)
LesserEqual(Token<'source>)
LogicalAnd(Token<'source>)
LogicalOr(Token<'source>)
Name
Field
Tuple(Token<'source>)
Trait Implementations§
impl<'source> Eq for Node<'source>
impl<'source> StructuralPartialEq for Node<'source>
Auto Trait Implementations§
impl<'source> Freeze for Node<'source>
impl<'source> RefUnwindSafe for Node<'source>
impl<'source> Send for Node<'source>
impl<'source> Sync for Node<'source>
impl<'source> Unpin for Node<'source>
impl<'source> UnwindSafe for Node<'source>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more