From 3b176ac8d360a721bf693be58441e1e0c633c949 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 28 Apr 2022 09:39:54 +0200 Subject: [PATCH] try reducing unnecessary work --- src/Analyser/TypeSpecifier.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Analyser/TypeSpecifier.php b/src/Analyser/TypeSpecifier.php index 3df7d26fb67..f56c3379e6a 100644 --- a/src/Analyser/TypeSpecifier.php +++ b/src/Analyser/TypeSpecifier.php @@ -251,15 +251,18 @@ public function specifyTypesInCondition( && isset($exprNode->getArgs()[0]) && $constantType instanceof ConstantStringType && $constantType->getValue() !== '' - && $scope->getType($exprNode->getArgs()[0]->value)->isString()->yes() ) { - return $this->create( - $exprNode->getArgs()[0]->value, - TypeCombinator::intersect($scope->getType($exprNode->getArgs()[0]->value), new AccessoryNonEmptyStringType()), - $context, - false, - $scope - ); + $argType = $scope->getType($exprNode->getArgs()[0]->value); + + if ($argType->isString()->yes() && !$argType->isNonEmptyString()->yes()) { + return $this->create( + $exprNode->getArgs()[0]->value, + TypeCombinator::intersect($argType, new AccessoryNonEmptyStringType()), + $context, + false, + $scope, + ); + } } }