From 8788ad0ae43d621e1a8ef04698fc9fa1324e51d0 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 21 Feb 2026 11:54:42 +0100 Subject: [PATCH 1/2] Simplify throw processing --- src/Analyser/NodeScopeResolver.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index 4751e203a99..01d294d3e2a 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -1887,8 +1887,13 @@ private function processStmtNode( foreach ($stmt->catches as $catchNode) { $this->callNodeCallback($nodeCallback, $catchNode, $scope, $storage); - $originalCatchTypes = array_map(static fn (Name $name): Type => new ObjectType($name->toString()), $catchNode->types); - $catchTypes = array_map(static fn (Type $type): Type => TypeCombinator::remove($type, $pastCatchTypes), $originalCatchTypes); + $originalCatchTypes = []; + $catchTypes = []; + foreach($catchNode->types as $catchNodeType) { + $catchType = new ObjectType($catchNodeType->toString()); + $originalCatchTypes[] = $catchType; + $catchTypes[] = TypeCombinator::remove($catchType, $pastCatchTypes); + } $originalCatchType = TypeCombinator::union(...$originalCatchTypes); $catchType = TypeCombinator::union(...$catchTypes); From ebea7af4e6430ff99f959981b7140985ac36b560 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 21 Feb 2026 12:15:16 +0100 Subject: [PATCH 2/2] cs --- src/Analyser/NodeScopeResolver.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index 01d294d3e2a..42b67f7f9a3 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -1889,7 +1889,7 @@ private function processStmtNode( $originalCatchTypes = []; $catchTypes = []; - foreach($catchNode->types as $catchNodeType) { + foreach ($catchNode->types as $catchNodeType) { $catchType = new ObjectType($catchNodeType->toString()); $originalCatchTypes[] = $catchType; $catchTypes[] = TypeCombinator::remove($catchType, $pastCatchTypes);