From f31b101ce1e921a026ba234b1f0a83b0392bc118 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 20 May 2026 08:33:49 +0900 Subject: fix(compile): fix all remaining compile errors Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/shirabe/src/partial_composer.rs | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'crates/shirabe/src/partial_composer.rs') diff --git a/crates/shirabe/src/partial_composer.rs b/crates/shirabe/src/partial_composer.rs index a310ae8..1ed7805 100644 --- a/crates/shirabe/src/partial_composer.rs +++ b/crates/shirabe/src/partial_composer.rs @@ -15,7 +15,7 @@ pub struct PartialComposer { repository_manager: Option, installation_manager: Option, config: Option>>, - event_dispatcher: Option, + event_dispatcher: Option>>, } impl PartialComposer { @@ -63,11 +63,18 @@ impl PartialComposer { self.installation_manager.as_ref().unwrap() } - pub fn set_event_dispatcher(&mut self, event_dispatcher: EventDispatcher) { + pub fn get_installation_manager_mut(&mut self) -> &mut InstallationManager { + self.installation_manager.as_mut().unwrap() + } + + pub fn set_event_dispatcher( + &mut self, + event_dispatcher: std::rc::Rc>, + ) { self.event_dispatcher = Some(event_dispatcher); } - pub fn get_event_dispatcher(&self) -> &EventDispatcher { + pub fn get_event_dispatcher(&self) -> &std::rc::Rc> { self.event_dispatcher.as_ref().unwrap() } @@ -78,4 +85,18 @@ impl PartialComposer { pub fn set_global(&mut self) { self.global = true; } + + /// TODO(phase-b): Emulates PHP `$composer instanceof Composer` check. + /// PartialComposer cannot be a Composer here (Composer is a separate struct + /// that wraps PartialComposer via composition), so this always returns false. + pub fn is_full_composer(&self) -> bool { + false + } + + /// TODO(phase-b): Emulates PHP downcast to `Composer`. + /// Returns self as `&dyn Any`; downcasting to Composer will always fail because + /// PartialComposer is not a Composer in this Rust port. + pub fn as_any(&self) -> &dyn std::any::Any { + self + } } -- cgit v1.3.1