Skip to content

Commit 003fa3f

Browse files
committed
Update NodeScopeResolver.php
1 parent 443c595 commit 003fa3f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/Analyser/NodeScopeResolver.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5710,8 +5710,8 @@ private function processAssignVar(
57105710
$valueToWrite = $this->produceArrayDimFetchAssignValueToWrite($dimFetchStack, $offsetTypes, $offsetValueType, $valueToWrite, $scope, $additionalExpressions);
57115711

57125712
if (!$offsetValueType->equals($offsetNativeValueType) || !$valueToWrite->equals($nativeValueToWrite)) {
5713-
$additionalExpressions = [];
5714-
$nativeValueToWrite = $this->produceArrayDimFetchAssignValueToWrite($dimFetchStack, $offsetNativeTypes, $offsetNativeValueType, $nativeValueToWrite, $scope, $additionalExpressions);
5713+
$additionalNativeExpressions = [];
5714+
$nativeValueToWrite = $this->produceArrayDimFetchAssignValueToWrite($dimFetchStack, $offsetNativeTypes, $offsetNativeValueType, $nativeValueToWrite, $scope, $additionalNativeExpressions);
57155715
} else {
57165716
$rewritten = false;
57175717
foreach ($offsetTypes as $i => $offsetType) {
@@ -5783,10 +5783,14 @@ private function processAssignVar(
57835783
}
57845784
}
57855785

5786-
foreach ($additionalExpressions as $additionalExpression) {
5786+
foreach ($additionalExpressions as $k => $additionalExpression) {
57875787
[$expr, $type] = $additionalExpression;
5788+
$nativeType = $type;
5789+
if (isset($additionalNativeExpressions[$k])) {
5790+
[, $nativeType] = $additionalNativeExpressions[$k];
5791+
}
57885792

5789-
$scope = $scope->assignExpression($expr, $type, $type);
5793+
$scope = $scope->assignExpression($expr, $type, $nativeType);
57905794
}
57915795

57925796
if (!$varType->isArray()->yes() && !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->no()) {

0 commit comments

Comments
 (0)