aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository/array_repository.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/repository/array_repository.rs')
-rw-r--r--crates/shirabe/src/repository/array_repository.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/crates/shirabe/src/repository/array_repository.rs b/crates/shirabe/src/repository/array_repository.rs
index 7bb7e81..5262b5e 100644
--- a/crates/shirabe/src/repository/array_repository.rs
+++ b/crates/shirabe/src/repository/array_repository.rs
@@ -31,10 +31,10 @@ use crate::repository::repository_interface::{
pub struct ArrayRepository {
/// @var ?array<BasePackage>
// TODO(phase-b): RefCell models PHP's lazy init via getPackages()/count() under &self
- pub(crate) packages: RefCell<Option<Vec<Box<BasePackage>>>>,
+ pub(crate) packages: RefCell<Option<Vec<Box<dyn BasePackage>>>>,
/// @var ?array<BasePackage> indexed by package unique name and used to cache hasPackage calls
- pub(crate) package_map: RefCell<Option<IndexMap<String, Box<BasePackage>>>>,
+ pub(crate) package_map: RefCell<Option<IndexMap<String, Box<dyn BasePackage>>>>,
}
impl ArrayRepository {
@@ -63,9 +63,9 @@ impl ArrayRepository {
}
.into());
}
- // TODO(phase-b): convert Box<dyn PackageInterface> to Box<BasePackage>
- let mut package: Box<BasePackage> =
- todo!("downcast Box<dyn PackageInterface> to Box<BasePackage>");
+ // TODO(phase-b): convert Box<dyn PackageInterface> to Box<dyn BasePackage>
+ let mut package: Box<dyn BasePackage> =
+ todo!("downcast Box<dyn PackageInterface> to Box<dyn BasePackage>");
if self.packages.borrow().is_none() {
self.initialize();
@@ -73,7 +73,7 @@ impl ArrayRepository {
// TODO(phase-b): pass a reference to self, not a clone
package.set_repository(todo!("self as Box<dyn RepositoryInterface>"))?;
- let aliased_package: Option<Box<BasePackage>> =
+ let aliased_package: Option<Box<dyn BasePackage>> =
if let Some(alias) = (package.as_any() as &dyn Any).downcast_ref::<AliasPackage>() {
Some(alias.get_alias_of().clone_box())
} else {
@@ -97,10 +97,10 @@ impl ArrayRepository {
/// @return AliasPackage|CompleteAliasPackage
pub(crate) fn create_alias_package(
&self,
- mut package: Box<BasePackage>,
+ mut package: Box<dyn BasePackage>,
alias: String,
pretty_alias: String,
- ) -> Box<BasePackage> {
+ ) -> Box<dyn BasePackage> {
while let Some(alias_pkg) = (package.as_any() as &dyn Any).downcast_ref::<AliasPackage>() {
package = alias_pkg.get_alias_of().clone_box();
}
@@ -173,7 +173,7 @@ impl RepositoryInterface for ArrayRepository {
) -> LoadPackagesResult {
let packages = self.get_packages();
- let mut result: IndexMap<String, Box<BasePackage>> = IndexMap::new();
+ let mut result: IndexMap<String, Box<dyn BasePackage>> = IndexMap::new();
let mut names_found: IndexMap<String, bool> = IndexMap::new();
for package in &packages {
if package_name_map.contains_key(package.get_name()) {
@@ -231,7 +231,7 @@ impl RepositoryInterface for ArrayRepository {
&self,
name: String,
constraint: FindPackageConstraint,
- ) -> Option<Box<BasePackage>> {
+ ) -> Option<Box<dyn BasePackage>> {
let name = strtolower(&name);
let constraint: Box<dyn ConstraintInterface> = match constraint {
@@ -259,7 +259,7 @@ impl RepositoryInterface for ArrayRepository {
&self,
name: String,
constraint: Option<FindPackageConstraint>,
- ) -> Vec<Box<BasePackage>> {
+ ) -> Vec<Box<dyn BasePackage>> {
// normalize name
let name = strtolower(&name);
let mut packages = vec![];
@@ -377,7 +377,7 @@ impl RepositoryInterface for ArrayRepository {
fn has_package(&self, package: &dyn PackageInterface) -> bool {
if self.package_map.borrow().is_none() {
- let mut map: IndexMap<String, Box<BasePackage>> = IndexMap::new();
+ let mut map: IndexMap<String, Box<dyn BasePackage>> = IndexMap::new();
for repo_package in self.get_packages() {
map.insert(repo_package.get_unique_name(), repo_package);
}
@@ -419,7 +419,7 @@ impl RepositoryInterface for ArrayRepository {
result
}
- fn get_packages(&self) -> Vec<Box<BasePackage>> {
+ fn get_packages(&self) -> Vec<Box<dyn BasePackage>> {
if self.packages.borrow().is_none() {
self.initialize();
}