rector/rules/DeadCode/TypeNodeAnalyzer/MixedArrayTypeNodeAnalyzer.php
Tomas Votruba da70700f98 Updated Rector to commit ce32685688660a000848322caadcf336bfc282f8
ce32685688 [PHPStan] Reduce PHPStan errors for narrow public - take 2 (#2673)
2022-07-17 01:16:52 +00:00

28 lines
891 B
PHP

<?php
declare (strict_types=1);
namespace Rector\DeadCode\TypeNodeAnalyzer;
use PHPStan\PhpDocParser\Ast\Type\IdentifierTypeNode;
use Rector\BetterPhpDocParser\ValueObject\Type\BracketsAwareUnionTypeNode;
use Rector\BetterPhpDocParser\ValueObject\Type\SpacingAwareArrayTypeNode;
final class MixedArrayTypeNodeAnalyzer
{
public function hasMixedArrayType(BracketsAwareUnionTypeNode $bracketsAwareUnionTypeNode) : bool
{
$types = $bracketsAwareUnionTypeNode->types;
foreach ($types as $type) {
if ($type instanceof SpacingAwareArrayTypeNode) {
$typeNode = $type->type;
if (!$typeNode instanceof IdentifierTypeNode) {
continue;
}
if ($typeNode->name === 'mixed') {
return \true;
}
}
}
return \false;
}
}