[Core] Remove loop on FilesFinder::findInDirectoriesAndFiles() (#2201)

* [Core] Remove loop on FilesFinder::findInDirectoriesAndFiles()

* [ci-review] Rector Rectify

* rename variable

* clean up

Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
Abdul Malik Ikhsan 2022-04-30 13:34:40 +07:00 committed by GitHub
parent f30523f982
commit c8b47df3e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 7 deletions

View File

@ -15,7 +15,7 @@ final class UnchangedFilesFilter
}
/**
* @param SmartFileInfo[] $fileInfos
* @param SmartFileInfo[]|string[] $fileInfos
* @return SmartFileInfo[]
*/
public function filterAndJoinWithDependentFileInfos(array $fileInfos): array
@ -24,6 +24,10 @@ final class UnchangedFilesFilter
$dependentFileInfos = [];
foreach ($fileInfos as $fileInfo) {
if (is_string($fileInfo)) {
$fileInfo = new SmartFileInfo($fileInfo);
}
if (! $this->changedFilesDetector->hasFileChanged($fileInfo)) {
continue;
}

View File

@ -55,12 +55,7 @@ final class FilesFinder
$directories = $this->fileSystemFilter->filterDirectories($filesAndDirectories);
$smartFileInfos = [];
foreach ($filePaths as $filePath) {
$smartFileInfos[] = new SmartFileInfo($filePath);
}
$smartFileInfos = $this->unchangedFilesFilter->filterAndJoinWithDependentFileInfos($smartFileInfos);
$smartFileInfos = $this->unchangedFilesFilter->filterAndJoinWithDependentFileInfos($filePaths);
return array_merge($smartFileInfos, $this->findInDirectories($directories, $suffixes));
}