diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-20 18:34:54 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-20 18:34:54 +0900 |
| commit | 81b9fc9d92bb74aa8428ae4db39bd84e8c16095c (patch) | |
| tree | 3efb6476d797e2a95545c4c3abba468c3e3c8d52 /crates/shirabe-external-packages/src/symfony/console/input | |
| parent | c09cd630afb4bb0ca10e926f93bf706ca828ae85 (diff) | |
| download | php-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.tar.gz php-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.tar.zst php-shirabe-81b9fc9d92bb74aa8428ae4db39bd84e8c16095c.zip | |
refactor(php-shim): drop Box wrapping from PhpMixed List/Array
The List and Array variants of PhpMixed boxed their elements
unnecessarily. Store PhpMixed values directly and update all callers
accordingly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/input')
3 files changed, 7 insertions, 7 deletions
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 d3df9aa..d7ddafc 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 @@ -211,7 +211,7 @@ impl ArgvInput { if self.inner.definition.has_argument(&PhpMixed::Int(c)) { let arg = self.inner.definition.get_argument(&PhpMixed::Int(c))?; let value = if arg.is_array() { - PhpMixed::List(vec![Box::new(PhpMixed::String(token.to_string()))]) + PhpMixed::List(vec![PhpMixed::String(token.to_string())]) } else { PhpMixed::String(token.to_string()) }; @@ -229,7 +229,7 @@ impl ArgvInput { { let arg = self.inner.definition.get_argument(&PhpMixed::Int(c - 1))?; if let Some(PhpMixed::List(list)) = self.inner.arguments.get_mut(arg.get_name()) { - list.push(Box::new(PhpMixed::String(token.to_string()))); + list.push(PhpMixed::String(token.to_string())); } // unexpected argument @@ -390,12 +390,12 @@ impl ArgvInput { if option.is_array() { match self.inner.options.get_mut(name) { Some(PhpMixed::List(list)) => { - list.push(Box::new(value)); + list.push(value); } _ => { self.inner .options - .insert(name.to_string(), PhpMixed::List(vec![Box::new(value)])); + .insert(name.to_string(), PhpMixed::List(vec![value])); } } } else { 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 cad26e8..3fc9abb 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 @@ -378,8 +378,8 @@ impl InputInterface for ArrayInput { /// PHP `(array) $values` cast: a string becomes a single-element array. fn to_array(values: PhpMixed) -> Vec<PhpMixed> { match values { - PhpMixed::List(list) => list.into_iter().map(|v| *v).collect(), - PhpMixed::Array(array) => array.into_iter().map(|(_, v)| *v).collect(), + PhpMixed::List(list) => list.into_iter().collect(), + PhpMixed::Array(array) => array.into_iter().map(|(_, v)| v).collect(), PhpMixed::Null => vec![], other => vec![other], } diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs index a90bff0..bd93f49 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs @@ -52,7 +52,7 @@ impl InputOption { let parts: Vec<String> = arr .iter() .filter_map(|v| { - if let PhpMixed::String(s) = v.as_ref() { + if let PhpMixed::String(s) = v { Some(s.clone()) } else { None |
