Skip to content

Commit 6678ca0

Browse files
committed
Updated Rector to commit 4a77565302216f6fde71232600cd175422a00965
rectorphp/rector-src@4a77565 ExplicitReturnNullRector should skip never return (#5802)
1 parent 6e04d0e commit 6678ca0

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

rules/CodeQuality/Rector/ClassMethod/ExplicitReturnNullRector.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
2121
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;
2222
use Rector\Rector\AbstractRector;
23+
use Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer;
2324
use Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer;
2425
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
2526
use Rector\ValueObject\MethodName;
@@ -50,17 +51,23 @@ final class ExplicitReturnNullRector extends AbstractRector
5051
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
5152
*/
5253
private $phpDocTypeChanger;
54+
/**
55+
* @readonly
56+
* @var \Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer
57+
*/
58+
private $neverFuncCallAnalyzer;
5359
/**
5460
* @readonly
5561
* @var \Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer
5662
*/
5763
private $returnTypeInferer;
58-
public function __construct(SilentVoidResolver $silentVoidResolver, PhpDocInfoFactory $phpDocInfoFactory, TypeFactory $typeFactory, PhpDocTypeChanger $phpDocTypeChanger, ReturnTypeInferer $returnTypeInferer)
64+
public function __construct(SilentVoidResolver $silentVoidResolver, PhpDocInfoFactory $phpDocInfoFactory, TypeFactory $typeFactory, PhpDocTypeChanger $phpDocTypeChanger, NeverFuncCallAnalyzer $neverFuncCallAnalyzer, ReturnTypeInferer $returnTypeInferer)
5965
{
6066
$this->silentVoidResolver = $silentVoidResolver;
6167
$this->phpDocInfoFactory = $phpDocInfoFactory;
6268
$this->typeFactory = $typeFactory;
6369
$this->phpDocTypeChanger = $phpDocTypeChanger;
70+
$this->neverFuncCallAnalyzer = $neverFuncCallAnalyzer;
6471
$this->returnTypeInferer = $returnTypeInferer;
6572
}
6673
public function getRuleDefinition() : RuleDefinition
@@ -132,7 +139,7 @@ public function refactor(Node $node) : ?Node
132139
}
133140
return null;
134141
});
135-
if (!$this->silentVoidResolver->hasSilentVoid($node)) {
142+
if (!$this->silentVoidResolver->hasSilentVoid($node) || $this->neverFuncCallAnalyzer->hasNeverFuncCall($node)) {
136143
if ($hasChanged) {
137144
$this->transformDocUnionVoidToUnionNull($node);
138145
return $node;

src/Application/VersionResolver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ final class VersionResolver
1919
* @api
2020
* @var string
2121
*/
22-
public const PACKAGE_VERSION = '1.0.4';
22+
public const PACKAGE_VERSION = '4a77565302216f6fde71232600cd175422a00965';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2024-04-04 20:57:17';
27+
public const RELEASE_DATE = '2024-04-05 20:02:11';
2828
/**
2929
* @var int
3030
*/

0 commit comments

Comments
 (0)