pub enum Conditional {
Ternary(Coalesce, Box<Expression>, Box<Conditional>),
Primary(Box<Primary>),
}Expand description
Conditional expression node.
Represents condition ? true_expr : false_expr or a flattened primary
expression. The condition is a Coalesce expression; branches are stored as
boxed Expression / Conditional nodes for right-associative nesting.
Primary holds the underlying Primary when no ternary is present.
Variants§
Ternary(Coalesce, Box<Expression>, Box<Conditional>)
Primary(Box<Primary>)
Primary flattened AST optimization
Implementations§
Trait Implementations§
Source§impl Clone for Conditional
impl Clone for Conditional
Source§fn clone(&self) -> Conditional
fn clone(&self) -> Conditional
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 Conditional
impl Debug for Conditional
Source§impl Display for Conditional
impl Display for Conditional
Source§impl ExpressionLike for Conditional
impl ExpressionLike for Conditional
Source§fn to_formula(&self) -> String
fn to_formula(&self) -> String
Return the formula-string representation (round-trippable by the parser).
Source§fn evaluate(&self, context: &mut dyn ContextLike) -> Result<Arc<Value>>
fn evaluate(&self, context: &mut dyn ContextLike) -> Result<Arc<Value>>
Evaluate this expression with the provided
ContextLike, returning a Value or error.Source§impl PartialEq for Conditional
impl PartialEq for Conditional
Source§impl WriterLike for Conditional
impl WriterLike for Conditional
Source§fn to_stringized(&self) -> String
fn to_stringized(&self) -> String
Return a string representation (raw unsafe output).
Source§fn to_sanitized(&self) -> String
fn to_sanitized(&self) -> String
Return a sanitized string representation (escaped for safe output).
Source§fn to_expressionized(&self) -> String
fn to_expressionized(&self) -> String
Return a sanitized string representation (escaped for safe output).
impl StructuralPartialEq for Conditional
Auto Trait Implementations§
impl Freeze for Conditional
impl RefUnwindSafe for Conditional
impl Send for Conditional
impl Sync for Conditional
impl Unpin for Conditional
impl UnwindSafe for Conditional
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.