aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/style/output_style.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/style/output_style.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/style/output_style.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/style/output_style.rs b/crates/shirabe-external-packages/src/symfony/console/style/output_style.rs
index 7899bbc..9a16274 100644
--- a/crates/shirabe-external-packages/src/symfony/console/style/output_style.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/style/output_style.rs
@@ -38,8 +38,12 @@ impl OutputStyle {
.get_error_output()
}
- fn is_console_output_interface(_output: &Rc<RefCell<dyn OutputInterface>>) -> bool {
- todo!()
+ fn is_console_output_interface(output: &Rc<RefCell<dyn OutputInterface>>) -> bool {
+ // ConsoleOutput is the only OutputInterface implementor that also implements
+ // ConsoleOutputInterface, so `instanceof ConsoleOutputInterface` reduces to this downcast.
+ shirabe_php_shim::AsAny::as_any(&*output.borrow())
+ .downcast_ref::<crate::symfony::console::output::console_output::ConsoleOutput>()
+ .is_some()
}
fn as_console_output_interface(