@@ -6127,21 +6127,21 @@ private function processAssignVar(
61276127 $ astNode = new Node \Scalar \Int_ ($ falseyScalar );
61286128 } elseif ($ falseyScalar === 0.0 ) {
61296129 $ astNode = new Node \Scalar \Float_ ($ falseyScalar );
6130- } elseif ($ falseyScalar === '' || $ falseyScalar === '0 ' ) {
6130+ } elseif (\in_array ( $ falseyScalar, [ '' , '0 ' ], true ) ) {
61316131 $ astNode = new Node \Scalar \String_ ($ falseyScalar );
61326132 } elseif ($ falseyScalar === []) {
61336133 $ astNode = new Node \Expr \Array_ ($ falseyScalar );
61346134 }
61356135
6136- $ notConditionExpr = new Expr \BinaryOp \NotIdentical ($ assignedExpr , $ astNode );
6137- $ notSpecifiedTypes = $ this ->typeSpecifier ->specifyTypesInCondition ($ scope , $ notConditionExpr , TypeSpecifierContext::createTrue ());
6138- $ conditionalExpressions = $ this ->processSureTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ notSpecifiedTypes , $ withoutFalseyType );
6139- $ conditionalExpressions = $ this ->processSureNotTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ notSpecifiedTypes , $ withoutFalseyType );
6136+ $ notIdenticalConditionExpr = new Expr \BinaryOp \NotIdentical ($ assignedExpr , $ astNode );
6137+ $ notIdenticalSpecifiedTypes = $ this ->typeSpecifier ->specifyTypesInCondition ($ scope , $ notIdenticalConditionExpr , TypeSpecifierContext::createTrue ());
6138+ $ conditionalExpressions = $ this ->processSureTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ notIdenticalSpecifiedTypes , $ withoutFalseyType );
6139+ $ conditionalExpressions = $ this ->processSureNotTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ notIdenticalSpecifiedTypes , $ withoutFalseyType );
61406140
6141- $ conditionExpr = new Expr \BinaryOp \Identical ($ assignedExpr , $ astNode );
6142- $ specifiedTypes = $ this ->typeSpecifier ->specifyTypesInCondition ($ scope , $ conditionExpr , TypeSpecifierContext::createTrue ());
6143- $ conditionalExpressions = $ this ->processSureTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ specifiedTypes , $ falseyType );
6144- $ conditionalExpressions = $ this ->processSureNotTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ specifiedTypes , $ falseyType );
6141+ $ identicalConditionExpr = new Expr \BinaryOp \Identical ($ assignedExpr , $ astNode );
6142+ $ identicalSpecifiedTypes = $ this ->typeSpecifier ->specifyTypesInCondition ($ scope , $ identicalConditionExpr , TypeSpecifierContext::createTrue ());
6143+ $ conditionalExpressions = $ this ->processSureTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ identicalSpecifiedTypes , $ falseyType );
6144+ $ conditionalExpressions = $ this ->processSureNotTypesForConditionalExpressionsAfterAssign ($ scope , $ var ->name , $ conditionalExpressions , $ identicalSpecifiedTypes , $ falseyType );
61456145 }
61466146
61476147 $ this ->callNodeCallback ($ nodeCallback , new VariableAssignNode ($ var , $ assignedExpr ), $ scopeBeforeAssignEval , $ storage );
0 commit comments