From 63078d99b045a56afc05ba20658afa580dfedc6f Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Thu, 1 Oct 2026 13:41:31 +0200 Subject: [PATCH] Use DependencyTracker::trackValueDependency() Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01GdwtgiEHwkF5BTz73jgHQQ --- .../Symfony/ContainerInterfacePrivateServiceRule.php | 6 +++--- .../Symfony/ContainerInterfaceUnknownServiceRule.php | 6 +++--- .../MessengerHandleTraitReturnTypeExtension.php | 6 +++--- ...essengerHandleTraitWrapperReturnTypeExtension.php | 6 +++--- .../Symfony/ParameterDynamicReturnTypeExtension.php | 12 ++++++------ .../Symfony/ServiceDynamicReturnTypeExtension.php | 12 ++++++------ 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/Rules/Symfony/ContainerInterfacePrivateServiceRule.php b/src/Rules/Symfony/ContainerInterfacePrivateServiceRule.php index cc5120a8..bda76d3c 100644 --- a/src/Rules/Symfony/ContainerInterfacePrivateServiceRule.php +++ b/src/Rules/Symfony/ContainerInterfacePrivateServiceRule.php @@ -4,7 +4,7 @@ use PhpParser\Node; use PhpParser\Node\Expr\MethodCall; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\Rules\Rule; use PHPStan\Rules\RuleErrorBuilder; @@ -34,7 +34,7 @@ public function getNodeType(): string } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function processNode(Node $node, Scope $scope): array { @@ -71,7 +71,7 @@ public function processNode(Node $node, Scope $scope): array $serviceId = $this->serviceMap::getServiceIdFromNode($node->getArgs()[0]->value, $scope); if ($serviceId !== null) { - $scope->valueDependency(ServiceResultCacheValueExtension::class, $serviceId); + $scope->trackValueDependency(ServiceResultCacheValueExtension::class, $serviceId); $service = $this->serviceMap->getService($serviceId); if ($service !== null && !$service->isPublic()) { return [ diff --git a/src/Rules/Symfony/ContainerInterfaceUnknownServiceRule.php b/src/Rules/Symfony/ContainerInterfaceUnknownServiceRule.php index 128dcc5d..2bad6ee5 100644 --- a/src/Rules/Symfony/ContainerInterfaceUnknownServiceRule.php +++ b/src/Rules/Symfony/ContainerInterfaceUnknownServiceRule.php @@ -4,7 +4,7 @@ use PhpParser\Node; use PhpParser\Node\Expr\MethodCall; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\Node\Printer\Printer; use PHPStan\Rules\Rule; @@ -37,7 +37,7 @@ public function getNodeType(): string } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function processNode(Node $node, Scope $scope): array { @@ -70,7 +70,7 @@ public function processNode(Node $node, Scope $scope): array $serviceId = $this->serviceMap::getServiceIdFromNode($node->getArgs()[0]->value, $scope); if ($serviceId !== null) { - $scope->valueDependency(ServiceResultCacheValueExtension::class, $serviceId); + $scope->trackValueDependency(ServiceResultCacheValueExtension::class, $serviceId); $service = $this->serviceMap->getService($serviceId); $serviceIdType = $scope->getType($node->getArgs()[0]->value); if ($service === null && !$scope->getType(Helper::createMarkerNode($node->var, $serviceIdType, $this->printer))->equals($serviceIdType)) { diff --git a/src/Type/Symfony/MessengerHandleTraitReturnTypeExtension.php b/src/Type/Symfony/MessengerHandleTraitReturnTypeExtension.php index fb50b097..eed20b6e 100644 --- a/src/Type/Symfony/MessengerHandleTraitReturnTypeExtension.php +++ b/src/Type/Symfony/MessengerHandleTraitReturnTypeExtension.php @@ -5,7 +5,7 @@ use PhpParser\Node\Expr; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Identifier; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\Symfony\MessageMap; use PHPStan\Symfony\MessageMapFactory; @@ -32,7 +32,7 @@ public function __construct(MessageMapFactory $symfonyMessageMapFactory) } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function getType(Expr $expr, Scope $scope): ?Type { @@ -56,7 +56,7 @@ public function getType(Expr $expr, Scope $scope): ?Type $returnTypes = []; foreach ($argClassNames as $argClassName) { - $scope->valueDependency(MessageResultCacheValueExtension::class, $argClassName); + $scope->trackValueDependency(MessageResultCacheValueExtension::class, $argClassName); $returnType = $messageMap->getTypeForClass($argClassName); if (is_null($returnType)) { diff --git a/src/Type/Symfony/MessengerHandleTraitWrapperReturnTypeExtension.php b/src/Type/Symfony/MessengerHandleTraitWrapperReturnTypeExtension.php index 1e259ed6..72d29afd 100644 --- a/src/Type/Symfony/MessengerHandleTraitWrapperReturnTypeExtension.php +++ b/src/Type/Symfony/MessengerHandleTraitWrapperReturnTypeExtension.php @@ -5,7 +5,7 @@ use PhpParser\Node\Expr; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Identifier; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\Reflection\ReflectionProvider; use PHPStan\Symfony\MessageMap; @@ -49,7 +49,7 @@ public function __construct(MessageMapFactory $messageMapFactory, ?array $messen } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function getType(Expr $expr, Scope $scope): ?Type { @@ -72,7 +72,7 @@ public function getType(Expr $expr, Scope $scope): ?Type $returnTypes = []; foreach ($argClassNames as $argClassName) { $messageMap = $this->getMessageMap(); - $scope->valueDependency(MessageResultCacheValueExtension::class, $argClassName); + $scope->trackValueDependency(MessageResultCacheValueExtension::class, $argClassName); $returnType = $messageMap->getTypeForClass($argClassName); if (is_null($returnType)) { diff --git a/src/Type/Symfony/ParameterDynamicReturnTypeExtension.php b/src/Type/Symfony/ParameterDynamicReturnTypeExtension.php index 70187b82..a05cfb1f 100644 --- a/src/Type/Symfony/ParameterDynamicReturnTypeExtension.php +++ b/src/Type/Symfony/ParameterDynamicReturnTypeExtension.php @@ -3,7 +3,7 @@ namespace PHPStan\Type\Symfony; use PhpParser\Node\Expr\MethodCall; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\PhpDoc\TypeStringResolver; use PHPStan\Reflection\MethodReflection; @@ -89,7 +89,7 @@ public function isMethodSupported(MethodReflection $methodReflection): bool } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): ?Type { @@ -103,7 +103,7 @@ public function getTypeFromMethodCall(MethodReflection $methodReflection, Method } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ private function getGetTypeFromMethodCall( MethodCall $methodCall, @@ -131,7 +131,7 @@ private function getGetTypeFromMethodCall( $returnTypes = []; foreach ($parameterKeys as $parameterKey) { - $scope->valueDependency(ParameterResultCacheValueExtension::class, $parameterKey); + $scope->trackValueDependency(ParameterResultCacheValueExtension::class, $parameterKey); $parameter = $this->parameterMap->getParameter($parameterKey); if ($parameter === null) { return $defaultReturnType; @@ -212,7 +212,7 @@ private function generalizeType(Type $type): Type } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ private function getHasTypeFromMethodCall( MethodCall $methodCall, @@ -230,7 +230,7 @@ private function getHasTypeFromMethodCall( $has = null; foreach ($parameterKeys as $parameterKey) { - $scope->valueDependency(ParameterResultCacheValueExtension::class, $parameterKey); + $scope->trackValueDependency(ParameterResultCacheValueExtension::class, $parameterKey); $parameter = $this->parameterMap->getParameter($parameterKey); if ($has === null) { diff --git a/src/Type/Symfony/ServiceDynamicReturnTypeExtension.php b/src/Type/Symfony/ServiceDynamicReturnTypeExtension.php index cf28430b..88df1943 100644 --- a/src/Type/Symfony/ServiceDynamicReturnTypeExtension.php +++ b/src/Type/Symfony/ServiceDynamicReturnTypeExtension.php @@ -3,7 +3,7 @@ namespace PHPStan\Type\Symfony; use PhpParser\Node\Expr\MethodCall; -use PHPStan\Analyser\DependencyEmitter; +use PHPStan\Analyser\DependencyTracker; use PHPStan\Analyser\Scope; use PHPStan\Reflection\MethodReflection; use PHPStan\ShouldNotHappenException; @@ -61,7 +61,7 @@ public function isMethodSupported(MethodReflection $methodReflection): bool } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ public function getTypeFromMethodCall(MethodReflection $methodReflection, MethodCall $methodCall, Scope $scope): ?Type { @@ -75,7 +75,7 @@ public function getTypeFromMethodCall(MethodReflection $methodReflection, Method } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ private function getGetTypeFromMethodCall( MethodCall $methodCall, @@ -93,7 +93,7 @@ private function getGetTypeFromMethodCall( $serviceId = $this->serviceMap::getServiceIdFromNode($methodCall->getArgs()[0]->value, $scope); if ($serviceId !== null) { - $scope->valueDependency(ServiceResultCacheValueExtension::class, $serviceId); + $scope->trackValueDependency(ServiceResultCacheValueExtension::class, $serviceId); $service = $this->serviceMap->getService($serviceId); if ($service !== null && (!$service->isSynthetic() || $service->getClass() !== null)) { return new ObjectType($this->determineServiceClass($parameterBag, $service) ?? $serviceId); @@ -128,7 +128,7 @@ private function tryCreateParameterBag(): ?ParameterBag } /** - * @param Scope&DependencyEmitter $scope + * @param Scope&DependencyTracker $scope */ private function getHasTypeFromMethodCall( MethodCall $methodCall, @@ -141,7 +141,7 @@ private function getHasTypeFromMethodCall( $serviceId = $this->serviceMap::getServiceIdFromNode($methodCall->getArgs()[0]->value, $scope); if ($serviceId !== null) { - $scope->valueDependency(ServiceResultCacheValueExtension::class, $serviceId); + $scope->trackValueDependency(ServiceResultCacheValueExtension::class, $serviceId); $service = $this->serviceMap->getService($serviceId); return new ConstantBooleanType($service !== null && $service->isPublic()); }