@@ -4014,7 +4014,7 @@ private function createConditionalExpressions(
40144014 continue ;
40154015 }
40164016
4017- if (!$ mergedExpressionTypes [$ exprString ]->getType ()-> equals ( $ holder-> getType () )) {
4017+ if (!$ mergedExpressionTypes [$ exprString ]->equalTypes ( $ holder )) {
40184018 continue ;
40194019 }
40204020
@@ -4023,13 +4023,13 @@ private function createConditionalExpressions(
40234023
40244024 $ typeGuards = [];
40254025 foreach ($ newVariableTypes as $ exprString => $ holder ) {
4026- if (!$ holder -> getCertainty ()-> yes ( )) {
4026+ if (!array_key_exists ( $ exprString , $ mergedExpressionTypes )) {
40274027 continue ;
40284028 }
4029- if (!array_key_exists ( $ exprString , $ mergedExpressionTypes )) {
4029+ if (!$ holder -> getCertainty ()-> yes ( )) {
40304030 continue ;
40314031 }
4032- if ($ mergedExpressionTypes [$ exprString ]->getType ()-> equals ( $ holder-> getType () )) {
4032+ if ($ mergedExpressionTypes [$ exprString ]->equalTypes ( $ holder )) {
40334033 continue ;
40344034 }
40354035
@@ -4194,7 +4194,7 @@ private function processFinallyScopeVariableTypeHolders(
41944194 foreach ($ finallyVariableTypeHolders as $ exprString => $ variableTypeHolder ) {
41954195 if (
41964196 isset ($ originalVariableTypeHolders [$ exprString ])
4197- && !$ originalVariableTypeHolders [$ exprString ]->getType ()-> equals ( $ variableTypeHolder-> getType () )
4197+ && !$ originalVariableTypeHolders [$ exprString ]->equalTypes ( $ variableTypeHolder )
41984198 ) {
41994199 $ ourVariableTypeHolders [$ exprString ] = $ variableTypeHolder ;
42004200 continue ;
@@ -4766,7 +4766,7 @@ private function compareVariableTypeHolders(array $variableTypeHolders, array $o
47664766 return false ;
47674767 }
47684768
4769- if (!$ variableTypeHolder ->getType ()-> equals ( $ otherVariableTypeHolders [$ variableExprString ]-> getType () )) {
4769+ if (!$ variableTypeHolder ->equalTypes ( $ otherVariableTypeHolders [$ variableExprString ])) {
47704770 return false ;
47714771 }
47724772 }
0 commit comments