From 93efaa2dcc174dbed109e09096e7e5288170b9b5 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Sat, 2 Dec 2023 19:56:06 +0000 Subject: [PATCH] Updated Rector to commit 3b84030d093b9896615f640ad0e361c923af8953 https://github.com/rectorphp/rector-src/commit/3b84030d093b9896615f640ad0e361c923af8953 [TypeDeclaration] Skip return void in abstract empty class in AddVoidReturnTypeWhereNoReturnRector (#5311) --- .../AddVoidReturnTypeWhereNoReturnRector.php | 10 +++++++++- src/Application/VersionResolver.php | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php b/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php index 0508367ae69..2aa06f4b316 100644 --- a/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php +++ b/rules/TypeDeclaration/Rector/ClassMethod/AddVoidReturnTypeWhereNoReturnRector.php @@ -115,7 +115,7 @@ CODE_SAMPLE if ($functionLike->isProtected()) { return !$this->isInsideFinalClass($functionLike); } - return \false; + return $this->isInsideAbstractClass($functionLike) && $functionLike->getStmts() === []; } private function isInsideFinalClass(ClassMethod $classMethod) : bool { @@ -125,4 +125,12 @@ CODE_SAMPLE } return $classReflection->isFinalByKeyword(); } + private function isInsideAbstractClass(ClassMethod $classMethod) : bool + { + $classReflection = $this->reflectionResolver->resolveClassReflection($classMethod); + if (!$classReflection instanceof ClassReflection) { + return \false; + } + return $classReflection->isAbstract(); + } } diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 9686f79a9e7..f30def3fdf7 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 = 'cd9ea2c717511f81e7bb7298a62f8ea558441a37'; + public const PACKAGE_VERSION = '3b84030d093b9896615f640ad0e361c923af8953'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-12-02 13:40:42'; + public const RELEASE_DATE = '2023-12-02 19:53:58'; /** * @var int */