feat: Implement Phase 9.78e instance_v2 migration with unified registry
Major achievements: - ✅ UserDefinedBoxFactory implementation with unified registry integration - ✅ Constructor execution for user-defined boxes (Person init working) - ✅ Import path fixes across interpreter modules - ✅ unwrap_instance helper function for InstanceBox operator support Technical details: - Modified UnifiedBoxRegistry to handle empty box_types() factories - Implemented constructor execution in execute_new for InstanceBox - Added unwrap_instance helper to handle InstanceBox wrapping in operators - Updated CURRENT_TASK.md with detailed progress tracking Next: Fix 4 operator functions to complete InstanceBox operator support 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -220,6 +220,13 @@ impl NyashInterpreter {
|
||||
pub fn new() -> Self {
|
||||
let shared = SharedState::new();
|
||||
|
||||
// Register user-defined box factory with unified registry
|
||||
use crate::box_factory::user_defined::UserDefinedBoxFactory;
|
||||
use crate::runtime::register_user_defined_factory;
|
||||
|
||||
let factory = UserDefinedBoxFactory::new(shared.clone());
|
||||
register_user_defined_factory(Arc::new(factory));
|
||||
|
||||
Self {
|
||||
shared,
|
||||
local_vars: HashMap::new(),
|
||||
@ -387,7 +394,7 @@ impl NyashInterpreter {
|
||||
} else {
|
||||
eprintln!("🔍 DEBUG: '{}' not found in statics MapBox", name);
|
||||
}
|
||||
} else if let Some(instance) = statics_namespace.as_any().downcast_ref::<crate::instance_v2::InstanceBox>() {
|
||||
} else if let Some(instance) = statics_namespace.as_any().downcast_ref::<InstanceBox>() {
|
||||
eprintln!("🔍 DEBUG: statics is an InstanceBox, looking for '{}'", name);
|
||||
if let Some(static_box) = instance.get_field(name) {
|
||||
eprintln!("🔍 DEBUG: Found '{}' in statics namespace", name);
|
||||
|
||||
Reference in New Issue
Block a user