From 40ab236feed2f6fa92a38f92a3dc4e9467c94cf3 Mon Sep 17 00:00:00 2001 From: TomasVotruba Date: Sun, 1 Mar 2020 23:42:35 +0100 Subject: [PATCH] skip empty method on open-source --- .../ClassMethod/RemoveUnusedParameterRector.php | 14 ++++++++++++++ .../skip_empty_method_to_be_overridden.php.inc | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 rules/dead-code/tests/Rector/ClassMethod/RemoveUnusedParameterRector/FixtureOpenSource/skip_empty_method_to_be_overridden.php.inc diff --git a/rules/dead-code/src/Rector/ClassMethod/RemoveUnusedParameterRector.php b/rules/dead-code/src/Rector/ClassMethod/RemoveUnusedParameterRector.php index ceb4ac5c73e..c50f72cdb3f 100644 --- a/rules/dead-code/src/Rector/ClassMethod/RemoveUnusedParameterRector.php +++ b/rules/dead-code/src/Rector/ClassMethod/RemoveUnusedParameterRector.php @@ -223,6 +223,10 @@ PHP return true; } + if ($this->shouldSkipOpenSourceEmpty($classMethod)) { + return true; + } + return $this->isAnonymousClass($class); } @@ -243,4 +247,14 @@ PHP return $classMethod->isPublic(); } + + private function shouldSkipOpenSourceEmpty(ClassMethod $classMethod): bool + { + // skip as possible contract for 3rd party + if (! $this->isOpenSourceProjectType()) { + return false; + } + + return empty($classMethod->getStmts()); + } } diff --git a/rules/dead-code/tests/Rector/ClassMethod/RemoveUnusedParameterRector/FixtureOpenSource/skip_empty_method_to_be_overridden.php.inc b/rules/dead-code/tests/Rector/ClassMethod/RemoveUnusedParameterRector/FixtureOpenSource/skip_empty_method_to_be_overridden.php.inc new file mode 100644 index 00000000000..479c3bef684 --- /dev/null +++ b/rules/dead-code/tests/Rector/ClassMethod/RemoveUnusedParameterRector/FixtureOpenSource/skip_empty_method_to_be_overridden.php.inc @@ -0,0 +1,10 @@ +