Skip to content

Commit

Permalink
use ExpressionTypeHolder when comparing conditionals
Browse files Browse the repository at this point in the history
  • Loading branch information
rajyan authored and ondrejmirtes committed Dec 5, 2022
1 parent 66dc2ad commit ec31e41
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/Analyser/MutatingScope.php
Expand Up @@ -3731,13 +3731,13 @@ public function filterBySpecifiedTypes(SpecifiedTypes $specifiedTypes): self
} else {
$scope = $scope->removeTypeFromExpression($expr, $type);
}
$specifiedExpressions[$this->getNodeKey($expr)] = $scope->getType($expr);
$specifiedExpressions[$this->getNodeKey($expr)] = ExpressionTypeHolder::createYes($expr, $scope->getType($expr));
}

foreach ($scope->conditionalExpressions as $conditionalExprString => $conditionalExpressions) {
foreach (array_reverse($conditionalExpressions) as $conditionalExpression) {
foreach ($conditionalExpression->getConditionExpressionTypeHolders() as $holderExprString => $conditionalTypeHolder) {
if (!array_key_exists($holderExprString, $specifiedExpressions) || !$specifiedExpressions[$holderExprString]->equals($conditionalTypeHolder->getType())) {
if (!array_key_exists($holderExprString, $specifiedExpressions) || !$specifiedExpressions[$holderExprString]->equals($conditionalTypeHolder)) {
continue 2;
}
}
Expand All @@ -3746,7 +3746,7 @@ public function filterBySpecifiedTypes(SpecifiedTypes $specifiedTypes): self
unset($scope->expressionTypes[$conditionalExprString]);
} else {
$scope->expressionTypes[$conditionalExprString] = $conditionalExpression->getTypeHolder();
$specifiedExpressions[$conditionalExprString] = $conditionalExpression->getTypeHolder()->getType();
$specifiedExpressions[$conditionalExprString] = $conditionalExpression->getTypeHolder();
}
continue 2;
}
Expand Down

0 comments on commit ec31e41

Please sign in to comment.