Skip to content

Commit 2b0d539

Browse files
committed
NodeScopeResolver uses #[AutowiredService]
1 parent abdd72f commit 2b0d539

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

conf/config.neon

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -245,21 +245,6 @@ services:
245245
class: PHPStan\PhpDoc\TypeNodeResolverExtensionRegistryProvider
246246
factory: PHPStan\PhpDoc\LazyTypeNodeResolverExtensionRegistryProvider
247247

248-
-
249-
class: PHPStan\Analyser\NodeScopeResolver
250-
arguments:
251-
parser: @defaultAnalysisParser
252-
reflector: @nodeScopeResolverReflector
253-
polluteScopeWithLoopInitialAssignments: %polluteScopeWithLoopInitialAssignments%
254-
polluteScopeWithAlwaysIterableForeach: %polluteScopeWithAlwaysIterableForeach%
255-
polluteScopeWithBlock: %polluteScopeWithBlock%
256-
earlyTerminatingMethodCalls: %earlyTerminatingMethodCalls%
257-
earlyTerminatingFunctionCalls: %earlyTerminatingFunctionCalls%
258-
implicitThrows: %exceptions.implicitThrows%
259-
treatPhpDocTypesAsCertain: %treatPhpDocTypesAsCertain%
260-
universalObjectCratesClasses: %universalObjectCratesClasses%
261-
narrowMethodScopeFromConstructor: true
262-
263248
-
264249
class: PHPStan\Analyser\ConstantResolver
265250
factory: @PHPStan\Analyser\ConstantResolverFactory::create()

src/Analyser/NodeScopeResolver.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
use PHPStan\BetterReflection\Reflector\Reflector;
6363
use PHPStan\BetterReflection\SourceLocator\Ast\Strategy\NodeToReflection;
6464
use PHPStan\BetterReflection\SourceLocator\Located\LocatedSource;
65+
use PHPStan\DependencyInjection\AutowiredParameter;
66+
use PHPStan\DependencyInjection\AutowiredService;
6567
use PHPStan\DependencyInjection\Reflection\ClassReflectionExtensionRegistryProvider;
6668
use PHPStan\DependencyInjection\Type\DynamicThrowTypeExtensionProvider;
6769
use PHPStan\DependencyInjection\Type\ParameterClosureTypeExtensionProvider;
@@ -223,6 +225,7 @@
223225
use const PHP_VERSION_ID;
224226
use const SORT_NUMERIC;
225227

228+
#[AutowiredService]
226229
final class NodeScopeResolver
227230
{
228231

@@ -249,9 +252,11 @@ final class NodeScopeResolver
249252
public function __construct(
250253
private readonly ReflectionProvider $reflectionProvider,
251254
private readonly InitializerExprTypeResolver $initializerExprTypeResolver,
255+
#[AutowiredParameter(ref: '@nodeScopeResolverReflector')]
252256
private readonly Reflector $reflector,
253257
private readonly ClassReflectionExtensionRegistryProvider $classReflectionExtensionRegistryProvider,
254258
private readonly ParameterOutTypeExtensionProvider $parameterOutTypeExtensionProvider,
259+
#[AutowiredParameter(ref: '@defaultAnalysisParser')]
255260
private readonly Parser $parser,
256261
private readonly FileTypeMapper $fileTypeMapper,
257262
private readonly StubPhpDocProvider $stubPhpDocProvider,
@@ -266,15 +271,23 @@ public function __construct(
266271
private readonly ReadWritePropertiesExtensionProvider $readWritePropertiesExtensionProvider,
267272
private readonly ParameterClosureTypeExtensionProvider $parameterClosureTypeExtensionProvider,
268273
private readonly ScopeFactory $scopeFactory,
274+
#[AutowiredParameter]
269275
private readonly bool $polluteScopeWithLoopInitialAssignments,
276+
#[AutowiredParameter]
270277
private readonly bool $polluteScopeWithAlwaysIterableForeach,
278+
#[AutowiredParameter]
271279
private readonly bool $polluteScopeWithBlock,
280+
#[AutowiredParameter]
272281
private readonly array $earlyTerminatingMethodCalls,
282+
#[AutowiredParameter]
273283
private readonly array $earlyTerminatingFunctionCalls,
284+
#[AutowiredParameter]
274285
private readonly array $universalObjectCratesClasses,
286+
#[AutowiredParameter(ref: '%exceptions.implicitThrows%')]
275287
private readonly bool $implicitThrows,
288+
#[AutowiredParameter]
276289
private readonly bool $treatPhpDocTypesAsCertain,
277-
private readonly bool $narrowMethodScopeFromConstructor,
290+
private readonly bool $narrowMethodScopeFromConstructor = true,
278291
)
279292
{
280293
$earlyTerminatingMethodNames = [];

0 commit comments

Comments
 (0)