diff options
Diffstat (limited to 'crates/shirabe/src/event_dispatcher/event_dispatcher.rs')
| -rw-r--r-- | crates/shirabe/src/event_dispatcher/event_dispatcher.rs | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs index ef02660..49775d1 100644 --- a/crates/shirabe/src/event_dispatcher/event_dispatcher.rs +++ b/crates/shirabe/src/event_dispatcher/event_dispatcher.rs @@ -19,8 +19,7 @@ use shirabe_php_shim::{ }; use crate::autoload::ClassLoader; -use crate::composer::PartialComposerHandle; -use crate::composer::PartialComposerWeakHandle; +use crate::composer::{AnyComposerHandle, AnyComposerWeakHandle, Composer, PartialComposer}; use crate::dependency_resolver::Transaction; use crate::dependency_resolver::operation::OperationInterface; use crate::event_dispatcher::Event; @@ -62,7 +61,7 @@ pub enum Callable { /// `$dispatcher->dispatch(ScriptEvents::POST_INSTALL_CMD);` #[derive(Debug)] pub struct EventDispatcher { - pub(crate) composer: PartialComposerWeakHandle, + pub(crate) composer: AnyComposerWeakHandle, pub(crate) io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>>, pub(crate) loader: Option<ClassLoader>, pub(crate) process: std::rc::Rc<std::cell::RefCell<ProcessExecutor>>, @@ -76,7 +75,7 @@ pub struct EventDispatcher { impl EventDispatcher { pub fn new( - composer: PartialComposerWeakHandle, + composer: AnyComposerWeakHandle, io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>>, process: Option<std::rc::Rc<std::cell::RefCell<ProcessExecutor>>>, ) -> Self { @@ -704,7 +703,6 @@ impl EventDispatcher { .composer .upgrade() .expect("Composer was dropped before EventDispatcher use") - .borrow_partial() .get_package() .get_binaries(); if !possible_local_binaries.is_empty() { @@ -1081,7 +1079,6 @@ impl EventDispatcher { /// Finds all listeners defined as scripts in the package fn get_script_listeners(&self, event: &Event) -> Vec<Callable> { let composer = self.composer(); - let composer = composer.borrow_partial(); let package = composer.get_package(); let scripts = package.get_scripts(); @@ -1163,7 +1160,6 @@ impl EventDispatcher { // add the bin dir to the PATH to make local binaries of deps usable in scripts let bin_dir = self .composer() - .borrow_partial() .get_config() .borrow_mut() .get("bin-dir") @@ -1234,8 +1230,6 @@ impl EventDispatcher { let Some(composer) = composer.as_full() else { return; }; - let composer = composer.borrow_mut(); - let callable_key = match callable { Callable::ArrayCallable(first, method) => { let prefix = if let PhpMixed::String(s) = first.as_ref() { @@ -1316,7 +1310,7 @@ impl EventDispatcher { todo!("clone std::rc::Rc<std::cell::RefCell<dyn IOInterface>>") } - fn composer(&self) -> PartialComposerHandle { + fn composer(&self) -> AnyComposerHandle { self.composer .upgrade() .expect("EventDispatcher must lives longer than Composer") |
