mirror of https://github.com/rectorphp/rector.git
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\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger;
|
||||||
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;
|
use Rector\NodeTypeResolver\PHPStan\Type\TypeFactory;
|
||||||
use Rector\Rector\AbstractRector;
|
use Rector\Rector\AbstractRector;
|
||||||
|
use Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer;
|
||||||
use Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer;
|
use Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer;
|
||||||
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
|
use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver;
|
||||||
use Rector\ValueObject\MethodName;
|
use Rector\ValueObject\MethodName;
|
||||||
|
@ -50,17 +51,23 @@ final class ExplicitReturnNullRector extends AbstractRector
|
||||||
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
|
* @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger
|
||||||
*/
|
*/
|
||||||
private $phpDocTypeChanger;
|
private $phpDocTypeChanger;
|
||||||
|
/**
|
||||||
|
* @readonly
|
||||||
|
* @var \Rector\TypeDeclaration\NodeAnalyzer\NeverFuncCallAnalyzer
|
||||||
|
*/
|
||||||
|
private $neverFuncCallAnalyzer;
|
||||||
/**
|
/**
|
||||||
* @readonly
|
* @readonly
|
||||||
* @var \Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer
|
* @var \Rector\TypeDeclaration\TypeInferer\ReturnTypeInferer
|
||||||
*/
|
*/
|
||||||
private $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->silentVoidResolver = $silentVoidResolver;
|
||||||
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
$this->phpDocInfoFactory = $phpDocInfoFactory;
|
||||||
$this->typeFactory = $typeFactory;
|
$this->typeFactory = $typeFactory;
|
||||||
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
$this->phpDocTypeChanger = $phpDocTypeChanger;
|
||||||
|
$this->neverFuncCallAnalyzer = $neverFuncCallAnalyzer;
|
||||||
$this->returnTypeInferer = $returnTypeInferer;
|
$this->returnTypeInferer = $returnTypeInferer;
|
||||||
}
|
}
|
||||||
public function getRuleDefinition() : RuleDefinition
|
public function getRuleDefinition() : RuleDefinition
|
||||||
|
@ -132,7 +139,7 @@ CODE_SAMPLE
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
if (!$this->silentVoidResolver->hasSilentVoid($node)) {
|
if (!$this->silentVoidResolver->hasSilentVoid($node) || $this->neverFuncCallAnalyzer->hasNeverFuncCall($node)) {
|
||||||
if ($hasChanged) {
|
if ($hasChanged) {
|
||||||
$this->transformDocUnionVoidToUnionNull($node);
|
$this->transformDocUnionVoidToUnionNull($node);
|
||||||
return $node;
|
return $node;
|
||||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
||||||
* @api
|
* @api
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public const PACKAGE_VERSION = '1.0.4';
|
public const PACKAGE_VERSION = '4a77565302216f6fde71232600cd175422a00965';
|
||||||
/**
|
/**
|
||||||
* @api
|
* @api
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public const RELEASE_DATE = '2024-04-04 20:57:17';
|
public const RELEASE_DATE = '2024-04-05 20:02:11';
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue