Skip to main content

ExpressionEvaluator

Trait ExpressionEvaluator 

Source
pub trait ExpressionEvaluator: Send + Sync {
    // Required methods
    fn eval_statements(
        &self,
        stmts: &[Statement],
        ctx: &mut ExecutionContext,
    ) -> Result<KindedSlot>;
    fn eval_expr(
        &self,
        expr: &Expr,
        ctx: &mut ExecutionContext,
    ) -> Result<KindedSlot>;
}
Expand description

Trait for evaluating individual expressions and statement blocks.

shape-vm implements this for BytecodeExecutor. The previous AST-walking executor consumers (StreamExecutor, WindowExecutor, JoinExecutor) were deleted by the strict-typing bulldozer (see docs/defections.md 2026-05-06: AST-evaluation runtime executors deletion). The ast-walking-interpreter-strict-rebuild workstream will reintroduce streaming/windowed/joined analytics on top of compiled bytecode + typed VM slots.

Required Methods§

Source

fn eval_statements( &self, stmts: &[Statement], ctx: &mut ExecutionContext, ) -> Result<KindedSlot>

Evaluate a slice of statements and return the result.

Source

fn eval_expr( &self, expr: &Expr, ctx: &mut ExecutionContext, ) -> Result<KindedSlot>

Evaluate a single expression and return the result.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§