Skip to content

Commit 1100eab

Browse files
committed
Autowire FiberNodeScopeResolver where NodeScopeResolver is expected (when FNSR is enabled)
1 parent 01737c5 commit 1100eab

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

src/DependencyInjection/FnsrExtension.php

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use PHPStan\Analyser\Analyser;
99
use PHPStan\Analyser\Fiber\FiberNodeScopeResolver;
1010
use PHPStan\Analyser\FileAnalyser;
11+
use PHPStan\Analyser\NodeScopeResolver;
1112
use PHPStan\ShouldNotHappenException;
1213
use function getenv;
1314

@@ -23,17 +24,11 @@ public function beforeCompile()
2324
}
2425

2526
$builder = $this->getContainerBuilder();
26-
$analyserDef = $builder->getDefinitionByType(Analyser::class);
27-
if (!$analyserDef instanceof ServiceDefinition) {
28-
throw new ShouldNotHappenException();
29-
}
30-
$analyserDef->setArgument('nodeScopeResolver', '@' . FiberNodeScopeResolver::class);
27+
$nodeScopeResolverDef = $builder->getDefinitionByType(NodeScopeResolver::class);
28+
$nodeScopeResolverDef->setAutowired(false);
3129

32-
$fileAnalyserDef = $builder->getDefinitionByType(FileAnalyser::class);
33-
if (!$fileAnalyserDef instanceof ServiceDefinition) {
34-
throw new ShouldNotHappenException();
35-
}
36-
$fileAnalyserDef->setArgument('nodeScopeResolver', '@' . FiberNodeScopeResolver::class);
30+
$fiberNodeScopeResolverDef = $builder->getDefinitionByType(FiberNodeScopeResolver::class);
31+
$fiberNodeScopeResolverDef->setAutowired([NodeScopeResolver::class, FiberNodeScopeResolver::class]);
3732
}
3833

3934
}

0 commit comments

Comments
 (0)