From c6cecac9f8059b3dacc911f9e631803ed170f451 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 21 Feb 2024 07:47:43 +0000 Subject: [PATCH] Updated Rector to commit 3b44873d14db5c15a33147bc6aa395e95ec17def https://github.com/rectorphp/rector-src/commit/3b44873d14db5c15a33147bc6aa395e95ec17def [Renaming] Handle crash on RenameFunctionRector with die() and $_SESSION part 2 (#5647) --- src/Application/VersionResolver.php | 4 ++-- .../UnreachableStatementNodeVisitor.php | 17 ++--------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 17a7e5e663f..5f266f60e46 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 = '00876daa5dbda14d26b36b8c4365362b7e1cb7ac'; + public const PACKAGE_VERSION = '3b44873d14db5c15a33147bc6aa395e95ec17def'; /** * @api * @var string */ - public const RELEASE_DATE = '2024-02-21 03:24:01'; + public const RELEASE_DATE = '2024-02-21 14:45:26'; /** * @var int */ diff --git a/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php b/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php index 6b749da034e..990a500a3d4 100644 --- a/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php +++ b/src/PHPStan/NodeVisitor/UnreachableStatementNodeVisitor.php @@ -4,11 +4,8 @@ declare (strict_types=1); namespace Rector\PHPStan\NodeVisitor; use PhpParser\Node; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\Exit_; use PhpParser\Node\Stmt\ClassLike; use PhpParser\Node\Stmt\Declare_; -use PhpParser\Node\Stmt\Expression; use PhpParser\NodeVisitorAbstract; use PHPStan\Analyser\MutatingScope; use PHPStan\Analyser\Scope; @@ -50,10 +47,8 @@ final class UnreachableStatementNodeVisitor extends NodeVisitorAbstract $isPassedUnreachableStmt = \false; $mutatingScope = $this->resolveScope($node->getAttribute(AttributeKey::SCOPE)); foreach ($node->stmts as $stmt) { - if ($stmt instanceof Expression && $stmt->expr instanceof Exit_) { - $isPassedUnreachableStmt = \true; - $this->processExitScope($stmt->expr, $stmt, $mutatingScope); - continue; + if (!$stmt->getAttribute(AttributeKey::SCOPE) instanceof MutatingScope) { + $this->phpStanNodeScopeResolver->processNodes([$stmt], $this->filePath, $mutatingScope); } if ($stmt->getAttribute(AttributeKey::IS_UNREACHABLE) === \true) { $isPassedUnreachableStmt = \true; @@ -62,18 +57,10 @@ final class UnreachableStatementNodeVisitor extends NodeVisitorAbstract if ($isPassedUnreachableStmt) { $stmt->setAttribute(AttributeKey::IS_UNREACHABLE, \true); $stmt->setAttribute(AttributeKey::SCOPE, $mutatingScope); - $this->phpStanNodeScopeResolver->processNodes([$stmt], $this->filePath, $mutatingScope); } } return null; } - private function processExitScope(Exit_ $exit, Expression $expression, MutatingScope $mutatingScope) : void - { - if ($exit->expr instanceof Expr && !$exit->expr->getAttribute(AttributeKey::SCOPE) instanceof MutatingScope) { - $expression->setAttribute(AttributeKey::SCOPE, $mutatingScope); - $this->phpStanNodeScopeResolver->processNodes([$expression], $this->filePath, $mutatingScope); - } - } private function resolveScope(?Scope $mutatingScope) : MutatingScope { return $mutatingScope instanceof MutatingScope ? $mutatingScope : $this->scopeFactory->createFromFile($this->filePath);