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

    // Required method
    fn generate_function_body(
        script: Arc<Vec<ScriptOperation<'static, SE>, Global>, Global>,
        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§

type Input

type Output

Required Methods§

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

Provided Methods§

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

Implementors§

§

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

§

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

§

type Output = ID<()>