From 69c372ba0eca61b05260d6d208445d9e69d14e34 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 13 Jun 2026 11:38:20 +0900 Subject: fix(console): flatten Application inheritance to restore overrides Composer\Console\Application embedded Symfony's Application as an `inner` field and delegated to it, so polymorphic calls inside the Symfony base (e.g. doRun -> $this->getLongVersion()) resolved to Symfony's own methods and never reached Composer's overrides. As a result `--version` bypassed Composer's getLongVersion()/doRun() entirely. Flatten the PHP inheritance chain into the single shirabe Application struct: take in the Symfony base methods (parent-calling overrides kept under a `base_` prefix) and drop the `inner` delegation. Replace the Symfony Application struct in shirabe-external-packages with an `Application` trait that the merged struct implements, so commands and descriptors can reference it without a reverse crate dependency. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe-external-packages/src/symfony/contracts/mod.rs | 2 -- crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs | 3 --- .../src/symfony/contracts/service/reset_interface.rs | 4 ---- 3 files changed, 9 deletions(-) delete mode 100644 crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs delete mode 100644 crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs (limited to 'crates/shirabe-external-packages/src/symfony/contracts') diff --git a/crates/shirabe-external-packages/src/symfony/contracts/mod.rs b/crates/shirabe-external-packages/src/symfony/contracts/mod.rs index ad1b417..36260a8 100644 --- a/crates/shirabe-external-packages/src/symfony/contracts/mod.rs +++ b/crates/shirabe-external-packages/src/symfony/contracts/mod.rs @@ -1,5 +1,3 @@ pub mod event_dispatcher; -pub mod service; pub use event_dispatcher::*; -pub use service::*; diff --git a/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs b/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs deleted file mode 100644 index 5dbf535..0000000 --- a/crates/shirabe-external-packages/src/symfony/contracts/service/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod reset_interface; - -pub use reset_interface::*; diff --git a/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs b/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs deleted file mode 100644 index cdfe2cf..0000000 --- a/crates/shirabe-external-packages/src/symfony/contracts/service/reset_interface.rs +++ /dev/null @@ -1,4 +0,0 @@ -/// Mirror of Symfony's `ResetInterface`. -pub trait ResetInterface { - fn reset(&mut self); -} -- cgit v1.3.1