diff options
Diffstat (limited to 'crates')
5 files changed, 20 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs index 636e794c..f8bddcee 100644 --- a/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs @@ -294,6 +294,10 @@ impl crate::symfony::console::input::input_interface::InputInterface for Complet self.inner.get_first_argument() } + fn __to_string(&self) -> String { + self.to_string() + } + fn has_parameter_option(&self, values: PhpMixed, only_params: bool) -> bool { crate::symfony::console::input::input_interface::InputInterface::has_parameter_option( &self.inner, diff --git a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs index 59828631..fdc2dcc2 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs @@ -619,6 +619,10 @@ impl InputInterface for ArgvInput { self.inner.set_interactive(interactive) } + fn __to_string(&self) -> String { + self.to_string() + } + fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> { Some(self) } diff --git a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs index eeea48ca..1ae7069d 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs @@ -366,6 +366,10 @@ impl InputInterface for ArrayInput { self.inner.set_interactive(interactive) } + fn __to_string(&self) -> String { + self.to_string() + } + fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> { Some(self) } diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs index 6ef7877e..e4beca91 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs @@ -43,6 +43,10 @@ pub trait InputInterface: std::fmt::Debug + shirabe_php_shim::AsAny { fn set_interactive(&mut self, interactive: bool); + /// PHP's `(string) $input` (the `__toString` magic method every Symfony input implements); + /// implementors forward to their `Display` impl. + fn __to_string(&self) -> String; + /// Models PHP's `$input instanceof StreamableInputInterface` check. Streamable inputs override /// this to return `Some(self)`; everything else falls back to `None`. fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> { diff --git a/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs index c9871c34..3b3c3207 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/string_input.rs @@ -224,6 +224,10 @@ impl InputInterface for StringInput { self.inner.set_interactive(interactive) } + fn __to_string(&self) -> String { + self.to_string() + } + fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> { Some(self) } |
