From 461732de1759584cd1c5fde68ed9d39a5e460e70 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 9 Aug 2023 13:32:35 +0700 Subject: [PATCH] [TypeDeclaration] Allow change multiple methods on AddParamTypeDeclarationRector --- .../Fixture/fixture.php.inc | 16 ++++++++++++++++ .../config/configured_rule.php | 6 ++++++ .../AddParamTypeDeclarationRector.php | 6 +++--- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/Fixture/fixture.php.inc b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/Fixture/fixture.php.inc index a9327742fe0..6c3cfca2899 100644 --- a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/Fixture/fixture.php.inc +++ b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/Fixture/fixture.php.inc @@ -6,9 +6,17 @@ use Rector\Tests\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRecto class DetectedByParentInterface implements ParentInterfaceWithChangeTypeInterface { + public function notChanged($name) + { + } + public function process($name) { } + + public function run($name) + { + } } ?> @@ -21,9 +29,17 @@ use Rector\Tests\TypeDeclaration\Rector\ClassMethod\AddParamTypeDeclarationRecto class DetectedByParentInterface implements ParentInterfaceWithChangeTypeInterface { + public function notChanged($name) + { + } + public function process(string $name) { } + + public function run(string $name) + { + } } ?> diff --git a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/config/configured_rule.php b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/config/configured_rule.php index eb4666c4fd4..909fa1dae60 100644 --- a/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/config/configured_rule.php +++ b/rules-tests/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector/config/configured_rule.php @@ -23,6 +23,12 @@ 0, new StringType() ), + new AddParamTypeDeclaration( + ParentInterfaceWithChangeTypeInterface::class, + 'run', + 0, + new StringType() + ), new AddParamTypeDeclaration(ParserInterface::class, 'parse', 0, new StringType()), new AddParamTypeDeclaration( ClassMetadataFactory::class, diff --git a/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector.php b/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector.php index 111e3cf27f9..718b9f285c1 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/AddParamTypeDeclarationRector.php @@ -99,10 +99,10 @@ public function refactor(Node $node): ?Node $this->refactorClassMethodWithTypehintByParameterPosition($classMethod, $addParamTypeDeclaration); } + } - if (! $this->hasChanged) { - return null; - } + if (! $this->hasChanged) { + return null; } return $node;