diff --git a/src/Mutator/FunctionSignature/PublicVisibility.php b/src/Mutator/FunctionSignature/PublicVisibility.php index bcd398005..df7c09a33 100644 --- a/src/Mutator/FunctionSignature/PublicVisibility.php +++ b/src/Mutator/FunctionSignature/PublicVisibility.php @@ -35,7 +35,6 @@ namespace Infection\Mutator\FunctionSignature; -use Infection\Mutator\Util\InterfaceParentTrait; use Infection\Mutator\Util\Mutator; use Infection\Visitor\ReflectionVisitor; use PhpParser\Node; @@ -47,8 +46,6 @@ */ final class PublicVisibility extends Mutator { - use InterfaceParentTrait; - /** * Replaces "public function..." with "protected function ..." * @@ -81,18 +78,10 @@ protected function mutatesNode(Node $node): bool return false; } - if ($node->isAbstract()) { - return false; - } - if ($node->isMagic()) { return false; } - if ($this->isBelongsToInterface($node)) { - return false; - } - return !$this->hasSamePublicParentMethod($node); } diff --git a/src/Mutator/Util/InterfaceParentTrait.php b/src/Mutator/Util/InterfaceParentTrait.php deleted file mode 100644 index 94cb9ca1b..000000000 --- a/src/Mutator/Util/InterfaceParentTrait.php +++ /dev/null @@ -1,64 +0,0 @@ - - */ -trait InterfaceParentTrait -{ - private function isBelongsToInterface(Node $node): bool - { - $parentNode = $node->getAttribute(ParentConnectorVisitor::PARENT_KEY); - - if ($parentNode instanceof Node\Stmt\Interface_) { - return true; - } - - if ($parentNode instanceof Node) { - return $this->isBelongsToInterface($parentNode); - } - - return false; - } -} diff --git a/tests/Mutator/AbstractMutatorTestCase.php b/tests/Mutator/AbstractMutatorTestCase.php index 0510faf69..4b53fb02a 100644 --- a/tests/Mutator/AbstractMutatorTestCase.php +++ b/tests/Mutator/AbstractMutatorTestCase.php @@ -42,6 +42,7 @@ use Infection\Tests\Fixtures\SimpleMutatorVisitor; use Infection\Visitor\CloneVisitor; use Infection\Visitor\FullyQualifiedClassNameVisitor; +use Infection\Visitor\NotMutableIgnoreVisitor; use Infection\Visitor\ParentConnectorVisitor; use Infection\Visitor\ReflectionVisitor; use PhpParser\Lexer; @@ -152,6 +153,7 @@ private function getMutationsFromCode(string $code, Parser $parser, array $setti $mutationsCollectorVisitor = new SimpleMutationsCollectorVisitor($this->getMutator($settings), $initialStatements); + $traverser->addVisitor(new NotMutableIgnoreVisitor()); $traverser->addVisitor($mutationsCollectorVisitor); $traverser->addVisitor(new ParentConnectorVisitor()); $traverser->addVisitor(new FullyQualifiedClassNameVisitor());