Skip to content

Commit 81a1e1d

Browse files
committed
Updated Rector to commit c229e8e11549b98cbc0514efc57d12a5fd75c071
rectorphp/rector-src@c229e8e [Php82] Handle implicit "public" on construtor promotion on ReadOnlyClassRector (#6895)
1 parent 8fdbfa7 commit 81a1e1d

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

rules/Privatization/NodeManipulator/VisibilityManipulator.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public function changeNodeVisibility($node, int $visibility) : void
8181
$this->replaceVisibilityFlag($node, $visibility);
8282
}
8383
/**
84-
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst $node
84+
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Param $node
8585
*/
8686
public function makePublic($node) : void
8787
{
@@ -130,7 +130,12 @@ public function isReadonly($node) : bool
130130
*/
131131
public function removeReadonly($node) : void
132132
{
133-
$this->removeVisibilityFlag($node, Visibility::READONLY);
133+
$isConstructorPromotionBefore = $node instanceof Param && $node->isPromoted();
134+
$node->flags &= ~Modifiers::READONLY;
135+
$isConstructorPromotionAfter = $node instanceof Param && $node->isPromoted();
136+
if ($node instanceof Param && $isConstructorPromotionBefore && !$isConstructorPromotionAfter) {
137+
$this->makePublic($node);
138+
}
134139
}
135140
/**
136141
* @param \PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Stmt\ClassMethod $node
@@ -182,13 +187,6 @@ private function addVisibilityFlag($node, int $visibility) : void
182187
{
183188
$node->flags |= $visibility;
184189
}
185-
/**
186-
* @param \PhpParser\Node\Stmt\Class_|\PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Param $node
187-
*/
188-
private function removeVisibilityFlag($node, int $visibility) : void
189-
{
190-
$node->flags &= ~$visibility;
191-
}
192190
/**
193191
* @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Property|\PhpParser\Node\Stmt\ClassConst|\PhpParser\Node\Param $node
194192
*/

src/Application/VersionResolver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ final class VersionResolver
1919
* @api
2020
* @var string
2121
*/
22-
public const PACKAGE_VERSION = 'ac3a9412706652b2d93d900abc1dfef06be3758c';
22+
public const PACKAGE_VERSION = 'c229e8e11549b98cbc0514efc57d12a5fd75c071';
2323
/**
2424
* @api
2525
* @var string
2626
*/
27-
public const RELEASE_DATE = '2025-05-11 00:39:11';
27+
public const RELEASE_DATE = '2025-05-12 20:49:11';
2828
/**
2929
* @var int
3030
*/

0 commit comments

Comments
 (0)