Skip to content

Commit f684c1a

Browse files
authored
Fix variable counter keep changing on downgrade on DowngradeNullsafeToTernaryOperatorRector (#356)
* Fix variable counter keep changing on downgrade on DowngradeNullsafeToTernaryOperatorRector * php 8.2 compat * fix
1 parent 9ac239a commit f684c1a

File tree

9 files changed

+16
-9
lines changed

9 files changed

+16
-9
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"phpstan/phpstan": "^2.1.32",
1212
"phpstan/phpstan-webmozart-assert": "^2.0",
1313
"phpunit/phpunit": "^11.5",
14-
"rector/rector-src": "dev-tv-traverse-optimize",
14+
"rector/rector-src": "dev-main",
1515
"rector/type-perfect": "^2.1",
1616
"symplify/easy-coding-standard": "^12.3",
1717
"symplify/phpstan-extensions": "^12.0",

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ final class GetNullable
2727
{
2828
public function run($value)
2929
{
30-
return ($nullsafeVariable6 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable6->value : null;
30+
return ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null;
3131
}
3232

3333
protected function extractArrayItemByKey($value): ?ArrayItem

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable_in_trait.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ trait GetNullableInTrait
2929
{
3030
public function run($value)
3131
{
32-
return ($nullsafeVariable7 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable7->value : null;
32+
return ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null;
3333
}
3434

3535
protected function extractArrayItemByKey($value): ?ArrayItem

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/multiple_call.php.inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class MultipleCall
2121
{
2222
public function run($object)
2323
{
24-
$result = ($nullsafeVariable8 = ($nullsafeVariable10 = $object->multiple($args1)) ? $nullsafeVariable10->call($args2) : null) ? $nullsafeVariable8->otherCall($args3) : null;
25-
$result = ($nullsafeVariable9 = ($nullsafeVariable11 = ($nullsafeVariable12 = $object->multiple($args1)) ? $nullsafeVariable12->call($args2) : null) ? $nullsafeVariable11->otherCall($args3) : null) ? $nullsafeVariable9->anotherCall($args4) : null;
24+
$result = ($nullsafeVariable1 = ($nullsafeVariable3 = $object->multiple($args1)) ? $nullsafeVariable3->call($args2) : null) ? $nullsafeVariable1->otherCall($args3) : null;
25+
$result = ($nullsafeVariable2 = ($nullsafeVariable4 = ($nullsafeVariable5 = $object->multiple($args1)) ? $nullsafeVariable5->call($args2) : null) ? $nullsafeVariable4->otherCall($args3) : null) ? $nullsafeVariable2->anotherCall($args4) : null;
2626
}
2727
}
2828

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ final class ShortCircuit
2020
{
2121
public function run(bool $param)
2222
{
23-
return ($nullsafeVariable13 = $this->clock) ? $nullsafeVariable13->now()->format('U.u') : null;
23+
return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format('U.u') : null;
2424
}
2525
}
2626

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit3.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ final class ShortCircuit3
2020
{
2121
public function run(bool $param)
2222
{
23-
return ($nullsafeVariable14 = $this->clock) ? $nullsafeVariable14->now->format : null;
23+
return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format : null;
2424
}
2525
}
2626

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit4.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ final class ShortCircuit4
2020
{
2121
public function run(bool $param)
2222
{
23-
return ($nullsafeVariable15 = $this->clock) ? $nullsafeVariable15->now->format('U.u') : null;
23+
return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format('U.u') : null;
2424
}
2525
}
2626

rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit5.php.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ final class ShortCircuit5
2020
{
2121
public function run(bool $param)
2222
{
23-
return ($nullsafeVariable16 = $this->clock) ? $nullsafeVariable16->now()->format : null;
23+
return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format : null;
2424
}
2525
}
2626

rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ public function getNodeTypes(): array
5151
*/
5252
public function refactor(Node $node): ?Ternary
5353
{
54+
static $currentFile = null;
55+
56+
if ($currentFile !== $this->file->getFilePath()) {
57+
$this->counter = 0;
58+
$currentFile = $this->file->getFilePath();
59+
}
60+
5461
if ($node instanceof MethodCall || $node instanceof PropertyFetch) {
5562
if ($node->var instanceof NullsafeMethodCall || $node->var instanceof NullsafePropertyFetch) {
5663
$nullsafeVariable = $this->createNullsafeVariable();

0 commit comments

Comments
 (0)