diff --git a/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php b/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php index e727659c9a8..39b0d754ba4 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php @@ -9,23 +9,18 @@ use PhpParser\Node\Identifier; use PhpParser\Node\Stmt\ClassMethod; use PhpParser\Node\Stmt\Function_; use PHPStan\Reflection\ClassReflection; -use PHPStan\Type\NeverType; -use PHPStan\Type\VoidType; -use Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger; -use Rector\Core\Contract\Rector\ConfigurableRectorInterface; use Rector\Core\Rector\AbstractRector; use Rector\Core\Reflection\ReflectionResolver; use Rector\Core\ValueObject\PhpVersionFeature; use Rector\TypeDeclaration\TypeInferer\SilentVoidResolver; use Rector\VendorLocker\NodeVendorLocker\ClassMethodReturnVendorLockResolver; use Rector\VersionBonding\Contract\MinPhpVersionInterface; -use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample; +use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; -use RectorPrefix202308\Webmozart\Assert\Assert; /** * @see \Rector\Tests\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector\AddVoidReturnTypeWhereNoReturnRectorTest */ -final class AddVoidReturnTypeWhereNoReturnRector extends AbstractRector implements ConfigurableRectorInterface, MinPhpVersionInterface +final class AddVoidReturnTypeWhereNoReturnRector extends AbstractRector implements MinPhpVersionInterface { /** * @readonly @@ -37,11 +32,6 @@ final class AddVoidReturnTypeWhereNoReturnRector extends AbstractRector implemen * @var \Rector\VendorLocker\NodeVendorLocker\ClassMethodReturnVendorLockResolver */ private $classMethodReturnVendorLockResolver; - /** - * @readonly - * @var \Rector\BetterPhpDocParser\PhpDocManipulator\PhpDocTypeChanger - */ - private $phpDocTypeChanger; /** * @readonly * @var \Rector\Core\Reflection\ReflectionResolver @@ -52,20 +42,15 @@ final class AddVoidReturnTypeWhereNoReturnRector extends AbstractRector implemen * @var string using phpdoc instead of a native void type can ease the migration path for consumers of code being processed. */ public const USE_PHPDOC = 'use_phpdoc'; - /** - * @var bool - */ - private $usePhpdoc = \false; - public function __construct(SilentVoidResolver $silentVoidResolver, ClassMethodReturnVendorLockResolver $classMethodReturnVendorLockResolver, PhpDocTypeChanger $phpDocTypeChanger, ReflectionResolver $reflectionResolver) + public function __construct(SilentVoidResolver $silentVoidResolver, ClassMethodReturnVendorLockResolver $classMethodReturnVendorLockResolver, ReflectionResolver $reflectionResolver) { $this->silentVoidResolver = $silentVoidResolver; $this->classMethodReturnVendorLockResolver = $classMethodReturnVendorLockResolver; - $this->phpDocTypeChanger = $phpDocTypeChanger; $this->reflectionResolver = $reflectionResolver; } public function getRuleDefinition() : RuleDefinition { - return new RuleDefinition('Add return type void to function like without any return', [new ConfiguredCodeSample(<<<'CODE_SAMPLE' + return new RuleDefinition('Add return type void to function like without any return', [new CodeSample(<<<'CODE_SAMPLE' final class SomeClass { public function getValues() @@ -85,7 +70,7 @@ final class SomeClass } } CODE_SAMPLE -, [self::USE_PHPDOC => \false])]); +)]); } /** * @return array> @@ -108,13 +93,6 @@ CODE_SAMPLE if (!$this->silentVoidResolver->hasExclusiveVoid($node)) { return null; } - if ($this->usePhpdoc) { - $hasChanged = $this->changePhpDocToVoidIfNotNever($node); - if ($hasChanged) { - return $node; - } - return null; - } if ($node instanceof ClassMethod && $this->classMethodReturnVendorLockResolver->isVendorLocked($node)) { return null; } @@ -125,26 +103,6 @@ CODE_SAMPLE { return PhpVersionFeature::VOID_TYPE; } - /** - * @param mixed[] $configuration - */ - public function configure(array $configuration) : void - { - $usePhpdoc = $configuration[self::USE_PHPDOC] ?? (bool) \current($configuration); - Assert::boolean($usePhpdoc); - $this->usePhpdoc = $usePhpdoc; - } - /** - * @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $node - */ - private function changePhpDocToVoidIfNotNever($node) : bool - { - $phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($node); - if ($phpDocInfo->getReturnType() instanceof NeverType) { - return \false; - } - return $this->phpDocTypeChanger->changeReturnType($node, $phpDocInfo, new VoidType()); - } /** * @param \PhpParser\Node\Stmt\ClassMethod|\PhpParser\Node\Stmt\Function_|\PhpParser\Node\Expr\Closure $functionLike */ diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 510518437dc..ebae029bbc7 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 = '3de7c697f5adc910481ff5873674284b2836dc50'; + public const PACKAGE_VERSION = '0a8ffe3ac8f42a93fb2853cc7ee93a1acced8a89'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-08-08 14:21:45'; + public const RELEASE_DATE = '2023-08-08 15:25:06'; /** * @var int */ diff --git a/vendor/autoload.php b/vendor/autoload.php index e12181286bb..4d2e2cb0915 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 ComposerAutoloaderInit68b9c3caf5bc49fdc0a10057e30efb6d::getLoader(); +return ComposerAutoloaderInitebf478da959bcf9aa9dc70a887e6d0ae::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 4328310fe19..caa8d7f29da 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit68b9c3caf5bc49fdc0a10057e30efb6d +class ComposerAutoloaderInitebf478da959bcf9aa9dc70a887e6d0ae { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInit68b9c3caf5bc49fdc0a10057e30efb6d return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit68b9c3caf5bc49fdc0a10057e30efb6d', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitebf478da959bcf9aa9dc70a887e6d0ae', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit68b9c3caf5bc49fdc0a10057e30efb6d', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitebf478da959bcf9aa9dc70a887e6d0ae', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae::$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 2992fb90aaa..b9895f78cd5 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d +class ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -3004,9 +3004,9 @@ class ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit68b9c3caf5bc49fdc0a10057e30efb6d::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInitebf478da959bcf9aa9dc70a887e6d0ae::$classMap; }, null, ClassLoader::class); }