refactor: Major interpreter modularization and P2PBox enhancements
Major Interpreter Refactoring: - Split core.rs (373 lines removed) into focused modules - Split expressions/calls.rs (460 lines removed) into cleaner structure - Added new modules: calls.rs, errors.rs, eval.rs, methods_dispatch.rs, state.rs - Improved separation of concerns across interpreter components P2PBox Enhancements: - Added on_once() for one-time event handlers - Added off() for handler deregistration - Implemented handler flags with AtomicBool for thread-safe management - Added loopback testing cache (last_from, last_intent_name) - Improved Arc-based state sharing for transport and handlers Plugin Loader Unification (In Progress): - Created plugin_loader_unified.rs skeleton - Created plugin_ffi_common.rs for shared FFI utilities - Migration plan documented (2400 lines → 1100 lines target) MIR & VM Improvements: - Enhanced modularized MIR builder structure - Added BoxCall dispatch improvements - Better separation in builder modules Documentation Updates: - Added Phase 9.79a unified box dispatch plan - Created plugin loader migration plan - Updated CURRENT_TASK.md with latest progress All tests passing (180 tests) - ready for next phase of refactoring 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -7,7 +7,7 @@ use crate::ast::ASTNode;
|
||||
use crate::box_trait::{NyashBox, SharedNyashBox};
|
||||
use crate::boxes::FutureBox;
|
||||
use crate::instance_v2::InstanceBox;
|
||||
use crate::interpreter::core::{NyashInterpreter, RuntimeError};
|
||||
use crate::interpreter::{NyashInterpreter, RuntimeError};
|
||||
use std::sync::Arc;
|
||||
|
||||
// Conditional debug macro - only outputs if NYASH_DEBUG=1 environment variable is set
|
||||
|
||||
Reference in New Issue
Block a user