Enum rtlola_parser::ast::ExpressionKind [−][src]
pub enum ExpressionKind {
Show variants
Lit(Literal),
Ident(Ident),
StreamAccess(Box<Expression>, StreamAccessKind),
Default(Box<Expression>, Box<Expression>),
Offset(Box<Expression>, Offset),
DiscreteWindowAggregation {
expr: Box<Expression>,
duration: Box<Expression>,
wait: bool,
aggregation: WindowOperation,
},
SlidingWindowAggregation {
expr: Box<Expression>,
duration: Box<Expression>,
wait: bool,
aggregation: WindowOperation,
},
Binary(BinOp, Box<Expression>, Box<Expression>),
Unary(UnOp, Box<Expression>),
Ite(Box<Expression>, Box<Expression>, Box<Expression>),
ParenthesizedExpression(Option<Box<Parenthesis>>, Box<Expression>, Option<Box<Parenthesis>>),
MissingExpression,
Tuple(Vec<Expression>),
Field(Box<Expression>, Ident),
Method(Box<Expression>, FunctionName, Vec<Type>, Vec<Expression>),
Function(FunctionName, Vec<Type>, Vec<Expression>),
}Expand description
The Ast representation of a single expression
Variants
Lit(Literal)A literal, e.g., 1, "foo"
Ident(Ident)An identifier, e.g., foo
StreamAccess(Box<Expression>, StreamAccessKind)Accessing a stream
Default(Box<Expression>, Box<Expression>)A default expression, e.g., a.defaults(to: 0)
Offset(Box<Expression>, Offset)An offset expression, e.g., a.offset(by: -1)
A discrete window with a duration duration as an integer constant and aggregation function aggregation
Show fields
Fields of DiscreteWindowAggregation
expr: Box<Expression>The accesses stream
duration: Box<Expression>The duration of the window
wait: boolFlag to mark that the window returns only a value if the complete duration has passed
aggregation: WindowOperationThe aggregation function
A sliding window with duration duration and aggregation function aggregation
Show fields
Fields of SlidingWindowAggregation
expr: Box<Expression>The accesses stream
duration: Box<Expression>The duration of the window
wait: boolFlag to mark that the window returns only a value if the complete duration has passed
aggregation: WindowOperationThe aggregation function
Binary(BinOp, Box<Expression>, Box<Expression>)A binary operation (For example: a + b, a * b)
Unary(UnOp, Box<Expression>)A unary operation (For example: !x, *x)
Ite(Box<Expression>, Box<Expression>, Box<Expression>)An if-then-else expression
ParenthesizedExpression(Option<Box<Parenthesis>>, Box<Expression>, Option<Box<Parenthesis>>)An expression enveloped in parentheses
An expression was expected, e.g., after an operator like *
Tuple(Vec<Expression>)A tuple expression
Field(Box<Expression>, Ident)Access of a named (obj.foo) or unnamed (obj.0) struct field
Method(Box<Expression>, FunctionName, Vec<Type>, Vec<Expression>)A method call, e.g., foo.bar(-1)
Function(FunctionName, Vec<Type>, Vec<Expression>)A function call
Trait Implementations
impl Clone for ExpressionKind[src]
impl Clone for ExpressionKind[src]fn clone(&self) -> ExpressionKind[src]
fn clone(&self) -> ExpressionKind[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]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
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more