diff --git a/composer.json b/composer.json index f5fbf6c1..198461ff 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "phpstan/phpstan": "^2.1.32", "phpstan/phpstan-webmozart-assert": "^2.0", "phpunit/phpunit": "^11.5", - "rector/rector-src": "dev-tv-traverse-optimize", + "rector/rector-src": "dev-main", "rector/type-perfect": "^2.1", "symplify/easy-coding-standard": "^12.3", "symplify/phpstan-extensions": "^12.0", diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable.php.inc index 3ea90707..bc3cb379 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable.php.inc @@ -27,7 +27,7 @@ final class GetNullable { public function run($value) { - return ($nullsafeVariable6 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable6->value : null; + return ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null; } protected function extractArrayItemByKey($value): ?ArrayItem diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable_in_trait.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable_in_trait.php.inc index dbc18abe..1f58f938 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable_in_trait.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/get_nullable_in_trait.php.inc @@ -29,7 +29,7 @@ trait GetNullableInTrait { public function run($value) { - return ($nullsafeVariable7 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable7->value : null; + return ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null; } protected function extractArrayItemByKey($value): ?ArrayItem diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/multiple_call.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/multiple_call.php.inc index 4c564932..52d9dac6 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/multiple_call.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/multiple_call.php.inc @@ -21,8 +21,8 @@ class MultipleCall { public function run($object) { - $result = ($nullsafeVariable8 = ($nullsafeVariable10 = $object->multiple($args1)) ? $nullsafeVariable10->call($args2) : null) ? $nullsafeVariable8->otherCall($args3) : null; - $result = ($nullsafeVariable9 = ($nullsafeVariable11 = ($nullsafeVariable12 = $object->multiple($args1)) ? $nullsafeVariable12->call($args2) : null) ? $nullsafeVariable11->otherCall($args3) : null) ? $nullsafeVariable9->anotherCall($args4) : null; + $result = ($nullsafeVariable1 = ($nullsafeVariable3 = $object->multiple($args1)) ? $nullsafeVariable3->call($args2) : null) ? $nullsafeVariable1->otherCall($args3) : null; + $result = ($nullsafeVariable2 = ($nullsafeVariable4 = ($nullsafeVariable5 = $object->multiple($args1)) ? $nullsafeVariable5->call($args2) : null) ? $nullsafeVariable4->otherCall($args3) : null) ? $nullsafeVariable2->anotherCall($args4) : null; } } diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit.php.inc index e4040587..ba99b780 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit.php.inc @@ -20,7 +20,7 @@ final class ShortCircuit { public function run(bool $param) { - return ($nullsafeVariable13 = $this->clock) ? $nullsafeVariable13->now()->format('U.u') : null; + return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format('U.u') : null; } } diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit3.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit3.php.inc index 77b60e08..6e092e8f 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit3.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit3.php.inc @@ -20,7 +20,7 @@ final class ShortCircuit3 { public function run(bool $param) { - return ($nullsafeVariable14 = $this->clock) ? $nullsafeVariable14->now->format : null; + return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format : null; } } diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit4.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit4.php.inc index 4724090d..3b6bcf05 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit4.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit4.php.inc @@ -20,7 +20,7 @@ final class ShortCircuit4 { public function run(bool $param) { - return ($nullsafeVariable15 = $this->clock) ? $nullsafeVariable15->now->format('U.u') : null; + return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format('U.u') : null; } } diff --git a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit5.php.inc b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit5.php.inc index b0f45bfe..ac3b63b6 100644 --- a/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit5.php.inc +++ b/rules-tests/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector/Fixture/short_circuit5.php.inc @@ -20,7 +20,7 @@ final class ShortCircuit5 { public function run(bool $param) { - return ($nullsafeVariable16 = $this->clock) ? $nullsafeVariable16->now()->format : null; + return ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format : null; } } diff --git a/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php b/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php index ddc38f58..b3cb7e90 100644 --- a/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php +++ b/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php @@ -51,6 +51,13 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Ternary { + static $currentFile = null; + + if ($currentFile !== $this->file->getFilePath()) { + $this->counter = 0; + $currentFile = $this->file->getFilePath(); + } + if ($node instanceof MethodCall || $node instanceof PropertyFetch) { if ($node->var instanceof NullsafeMethodCall || $node->var instanceof NullsafePropertyFetch) { $nullsafeVariable = $this->createNullsafeVariable();