diff --git a/phpstan.neon b/phpstan.neon index 41a66de5..1def084a 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -4,6 +4,7 @@ includes: parameters: level: 8 + errorFormat: symplify reportUnmatchedIgnoredErrors: false @@ -98,18 +99,11 @@ parameters: identifier: symplify.seeAnnotationToTest path: rules/DowngradePhp85/Rector/StmtsAwareInterface/DowngradePipeOperatorRector.php - # handle next - - - identifier: method.parentMethodFinalByPhpDoc - path: rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php - # keep for simplicity - identifier: rector.avoidFeatureSetAttributeInRector paths: - rules/DowngradePhp80/Rector/FuncCall/DowngradeSubstrFalsyRector.php - - rules/DowngradePhp72/Rector/ConstFetch/DowngradePhp72JsonConstRector.php - - rules/DowngradePhp73/Rector/ConstFetch/DowngradePhp73JsonConstRector.php - rules/DowngradePhp74/Rector/MethodCall/DowngradeReflectionGetTypeRector.php - rules/DowngradePhp80/Rector/MethodCall/DowngradeReflectionGetAttributesRector.php - rules/DowngradePhp73/Rector/String_/DowngradeFlexibleHeredocSyntaxRector.php 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 bc3cb379..3ea90707 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 ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null; + return ($nullsafeVariable6 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable6->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 1f58f938..dbc18abe 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 ($nullsafeVariable1 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable1->value : null; + return ($nullsafeVariable7 = $this->extractArrayItemByKey($value)) ? $nullsafeVariable7->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 949babb7..96178c90 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 = ($nullsafeVariable1 = ($nullsafeVariable2 = $object->multiple($args1)) ? $nullsafeVariable2->call($args2) : null) ? $nullsafeVariable1->otherCall($args3) : null; - $result = ($nullsafeVariable3 = ($nullsafeVariable4 = ($nullsafeVariable5 = $object->multiple($args1)) ? $nullsafeVariable5->call($args2) : null) ? $nullsafeVariable4->otherCall($args3) : null) ? $nullsafeVariable3->anotherCall($args4) : null; + $result = ($nullsafeVariable8 = ($nullsafeVariable9 = $object->multiple($args1)) ? $nullsafeVariable9->call($args2) : null) ? $nullsafeVariable8->otherCall($args3) : null; + $result = ($nullsafeVariable10 = ($nullsafeVariable11 = ($nullsafeVariable12 = $object->multiple($args1)) ? $nullsafeVariable12->call($args2) : null) ? $nullsafeVariable11->otherCall($args3) : null) ? $nullsafeVariable10->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 ba99b780..e4040587 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 ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format('U.u') : null; + return ($nullsafeVariable13 = $this->clock) ? $nullsafeVariable13->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 6e092e8f..77b60e08 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 ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format : null; + return ($nullsafeVariable14 = $this->clock) ? $nullsafeVariable14->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 3b6bcf05..4724090d 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 ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now->format('U.u') : null; + return ($nullsafeVariable15 = $this->clock) ? $nullsafeVariable15->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 ac3b63b6..b0f45bfe 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 ($nullsafeVariable1 = $this->clock) ? $nullsafeVariable1->now()->format : null; + return ($nullsafeVariable16 = $this->clock) ? $nullsafeVariable16->now()->format : null; } } diff --git a/rules/DowngradePhp72/Rector/ConstFetch/DowngradePhp72JsonConstRector.php b/rules/DowngradePhp72/Rector/ConstFetch/DowngradePhp72JsonConstRector.php index ee7c05eb..94a4360b 100644 --- a/rules/DowngradePhp72/Rector/ConstFetch/DowngradePhp72JsonConstRector.php +++ b/rules/DowngradePhp72/Rector/ConstFetch/DowngradePhp72JsonConstRector.php @@ -12,6 +12,7 @@ use Rector\DowngradePhp72\NodeManipulator\JsonConstCleaner; use Rector\Enum\JsonConstant; use Rector\NodeAnalyzer\DefineFuncCallAnalyzer; +use Rector\PhpParser\NodeTraverser\SimpleNodeTraverser; use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; @@ -94,9 +95,6 @@ private function markConstantKnownInInnerStmts(If_ $if): void return; } - $this->traverseNodesWithCallable($if, static function (Node $node): null { - $node->setAttribute(self::PHP72_JSON_CONSTANT_IS_KNOWN, true); - return null; - }); + SimpleNodeTraverser::decorateWithAttributeValue($if, self::PHP72_JSON_CONSTANT_IS_KNOWN, true); } } diff --git a/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php b/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php index 9d8a456d..ddc38f58 100644 --- a/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php +++ b/rules/DowngradePhp80/Rector/NullsafeMethodCall/DowngradeNullsafeToTernaryOperatorRector.php @@ -23,18 +23,6 @@ final class DowngradeNullsafeToTernaryOperatorRector extends AbstractRector { private int $counter = 0; - /** - * Hack-ish way to reset counter for a new file, to avoid rising counter for each file - * - * @param Node[] $nodes - * @return array|Node[]|null - */ - public function beforeTraverse(array $nodes): ?array - { - $this->counter = 0; - return parent::beforeTraverse($nodes); - } - public function getRuleDefinition(): RuleDefinition { return new RuleDefinition('Change nullsafe operator to ternary operator rector', [