From b39adf9087101c24ddd4e0010c530c51bf75ac26 Mon Sep 17 00:00:00 2001 From: Yohta Kimura Date: Fri, 16 Dec 2022 09:27:26 +0900 Subject: [PATCH] cs-fix --- src/Type/TypeCombinator.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/Type/TypeCombinator.php b/src/Type/TypeCombinator.php index 3f03a3ab1ce..29209eb144b 100644 --- a/src/Type/TypeCombinator.php +++ b/src/Type/TypeCombinator.php @@ -20,9 +20,7 @@ use PHPStan\Type\Generic\TemplateType; use PHPStan\Type\Generic\TemplateTypeFactory; use PHPStan\Type\Generic\TemplateUnionType; -use function array_intersect_key; use function array_key_exists; -use function array_keys; use function array_map; use function array_merge; use function array_slice; @@ -331,7 +329,7 @@ private static function compareTypesInUnion(Type $a, Type $b): ?array self::union($a->getIterableKeyType(), $b->getIterableKeyType()), self::union($a->getIterableValueType(), $b->getIterableValueType()), ), - null + null, ]; } @@ -505,7 +503,8 @@ private static function intersectWithSubtractedType( * @param Type[] $arrayTypes * @return Type[] */ - private static function processArrayAccessoryTypes(array $arrayTypes) { + private static function processArrayAccessoryTypes(array $arrayTypes): array + { $accessoryTypes = []; foreach ($arrayTypes as $i => $arrayType) { if ($arrayType instanceof IntersectionType) { @@ -518,15 +517,17 @@ private static function processArrayAccessoryTypes(array $arrayTypes) { $type = isset($accessoryTypes[$key][$i]) ? new HasOffsetValueType( $innerType->getOffsetType(), - self::union($innerType->getValueType(), $accessoryTypes[$key][$i]->getValueType()) + self::union($innerType->getValueType(), $accessoryTypes[$key][$i]->getValueType()), ) : $innerType; $accessoryTypes[$key][$i] = $type; continue; } - if ($innerType instanceof AccessoryType || $innerType instanceof CallableType) { - $accessoryTypes[$innerType->describe(VerbosityLevel::cache())][$i] = $innerType; + if (!($innerType instanceof AccessoryType) && !($innerType instanceof CallableType)) { + continue; } + + $accessoryTypes[$innerType->describe(VerbosityLevel::cache())][$i] = $innerType; } } @@ -541,10 +542,12 @@ private static function processArrayAccessoryTypes(array $arrayTypes) { $accessoryTypes[$list->describe(VerbosityLevel::cache())][$i] = $list; } - if ($constantArray->isIterableAtLeastOnce()->yes()) { - $nonEmpty = new NonEmptyArrayType(); - $accessoryTypes[$nonEmpty->describe(VerbosityLevel::cache())][$i] = $nonEmpty; + if (!$constantArray->isIterableAtLeastOnce()->yes()) { + continue; } + + $nonEmpty = new NonEmptyArrayType(); + $accessoryTypes[$nonEmpty->describe(VerbosityLevel::cache())][$i] = $nonEmpty; } } @@ -555,7 +558,7 @@ private static function processArrayAccessoryTypes(array $arrayTypes) { continue; } - $commonAccessoryTypes[] = TypeCombinator::union(...$accessoryType); + $commonAccessoryTypes[] = self::union(...$accessoryType); } return $commonAccessoryTypes;