Skip to content

Commit 90ce507

Browse files
authored
Merge branch refs/heads/1.10.x into 1.11.x
2 parents 552952a + 8ae0b28 commit 90ce507

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

src/PhpDoc/ResolvedPhpDocBlock.php

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -281,14 +281,26 @@ public function changeParameterNamesByMapping(array $parameterNameMapping): self
281281
return $this;
282282
}
283283

284+
$mapParameterCb = static function (Type $type, callable $traverse) use ($parameterNameMapping): Type {
285+
if ($type instanceof ConditionalTypeForParameter) {
286+
$parameterName = substr($type->getParameterName(), 1);
287+
if (array_key_exists($parameterName, $parameterNameMapping)) {
288+
$type = $type->changeParameterName('$' . $parameterNameMapping[$parameterName]);
289+
}
290+
}
291+
292+
return $traverse($type);
293+
};
294+
284295
$paramTags = $this->getParamTags();
285296

286297
$newParamTags = [];
287298
foreach ($paramTags as $key => $paramTag) {
288299
if (!array_key_exists($key, $parameterNameMapping)) {
289300
continue;
290301
}
291-
$newParamTags[$parameterNameMapping[$key]] = $paramTag;
302+
$transformedType = TypeTraverser::map($paramTag->getType(), $mapParameterCb);
303+
$newParamTags[$parameterNameMapping[$key]] = $paramTag->withType($transformedType);
292304
}
293305

294306
$paramOutTags = $this->getParamOutTags();
@@ -298,21 +310,14 @@ public function changeParameterNamesByMapping(array $parameterNameMapping): self
298310
if (!array_key_exists($key, $parameterNameMapping)) {
299311
continue;
300312
}
301-
$newParamOutTags[$parameterNameMapping[$key]] = $paramOutTag;
313+
314+
$transformedType = TypeTraverser::map($paramOutTag->getType(), $mapParameterCb);
315+
$newParamOutTags[$parameterNameMapping[$key]] = $paramOutTag->withType($transformedType);
302316
}
303317

304318
$returnTag = $this->getReturnTag();
305319
if ($returnTag !== null) {
306-
$transformedType = TypeTraverser::map($returnTag->getType(), static function (Type $type, callable $traverse) use ($parameterNameMapping): Type {
307-
if ($type instanceof ConditionalTypeForParameter) {
308-
$parameterName = substr($type->getParameterName(), 1);
309-
if (array_key_exists($parameterName, $parameterNameMapping)) {
310-
$type = $type->changeParameterName('$' . $parameterNameMapping[$parameterName]);
311-
}
312-
}
313-
314-
return $traverse($type);
315-
});
320+
$transformedType = TypeTraverser::map($returnTag->getType(), $mapParameterCb);
316321
$returnTag = $returnTag->withType($transformedType);
317322
}
318323

stubs/socket_select.stub

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
* @param-out ($read is not null ? array<resource> : null) $read
88
* @param-out ($write is not null ? array<resource> : null) $write
99
* @param-out ($except is not null ? array<resource> : null) $except
10+
* @return int|false
1011
*/
11-
function socket_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, int $microseconds = 0): int|false {}
12+
function socket_select(?array &$read, ?array &$write, ?array &$except, ?int $seconds, int $microseconds = 0) {}

0 commit comments

Comments
 (0)