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>
28 lines
949 B
Rust
28 lines
949 B
Rust
/*!
|
|
* MIR Builder Module - Modular AST to MIR conversion
|
|
*
|
|
* This module contains the refactored MIR builder split into focused sub-modules:
|
|
*
|
|
* - `core`: Core builder functionality and instruction emission
|
|
* - `expressions`: Expression AST node conversion
|
|
* - `statements`: Statement AST node conversion
|
|
* - `control_flow`: Control flow constructs (if, loop, try-catch)
|
|
* - `box_handlers`: Box-related operations (new, declarations)
|
|
*/
|
|
|
|
pub mod core;
|
|
pub mod expressions;
|
|
pub mod statements;
|
|
pub mod control_flow;
|
|
pub mod box_handlers;
|
|
|
|
// Re-export the main builder struct and key functionality
|
|
pub use self::core::MirBuilder;
|
|
|
|
// Re-export commonly used types from the parent module
|
|
pub use super::{
|
|
MirInstruction, BasicBlock, BasicBlockId, MirFunction, MirModule,
|
|
FunctionSignature, ValueId, ConstValue, BinaryOp, UnaryOp, CompareOp,
|
|
MirType, EffectMask, Effect, BasicBlockIdGenerator, ValueIdGenerator, TypeOpKind
|
|
};
|