Skip to content

Commit eb4ceaa

Browse files
committed
Fix fatal error in serializer/denormalizer extensions
1 parent 837369e commit eb4ceaa

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

src/Type/Symfony/SerializerDynamicReturnTypeExtension.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ public function isMethodSupported(MethodReflection $methodReflection): bool
3939

4040
public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): Type
4141
{
42+
if (!isset($methodCall->args[1])) {
43+
return new MixedType();
44+
}
45+
4246
$argType = $scope->getType($methodCall->args[1]->value);
4347
if (!$argType instanceof ConstantStringType) {
4448
return new MixedType();

tests/Type/Symfony/ExtensionTestCase.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
use PHPStan\Node\VirtualNode;
1414
use PHPStan\PhpDoc\PhpDocNodeResolver;
1515
use PHPStan\PhpDoc\PhpDocStringResolver;
16-
use PHPStan\PhpDoc\TypeNodeResolver;
1716
use PHPStan\Testing\TestCase;
1817
use PHPStan\Type\DynamicMethodReturnTypeExtension;
1918
use PHPStan\Type\FileTypeMapper;
@@ -36,8 +35,6 @@ protected function processFile(
3635
$typeSpecifier = $this->createTypeSpecifier(new Standard(), $broker);
3736
/** @var \PHPStan\PhpDoc\PhpDocStringResolver $phpDocStringResolver */
3837
$phpDocStringResolver = self::getContainer()->getByType(PhpDocStringResolver::class);
39-
/** @var \PHPStan\PhpDoc\TypeNodeResolver $typeNodeResolver */
40-
$typeNodeResolver = self::getContainer()->getByType(TypeNodeResolver::class);
4138
$resolver = new NodeScopeResolver(
4239
$broker,
4340
$parser,

tests/Type/Symfony/denormalizer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
$first = $serializer->denormalize('bar', 'Bar', 'format');
66
$second = $serializer->denormalize('bar', 'Bar[]', 'format');
77
$third = $serializer->denormalize('bar', 'Bar[][]', 'format');
8+
$fourth = $serializer->denormalize('bar');
89

910
die;

tests/Type/Symfony/serializer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
$first = $serializer->deserialize('bar', 'Bar', 'format');
66
$second = $serializer->deserialize('bar', 'Bar[]', 'format');
77
$third = $serializer->deserialize('bar', 'Bar[][]', 'format');
8+
$fourth = $serializer->deserialize('bar');
89

910
die;

0 commit comments

Comments
 (0)