?????????? ????????? - ??????????????? - /opt/cpanel/ea-wappspector/vendor/rector/rector/rules/TypeDeclaration/NodeTypeAnalyzer/DetailedTypeAnalyzer.php
???????
<?php declare (strict_types=1); namespace Rector\TypeDeclaration\NodeTypeAnalyzer; use PHPStan\Type\Constant\ConstantArrayType; use PHPStan\Type\Generic\GenericObjectType; use PHPStan\Type\Type; use PHPStan\Type\UnionType; final class DetailedTypeAnalyzer { /** * Use this constant to avoid overly detailed long-dragging union types across whole universe * @var int */ private const MAX_NUMBER_OF_TYPES = 3; public function isTooDetailed(Type $type) : bool { if ($type instanceof UnionType) { return \count($type->getTypes()) > self::MAX_NUMBER_OF_TYPES; } if ($type instanceof ConstantArrayType) { return \count($type->getValueTypes()) > self::MAX_NUMBER_OF_TYPES; } if ($type instanceof GenericObjectType) { return $this->isTooDetailedGenericObjectType($type); } return \false; } private function isTooDetailedGenericObjectType(GenericObjectType $genericObjectType) : bool { if (\count($genericObjectType->getTypes()) !== 1) { return \false; } $genericType = $genericObjectType->getTypes()[0]; return $this->isTooDetailed($genericType); } }
| ver. 1.6 |
Github
|
.
| PHP 8.2.30 | ??????????? ?????????: 0.01 |
proxy
|
phpinfo
|
???????????