pub trait ScriptNativizer<SE>where
    SE: ScriptExpression,{
Show 28 methods // Required methods fn nativize_struct_begin( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error>; fn nativize_struct_end( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error>; fn nativize_struct_field( &mut self, output: &mut dyn Write, input: &ScriptStructField<'_> ) -> Result<(), Error>; fn nativize_function_signature( &mut self, output: &mut dyn Write, input: &ScriptFunctionSignature<'_> ) -> Result<(), Error>; fn nativize_script_begin( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>; fn nativize_script_end( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>; fn nativize_operation_expression( &mut self, output: &mut dyn Write, input: &SE ) -> Result<(), Error>; fn nativize_operation_define_register( &mut self, output: &mut dyn Write, query: &StructQuery<'_> ) -> Result<(), Error>; fn nativize_operation_drop_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>; fn nativize_operation_push_from_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>; fn nativize_operation_pop_to_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>; fn nativize_operation_move_register( &mut self, output: &mut dyn Write, from: usize, to: usize ) -> Result<(), Error>; fn nativize_operation_call_function( &mut self, output: &mut dyn Write, query: &FunctionQuery<'_> ) -> Result<(), Error>; fn nativize_operation_branch_scope( &mut self, output: &mut dyn Write, scope_success: &[ScriptOperation<'_, SE>], scope_failure: Option<&[ScriptOperation<'_, SE>]> ) -> Result<(), Error>; fn nativize_operation_loop_scope( &mut self, output: &mut dyn Write, scope: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>; fn nativize_operation_push_scope( &mut self, output: &mut dyn Write, scope: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>; fn nativize_operation_pop_scope( &mut self, output: &mut dyn Write ) -> Result<(), Error>; fn nativize_operation_continue_scope_conditionally( &mut self, output: &mut dyn Write ) -> Result<(), Error>; // Provided methods fn nativize_struct( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error> { ... } fn nativize_function( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error> { ... } fn nativize_function_begin( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error> { ... } fn nativize_function_end( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error> { ... } fn nativize_function_body_begin( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error> { ... } fn nativize_function_body_end( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error> { ... } fn nativize_script( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error> { ... } fn nativize_operation( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error> { ... } fn nativize_operation_begin( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error> { ... } fn nativize_operation_end( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error> { ... }
}

Required Methods§

fn nativize_struct_begin( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error>

fn nativize_struct_end( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error>

fn nativize_struct_field( &mut self, output: &mut dyn Write, input: &ScriptStructField<'_> ) -> Result<(), Error>

fn nativize_function_signature( &mut self, output: &mut dyn Write, input: &ScriptFunctionSignature<'_> ) -> Result<(), Error>

fn nativize_script_begin( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>

fn nativize_script_end( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>

fn nativize_operation_expression( &mut self, output: &mut dyn Write, input: &SE ) -> Result<(), Error>

fn nativize_operation_define_register( &mut self, output: &mut dyn Write, query: &StructQuery<'_> ) -> Result<(), Error>

fn nativize_operation_drop_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>

fn nativize_operation_push_from_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>

fn nativize_operation_pop_to_register( &mut self, output: &mut dyn Write, index: usize ) -> Result<(), Error>

fn nativize_operation_move_register( &mut self, output: &mut dyn Write, from: usize, to: usize ) -> Result<(), Error>

fn nativize_operation_call_function( &mut self, output: &mut dyn Write, query: &FunctionQuery<'_> ) -> Result<(), Error>

fn nativize_operation_branch_scope( &mut self, output: &mut dyn Write, scope_success: &[ScriptOperation<'_, SE>], scope_failure: Option<&[ScriptOperation<'_, SE>]> ) -> Result<(), Error>

fn nativize_operation_loop_scope( &mut self, output: &mut dyn Write, scope: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>

fn nativize_operation_push_scope( &mut self, output: &mut dyn Write, scope: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>

fn nativize_operation_pop_scope( &mut self, output: &mut dyn Write ) -> Result<(), Error>

fn nativize_operation_continue_scope_conditionally( &mut self, output: &mut dyn Write ) -> Result<(), Error>

Provided Methods§

fn nativize_struct( &mut self, output: &mut dyn Write, input: &ScriptStruct<'_> ) -> Result<(), Error>

fn nativize_function( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error>

fn nativize_function_begin( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error>

fn nativize_function_end( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error>

fn nativize_function_body_begin( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error>

fn nativize_function_body_end( &mut self, output: &mut dyn Write, input: &ScriptFunction<'_, SE> ) -> Result<(), Error>

fn nativize_script( &mut self, output: &mut dyn Write, input: &[ScriptOperation<'_, SE>] ) -> Result<(), Error>

fn nativize_operation( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error>

fn nativize_operation_begin( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error>

fn nativize_operation_end( &mut self, output: &mut dyn Write, input: &ScriptOperation<'_, SE> ) -> Result<(), Error>

Implementors§