From 1daa932d00189e5e2b6161f2b5dd30febf49929e Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 2 Jan 2024 21:38:33 +0000 Subject: [PATCH] Updated Rector to commit 5c0397910fbd9735c375c4632ec116ebe8609f25 https://github.com/rectorphp/rector-src/commit/5c0397910fbd9735c375c4632ec116ebe8609f25 Add missing rule doc (#5426) --- docs/rector_rules_overview.md | 55 ++++++++----------- ...eClassesWithoutChildrenCollectorRector.php | 21 ++++++- .../FinalizeClassesWithoutChildrenRector.php | 12 +--- src/Application/VersionResolver.php | 4 +- vendor/autoload.php | 2 +- vendor/composer/autoload_real.php | 10 ++-- vendor/composer/autoload_static.php | 8 +-- vendor/scoper-autoload.php | 2 +- 8 files changed, 58 insertions(+), 56 deletions(-) diff --git a/docs/rector_rules_overview.md b/docs/rector_rules_overview.md index f05994dbcab..40977587831 100644 --- a/docs/rector_rules_overview.md +++ b/docs/rector_rules_overview.md @@ -10,7 +10,7 @@ - [CodingStyle](#codingstyle) (28) -- [DeadCode](#deadcode) (43) +- [DeadCode](#deadcode) (42) - [EarlyReturn](#earlyreturn) (9) @@ -46,7 +46,7 @@ - [Php83](#php83) (3) -- [Privatization](#privatization) (4) +- [Privatization](#privatization) (5) - [Removing](#removing) (5) @@ -2464,29 +2464,6 @@ Remove empty class methods not required by parents
-### RemoveJustPropertyFetchForAssignRector - -Remove assign of property, just for value assign - -- class: [`Rector\DeadCode\Rector\StmtsAwareInterface\RemoveJustPropertyFetchForAssignRector`](../rules/DeadCode/Rector/StmtsAwareInterface/RemoveJustPropertyFetchForAssignRector.php) - -```diff - class SomeClass - { - private $items = []; - - public function run() - { -- $items = $this->items; -- $items[] = 1000; -- $this->items = $items ; -+ $this->items[] = 1000; - } - } -``` - -
- ### RemoveNonExistingVarAnnotationRector Removes non-existing `@var` annotations above the code @@ -5327,6 +5304,25 @@ Combine separated host and port on `ldap_connect()` args ## Privatization +### FinalizeClassesWithoutChildrenCollectorRector + +Finalize classes without children using collectors + +- class: [`Rector\Privatization\Rector\Class_\FinalizeClassesWithoutChildrenCollectorRector`](../rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenCollectorRector.php) + +```diff +-class FirstClass extends SecondClass ++final class FirstClass extends SecondClass + { + } + + class SecondClass + { + } +``` + +
+ ### FinalizeClassesWithoutChildrenRector Finalize every class that has no children @@ -5334,19 +5330,14 @@ Finalize every class that has no children - class: [`Rector\Privatization\Rector\Class_\FinalizeClassesWithoutChildrenRector`](../rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenRector.php) ```diff --class FirstClass -+final class FirstClass +-class FirstClass extends SecondClass ++final class FirstClass extends SecondClass { } class SecondClass { } - --class ThirdClass extends SecondClass -+final class ThirdClass extends SecondClass - { - } ```
diff --git a/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenCollectorRector.php b/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenCollectorRector.php index 6ee8752029c..5c4c4b0ea3e 100644 --- a/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenCollectorRector.php +++ b/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenCollectorRector.php @@ -15,6 +15,7 @@ use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\Privatization\NodeManipulator\VisibilityManipulator; use Rector\Rector\AbstractCollectorRector; use Rector\Reflection\ReflectionResolver; +use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** * @see \Rector\Tests\Privatization\Rector\Class_\FinalizeClassesWithoutChildrenCollectorRector\FinalizeClassesWithoutChildrenCollectorRectorTest @@ -87,7 +88,25 @@ final class FinalizeClassesWithoutChildrenCollectorRector extends AbstractCollec } public function getRuleDefinition() : RuleDefinition { - return new RuleDefinition('...', []); + return new RuleDefinition('Finalize classes without children using collectors', [new CodeSample(<<<'CODE_SAMPLE' +class FirstClass extends SecondClass +{ +} + +class SecondClass +{ +} +CODE_SAMPLE +, <<<'CODE_SAMPLE' +final class FirstClass extends SecondClass +{ +} + +class SecondClass +{ +} +CODE_SAMPLE +)]); } private function shouldSkipClass(Class_ $class) : bool { diff --git a/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenRector.php b/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenRector.php index 6b637664081..1ad8a2b8670 100644 --- a/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenRector.php +++ b/rules/Privatization/Rector/Class_/FinalizeClassesWithoutChildrenRector.php @@ -56,30 +56,22 @@ final class FinalizeClassesWithoutChildrenRector extends AbstractRector public function getRuleDefinition() : RuleDefinition { return new RuleDefinition('Finalize every class that has no children', [new CodeSample(<<<'CODE_SAMPLE' -class FirstClass +class FirstClass extends SecondClass { } class SecondClass { } - -class ThirdClass extends SecondClass -{ -} CODE_SAMPLE , <<<'CODE_SAMPLE' -final class FirstClass +final class FirstClass extends SecondClass { } class SecondClass { } - -final class ThirdClass extends SecondClass -{ -} CODE_SAMPLE )]); } diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index b9593882d94..b2bbe317738 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -19,12 +19,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = '9144efc05cf4d084d4af69f4df0be9d7a66e5869'; + public const PACKAGE_VERSION = '5c0397910fbd9735c375c4632ec116ebe8609f25'; /** * @api * @var string */ - public const RELEASE_DATE = '2024-01-02 20:41:33'; + public const RELEASE_DATE = '2024-01-02 21:36:20'; /** * @var int */ diff --git a/vendor/autoload.php b/vendor/autoload.php index 367e60fe20d..e87c43a4ed8 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634::getLoader(); +return ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index e5beb2895e2..f4a16aa4be6 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634 +class ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8 { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitbb976c8093699e6523d42b3a6d444634::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit8c7215074e107c54fa988078cf9a09f8::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInitbb976c8093699e6523d42b3a6d444634::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit8c7215074e107c54fa988078cf9a09f8::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 37c6bcd2183..5fab70e9abb 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInitbb976c8093699e6523d42b3a6d444634 +class ComposerStaticInit8c7215074e107c54fa988078cf9a09f8 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -2644,9 +2644,9 @@ class ComposerStaticInitbb976c8093699e6523d42b3a6d444634 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInitbb976c8093699e6523d42b3a6d444634::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInitbb976c8093699e6523d42b3a6d444634::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInitbb976c8093699e6523d42b3a6d444634::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit8c7215074e107c54fa988078cf9a09f8::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit8c7215074e107c54fa988078cf9a09f8::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit8c7215074e107c54fa988078cf9a09f8::$classMap; }, null, ClassLoader::class); } diff --git a/vendor/scoper-autoload.php b/vendor/scoper-autoload.php index 550f87d9922..4332ae38332 100644 --- a/vendor/scoper-autoload.php +++ b/vendor/scoper-autoload.php @@ -30,7 +30,7 @@ if (!function_exists('humbug_phpscoper_expose_class')) { } } humbug_phpscoper_expose_class('AutoloadIncluder', 'RectorPrefix202401\AutoloadIncluder'); -humbug_phpscoper_expose_class('ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634', 'RectorPrefix202401\ComposerAutoloaderInitbb976c8093699e6523d42b3a6d444634'); +humbug_phpscoper_expose_class('ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8', 'RectorPrefix202401\ComposerAutoloaderInit8c7215074e107c54fa988078cf9a09f8'); humbug_phpscoper_expose_class('Product', 'RectorPrefix202401\Product'); // Function aliases. For more information see: