From 34fb83ddbecc9cd4ce5fcad661011846bfb185ee Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Sat, 26 Oct 2024 13:02:21 +0200 Subject: [PATCH] Revert "processAssignVar optimization for arrays" This reverts commit 5d2b6244dd2e17fb078037b56a91cf3982e974ea. --- src/Analyser/NodeScopeResolver.php | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index f4f60df2ae..afe1373704 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -5078,30 +5078,7 @@ private function processAssignVar( $offsetNativeValueType = $varNativeType; $valueToWrite = $this->produceArrayDimFetchAssignValueToWrite($offsetTypes, $offsetValueType, $valueToWrite); - - $nativeValueToWrite = $valueToWrite; - if (!$offsetValueType->equals($offsetNativeValueType) || !$valueToWrite->equals($nativeValueToWrite)) { - $nativeValueToWrite = $this->produceArrayDimFetchAssignValueToWrite($offsetNativeTypes, $offsetNativeValueType, $nativeValueToWrite); - } else { - foreach ($offsetTypes as $i => $offsetType) { - $offsetNativeType = $offsetNativeTypes[$i]; - if ($offsetType === null) { - if ($offsetNativeType !== null) { - throw new ShouldNotHappenException(); - } - - continue; - } elseif ($offsetNativeType === null) { - throw new ShouldNotHappenException(); - } - if ($offsetType->equals($offsetNativeType)) { - continue; - } - - $nativeValueToWrite = $this->produceArrayDimFetchAssignValueToWrite($offsetNativeTypes, $offsetNativeValueType, $nativeValueToWrite); - break; - } - } + $nativeValueToWrite = $this->produceArrayDimFetchAssignValueToWrite($offsetNativeTypes, $offsetNativeValueType, $nativeValueToWrite); if ($varType->isArray()->yes() || !(new ObjectType(ArrayAccess::class))->isSuperTypeOf($varType)->yes()) { if ($var instanceof Variable && is_string($var->name)) {