Skip to main content

Evaluator

Trait Evaluator 

Source
pub trait Evaluator:
    Send
    + Sync
    + Debug {
    // Required method
    fn evaluate(
        &self,
        component: &Component,
        ctx: &EvalContext,
    ) -> Result<EvaluatedComponent>;
}
Expand description

The contract every evaluator implements. Phase 4 ships exactly one implementation: HclEvaluator.

Required Methods§

Source

fn evaluate( &self, component: &Component, ctx: &EvalContext, ) -> Result<EvaluatedComponent>

Reduce component against ctx, returning the resolved IR plus any diagnostics surfaced during evaluation.

§Errors

Only fatal errors (would-leave-the-IR-malformed) bubble out as crate::Error. Recoverable failures (cycle in locals, function call errors, sandboxed file rejects) attach to the returned EvaluatedComponent.diagnostics instead.

Implementors§