pub trait ScriptFunctionGenerator<SE>where
    SE: ScriptExpression,{
    type Input;
    type Output;

    // Required method
    fn generate_function_body(
        script: Arc<Vec<ScriptOperation<'static, SE>>>,
        input: Self::Input
    ) -> Option<(FunctionBody, Self::Output)>;

    // Provided method
    fn generate_function(
        function: &ScriptFunction<'static, SE>,
        registry: &Registry,
        input: Self::Input
    ) -> Option<(Function, Self::Output)> { ... }
}

Required Associated Types§

Required Methods§

source

fn generate_function_body( script: Arc<Vec<ScriptOperation<'static, SE>>>, input: Self::Input ) -> Option<(FunctionBody, Self::Output)>

Provided Methods§

source

fn generate_function( function: &ScriptFunction<'static, SE>, registry: &Registry, input: Self::Input ) -> Option<(Function, Self::Output)>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<SE> ScriptFunctionGenerator<SE> for VmScope<'static, SE>where SE: ScriptExpression + 'static,

§

type Input = Option<Arc<RwLock<dyn VmDebugger<SE> + Sync + Send>>>

§

type Output = ID<()>