mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-17 00:22:24 +00:00
Updated Rector to commit 396f1989b8605b261cfdfebe45ee855e9fb70ac4
396f1989b8
[DeadCode] Skip count() on mixed on RemoveUnusedNonEmptyArrayBeforeForeachRector (#5160)
This commit is contained in:
parent
16cc61e430
commit
d06e2fcb41
|
@ -10,8 +10,10 @@ use PhpParser\Node\Expr\BinaryOp\Smaller;
|
|||
use PhpParser\Node\Expr\BinaryOp\SmallerOrEqual;
|
||||
use PhpParser\Node\Expr\FuncCall;
|
||||
use PhpParser\Node\Scalar\LNumber;
|
||||
use PHPStan\Type\NeverType;
|
||||
use Rector\Core\PhpParser\Comparing\NodeComparator;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
use Rector\NodeTypeResolver\NodeTypeResolver;
|
||||
final class CountManipulator
|
||||
{
|
||||
/**
|
||||
|
@ -24,10 +26,16 @@ final class CountManipulator
|
|||
* @var \Rector\Core\PhpParser\Comparing\NodeComparator
|
||||
*/
|
||||
private $nodeComparator;
|
||||
public function __construct(NodeNameResolver $nodeNameResolver, NodeComparator $nodeComparator)
|
||||
/**
|
||||
* @readonly
|
||||
* @var \Rector\NodeTypeResolver\NodeTypeResolver
|
||||
*/
|
||||
private $nodeTypeResolver;
|
||||
public function __construct(NodeNameResolver $nodeNameResolver, NodeComparator $nodeComparator, NodeTypeResolver $nodeTypeResolver)
|
||||
{
|
||||
$this->nodeNameResolver = $nodeNameResolver;
|
||||
$this->nodeComparator = $nodeComparator;
|
||||
$this->nodeTypeResolver = $nodeTypeResolver;
|
||||
}
|
||||
public function isCounterHigherThanOne(Expr $firstExpr, Expr $secondExpr) : bool
|
||||
{
|
||||
|
@ -99,6 +107,13 @@ final class CountManipulator
|
|||
return \false;
|
||||
}
|
||||
$countedExpr = $node->getArgs()[0]->value;
|
||||
return $this->nodeComparator->areNodesEqual($countedExpr, $expr);
|
||||
if ($this->nodeComparator->areNodesEqual($countedExpr, $expr)) {
|
||||
$exprType = $this->nodeTypeResolver->getNativeType($expr);
|
||||
if (!$exprType->isArray()->yes()) {
|
||||
return $exprType instanceof NeverType;
|
||||
}
|
||||
return \true;
|
||||
}
|
||||
return \false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@ final class VersionResolver
|
|||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const PACKAGE_VERSION = '2efd6d56a9499be0a210a89cdd1883c6a21f83f8';
|
||||
public const PACKAGE_VERSION = '396f1989b8605b261cfdfebe45ee855e9fb70ac4';
|
||||
/**
|
||||
* @api
|
||||
* @var string
|
||||
*/
|
||||
public const RELEASE_DATE = '2023-10-13 20:55:58';
|
||||
public const RELEASE_DATE = '2023-10-13 21:36:46';
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user