aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/component/console/output
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/component/console/output')
-rw-r--r--crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs10
-rw-r--r--crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs22
2 files changed, 22 insertions, 10 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs b/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs
index 73c5c46..f9792f0 100644
--- a/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs
+++ b/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs
@@ -19,13 +19,13 @@ impl ConsoleOutput {
}
impl OutputInterface for ConsoleOutput {
- fn write(&mut self, _messages: &str, _newline: bool, _type: i64) {
+ fn write(&self, _messages: &str, _newline: bool, _type: i64) {
todo!()
}
- fn writeln(&mut self, _messages: &str, _type: i64) {
+ fn writeln(&self, _messages: &str, _type: i64) {
todo!()
}
- fn set_verbosity(&mut self, _level: i64) {
+ fn set_verbosity(&self, _level: i64) {
todo!()
}
fn get_verbosity(&self) -> i64 {
@@ -43,13 +43,13 @@ impl OutputInterface for ConsoleOutput {
fn is_debug(&self) -> bool {
todo!()
}
- fn set_decorated(&mut self, _decorated: bool) {
+ fn set_decorated(&self, _decorated: bool) {
todo!()
}
fn is_decorated(&self) -> bool {
todo!()
}
- fn set_formatter(&mut self, _formatter: OutputFormatter) {
+ fn set_formatter(&self, _formatter: OutputFormatter) {
todo!()
}
fn get_formatter(&self) -> &OutputFormatter {
diff --git a/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs b/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs
index 62a95bb..22a4b17 100644
--- a/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs
+++ b/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs
@@ -1,18 +1,30 @@
use crate::symfony::component::console::formatter::output_formatter::OutputFormatter;
pub trait OutputInterface {
- fn write(&mut self, messages: &str, newline: bool, r#type: i64);
- fn writeln(&mut self, messages: &str, r#type: i64);
- fn set_verbosity(&mut self, level: i64);
+ // PHP class semantics: OutputInterface methods take &self with interior mutability,
+ // because output objects are shared by reference across the PHP code.
+ fn write(&self, messages: &str, newline: bool, r#type: i64);
+ fn writeln(&self, messages: &str, r#type: i64);
+ fn set_verbosity(&self, level: i64);
fn get_verbosity(&self) -> i64;
fn is_quiet(&self) -> bool;
fn is_verbose(&self) -> bool;
fn is_very_verbose(&self) -> bool;
fn is_debug(&self) -> bool;
- fn set_decorated(&mut self, decorated: bool);
+ fn set_decorated(&self, decorated: bool);
fn is_decorated(&self) -> bool;
- fn set_formatter(&mut self, formatter: OutputFormatter);
+ fn set_formatter(&self, formatter: OutputFormatter);
fn get_formatter(&self) -> &OutputFormatter;
+
+ /// PHP: `$output instanceof ConsoleOutputInterface`. Default false; ConsoleOutput overrides.
+ fn is_console_output_interface(&self) -> bool {
+ false
+ }
+
+ /// PHP: only StreamOutput exposes `getStream()`. Default panics for outputs without one.
+ fn get_stream(&self) -> shirabe_php_shim::PhpResource {
+ todo!("get_stream not available on this OutputInterface implementation")
+ }
}
pub const VERBOSITY_QUIET: i64 = 16;