From 3b409218c829f58ab8062102d947039fe906ca66 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Mon, 18 May 2026 08:08:39 +0200 Subject: [PATCH] [TypeDeclarationDocblocks] Skip overridden methods in DocblockReturnArrayFromDirectArrayInstanceRector Skip @return docblock generation when the ClassMethod overrides a parent/interface method, to avoid conflicting with the existing parent docblock contract. Fixes rectorphp/rector#9599 --- .../Fixture/skip_overridden_method.php.inc | 38 +++++++++++++++++++ ...turnArrayFromDirectArrayInstanceRector.php | 9 ++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_overridden_method.php.inc diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_overridden_method.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_overridden_method.php.inc new file mode 100644 index 00000000000..c31fd206401 --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/skip_overridden_method.php.inc @@ -0,0 +1,38 @@ +parentClassMethodTypeOverrideGuard->hasParentClassMethod($node)) { + return null; + } + $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node); if ($this->usefulArrayTagNodeAnalyzer->isUsefulArrayTag($phpDocInfo->getReturnTagValue())) {