From 4384712663a5b4b3dc2080ac531b9201fdd7c141 Mon Sep 17 00:00:00 2001 From: TomasVotruba Date: Fri, 17 Apr 2020 15:52:53 +0200 Subject: [PATCH] [Privatization] Make PrivatizeLocalOnlyMethodRector skip entities --- .../PrivatizeLocalOnlyMethodRector.php | 12 ++++++++---- .../Fixture/skip_entity.php.inc | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 rules/privatization/tests/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector/Fixture/skip_entity.php.inc diff --git a/rules/privatization/src/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector.php b/rules/privatization/src/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector.php index 771637f5eb6f..b96799123005 100644 --- a/rules/privatization/src/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector.php +++ b/rules/privatization/src/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector.php @@ -109,16 +109,20 @@ public function refactor(Node $node): ?Node private function shouldSkip(ClassMethod $classMethod): bool { - $classNode = $classMethod->getAttribute(AttributeKey::CLASS_NODE); - if (! $classNode instanceof Class_) { + $class = $classMethod->getAttribute(AttributeKey::CLASS_NODE); + if (! $class instanceof Class_) { return true; } - if ($this->isAnonymousClass($classNode)) { + if ($this->isAnonymousClass($class)) { return true; } - if ($this->isObjectType($classNode, TestCase::class)) { + if ($this->isObjectType($class, TestCase::class)) { + return true; + } + + if ($this->isDoctrineEntityClass($class)) { return true; } diff --git a/rules/privatization/tests/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector/Fixture/skip_entity.php.inc b/rules/privatization/tests/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector/Fixture/skip_entity.php.inc new file mode 100644 index 000000000000..ab70dcc2feee --- /dev/null +++ b/rules/privatization/tests/Rector/ClassMethod/PrivatizeLocalOnlyMethodRector/Fixture/skip_entity.php.inc @@ -0,0 +1,16 @@ +