[DeadCode] Skip RemoveEmptyClassMethodRector on final method in non-final class (#4943)

This commit is contained in:
Abdul Malik Ikhsan 2020-12-23 00:09:51 +07:00 committed by GitHub
parent a3db386854
commit 8a39d6edbd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 0 deletions

View File

@ -88,6 +88,10 @@ CODE_SAMPLE
return null;
}
if ($node->isFinal() && ! $classLike->isFinal()) {
return null;
}
if ($this->shouldSkipNonFinalNonPrivateClassMethod($classLike, $node)) {
return null;
}

View File

@ -0,0 +1,22 @@
<?php
namespace Rector\DeadCode\Tests\Rector\ClassMethod\RemoveEmptyClassMethodRector\Fixture;
final class FinalInFinalClass
{
final public function __construct()
{
}
}
?>
-----
<?php
namespace Rector\DeadCode\Tests\Rector\ClassMethod\RemoveEmptyClassMethodRector\Fixture;
final class FinalInFinalClass
{
}
?>

View File

@ -0,0 +1,10 @@
<?php
namespace Rector\DeadCode\Tests\Rector\ClassMethod\RemoveEmptyClassMethodRector\Fixture;
abstract class KeepFinalInNonFinalClass
{
final public function __construct()
{
}
}