From bd37496639378be3e1b72dec430ef906f0a6e94d Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Wed, 7 Feb 2024 19:29:08 +0700 Subject: [PATCH] [DeadCode] Skip with magic __get() on RemoveUnusedPromotedPropertyRector (#5573) * [DeadCode] Skip with magic __get() on RemoveUnusedPromotedPropertyRector * clean up --- .../Fixture/skip_with_magic_get.php.inc | 25 +++++++++++++++++++ .../RemoveUnusedPromotedPropertyRector.php | 5 ++++ 2 files changed, 30 insertions(+) create mode 100644 rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector/Fixture/skip_with_magic_get.php.inc diff --git a/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector/Fixture/skip_with_magic_get.php.inc b/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector/Fixture/skip_with_magic_get.php.inc new file mode 100644 index 00000000000..c3b3608deae --- /dev/null +++ b/rules-tests/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector/Fixture/skip_with_magic_get.php.inc @@ -0,0 +1,25 @@ +{$name}; + } +} \ No newline at end of file diff --git a/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector.php b/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector.php index 91f7bf577db..cd8abcd8bf6 100644 --- a/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector.php +++ b/rules/DeadCode/Rector/ClassMethod/RemoveUnusedPromotedPropertyRector.php @@ -146,6 +146,11 @@ private function shouldSkipClass(Class_ $class): bool return true; } + $magicGetMethod = $class->getMethod(MethodName::__GET); + if ($magicGetMethod instanceof ClassMethod) { + return true; + } + foreach ($class->stmts as $stmt) { if ($stmt instanceof TraitUse) { return true;