From 47241c1eb3fd691c860e8a4421f559dd2884bc75 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 31 Oct 2026 08:44:37 +0100 Subject: [PATCH 1/2] Utilize phpstan-src string inference when possible --- src/QueryReflection/QueryReflection.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/QueryReflection/QueryReflection.php b/src/QueryReflection/QueryReflection.php index 9b749804..6b49f20c 100644 --- a/src/QueryReflection/QueryReflection.php +++ b/src/QueryReflection/QueryReflection.php @@ -344,6 +344,12 @@ private function resolveQueryExpr(Expr $queryExpr, Scope $scope): ?string */ private function resolveQueryStringExpr(Expr $queryExpr, Scope $scope, bool $resolveVariables = true): ?string { + $type = $scope->getType($queryExpr); + $constStrings = $type->getConstantStrings(); + if (count($constStrings) === 1) { + return QuerySimulation::simulateParamValueType($constStrings[0], false); + } + if (true === $resolveVariables && $queryExpr instanceof Expr\Variable) { $finder = new ExpressionFinder(); // atm we cannot reason about variables which are manipulated via assign ops From f5a7856036d0de75e66eabd1219d64989aa9540b Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 31 Oct 2026 08:59:49 +0100 Subject: [PATCH 2/2] Update QueryReflection.php --- src/QueryReflection/QueryReflection.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/QueryReflection/QueryReflection.php b/src/QueryReflection/QueryReflection.php index 6b49f20c..97207ce7 100644 --- a/src/QueryReflection/QueryReflection.php +++ b/src/QueryReflection/QueryReflection.php @@ -405,8 +405,6 @@ private function resolveQueryStringExpr(Expr $queryExpr, Scope $scope, bool $res return $string; } - $type = $scope->getType($queryExpr); - return QuerySimulation::simulateParamValueType($type, false); }