From e15271d979f628a96b17c0c91736dddfdd6e40d4 Mon Sep 17 00:00:00 2001 From: Jan Nedbal Date: Wed, 6 Dec 2023 11:54:48 +0100 Subject: [PATCH 1/2] OtherMethodQueryBuilderParser: prevent broken type infering with partial analysis --- extension.neon | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/extension.neon b/extension.neon index a1c48a98..48e81dcd 100644 --- a/extension.neon +++ b/extension.neon @@ -72,6 +72,21 @@ conditionalTags: phpstan.broker.methodsClassReflectionExtension: %doctrine.allCollectionsSelectable% services: + otherMethodAnalysisParser: # identical to defaultAnalysisParser, but uses inner PathRoutingParser without cleaning parser + class: PHPStan\Parser\CachedParser + arguments: + originalParser: @pathRoutingParser + cachedNodesByStringCountMax: %cache.nodesByStringCountMax% + autowired: false + + pathRoutingOtherMethodAnalysisParser: # identical to pathRoutingParser, but no cleaning parser is used + class: PHPStan\Parser\PathRoutingParser + arguments: + currentPhpVersionRichParser: @currentPhpVersionRichParser + currentPhpVersionSimpleParser: @currentPhpVersionRichParser + php8Parser: @php8Parser + autowired: false + - class: PHPStan\Type\Doctrine\DescriptorRegistryFactory - @@ -164,7 +179,7 @@ services: class: PHPStan\Type\Doctrine\QueryBuilder\OtherMethodQueryBuilderParser arguments: descendIntoOtherMethods: %doctrine.searchOtherMethodsForQueryBuilderBeginning% - parser: @defaultAnalysisParser + parser: @otherMethodAnalysisParser - class: PHPStan\Stubs\Doctrine\StubFilesExtensionLoader From faee642ac745673cb70f894761faa61e94b7260a Mon Sep 17 00:00:00 2001 From: Jan Nedbal Date: Fri, 5 Jan 2024 16:50:19 +0100 Subject: [PATCH 2/2] Fix typo --- extension.neon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extension.neon b/extension.neon index 48e81dcd..e6341518 100644 --- a/extension.neon +++ b/extension.neon @@ -75,7 +75,7 @@ services: otherMethodAnalysisParser: # identical to defaultAnalysisParser, but uses inner PathRoutingParser without cleaning parser class: PHPStan\Parser\CachedParser arguments: - originalParser: @pathRoutingParser + originalParser: @pathRoutingOtherMethodAnalysisParser cachedNodesByStringCountMax: %cache.nodesByStringCountMax% autowired: false