feat(9.75f-1): Implement plugin loader and interpreter integration
- Add plugin_loader.rs with FileBoxProxy implementation
- Integrate dynamic FileBox into interpreter (execute_new, method calls)
- Add feature flag 'dynamic-file' support throughout
- Create test program test_dynamic_filebox.nyash
- Plugin builds in 2.86s (vs main build 2+ minutes\!)
Build time improvement confirmed:
- Plugin-only build: 2.86s ✨
- Main build: 2+ minutes (timeout)
Next: Complete testing once main build finishes
This commit is contained in:
@ -255,6 +255,14 @@ impl NyashInterpreter {
|
||||
return self.execute_file_method(file_box, method, arguments);
|
||||
}
|
||||
|
||||
// FileBoxProxy method calls (動的ライブラリ版)
|
||||
#[cfg(feature = "dynamic-file")]
|
||||
{
|
||||
if let Some(file_proxy) = obj_value.as_any().downcast_ref::<crate::interpreter::plugin_loader::FileBoxProxy>() {
|
||||
return self.execute_file_proxy_method(file_proxy, method, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
// ResultBox method calls
|
||||
if let Some(result_box) = obj_value.as_any().downcast_ref::<crate::box_trait::ResultBox>() {
|
||||
return self.execute_result_method(result_box, method, arguments);
|
||||
|
||||
Reference in New Issue
Block a user