From 4074e727505e3d833e97ab200684a5d47e360fff Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 5 Aug 2023 19:36:17 +0200 Subject: [PATCH] [DX] Remove NullifyUnionNullableRector, let cs tools handle it --- .../docs/rector_rules_overview.md | 21 +-- .../skip_already_nullable_type.php.inc | 8 -- .../Fixture/skip_not_typed.php.inc | 8 -- .../Fixture/skip_not_union_type.php.inc | 8 -- .../Fixture/skip_union_not_nullable.php.inc | 10 -- ...union_nullable_functionlike_return.php.inc | 37 ----- .../Fixture/union_nullable_object.php.inc | 23 --- .../Fixture/union_nullable_param.php.inc | 23 --- .../Fixture/union_nullable_property.php.inc | 23 --- .../NullifyUnionNullableRectorTest.php | 28 ---- .../config/config.php | 12 -- .../Property/NullifyUnionNullableRector.php | 134 ------------------ utils/Command/MissingInSetCommand.php | 2 - 13 files changed, 2 insertions(+), 335 deletions(-) delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_already_nullable_type.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_not_typed.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_not_union_type.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_union_not_nullable.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_functionlike_return.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_object.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_param.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_property.php.inc delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/NullifyUnionNullableRectorTest.php delete mode 100755 rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/config/config.php delete mode 100644 rules/CodingStyle/Rector/Property/NullifyUnionNullableRector.php diff --git a/build/target-repository/docs/rector_rules_overview.md b/build/target-repository/docs/rector_rules_overview.md index f859e498812..8a0bd8da142 100644 --- a/build/target-repository/docs/rector_rules_overview.md +++ b/build/target-repository/docs/rector_rules_overview.md @@ -1,4 +1,4 @@ -# 364 Rules Overview +# 363 Rules Overview
@@ -8,7 +8,7 @@ - [CodeQuality](#codequality) (71) -- [CodingStyle](#codingstyle) (31) +- [CodingStyle](#codingstyle) (30) - [DeadCode](#deadcode) (42) @@ -2003,23 +2003,6 @@ Changes negate of empty comparison of nullable value to explicit === or !== comp
-### NullifyUnionNullableRector - -Changes already typed Type|null to ?Type - -- class: [`Rector\CodingStyle\Rector\Property\NullifyUnionNullableRector`](../rules/CodingStyle/Rector/Property/NullifyUnionNullableRector.php) - -```diff - final class SomeClass - { - -- private null|stdClass $property; -+ private ?stdClass $property; - } -``` - -
- ### PostIncDecToPreIncDecRector Use ++$value or --$value instead of `$value++` or `$value--` diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_already_nullable_type.php.inc b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_already_nullable_type.php.inc deleted file mode 100755 index 3d8c36beaa9..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/skip_already_nullable_type.php.inc +++ /dev/null @@ -1,8 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_object.php.inc b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_object.php.inc deleted file mode 100755 index fa48268d345..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_object.php.inc +++ /dev/null @@ -1,23 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_param.php.inc b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_param.php.inc deleted file mode 100755 index f498c4ea861..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_param.php.inc +++ /dev/null @@ -1,23 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_property.php.inc b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_property.php.inc deleted file mode 100755 index 98871b6cfd1..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/Fixture/union_nullable_property.php.inc +++ /dev/null @@ -1,23 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/NullifyUnionNullableRectorTest.php b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/NullifyUnionNullableRectorTest.php deleted file mode 100755 index b7d73f414b2..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/NullifyUnionNullableRectorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -doTestFile($filePath); - } - - public static function provideData(): Iterator - { - return self::yieldFilesFromDirectory(__DIR__ . '/Fixture'); - } - - public function provideConfigFilePath(): string - { - return __DIR__ . '/config/config.php'; - } -} diff --git a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/config/config.php b/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/config/config.php deleted file mode 100755 index 5ee41e95769..00000000000 --- a/rules-tests/CodingStyle/Rector/Property/NullifyUnionNullableRector/config/config.php +++ /dev/null @@ -1,12 +0,0 @@ -rule(NullifyUnionNullableRector::class); -}; diff --git a/rules/CodingStyle/Rector/Property/NullifyUnionNullableRector.php b/rules/CodingStyle/Rector/Property/NullifyUnionNullableRector.php deleted file mode 100644 index e25fe566f15..00000000000 --- a/rules/CodingStyle/Rector/Property/NullifyUnionNullableRector.php +++ /dev/null @@ -1,134 +0,0 @@ -> - */ - public function getNodeTypes(): array - { - return [ - Property::class, - Param::class, - ClassMethod::class, - Closure::class, - Function_::class, - ArrowFunction::class, - ]; - } - - /** - * @param Property|Param|ClassMethod|Closure|Function_|ArrowFunction $node - */ - public function refactor(Node $node): ?Node - { - if ($node instanceof Property || $node instanceof Param) { - return $this->processNullablePropertyParamType($node); - } - - return $this->processNullableFunctionLikeReturnType($node); - } - - public function provideMinPhpVersion(): int - { - return PhpVersionFeature::UNION_TYPES; - } - - private function resolveNullableType(?Node $node): ?NullableType - { - if (! $node instanceof Node) { - return null; - } - - if (! $node instanceof UnionType) { - return null; - } - - $nullableType = $this->unionTypeMapper->resolveTypeWithNullablePHPParserUnionType($node); - if (! $nullableType instanceof NullableType) { - return null; - } - - return $nullableType; - } - - private function processNullablePropertyParamType(Property|Param $node): null|Property|Param - { - $nullableType = $this->resolveNullableType($node->type); - - if (! $nullableType instanceof NullableType) { - return null; - } - - $node->type = $nullableType; - return $node; - } - - private function processNullableFunctionLikeReturnType( - ClassMethod|Closure|Function_|ArrowFunction $functionLike - ): ?FunctionLike { - $nullableType = $this->resolveNullableType($functionLike->returnType); - - if (! $nullableType instanceof NullableType) { - return null; - } - - $functionLike->returnType = $nullableType; - return $functionLike; - } -} diff --git a/utils/Command/MissingInSetCommand.php b/utils/Command/MissingInSetCommand.php index 4ae23e42ca1..d91b391b1bd 100644 --- a/utils/Command/MissingInSetCommand.php +++ b/utils/Command/MissingInSetCommand.php @@ -6,7 +6,6 @@ use Nette\Utils\Strings; use Rector\CodingStyle\Rector\ClassMethod\DataProviderArrayItemsNewlinedRector; -use Rector\CodingStyle\Rector\Property\NullifyUnionNullableRector; use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\DeadCode\Rector\StmtsAwareInterface\RemoveJustPropertyFetchRector; use Rector\TypeDeclaration\Rector\BooleanAnd\BinaryOpNullableToInstanceofRector; @@ -95,7 +94,6 @@ final class MissingInSetCommand extends Command private const SKIPPED_RULES = [ ConfigurableRectorInterface::class, RemoveJustPropertyFetchRector::class, - NullifyUnionNullableRector::class, DeclareStrictTypesRector::class, // optional DataProviderArrayItemsNewlinedRector::class,