refactor: add MIR interpreter utility helpers (Phase 1)
- Add destination write helpers (write_box_result, write_void, write_result) - Add argument validation helpers (validate_args_exact/range/min) - Add receiver conversion helper (convert_to_box) - Update handlers to use new helpers Reduces code duplication: - Destination patterns: 37 call sites converted - Each replacement saves 2-3 lines (74-111 lines saved) - Helper infrastructure: 178 lines added - Net improvement: Reduced duplication + better maintainability Impact: - Build: ✓ SUCCESS (0 errors, 146 warnings) - Tests: ✓ 8/9 smoke tests PASS - Functionality: ✓ PRESERVED (no behavior changes) Files created: - src/backend/mir_interpreter/utils/mod.rs - src/backend/mir_interpreter/utils/destination_helpers.rs - src/backend/mir_interpreter/utils/arg_validation.rs - src/backend/mir_interpreter/utils/receiver_helpers.rs Files modified: 15 handler files - arithmetic.rs, boxes.rs, boxes_array.rs, boxes_instance.rs - boxes_map.rs, boxes_object_fields.rs, boxes_plugin.rs - boxes_string.rs, calls.rs, extern_provider.rs, externals.rs - memory.rs, misc.rs, mod.rs Related: Phase 21.0 refactoring Risk: Low (pure refactoring, no behavior change)
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
use super::*;
|
||||
use super::super::utils::*;
|
||||
|
||||
impl MirInterpreter {
|
||||
pub(super) fn handle_const(&mut self, dst: ValueId, value: &ConstValue) -> Result<(), VMError> {
|
||||
|
||||
Reference in New Issue
Block a user