From 5b811a8a0186d742a8c4d72ecdf57767676158eb Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Thu, 8 Jun 2023 20:27:04 +0200 Subject: [PATCH] Remove RemoveAllowDynamicPropertiesAttributeRector as attribute is a comment on lower PHP versions, also rather downgrade rule --- ...allow_dynamic_properties_attribute.php.inc | 22 ---- ...allow_dynamic_properties_attribute.php.inc | 23 ---- ...dynamic_properties_attribute_group.php.inc | 24 ---- .../remove_from_decendant_example.php.inc | 42 ------ ..._adjusting_class_without_attribute.php.inc | 11 -- ...sting_class_outside_transform_list.php.inc | 11 -- ...allow_dynamic_properties_attribute.php.inc | 22 ---- ...allow_dynamic_properties_attribute.php.inc | 19 --- ...dynamic_properties_attribute_group.php.inc | 20 --- ...ibute_from_class_without_namespace.php.inc | 29 ---- .../remove_from_decendant_example.php.inc | 38 ------ ..._adjusting_class_without_attribute.php.inc | 9 -- ...owDynamicPropertiesAttributeRectorTest.php | 28 ---- ...owDynamicPropertiesAttributeRectorTest.php | 28 ---- .../config/configured_rule.php | 11 -- .../config/unconfigured_rule.php | 10 -- ...eAllowDynamicPropertiesAttributeRector.php | 124 ------------------ 17 files changed, 471 deletions(-) delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_allow_dynamic_properties_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute_group.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_from_decendant_example.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/skips_adjusting_class_without_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Skip/skips_adjusting_class_outside_transform_list.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_allow_dynamic_properties_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute_group.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_attribute_from_class_without_namespace.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_from_decendant_example.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/skips_adjusting_class_without_attribute.php.inc delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/RemoveAllowDynamicPropertiesAttributeRectorTest.php delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/UnconfiguredRemoveAllowDynamicPropertiesAttributeRectorTest.php delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/configured_rule.php delete mode 100644 rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/unconfigured_rule.php delete mode 100644 rules/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector.php diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_allow_dynamic_properties_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_allow_dynamic_properties_attribute.php.inc deleted file mode 100644 index 6a04069c25d..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_allow_dynamic_properties_attribute.php.inc +++ /dev/null @@ -1,22 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute.php.inc deleted file mode 100644 index 3ba406eb4ff..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute.php.inc +++ /dev/null @@ -1,23 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute_group.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute_group.php.inc deleted file mode 100644 index efd0d0bd22f..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_appended_allow_dynamic_properties_attribute_group.php.inc +++ /dev/null @@ -1,24 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_from_decendant_example.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_from_decendant_example.php.inc deleted file mode 100644 index 66bb9d0749c..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/remove_from_decendant_example.php.inc +++ /dev/null @@ -1,42 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/skips_adjusting_class_without_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/skips_adjusting_class_without_attribute.php.inc deleted file mode 100644 index 2e2c7e23af3..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Process/skips_adjusting_class_without_attribute.php.inc +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Skip/skips_adjusting_class_outside_transform_list.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Skip/skips_adjusting_class_outside_transform_list.php.inc deleted file mode 100644 index fecffc7fdb8..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/Fixture/Skip/skips_adjusting_class_outside_transform_list.php.inc +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_allow_dynamic_properties_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_allow_dynamic_properties_attribute.php.inc deleted file mode 100644 index 5a3450cb0f5..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_allow_dynamic_properties_attribute.php.inc +++ /dev/null @@ -1,22 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute.php.inc deleted file mode 100644 index 15f61f576d2..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute.php.inc +++ /dev/null @@ -1,19 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute_group.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute_group.php.inc deleted file mode 100644 index e0c0dac44ea..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_appended_allow_dynamic_properties_attribute_group.php.inc +++ /dev/null @@ -1,20 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_attribute_from_class_without_namespace.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_attribute_from_class_without_namespace.php.inc deleted file mode 100644 index 7d2a039f16b..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_attribute_from_class_without_namespace.php.inc +++ /dev/null @@ -1,29 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_from_decendant_example.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_from_decendant_example.php.inc deleted file mode 100644 index 80a8496df98..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/remove_from_decendant_example.php.inc +++ /dev/null @@ -1,38 +0,0 @@ - ------ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/skips_adjusting_class_without_attribute.php.inc b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/skips_adjusting_class_without_attribute.php.inc deleted file mode 100644 index b47d9ccc534..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/FixtureAllClasses/skips_adjusting_class_without_attribute.php.inc +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/RemoveAllowDynamicPropertiesAttributeRectorTest.php b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/RemoveAllowDynamicPropertiesAttributeRectorTest.php deleted file mode 100644 index 87c76df6e57..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/RemoveAllowDynamicPropertiesAttributeRectorTest.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/configured_rule.php'; - } -} diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/UnconfiguredRemoveAllowDynamicPropertiesAttributeRectorTest.php b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/UnconfiguredRemoveAllowDynamicPropertiesAttributeRectorTest.php deleted file mode 100644 index 3de4c8e22aa..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/UnconfiguredRemoveAllowDynamicPropertiesAttributeRectorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -doTestFile($filePath); - } - - public static function provideData(): Iterator - { - return self::yieldFilesFromDirectory(__DIR__ . '/FixtureAllClasses'); - } - - public function provideConfigFilePath(): string - { - return __DIR__ . '/config/unconfigured_rule.php'; - } -} diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/configured_rule.php b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/configured_rule.php deleted file mode 100644 index e05e7e5211a..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/configured_rule.php +++ /dev/null @@ -1,11 +0,0 @@ -ruleWithConfiguration(RemoveAllowDynamicPropertiesAttributeRector::class, ['*\Fixture\Process\*']); -}; diff --git a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/unconfigured_rule.php b/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/unconfigured_rule.php deleted file mode 100644 index 896305d925d..00000000000 --- a/rules-tests/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector/config/unconfigured_rule.php +++ /dev/null @@ -1,10 +0,0 @@ -rule(RemoveAllowDynamicPropertiesAttributeRector::class); -}; diff --git a/rules/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector.php b/rules/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector.php deleted file mode 100644 index 9b80acf98dc..00000000000 --- a/rules/Transform/Rector/Class_/RemoveAllowDynamicPropertiesAttributeRector.php +++ /dev/null @@ -1,124 +0,0 @@ - - */ - private array $transformOnNamespaces = []; - - public function __construct( - private readonly PhpAttributeAnalyzer $phpAttributeAnalyzer, - ) { - } - - public function getRuleDefinition(): RuleDefinition - { - return new RuleDefinition('Remove the `AllowDynamicProperties` attribute from all classes', [ - new ConfiguredCodeSample( - <<<'CODE_SAMPLE' -namespace Example\Domain; - -#[AllowDynamicProperties] -class SomeObject { - public string $someProperty = 'hello world'; -} -CODE_SAMPLE - , - <<<'CODE_SAMPLE' -namespace Example\Domain; - -class SomeObject { - public string $someProperty = 'hello world'; -} -CODE_SAMPLE - , - ['Example\*'] - ), - ]); - } - - /** - * @return array> - */ - public function getNodeTypes(): array - { - return [Class_::class]; - } - - public function configure(array $configuration): void - { - $transformOnNamespaces = $configuration; - - Assert::allString($transformOnNamespaces); - - $this->transformOnNamespaces = $transformOnNamespaces; - } - - /** - * @param Class_ $node - */ - public function refactor(Node $node): ?Node - { - if ($this->shouldRemove($node)) { - return $this->removeAllowDynamicPropertiesAttribute($node); - } - - return null; - } - - private function removeAllowDynamicPropertiesAttribute(Class_ $class): Class_ - { - $newAttrGroups = []; - foreach ($class->attrGroups as $attrGroup) { - $newAttrs = []; - foreach ($attrGroup->attrs as $attribute) { - if (! $this->nodeNameResolver->isName($attribute, AttributeName::ALLOW_DYNAMIC_PROPERTIES)) { - $newAttrs[] = $attribute; - } - } - - $attrGroup->attrs = $newAttrs; - if ($attrGroup->attrs !== []) { - $newAttrGroups[] = $attrGroup; - } - } - - $class->attrGroups = $newAttrGroups; - return $class; - } - - private function shouldRemove(Class_ $class): bool - { - if ($this->transformOnNamespaces !== []) { - $className = (string) $this->nodeNameResolver->getName($class); - foreach ($this->transformOnNamespaces as $transformOnNamespace) { - if (! $this->nodeNameResolver->isStringName($className, $transformOnNamespace)) { - return false; - } - } - } - - return $this->phpAttributeAnalyzer->hasPhpAttribute($class, AttributeName::ALLOW_DYNAMIC_PROPERTIES); - } -}