diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-19 00:10:22 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-19 00:11:03 +0900 |
| commit | c839244d8d09f3036ebfee8eef7eb6b147e593ab (patch) | |
| tree | fe48c94f2c2e62468beef5ff1a8f3cff6adeef4f /crates/shirabe/src/autoload/class_map_generator.rs | |
| parent | 48839250146b217e2756ed3c0e624fd341b54d6c (diff) | |
| download | php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.gz php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.tar.zst php-shirabe-c839244d8d09f3036ebfee8eef7eb6b147e593ab.zip | |
fix(compile): fix various compile errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/autoload/class_map_generator.rs')
| -rw-r--r-- | crates/shirabe/src/autoload/class_map_generator.rs | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/crates/shirabe/src/autoload/class_map_generator.rs b/crates/shirabe/src/autoload/class_map_generator.rs index df61795..e5a2ec5 100644 --- a/crates/shirabe/src/autoload/class_map_generator.rs +++ b/crates/shirabe/src/autoload/class_map_generator.rs @@ -3,7 +3,6 @@ use indexmap::IndexMap; use shirabe_class_map_generator::class_map_generator::ClassMapGenerator as ExternalClassMapGenerator; -use shirabe_class_map_generator::file_list::FileList; use shirabe_php_shim::PhpMixed; use crate::io::io_interface::IOInterface; @@ -42,56 +41,55 @@ impl ClassMapGenerator { pub fn create_map( path: PhpMixed, excluded: Option<String>, - io: Option<Box<dyn IOInterface>>, + mut io: Option<Box<dyn IOInterface>>, namespace: Option<String>, autoload_type: Option<String>, scanned_files: &mut IndexMap<String, bool>, ) -> anyhow::Result<IndexMap<String, String>> { - let generator = ExternalClassMapGenerator::new(vec![ + let _ = scanned_files; + let mut generator = ExternalClassMapGenerator::new(vec![ "php".to_string(), "inc".to_string(), "hh".to_string(), ]); - let mut file_list = FileList::new(); - file_list.files = scanned_files.clone(); - generator.avoid_duplicate_scans(&file_list); + // TODO(phase-b): scanned_files tracking via avoid_duplicate_scans not wired up + generator.avoid_duplicate_scans(None); generator.scan_paths( path, - excluded.as_deref(), + excluded, autoload_type.as_deref().unwrap_or("classmap"), - namespace.as_deref(), + namespace, + vec![], )?; let class_map = generator.get_class_map(); - *scanned_files = file_list.files; - - if let Some(io) = &io { + if let Some(io) = io.as_mut() { for msg in class_map.get_psr_violations() { io.write_error(&format!("<warning>{}</warning>", msg)); } - for (class, paths) in class_map.get_ambiguous_classes() { + for (class, paths) in class_map.get_ambiguous_classes(None)? { if paths.len() > 1 { io.write_error(&format!( "<warning>Warning: Ambiguous class resolution, \"{}\" was found {}x: in \"{}\" and \"{}\", the first will be used.</warning>", class, paths.len() + 1, - class_map.get_class_path(&class), + class_map.get_class_path(&class).unwrap_or(""), paths.join("\", \""), )); } else { io.write_error(&format!( "<warning>Warning: Ambiguous class resolution, \"{}\" was found in both \"{}\" and \"{}\", the first will be used.</warning>", class, - class_map.get_class_path(&class), + class_map.get_class_path(&class).unwrap_or(""), paths.join("\", \""), )); } } } - Ok(class_map.get_map()) + Ok(class_map.get_map().clone()) } } |
