Skip to content

Commit dd9fb48

Browse files
committed
run array_unique() only once per class
1 parent 60c24d2 commit dd9fb48

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/Target/MapBuilder.php

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

162162
foreach ($this->parentClasses($classDetails, $class) as $parentClass) {
163-
$merged = array_merge_recursive(
163+
$classes[$class->namespacedName()] = 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);
168+
if (!isset($classesThatExtendClass[$parentClass->namespacedName()])) {
169+
continue;
170170
}
171171

172-
$classes[$class->namespacedName()] = $merged;
172+
$this->process($classesThatExtendClass, $parentClass->namespacedName(), $class->file(), $class->startLine(), $class->endLine());
173+
}
173174

174-
if (isset($classesThatExtendClass[$parentClass->namespacedName()])) {
175-
$this->process($classesThatExtendClass, $parentClass->namespacedName(), $class->file(), $class->startLine(), $class->endLine());
176-
}
175+
foreach ($classes[$class->namespacedName()] as $file => $lines) {
176+
$classes[$class->namespacedName()][$file] = array_unique($lines);
177177
}
178178
}
179179

0 commit comments

Comments
 (0)