Skip to content

Commit f2bf92b

Browse files
committed
fix
1 parent c767265 commit f2bf92b

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/Analyser/NodeScopeResolver.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4278,6 +4278,7 @@ private function processClosureNode(
42784278

42794279
$gatheredReturnStatements[] = new ReturnStatement($scope, $node);
42804280
};
4281+
42814282
if (count($byRefUses) === 0) {
42824283
$statementResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, $closureStmtsCallback, StatementContext::createTopLevel());
42834284
$nodeCallback(new ClosureReturnStatementsNode(
@@ -4296,6 +4297,9 @@ private function processClosureNode(
42964297
$intermediaryClosureScopeResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, static function (): void {
42974298
}, StatementContext::createTopLevel());
42984299
$intermediaryClosureScope = $intermediaryClosureScopeResult->getScope();
4300+
foreach ($intermediaryClosureScopeResult->getExitPoints() as $exitPoint) {
4301+
$intermediaryClosureScope = $intermediaryClosureScope->mergeWith($exitPoint->getScope());
4302+
}
42994303

43004304
$statementResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, $closureStmtsCallback, StatementContext::createTopLevel());
43014305
$nodeCallback(new ClosureReturnStatementsNode(

0 commit comments

Comments
 (0)