Skip to content

Commit 18821cf

Browse files
committed
Simplify ConstantArrayTypeBuilder
1 parent 770b08c commit 18821cf

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

src/Type/Constant/ConstantArrayTypeBuilder.php

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -211,21 +211,13 @@ public function setOffsetValueType(?Type $offsetType, Type $valueType, bool $opt
211211
$integerRanges = TypeUtils::getIntegerRanges($offsetType);
212212
if (count($integerRanges) > 0) {
213213
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 = [];
214+
$finiteTypes = $integerRange->getFiniteTypes();
215+
if (count($finiteTypes) === 0) {
224216
break;
225217
}
226218

227-
foreach (range($integerRange->getMin(), $integerRange->getMax()) as $rangeValue) {
228-
$scalarTypes[] = new ConstantIntegerType($rangeValue);
219+
foreach($finiteTypes as $finiteType) {
220+
$scalarTypes[] = $finiteType;
229221
}
230222
}
231223
}

0 commit comments

Comments
 (0)