Trait nu_protocol::debugger::debugger_trait::Debugger

source ·
pub trait Debugger: Send + Debug {
    // Provided methods
    fn activate(&mut self) { ... }
    fn deactivate(&mut self) { ... }
    fn enter_block(&mut self, engine_state: &EngineState, block: &Block) { ... }
    fn leave_block(&mut self, engine_state: &EngineState, block: &Block) { ... }
    fn enter_element(
        &mut self,
        engine_state: &EngineState,
        pipeline_element: &PipelineElement
    ) { ... }
    fn leave_element(
        &mut self,
        engine_state: &EngineState,
        element: &PipelineElement,
        result: &Result<(PipelineData, bool), ShellError>
    ) { ... }
    fn report(
        &self,
        engine_state: &EngineState,
        debugger_span: Span
    ) -> Result<Value, ShellError> { ... }
}
Expand description

Debugger trait that every debugger needs to implement.

By default, its methods are empty. Not every Debugger needs to implement all of them.

Provided Methods§

source

fn activate(&mut self)

Called by EngineState::activate_debugger().

Intended for initializing the debugger.

source

fn deactivate(&mut self)

Called by EngineState::deactivate_debugger().

Intended for wrapping up the debugger after a debugging session before returning back to normal evaluation without debugging.

source

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

Called when the evaluator enters a block

source

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

Called when the evaluator leaves a block

source

fn enter_element( &mut self, engine_state: &EngineState, pipeline_element: &PipelineElement )

Called when the evaluator enters a pipeline element

source

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

Called when the evaluator leaves a pipeline element

source

fn report( &self, engine_state: &EngineState, debugger_span: Span ) -> Result<Value, ShellError>

Create a final report as a Value

Intended to be called after deactivate()

Implementors§