Skip to content

Conversation

@samsonasik
Copy link
Collaborator

@samsonasik samsonasik commented Aug 14, 2025

The downgrade on merge constant class already covered on rector-downgrade-php

with rector 2.1.3

so vendor patch for VisibilityRequiredFixer no longer needed, now it works correctly:

➜  easy-coding-standard git:(remove-vis) vendor/bin/rector process vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php --dry-run --config build/rector-downgrade-php-72.php
 1/1 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1 file with changes
===================

1) vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php:53

    ---------- begin diff ----------
@@ @@

     private const PROPERTY_TYPE_DECLARATION_KINDS = [\T_STRING, \T_NS_SEPARATOR, CT::T_NULLABLE_TYPE, CT::T_ARRAY_TYPEHINT, CT::T_TYPE_ALTERNATION, CT::T_TYPE_INTERSECTION, CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_OPEN, CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_CLOSE];
     private const EXPECTED_KINDS_GENERIC = [\T_ABSTRACT, \T_FINAL, \T_PRIVATE, \T_PROTECTED, \T_PUBLIC, \T_STATIC, \T_VAR, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PUBLIC, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PROTECTED, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PRIVATE, FCT::T_READONLY, FCT::T_PRIVATE_SET, FCT::T_PROTECTED_SET, FCT::T_PUBLIC_SET];
-    private const EXPECTED_KINDS_PROPERTY_KINDS = [...self::EXPECTED_KINDS_GENERIC, ...self::PROPERTY_TYPE_DECLARATION_KINDS];
+    private const EXPECTED_KINDS_PROPERTY_KINDS = [\T_ABSTRACT, \T_FINAL, \T_PRIVATE, \T_PROTECTED, \T_PUBLIC, \T_STATIC, \T_VAR, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PUBLIC, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PROTECTED, CT::T_CONSTRUCTOR_PROPERTY_PROMOTION_PRIVATE, FCT::T_READONLY, FCT::T_PRIVATE_SET, FCT::T_PROTECTED_SET, FCT::T_PUBLIC_SET, \T_STRING, \T_NS_SEPARATOR, CT::T_NULLABLE_TYPE, CT::T_ARRAY_TYPEHINT, CT::T_TYPE_ALTERNATION, CT::T_TYPE_INTERSECTION, CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_OPEN, CT::T_DISJUNCTIVE_NORMAL_FORM_TYPE_PARENTHESIS_CLOSE];

/cc @zonuexe

@samsonasik samsonasik enabled auto-merge (squash) August 14, 2025 04:39
@samsonasik samsonasik merged commit 32abf78 into main Aug 14, 2025
6 checks passed
@samsonasik samsonasik deleted the remove-vis branch August 14, 2025 04:41
@samsonasik
Copy link
Collaborator Author

Also re-run rector to remove setAccessible(true) 7a215f7

It covered on downgrade to add it:

➜  easy-coding-standard git:(remove-vis) ✗ vendor/bin/rector process src/Utils/PrivatesAccessorHelper.php --dry-run --config build/rector-downgrade-php-72.php
 1/1 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
1 file with changes
===================

1) src/Utils/PrivatesAccessorHelper.php:8

    ---------- begin diff ----------
@@ @@

 final class PrivatesAccessorHelper
 {
-    public static function getPropertyValue(object $object, string $propertyName): mixed
+    /**
+     * @return mixed
+     */
+    public static function getPropertyValue(object $object, string $propertyName)
     {
         $reflectionProperty = new ReflectionProperty($object, $propertyName);
+        $reflectionProperty->setAccessible(true);

         return $reflectionProperty->getValue($object);
     }

-    public static function setPropertyValue(object $object, string $propertyName, mixed $value): void
+    /**
+     * @param mixed $value
+     */
+    public static function setPropertyValue(object $object, string $propertyName, $value): void
     {
         $reflectionProperty = new ReflectionProperty($object, $propertyName);
+        $reflectionProperty->setAccessible(true);

         $reflectionProperty->setValue($object, $value);
     }
    ----------- end diff -----------

Applied rules:
 * DowngradeMixedTypeDeclarationRector

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants