pub enum PostfixSuffix {
Property(String),
Call {
args: Vec<Expr>,
distinct: bool,
window_spec: Option<WindowSpec>,
},
Index(Expr),
Slice {
start: Option<Expr>,
end: Option<Expr>,
},
MapProjection(Vec<MapProjectionItem>),
}Expand description
Postfix operations for building expressions from primary expressions.
Used by the parser’s PostfixExpression rule to collect operations like
property access (.prop), function calls ((args)), and indexing ([i]).
This approach avoids LR(1) conflicts that would occur with left-recursive
grammar rules for dotted function names like uni.vector.query().
Note: This is separate from ExprSuffix which serves the list comprehension
factoring logic (resolving [Identifier ... ambiguity).
Variants§
Trait Implementations§
Source§impl Clone for PostfixSuffix
impl Clone for PostfixSuffix
Source§fn clone(&self) -> PostfixSuffix
fn clone(&self) -> PostfixSuffix
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 moreSource§impl Debug for PostfixSuffix
impl Debug for PostfixSuffix
Source§impl PartialEq for PostfixSuffix
impl PartialEq for PostfixSuffix
impl StructuralPartialEq for PostfixSuffix
Auto Trait Implementations§
impl Freeze for PostfixSuffix
impl RefUnwindSafe for PostfixSuffix
impl Send for PostfixSuffix
impl Sync for PostfixSuffix
impl Unpin for PostfixSuffix
impl UnsafeUnpin for PostfixSuffix
impl UnwindSafe for PostfixSuffix
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more