From f5e98464dcd29dcc64fb13445b5cc3ed3d199365 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Thu, 20 Aug 2026 17:24:25 +0100 Subject: [PATCH] [TypeDeclarationDocblocks] Skip ClassMethodArrayDocblockParamFromLocalCallsRector on methods overriding parent/interface (#9835) --- .../Fixture/skip_interface_wider_param.php.inc | 18 ++++++++++++++++++ .../Source/SomeSearchInterface.php | 11 +++++++++++ ...dArrayDocblockParamFromLocalCallsRector.php | 9 ++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_interface_wider_param.php.inc create mode 100644 rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Source/SomeSearchInterface.php diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_interface_wider_param.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_interface_wider_param.php.inc new file mode 100644 index 00000000000..27fb67d6a78 --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Fixture/skip_interface_wider_param.php.inc @@ -0,0 +1,18 @@ +findOneMatching(['id' => $id]); + } +} diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Source/SomeSearchInterface.php b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Source/SomeSearchInterface.php new file mode 100644 index 00000000000..4a4802c65ca --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/Class_/ClassMethodArrayDocblockParamFromLocalCallsRector/Source/SomeSearchInterface.php @@ -0,0 +1,11 @@ +classMethodManipulator->hasParentMethodOrInterfaceMethod($node, $this->getName($classMethod))) { + continue; + } + $classMethodPhpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($classMethod); $methodCalls = $this->localMethodCallFinder->match($node, $classMethod);