Skip to content

Commit 6afb0db

Browse files
Avoid extra loop
1 parent 73bcdd5 commit 6afb0db

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/Target/MapBuilder.php

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,11 +160,17 @@ public function build(Filter $filter, FileAnalyser $analyser): array
160160
}
161161

162162
foreach ($this->parentClasses($classDetails, $class) as $parentClass) {
163-
$classes[$class->namespacedName()] = array_merge_recursive(
163+
$merged = array_merge_recursive(
164164
$classes[$class->namespacedName()],
165165
$classes[$parentClass->namespacedName()],
166166
);
167167

168+
foreach ($merged as $mergedFile => $lines) {
169+
$merged[$mergedFile] = array_unique($lines);
170+
}
171+
172+
$classes[$class->namespacedName()] = $merged;
173+
168174
if (isset($classesThatExtendClass[$parentClass->namespacedName()])) {
169175
$this->process($classesThatExtendClass, $parentClass->namespacedName(), $class->file(), $class->startLine(), $class->endLine());
170176
}
@@ -187,15 +193,6 @@ public function build(Filter $filter, FileAnalyser $analyser): array
187193
unset($classesThatExtendClass[$className]);
188194
}
189195

190-
/**
191-
* @todo Avoid duplication and remove this loop
192-
*/
193-
foreach ($classes as $className => $files) {
194-
foreach (array_keys($files) as $file) {
195-
$classes[$className][$file] = array_unique($classes[$className][$file]);
196-
}
197-
}
198-
199196
return [
200197
'namespaces' => $namespaces,
201198
'traits' => $traits,

0 commit comments

Comments
 (0)