pub trait DebugContext: Clone + Copy + Debug {
    // Provided methods
    fn enter_block(engine_state: &EngineState, block: &Block) { ... }
    fn leave_block(engine_state: &EngineState, block: &Block) { ... }
    fn enter_element(engine_state: &EngineState, element: &PipelineElement) { ... }
    fn leave_element(
        engine_state: &EngineState,
        element: &PipelineElement,
        result: &Result<(PipelineData, bool), ShellError>
    ) { ... }
}
Expand description

Trait used for static dispatch of eval_xxx() evaluator calls

DebugContext implements the same interface as Debugger (except activate() and deactivate(). It is intended to be implemented only by two structs

  • WithDebug which calls down to the Debugger methods
  • WithoutDebug with default implementation, i.e., empty calls to be optimized away

Provided Methods§

source

fn enter_block(engine_state: &EngineState, block: &Block)

Called when the evaluator enters a block

source

fn leave_block(engine_state: &EngineState, block: &Block)

Called when the evaluator leaves a block

source

fn enter_element(engine_state: &EngineState, element: &PipelineElement)

Called when the evaluator enters a pipeline element

source

fn leave_element( engine_state: &EngineState, element: &PipelineElement, result: &Result<(PipelineData, bool), ShellError> )

Called when the evaluator leaves a pipeline element

Object Safety§

This trait is not object safe.

Implementors§