pub enum PaxExpression {
Primary(Box<PaxPrimary>),
Prefix(Box<PaxPrefix>),
Infix(Box<PaxInfix>),
Postfix(Box<PaxPostfix>),
Ternary(Box<PaxTernary>),
NullCoalesce(Box<PaxNullCoalesce>),
}Expand description
PAXEL expression AST node.
Variants§
Primary(Box<PaxPrimary>)
Prefix(Box<PaxPrefix>)
Infix(Box<PaxInfix>)
Postfix(Box<PaxPostfix>)
Ternary(Box<PaxTernary>)
NullCoalesce(Box<PaxNullCoalesce>)
Implementations§
Source§impl PaxExpression
impl PaxExpression
Sourcepub fn prefix(operator: impl Into<String>, rhs: PaxExpression) -> Self
pub fn prefix(operator: impl Into<String>, rhs: PaxExpression) -> Self
Construct a prefix expression.
Sourcepub fn infix(
lhs: PaxExpression,
operator: impl Into<String>,
rhs: PaxExpression,
) -> Self
pub fn infix( lhs: PaxExpression, operator: impl Into<String>, rhs: PaxExpression, ) -> Self
Construct an infix expression.
Sourcepub fn postfix(lhs: PaxExpression, operator: impl Into<String>) -> Self
pub fn postfix(lhs: PaxExpression, operator: impl Into<String>) -> Self
Construct a postfix expression.
Sourcepub fn ternary(
condition: PaxExpression,
then_branch: PaxExpression,
else_branch: PaxExpression,
) -> Self
pub fn ternary( condition: PaxExpression, then_branch: PaxExpression, else_branch: PaxExpression, ) -> Self
Construct a ternary expression.
Sourcepub fn null_coalesce(lhs: PaxExpression, rhs: PaxExpression) -> Self
pub fn null_coalesce(lhs: PaxExpression, rhs: PaxExpression) -> Self
Construct a null-coalescing expression.
Trait Implementations§
Source§impl Clone for PaxExpression
impl Clone for PaxExpression
Source§impl Computable for PaxExpression
impl Computable for PaxExpression
Source§impl Debug for PaxExpression
impl Debug for PaxExpression
Source§impl Default for PaxExpression
impl Default for PaxExpression
Source§impl DependencyCollector for PaxExpression
impl DependencyCollector for PaxExpression
fn collect_dependencies(&self) -> Vec<String>
Source§impl<'de> Deserialize<'de> for PaxExpression
impl<'de> Deserialize<'de> for PaxExpression
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for PaxExpression
impl Display for PaxExpression
Source§impl PartialEq for PaxExpression
impl PartialEq for PaxExpression
Source§impl Serialize for PaxExpression
impl Serialize for PaxExpression
impl StructuralPartialEq for PaxExpression
Auto Trait Implementations§
impl Freeze for PaxExpression
impl RefUnwindSafe for PaxExpression
impl Send for PaxExpression
impl Sync for PaxExpression
impl Unpin for PaxExpression
impl UnsafeUnpin for PaxExpression
impl UnwindSafe for PaxExpression
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
Source§fn round_into(self) -> U
fn round_into(self) -> U
Performs the conversion.