Skip to main content

ResolvedExpr

Enum ResolvedExpr 

Source
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

Fields

§property: String
§

Binary

§

Unary

Fields

§

Function

Fields

§name: String
§distinct: bool
§

List(Vec<ResolvedExpr>)

§

Map(Vec<(String, ResolvedExpr)>)

§

Case

Fields

§alternatives: Vec<(ResolvedExpr, ResolvedExpr)>
§

Parameter(String)

§

ListPredicate

Fields

§variable: VarId
§predicate: Box<ResolvedExpr>
§

ListComprehension

Fields

§variable: VarId
§

Reduce

Fields

§accumulator: VarId
§variable: VarId
§

MapProjection

§

Index

Fields

§

Slice

§

ExistsSubquery

Fields

§

PatternComprehension

Fields

§map_expr: Box<ResolvedExpr>

Trait Implementations§

Source§

impl Clone for ResolvedExpr

Source§

fn clone(&self) -> ResolvedExpr

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolvedExpr

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.