pub struct ConditionalNode {
pub condition: String,
pub comparison_op: String,
pub comparison_value: String,
pub then_body: Vec<FlowStep>,
pub else_body: Vec<FlowStep>,
pub conditions: Vec<(String, String, String)>,
pub conjunctor: String,
pub cond: Option<Expr>,
pub loc: Loc,
}Fields§
§condition: String§comparison_op: String§comparison_value: String§then_body: Vec<FlowStep>§else_body: Vec<FlowStep>§conditions: Vec<(String, String, String)>§conjunctor: String§cond: Option<Expr>§Fase 70.a — the parsed expression form of the condition. None when
the condition fits the legacy (condition, op, value) + or shape
(then the legacy fields drive evaluation, byte-identical to pre-§70);
Some only for the richer forms the legacy triple cannot express
(and, not, arithmetic, parentheses, nesting), which the runtime
evaluates via the pure expression evaluator. Zero IR drift for existing
programs.
loc: LocTrait Implementations§
Auto Trait Implementations§
impl Freeze for ConditionalNode
impl RefUnwindSafe for ConditionalNode
impl Send for ConditionalNode
impl Sync for ConditionalNode
impl Unpin for ConditionalNode
impl UnsafeUnpin for ConditionalNode
impl UnwindSafe for ConditionalNode
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> 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 moreCreates a shared type from an unshared type.