pub enum Primary {
Show 15 variants
Literal(Literal),
Reference(Arc<Reference>),
Parentheses(Expression),
Collection(Collection),
Postfix(Postfix),
Unary(Unary),
Multiplicative(Multiplicative),
Additive(Additive),
Relational(Relational),
Equality(Equality),
LogicalAnd(LogicalAnd),
LogicalOr(LogicalOr),
Coalesce(Coalesce),
Conditional(Conditional),
Closure(Closure),
}Expand description
Primary expression node.
Wraps literals, references, parentheses, collections, and flattened
higher-precedence operators for unified parsing and evaluation.
Postfix through Closure variants are populated by the parser to keep
the AST shallow and evaluation efficient.
Variants§
Literal(Literal)
A literal value such as a number, text string, boolean, date, or task
Reference(Arc<Reference>)
A workflow rule reference
Parentheses(Expression)
A parenthesized expression
Collection(Collection)
Postfix(Postfix)
Unary(Unary)
Multiplicative(Multiplicative)
Additive(Additive)
Relational(Relational)
Equality(Equality)
LogicalAnd(LogicalAnd)
LogicalOr(LogicalOr)
Coalesce(Coalesce)
Conditional(Conditional)
Closure(Closure)
Implementations§
Source§impl Primary
impl Primary
Sourcepub fn is_literal(&self) -> bool
pub fn is_literal(&self) -> bool
Returns true if this Primary is Primary::Literal.
Sourcepub fn is_reference(&self) -> bool
pub fn is_reference(&self) -> bool
Returns true if this Primary is Primary::Reference.
Trait Implementations§
Source§impl ExpressionLike for Primary
impl ExpressionLike for Primary
Source§impl WriterLike for Primary
impl WriterLike for Primary
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 Primary
Auto Trait Implementations§
impl Freeze for Primary
impl RefUnwindSafe for Primary
impl Send for Primary
impl Sync for Primary
impl Unpin for Primary
impl UnwindSafe for Primary
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.