Skip to content

Commit 430589e

Browse files
phpstan-botclaude
andcommitted
Avoid array_merge inside loop in IntersectionType::getCallableParametersAcceptors()
Collect acceptor arrays and merge once outside the loop instead of merging on each iteration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 57dde1b commit 430589e

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/Type/IntersectionType.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,18 +1134,18 @@ public function getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope)
11341134
}
11351135

11361136
if ($isCallable->yes()) {
1137-
$yesAcceptors = array_merge($yesAcceptors, $type->getCallableParametersAcceptors($scope));
1137+
$yesAcceptors[] = $type->getCallableParametersAcceptors($scope);
11381138
} else {
1139-
$maybeAcceptors = array_merge($maybeAcceptors, $type->getCallableParametersAcceptors($scope));
1139+
$maybeAcceptors[] = $type->getCallableParametersAcceptors($scope);
11401140
}
11411141
}
11421142

11431143
if (count($yesAcceptors) > 0) {
1144-
return $yesAcceptors;
1144+
return array_merge(...$yesAcceptors);
11451145
}
11461146

11471147
if (count($maybeAcceptors) > 0) {
1148-
return $maybeAcceptors;
1148+
return array_merge(...$maybeAcceptors);
11491149
}
11501150

11511151
throw new ShouldNotHappenException();

0 commit comments

Comments
 (0)