From 5c5e87290e40e5f1c3e259df560fe9b1b0089f6e Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 6 Nov 2025 10:53:17 +0100 Subject: [PATCH] Simplify ConstantArrayTypeBuilder --- src/Type/Constant/ConstantArrayTypeBuilder.php | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/Type/Constant/ConstantArrayTypeBuilder.php b/src/Type/Constant/ConstantArrayTypeBuilder.php index a639bf6c0e..e08812f301 100644 --- a/src/Type/Constant/ConstantArrayTypeBuilder.php +++ b/src/Type/Constant/ConstantArrayTypeBuilder.php @@ -20,7 +20,6 @@ use function is_float; use function max; use function min; -use function range; /** * @api @@ -211,21 +210,13 @@ public function setOffsetValueType(?Type $offsetType, Type $valueType, bool $opt $integerRanges = TypeUtils::getIntegerRanges($offsetType); if (count($integerRanges) > 0) { foreach ($integerRanges as $integerRange) { - if ($integerRange->getMin() === null) { - break; - } - if ($integerRange->getMax() === null) { - break; - } - - $rangeLength = $integerRange->getMax() - $integerRange->getMin(); - if ($rangeLength >= self::ARRAY_COUNT_LIMIT) { - $scalarTypes = []; + $finiteTypes = $integerRange->getFiniteTypes(); + if (count($finiteTypes) === 0) { break; } - foreach (range($integerRange->getMin(), $integerRange->getMax()) as $rangeValue) { - $scalarTypes[] = new ConstantIntegerType($rangeValue); + foreach ($finiteTypes as $finiteType) { + $scalarTypes[] = $finiteType; } } }