Skip to content

Commit

Permalink
[CodeQuality] Handle crash on return array constant on ExplicitReturn…
Browse files Browse the repository at this point in the history
…NullRector (#6458)

* [CodeQuality] Handle crash on return array constant on ExplicitReturnNullRector

* fix
  • Loading branch information
samsonasik authored Nov 20, 2024
1 parent 28df807 commit e16c1d5
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php

namespace Rector\Tests\CodeQuality\Rector\ClassMethod\ExplicitReturnNullRector\Fixture;

class SkipReturnArrayConstant
{
public static function provideClearSession()
{
return [
['Default', ['Foo' => ['foo' => 'fooValue']]],
[null, []],
];
}
}
4 changes: 2 additions & 2 deletions rules/TypeDeclaration/TypeNormalizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@ public function normalizeArrayTypeAndArrayNever(Type $type): Type
assert($traversedType instanceof ConstantArrayType);

// not sure why, but with direct new node everything gets nulled to MixedType
$this->privatesAccessor->setPrivateProperty($traversedType, 'keyType', new MixedType());
$this->privatesAccessor->setPrivateProperty($traversedType, 'keyTypes', [new MixedType()]);

$this->privatesAccessor->setPrivateProperty($traversedType, 'itemType', new MixedType());
$this->privatesAccessor->setPrivateProperty($traversedType, 'valueTypes', [new MixedType()]);

return $traversedType;
}
Expand Down

0 comments on commit e16c1d5

Please sign in to comment.