From f740aab2956c6c180c6fc679df8317a5659a9e44 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 4 Nov 2026 09:40:48 +0100 Subject: [PATCH] [TypeDeclarationDocblocks] Skip invalid @return tag in DocblockReturnArrayFromDirectArrayInstanceRector to avoid infinite loop --- .../Fixture/skip_invalid_return_tag.php.inc | 11 +++++++++++ ...cblockReturnArrayFromDirectArrayInstanceRector.php | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_invalid_return_tag.php.inc diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_invalid_return_tag.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_invalid_return_tag.php.inc new file mode 100644 index 00000000000..f2f3f30f77b --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_invalid_return_tag.php.inc @@ -0,0 +1,11 @@ +phpDocInfoFactory->createFromNodeOrEmpty($node); + // skip invalid @return tag, as adding a new one would never reach a fixed point + if ($phpDocInfo->hasInvalidTag('@return')) { + return null; + } + if ($this->usefulArrayTagNodeAnalyzer->isUsefulArrayTag($phpDocInfo->getReturnTagValue())) { return null; }