Skip to content

Commit fd9b570

Browse files
committed
Update TypeSpecifier.php
1 parent 223071e commit fd9b570

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

src/Analyser/TypeSpecifier.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,28 +1078,29 @@ public function specifyTypesInCondition(
10781078
} else {
10791079
$varType = $scope->getType($var->var);
10801080

1081-
if ($varType->isArray()->yes() && count($dimType->getConstantScalarTypes()) <= 1) {
1081+
$narrowedKey = AllowedArrayKeysTypes::narrowOffsetKeyType($varType, $dimType);
1082+
if ($narrowedKey !== null) {
10821083
$types = $types->unionWith(
10831084
$this->create(
1084-
$var->var,
1085-
new NonEmptyArrayType(),
1085+
$var->dim,
1086+
$narrowedKey,
10861087
$context,
10871088
$scope,
10881089
)->setRootExpr($expr),
10891090
);
10901091
}
10911092

1092-
$narrowedKey = AllowedArrayKeysTypes::narrowOffsetKeyType($varType, $dimType);
1093-
if ($narrowedKey !== null) {
1093+
if ($scope->getNativeType($var->var)->isArray()->yes()) {
10941094
$types = $types->unionWith(
10951095
$this->create(
1096-
$var->dim,
1097-
$narrowedKey,
1096+
$var->var,
1097+
new NonEmptyArrayType(),
10981098
$context,
10991099
$scope,
11001100
)->setRootExpr($expr),
11011101
);
11021102
}
1103+
11031104
}
11041105
}
11051106

0 commit comments

Comments
 (0)