From dc4bca83bf9a3de7b72d7d0a9d1b8dfb898c2739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Ostroluck=C3=BD?= Date: Tue, 24 May 2022 21:09:44 +0200 Subject: [PATCH] [PropertyInfo] Fix resolution of partially docblock covered constructors --- .../Component/PropertyInfo/Extractor/PhpStanExtractor.php | 4 ++++ .../{PhpStanExtractorTest.php => PhpStanExtractorTestDoc.php} | 1 + 2 files changed, 5 insertions(+) rename src/Symfony/Component/PropertyInfo/Tests/Extractor/{PhpStanExtractorTest.php => PhpStanExtractorTestDoc.php} (99%) diff --git a/src/Symfony/Component/PropertyInfo/Extractor/PhpStanExtractor.php b/src/Symfony/Component/PropertyInfo/Extractor/PhpStanExtractor.php index d00b81e5f17d0..52a4a78f2537f 100644 --- a/src/Symfony/Component/PropertyInfo/Extractor/PhpStanExtractor.php +++ b/src/Symfony/Component/PropertyInfo/Extractor/PhpStanExtractor.php @@ -239,6 +239,10 @@ private function getDocBlockFromProperty(string $class, string $property): ?arra $phpDocNode = $this->phpDocParser->parse($tokens); $tokens->consumeTokenType(Lexer::TOKEN_END); + if (self::MUTATOR === $source && !$this->filterDocBlockParams($phpDocNode, $property)) { + return null; + } + return [$phpDocNode, $source, $reflectionProperty->class]; } diff --git a/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTest.php b/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTestDoc.php similarity index 99% rename from src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTest.php rename to src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTestDoc.php index 9edea0725481a..f57721ca31bdb 100644 --- a/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTest.php +++ b/src/Symfony/Component/PropertyInfo/Tests/Extractor/PhpStanExtractorTestDoc.php @@ -449,6 +449,7 @@ public function php80TypesProvider() { return [ [Php80Dummy::class, 'promotedAndMutated', [new Type(Type::BUILTIN_TYPE_STRING)]], + [Php80Dummy::class, 'promoted', null], [Php80PromotedDummy::class, 'promoted', null], ]; }