pub enum EvalOp<'a> {
Number,
Text,
Bool,
Error(&'a ErrorKind),
Variable(&'a str),
Reference,
UnaryOp(&'a UnaryOp),
BinaryOp(&'a BinaryOp),
Array,
Apply,
FunctionCall(&'a str),
}Expand description
A lightweight, borrowed description of the operation an evaluated node
performs. Handed to an EvalHook alongside the node’s resulting
Value so an observer can profile or trace evaluation without touching
the AST directly or any function. Constructing it borrows from the
expression and allocates nothing.
Variants§
Number
Numeric literal.
Text
Text literal.
Bool
Boolean literal.
Error(&'a ErrorKind)
Error literal (#REF! etc.), carrying its kind.
Variable(&'a str)
Bare-identifier read (local binding or reference), carrying its name.
Reference
Cell / range / name reference read.
UnaryOp(&'a UnaryOp)
Unary operator (negation, percent).
BinaryOp(&'a BinaryOp)
Binary operator (arithmetic, comparison, concatenation).
Array
Array literal.
Apply
Immediately-invoked lambda application.
FunctionCall(&'a str)
Function call, carrying the (uppercased) function name.
Implementations§
Trait Implementations§
impl<'a> Copy for EvalOp<'a>
impl<'a> StructuralPartialEq for EvalOp<'a>
Auto Trait Implementations§
impl<'a> Freeze for EvalOp<'a>
impl<'a> RefUnwindSafe for EvalOp<'a>
impl<'a> Send for EvalOp<'a>
impl<'a> Sync for EvalOp<'a>
impl<'a> Unpin for EvalOp<'a>
impl<'a> UnsafeUnpin for EvalOp<'a>
impl<'a> UnwindSafe for EvalOp<'a>
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