Skip to content

Commit 22a6dd4

Browse files
committed
Update
1 parent fe0ada9 commit 22a6dd4

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/Fixer/NoUselessWriteVisibilityFixer.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,19 @@
2020

2121
final class NoUselessWriteVisibilityFixer extends AbstractFixer
2222
{
23-
private const PREDECESSOR_KIND_MAP = [
24-
\T_PUBLIC_SET => [\T_PUBLIC, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PUBLIC],
25-
\T_PROTECTED_SET => [\T_PROTECTED, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PROTECTED],
26-
\T_PRIVATE_SET => [\T_PRIVATE, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PRIVATE],
27-
];
23+
/** @var non-empty-array<int, list<int>> */
24+
private array $predecessorKindMap;
25+
26+
public function __construct()
27+
{
28+
if (\defined('T_PUBLIC_SET')) {
29+
$this->predecessorKindMap = [
30+
\T_PUBLIC_SET => [\T_PUBLIC, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PUBLIC],
31+
\T_PROTECTED_SET => [\T_PROTECTED, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PROTECTED],
32+
\T_PRIVATE_SET => [\T_PRIVATE, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PRIVATE],
33+
];
34+
}
35+
}
2836

2937
public function getDefinition(): FixerDefinitionInterface
3038
{
@@ -50,7 +58,7 @@ public function getPriority(): int
5058

5159
public function isCandidate(Tokens $tokens): bool
5260
{
53-
return \defined('T_PUBLIC_SET') && $tokens->isAnyTokenKindsFound(\array_keys(self::PREDECESSOR_KIND_MAP));
61+
return \defined('T_PUBLIC_SET') && $tokens->isAnyTokenKindsFound(\array_keys($this->predecessorKindMap));
5462
}
5563

5664
public function isRisky(): bool
@@ -60,18 +68,18 @@ public function isRisky(): bool
6068

6169
public function fix(\SplFileInfo $file, Tokens $tokens): void
6270
{
63-
foreach ($tokens->findGivenKind(\array_keys(self::PREDECESSOR_KIND_MAP)) as $kind => $elements) {
71+
foreach ($tokens->findGivenKind(\array_keys($this->predecessorKindMap)) as $kind => $elements) {
6472
foreach (\array_keys($elements) as $index) {
65-
self::fixVisibility($tokens, $index, $kind, $kind === \T_PUBLIC_SET);
73+
$this->fixVisibility($tokens, $index, $kind, $kind === \T_PUBLIC_SET);
6674
}
6775
}
6876
}
6977

70-
private static function fixVisibility(Tokens $tokens, int $index, int $kind, bool $makePublicIfNone): void
78+
private function fixVisibility(Tokens $tokens, int $index, int $kind, bool $makePublicIfNone): void
7179
{
7280
$prevIndex = $tokens->getPrevMeaningfulToken($index);
7381

74-
if (!$tokens[$prevIndex]->isGivenKind(self::PREDECESSOR_KIND_MAP[$kind])) {
82+
if (!$tokens[$prevIndex]->isGivenKind($this->predecessorKindMap[$kind])) {
7583
if ($makePublicIfNone) {
7684
$tokens[$index] = new Token([\T_PUBLIC, 'public']);
7785
}

0 commit comments

Comments
 (0)