Merge pull request #2986 from snapshotpl/typed-callable

Typed callable when mixed used
This commit is contained in:
Tomas Votruba 2020-04-14 12:47:54 +02:00 committed by GitHub
commit 4b002502ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 7 additions and 5 deletions

View File

@ -34,7 +34,7 @@ final class AttributeAwareCallableTypeNode extends CallableTypeNode implements A
}
$parameterTypeString = $this->normalizeParameterType($parameterTypeString, $returnTypeAsString);
$returnTypeAsString = $this->normalizeReturnType($returnTypeAsString);
$returnTypeAsString = $this->normalizeReturnType($parameterTypeString, $returnTypeAsString);
return sprintf('%s%s%s', $this->identifier->name, $parameterTypeString, $returnTypeAsString);
}
@ -51,9 +51,9 @@ final class AttributeAwareCallableTypeNode extends CallableTypeNode implements A
return trim($parameterTypeString);
}
private function normalizeReturnType(string $returnTypeAsString): string
private function normalizeReturnType(string $parameterTypeString, string $returnTypeAsString): string
{
if ($returnTypeAsString === 'mixed') {
if ($returnTypeAsString === 'mixed' && $parameterTypeString === '') {
return '';
}

View File

@ -1 +1 @@
/** @var callable(array<mixed>) */
/** @var callable(array<mixed>):mixed */

View File

@ -1 +1 @@
/** @param callable(array<mixed>) $hitCallback */
/** @param callable(array<mixed>):mixed $hitCallback */