aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/package/dumper/array_dumper.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-20 08:33:49 +0900
committernsfisis <nsfisis@gmail.com>2026-05-20 08:33:57 +0900
commitf31b101ce1e921a026ba234b1f0a83b0392bc118 (patch)
treeb7ac2aa84d71ebd162cc21aeab0240e7e0544988 /crates/shirabe/src/package/dumper/array_dumper.rs
parent5e31fa33c3b5cf726a57a063b8e7a070869250fe (diff)
downloadphp-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.tar.gz
php-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.tar.zst
php-shirabe-f31b101ce1e921a026ba234b1f0a83b0392bc118.zip
fix(compile): fix all remaining compile errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/package/dumper/array_dumper.rs')
-rw-r--r--crates/shirabe/src/package/dumper/array_dumper.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/crates/shirabe/src/package/dumper/array_dumper.rs b/crates/shirabe/src/package/dumper/array_dumper.rs
index 0b57070..cbff605 100644
--- a/crates/shirabe/src/package/dumper/array_dumper.rs
+++ b/crates/shirabe/src/package/dumper/array_dumper.rs
@@ -1,14 +1,14 @@
//! ref: composer/src/Composer/Package/Dumper/ArrayDumper.php
-use std::any::Any;
-
use indexmap::IndexMap;
use shirabe_php_shim::PhpMixed;
-use crate::package::base_package::BasePackage;
+use crate::package::base_package::SUPPORTED_LINK_TYPES;
use crate::package::complete_package::CompletePackage;
+use crate::package::complete_package_interface::CompletePackageInterface;
use crate::package::package_interface::PackageInterface;
use crate::package::root_package::RootPackage;
+use crate::package::root_package_interface::RootPackageInterface;
#[derive(Debug)]
pub struct ArrayDumper;
@@ -131,10 +131,10 @@ impl ArrayDumper {
}
// corresponds to: foreach (BasePackage::$supportedLinkTypes as $type => $opts) { $links = $package->{'get'.ucfirst($opts['method'])}(); ... }
- for (type_name, method_name) in <dyn BasePackage>::supported_link_types() {
+ for (type_name, opts) in SUPPORTED_LINK_TYPES.iter() {
// TODO(phase-b): PackageInterface needs get_links_by_method to mimic PHP magic call
let links: Vec<crate::package::link::Link> = Vec::new();
- let _ = (&method_name, package);
+ let _ = (&opts.method, package);
if links.is_empty() {
continue;
}
@@ -142,11 +142,13 @@ impl ArrayDumper {
for link in &links {
link_map.insert(
link.get_target().to_string(),
- Box::new(PhpMixed::String(link.get_pretty_constraint().to_string())),
+ Box::new(PhpMixed::String(
+ link.get_pretty_constraint().unwrap_or_default().to_string(),
+ )),
);
}
link_map.sort_keys();
- data.insert(type_name, PhpMixed::Array(link_map));
+ data.insert(type_name.to_string(), PhpMixed::Array(link_map));
}
let suggests = package.get_suggests();
@@ -265,7 +267,7 @@ impl ArrayDumper {
let entry = data
.entry("archive".to_string())
.or_insert_with(|| PhpMixed::Array(IndexMap::new()));
- if let PhpMixed::Array(ref mut archive) = entry {
+ if let PhpMixed::Array(archive) = entry {
archive.insert(
"name".to_string(),
Box::new(PhpMixed::String(archive_name.to_string())),
@@ -277,7 +279,7 @@ impl ArrayDumper {
let entry = data
.entry("archive".to_string())
.or_insert_with(|| PhpMixed::Array(IndexMap::new()));
- if let PhpMixed::Array(ref mut archive) = entry {
+ if let PhpMixed::Array(archive) = entry {
archive.insert(
"exclude".to_string(),
Box::new(PhpMixed::List(