From 6632c2f4f2be5e4d97c7ec9c283397df1898f2ac Mon Sep 17 00:00:00 2001 From: Arshid Date: Mon, 8 Sep 2025 00:39:37 +0530 Subject: [PATCH 1/3] Support Param nodes in makeNonFinal() --- rules/Privatization/NodeManipulator/VisibilityManipulator.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rules/Privatization/NodeManipulator/VisibilityManipulator.php b/rules/Privatization/NodeManipulator/VisibilityManipulator.php index 65004871edb..291481073fa 100644 --- a/rules/Privatization/NodeManipulator/VisibilityManipulator.php +++ b/rules/Privatization/NodeManipulator/VisibilityManipulator.php @@ -58,7 +58,7 @@ public function makeNonAbstract(ClassMethod | Class_ $node): void /** * @api */ - public function makeFinal(Class_ | ClassMethod | ClassConst $node): void + public function makeFinal(Class_ | ClassMethod | Param | ClassConst $node): void { $this->addVisibilityFlag($node, Visibility::FINAL); } @@ -66,7 +66,7 @@ public function makeFinal(Class_ | ClassMethod | ClassConst $node): void /** * @api */ - public function makeNonFinal(Class_ | ClassMethod $node): void + public function makeNonFinal(Class_ | ClassMethod | Param $node): void { if (! $node->isFinal()) { return; From 068e01fd66ed5296830fc342fe616d07e4275532 Mon Sep 17 00:00:00 2001 From: Arshid Date: Mon, 8 Sep 2025 00:46:53 +0530 Subject: [PATCH 2/3] Support Param nodes in makeNonFinal() --- .../Privatization/NodeManipulator/VisibilityManipulator.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rules/Privatization/NodeManipulator/VisibilityManipulator.php b/rules/Privatization/NodeManipulator/VisibilityManipulator.php index 291481073fa..71bbf6947de 100644 --- a/rules/Privatization/NodeManipulator/VisibilityManipulator.php +++ b/rules/Privatization/NodeManipulator/VisibilityManipulator.php @@ -68,13 +68,17 @@ public function makeFinal(Class_ | ClassMethod | Param | ClassConst $node): void */ public function makeNonFinal(Class_ | ClassMethod | Param $node): void { - if (! $node->isFinal()) { + if (! $this->isFinal($node)) { return; } $node->flags -= Modifiers::FINAL; } + public function isFinal(Class_ | ClassMethod | Param $node): bool { + return (bool) ($node->flags & Modifiers::FINAL); + } + public function changeNodeVisibility(ClassMethod | Property | ClassConst $node, int $visibility): void { Assert::oneOf($visibility, [ From 83801fc4802d18356d58e55d74e0029a11236a9b Mon Sep 17 00:00:00 2001 From: Arshid Date: Mon, 8 Sep 2025 00:55:15 +0530 Subject: [PATCH 3/3] Support Param nodes in makeNonFinal() --- .../Privatization/NodeManipulator/VisibilityManipulator.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/rules/Privatization/NodeManipulator/VisibilityManipulator.php b/rules/Privatization/NodeManipulator/VisibilityManipulator.php index 71bbf6947de..267391ae8e7 100644 --- a/rules/Privatization/NodeManipulator/VisibilityManipulator.php +++ b/rules/Privatization/NodeManipulator/VisibilityManipulator.php @@ -68,17 +68,13 @@ public function makeFinal(Class_ | ClassMethod | Param | ClassConst $node): void */ public function makeNonFinal(Class_ | ClassMethod | Param $node): void { - if (! $this->isFinal($node)) { + if (! $this->hasVisibility($node, Visibility::FINAL)) { return; } $node->flags -= Modifiers::FINAL; } - public function isFinal(Class_ | ClassMethod | Param $node): bool { - return (bool) ($node->flags & Modifiers::FINAL); - } - public function changeNodeVisibility(ClassMethod | Property | ClassConst $node, int $visibility): void { Assert::oneOf($visibility, [