golden hour
/opt/cpanel/ea-wappspector/vendor/rector/rector/src/NodeTypeResolver/TypeComparator
⬆️ Go Up
Upload
File/Folder
Size
Actions
ArrayTypeComparator.php
997 B
Del
OK
ScalarTypeComparator.php
2.06 KB
Del
OK
TypeComparator.php
8.68 KB
Del
OK
Edit: ArrayTypeComparator.php
<?php declare (strict_types=1); namespace Rector\NodeTypeResolver\TypeComparator; use PHPStan\Type\ArrayType; use PHPStan\Type\Constant\ConstantArrayType; use PHPStan\Type\MixedType; /** * @see \Rector\Tests\NodeTypeResolver\TypeComparator\ArrayTypeComparatorTest */ final class ArrayTypeComparator { public function isSubtype(ArrayType $checkedType, ArrayType $mainType) : bool { if (!$checkedType instanceof ConstantArrayType && !$mainType instanceof ConstantArrayType) { return $mainType->isSuperTypeOf($checkedType)->yes(); } $checkedKeyType = $checkedType->getKeyType(); $mainKeyType = $mainType->getKeyType(); if (!$mainKeyType instanceof MixedType && $mainKeyType->isSuperTypeOf($checkedKeyType)->yes()) { return \true; } $checkedItemType = $checkedType->getItemType(); $mainItemType = $mainType->getItemType(); return $checkedItemType->isSuperTypeOf($mainItemType)->yes(); } }
Save