Skip to content

Commit 5c5e872

Browse files
committed
Simplify ConstantArrayTypeBuilder
1 parent 770b08c commit 5c5e872

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

src/Type/Constant/ConstantArrayTypeBuilder.php

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
use function is_float;
2121
use function max;
2222
use function min;
23-
use function range;
2423

2524
/**
2625
* @api
@@ -211,21 +210,13 @@ public function setOffsetValueType(?Type $offsetType, Type $valueType, bool $opt
211210
$integerRanges = TypeUtils::getIntegerRanges($offsetType);
212211
if (count($integerRanges) > 0) {
213212
foreach ($integerRanges as $integerRange) {
214-
if ($integerRange->getMin() === null) {
215-
break;
216-
}
217-
if ($integerRange->getMax() === null) {
218-
break;
219-
}
220-
221-
$rangeLength = $integerRange->getMax() - $integerRange->getMin();
222-
if ($rangeLength >= self::ARRAY_COUNT_LIMIT) {
223-
$scalarTypes = [];
213+
$finiteTypes = $integerRange->getFiniteTypes();
214+
if (count($finiteTypes) === 0) {
224215
break;
225216
}
226217

227-
foreach (range($integerRange->getMin(), $integerRange->getMax()) as $rangeValue) {
228-
$scalarTypes[] = new ConstantIntegerType($rangeValue);
218+
foreach ($finiteTypes as $finiteType) {
219+
$scalarTypes[] = $finiteType;
229220
}
230221
}
231222
}

0 commit comments

Comments
 (0)