From 44aa5c9c9aadf1d3d5b332d1b3b921b3e278c4cf Mon Sep 17 00:00:00 2001 From: Caleb White Date: Wed, 10 Sep 2025 21:40:35 -0500 Subject: [PATCH 1/2] fix: remove empty construct when parent has no construct --- ...ved_empty_construct_when_no_parent.php.inc | 30 +++++++++++++++++++ .../RemoveEmptyClassMethodRector.php | 5 ---- 2 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc new file mode 100644 index 00000000000..8a1778c969e --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc @@ -0,0 +1,30 @@ + +----- + diff --git a/rules/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector.php b/rules/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector.php index e838d7facf4..35422b5565b 100644 --- a/rules/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector.php +++ b/rules/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector.php @@ -157,11 +157,6 @@ private function shouldSkipClassMethod(Class_ $class, ClassMethod $classMethod): return true; } - if ($this->isName($classMethod, MethodName::CONSTRUCT)) { - // has parent class? - return $class->extends instanceof FullyQualified; - } - if ($this->isName($classMethod, MethodName::CLONE)) { return ! $classMethod->isPublic(); } From 5a9c214b5ea26846ad06b932a941052bd9760949 Mon Sep 17 00:00:00 2001 From: Caleb White Date: Wed, 10 Sep 2025 22:50:15 -0500 Subject: [PATCH 2/2] chore: updates --- ...ved_empty_construct_when_no_parent.php.inc | 30 ------------------- ...construct_when_no_parent_construct.php.inc | 26 ++++++++++++++++ .../Fixture/skip_construct_from_trait.php.inc | 14 +++++++++ .../Source/ParentWithoutConstructor.php | 9 ++++++ .../Source/TraitWithConstructor.php | 13 ++++++++ 5 files changed, 62 insertions(+), 30 deletions(-) delete mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent_construct.php.inc create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/skip_construct_from_trait.php.inc create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Source/ParentWithoutConstructor.php create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Source/TraitWithConstructor.php diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc deleted file mode 100644 index 8a1778c969e..00000000000 --- a/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent.php.inc +++ /dev/null @@ -1,30 +0,0 @@ - ------ - diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent_construct.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent_construct.php.inc new file mode 100644 index 00000000000..f7f875fca50 --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/removed_empty_construct_when_no_parent_construct.php.inc @@ -0,0 +1,26 @@ + +----- + diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/skip_construct_from_trait.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/skip_construct_from_trait.php.inc new file mode 100644 index 00000000000..e1ce7d8e0df --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveEmptyClassMethodRector/Fixture/skip_construct_from_trait.php.inc @@ -0,0 +1,14 @@ +