Files
hakorune/src/mir/builder_modularized/mod.rs
Moe Charm 22212aa314 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>
2025-08-26 19:13:57 +09:00

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
};