Skip to content

Commit 1e95392

Browse files
rajyanondrejmirtes
authored andcommitted
make $conditionalExpressions key consistent in all usages
1 parent 55b9952 commit 1e95392

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/Analyser/NodeScopeResolver.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3490,11 +3490,12 @@ private function processSureTypesForConditionalExpressionsAfterAssign(Scope $sco
34903490
$conditionalExpressions[$exprString] = [];
34913491
}
34923492

3493-
$conditionalExpressions[$exprString][] = new ConditionalExpressionHolder([
3493+
$holder = new ConditionalExpressionHolder([
34943494
'$' . $variableName => $variableType,
34953495
], VariableTypeHolder::createYes(
34963496
TypeCombinator::intersect($scope->getType($expr), $exprType),
34973497
));
3498+
$conditionalExpressions[$exprString][$holder->getKey()] = $holder;
34983499
}
34993500

35003501
return $conditionalExpressions;
@@ -3518,11 +3519,12 @@ private function processSureNotTypesForConditionalExpressionsAfterAssign(Scope $
35183519
$conditionalExpressions[$exprString] = [];
35193520
}
35203521

3521-
$conditionalExpressions[$exprString][] = new ConditionalExpressionHolder([
3522+
$holder = new ConditionalExpressionHolder([
35223523
'$' . $variableName => $variableType,
35233524
], VariableTypeHolder::createYes(
35243525
TypeCombinator::remove($scope->getType($expr), $exprType),
35253526
));
3527+
$conditionalExpressions[$exprString][$holder->getKey()] = $holder;
35263528
}
35273529

35283530
return $conditionalExpressions;
@@ -3689,9 +3691,10 @@ static function (): void {
36893691
$conditionalHolders = [];
36903692
foreach ($iterateeType->getKeyTypes() as $i => $keyType) {
36913693
$valueType = $iterateeType->getValueTypes()[$i];
3692-
$conditionalHolders[] = new ConditionalExpressionHolder([
3694+
$holder = new ConditionalExpressionHolder([
36933695
'$' . $stmt->keyVar->name => $keyType,
36943696
], new VariableTypeHolder($valueType, TrinaryLogic::createYes()));
3697+
$conditionalHolders[$holder->getKey()] = $holder;
36953698
}
36963699

36973700
$scope = $scope->addConditionalExpressions(

src/Analyser/TypeSpecifier.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -962,10 +962,11 @@ private function processBooleanConditionalTypes(Scope $scope, SpecifiedTypes $le
962962
$holders[$exprString] = [];
963963
}
964964

965-
$holders[$exprString][] = new ConditionalExpressionHolder(
965+
$holder = new ConditionalExpressionHolder(
966966
$conditionExpressionTypes,
967967
new VariableTypeHolder(TypeCombinator::remove($scope->getType($expr), $type), TrinaryLogic::createYes()),
968968
);
969+
$holders[$exprString][$holder->getKey()] = $holder;
969970
}
970971

971972
return $holders;

0 commit comments

Comments
 (0)