pub enum ResolvedExpr {
Show 18 variants
Variable(VarId),
Literal(LiteralValue),
Property {
expr: Box<ResolvedExpr>,
property: String,
},
Binary {
lhs: Box<ResolvedExpr>,
op: BinaryOp,
rhs: Box<ResolvedExpr>,
},
Unary {
op: UnaryOp,
expr: Box<ResolvedExpr>,
},
Function {
name: String,
distinct: bool,
args: Vec<ResolvedExpr>,
},
List(Vec<ResolvedExpr>),
Map(Vec<(String, ResolvedExpr)>),
Case {
input: Option<Box<ResolvedExpr>>,
alternatives: Vec<(ResolvedExpr, ResolvedExpr)>,
else_expr: Option<Box<ResolvedExpr>>,
},
Parameter(String),
ListPredicate {
kind: ListPredicateKind,
variable: VarId,
list: Box<ResolvedExpr>,
predicate: Box<ResolvedExpr>,
},
ListComprehension {
variable: VarId,
list: Box<ResolvedExpr>,
filter: Option<Box<ResolvedExpr>>,
map_expr: Option<Box<ResolvedExpr>>,
},
Reduce {
accumulator: VarId,
init: Box<ResolvedExpr>,
variable: VarId,
list: Box<ResolvedExpr>,
expr: Box<ResolvedExpr>,
},
MapProjection {
base: Box<ResolvedExpr>,
selectors: Vec<ResolvedMapSelector>,
},
Index {
expr: Box<ResolvedExpr>,
index: Box<ResolvedExpr>,
},
Slice {
expr: Box<ResolvedExpr>,
from: Option<Box<ResolvedExpr>>,
to: Option<Box<ResolvedExpr>>,
},
ExistsSubquery {
pattern: ResolvedPattern,
where_: Option<Box<ResolvedExpr>>,
},
PatternComprehension {
pattern: ResolvedPattern,
where_: Option<Box<ResolvedExpr>>,
map_expr: Box<ResolvedExpr>,
},
}Variants§
Variable(VarId)
Literal(LiteralValue)
Property
Binary
Unary
Function
List(Vec<ResolvedExpr>)
Map(Vec<(String, ResolvedExpr)>)
Case
Fields
§
input: Option<Box<ResolvedExpr>>§
alternatives: Vec<(ResolvedExpr, ResolvedExpr)>§
else_expr: Option<Box<ResolvedExpr>>Parameter(String)
ListPredicate
ListComprehension
Fields
§
list: Box<ResolvedExpr>§
filter: Option<Box<ResolvedExpr>>§
map_expr: Option<Box<ResolvedExpr>>Reduce
MapProjection
Index
Slice
ExistsSubquery
PatternComprehension
Trait Implementations§
Source§impl Clone for ResolvedExpr
impl Clone for ResolvedExpr
Source§fn clone(&self) -> ResolvedExpr
fn clone(&self) -> ResolvedExpr
Returns a duplicate 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 Freeze for ResolvedExpr
impl RefUnwindSafe for ResolvedExpr
impl Send for ResolvedExpr
impl Sync for ResolvedExpr
impl Unpin for ResolvedExpr
impl UnsafeUnpin for ResolvedExpr
impl UnwindSafe for ResolvedExpr
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