mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-06 03:10:50 +00:00
Updated Rector to commit 4a77565302216f6fde71232600cd175422a00965
4a77565302
ExplicitReturnNullRector should skip never return (#5802)
This commit is contained in:
parent
6e04d0eb08
commit
6678ca05d4
|
@ -20,6 +20,7 @@ use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory;
|
|||
use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;
|
||||
use Rector\Rector\AbstractRector;
|
||||
use Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer;
|
||||
use Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer;
|
||||
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
|
||||
use Rector\ValueObject\MethodName;
|
||||
|
@ -50,17 +51,23 @@ final class ExplicitReturnNullRector extends AbstractRector
|
|||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
|
||||
*/
|
||||
private $phpDocTypeChanger;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer
|
||||
*/
|
||||
private $neverFuncCallAnalyzer;
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer
|
||||
*/
|
||||
private $returnTypeInferer;
|
||||
public function __construct(SilentVoidResolver $silentVoidResolver, PhpDocInfoFactory $phpDocInfoFactory, TypeFactory $typeFactory, PhpDocTypeChanger $phpDocTypeChanger, ReturnTypeInferer $returnTypeInferer)
|
||||
public function __construct(SilentVoidResolver $silentVoidResolver, PhpDocInfoFactory $phpDocInfoFactory, TypeFactory $typeFactory, PhpDocTypeChanger $phpDocTypeChanger, NeverFuncCallAnalyzer $neverFuncCallAnalyzer, ReturnTypeInferer $returnTypeInferer)
|
||||
{
|
||||
$this->silentVoidResolver = $silentVoidResolver;
|
||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||
$this->typeFactory = $typeFactory;
|
||||
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
||||
$this->neverFuncCallAnalyzer = $neverFuncCallAnalyzer;
|
||||
$this->returnTypeInferer = $returnTypeInferer;
|
||||
}
|
||||
public function getRuleDefinition() : RuleDefinition
|
||||
|
@ -132,7 +139,7 @@ CODE_SAMPLE
|
|||
}
|
||||
return null;
|
||||
});
|
||||
if (!$this->silentVoidResolver->hasSilentVoid($node)) {
|
||||
if (!$this->silentVoidResolver->hasSilentVoid($node) || $this->neverFuncCallAnalyzer->hasNeverFuncCall($node)) {
|
||||
if ($hasChanged) {
|
||||
$this->transformDocUnionVoidToUnionNull($node);
|
||||
return $node;
|
||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '1.0.4';
|
||||
public const PACKAGE_VERSION = '4a77565302216f6fde71232600cd175422a00965';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2024-04-04 20:57:17';
|
||||
public const RELEASE_DATE = '2024-04-05 20:02:11';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user