diff --git a/src/NodeVisitor.php b/src/NodeVisitor.php index b74a97c..3922ab0 100644 --- a/src/NodeVisitor.php +++ b/src/NodeVisitor.php @@ -244,10 +244,12 @@ public function leaveNode(Node $node, bool $preserveStack = false) // either a method, property, or constant, or its part of the // declaration itself (e.g., `extends`). - if (!$this->includeInaccessibleClassNodes && $parent instanceof Class_ && ($node instanceof ClassMethod || $node instanceof ClassConst || $node instanceof Property)) { - if ($node->isPrivate() || ($parent->isFinal() && $node->isProtected())) { - return NodeTraverser::REMOVE_NODE; - } + if (!$this->includeInaccessibleClassNodes + && $parent instanceof Class_ + && ($node instanceof ClassMethod || $node instanceof ClassConst || $node instanceof Property) + && ($node->isPrivate() || $node->isProtected()) + ) { + return NodeTraverser::REMOVE_NODE; } return; diff --git a/test/files/classes.out.php b/test/files/classes.out.php index 417d36d..4a9c962 100644 --- a/test/files/classes.out.php +++ b/test/files/classes.out.php @@ -2,9 +2,6 @@ /** doc */ abstract class A extends \B implements \C { - /** doc */ - protected const A = 'B'; - /** doc */ public static $a = 'a'; @@ -15,14 +12,6 @@ public static function b($a): void /** doc */ abstract public function c($a): string; - - /** doc */ - protected function d($a) : void - { - } - - /** doc */ - protected abstract function e($a) : string; } class D @@ -45,22 +34,8 @@ public function a($a) : void trait F { - /** doc */ - private $a = 'a'; - - /** doc */ - private function a($a) : void - { - } - /** doc */ abstract public function b($a): string; - - /** doc */ - abstract protected function c($a): string; - - /** doc */ - abstract private function d($a): string; } final class G