diff --git a/src/Type/Constant/ConstantArrayTypeBuilder.php b/src/Type/Constant/ConstantArrayTypeBuilder.php index db110bfa26e..87a51c160f9 100644 --- a/src/Type/Constant/ConstantArrayTypeBuilder.php +++ b/src/Type/Constant/ConstantArrayTypeBuilder.php @@ -104,14 +104,17 @@ 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) { + $minRange = $integerRange->getMin(); + if ($minRange === null || $minRange <= self::ARRAY_COUNT_LIMIT) { break; } - if ($integerRange->getMax() === null) { + + $maxRange = $integerRange->getMax(); + if ($maxRange === null || $maxRange >= self::ARRAY_COUNT_LIMIT) { break; } - foreach (range($integerRange->getMin(), $integerRange->getMax()) as $rangeValue) { + foreach (range($minRange, $maxRange) as $rangeValue) { $scalarTypes[] = new ConstantIntegerType($rangeValue); } }