From ec1b3734ffb7f7ebf608500291042bcc150aa427 Mon Sep 17 00:00:00 2001 From: Anton Date: Sat, 8 Mar 2025 10:05:01 +0100 Subject: [PATCH] bugfix: file analyzer class for phpstan version 2.1.7 --- src/PHPStanAnalyser.php | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/PHPStanAnalyser.php b/src/PHPStanAnalyser.php index 2820243..d06199d 100644 --- a/src/PHPStanAnalyser.php +++ b/src/PHPStanAnalyser.php @@ -8,6 +8,7 @@ use PhpParser\Node; use PHPStan\Analyser\Analyser; use PHPStan\Analyser\FileAnalyser; +use PHPStan\Analyser\IgnoreErrorExtensionProvider; use PHPStan\Analyser\LocalIgnoresProcessor; use PHPStan\Analyser\NodeScopeResolver; use PHPStan\Analyser\RuleErrorTransformer; @@ -144,14 +145,26 @@ public static function make(Container $container, array $rules, array $collector ); } - $fileAnalyser = new FileAnalyser( - $scopeFactory, - $nodeScopeResolver, - $container->getService('defaultAnalysisParser'), // @phpstan-ignore-line - $container->getByType(DependencyResolver::class), - new RuleErrorTransformer, - $container->getByType(LocalIgnoresProcessor::class), - ); + if ($version !== null && version_compare($version, '2.1.7', '>=')) { + $fileAnalyser = new FileAnalyser( + $scopeFactory, + $nodeScopeResolver, + $container->getService('defaultAnalysisParser'), // @phpstan-ignore-line + $container->getByType(DependencyResolver::class), + new IgnoreErrorExtensionProvider($container), + new RuleErrorTransformer, + $container->getByType(LocalIgnoresProcessor::class), + ); + } else { + $fileAnalyser = new FileAnalyser( + $scopeFactory, + $nodeScopeResolver, + $container->getService('defaultAnalysisParser'), // @phpstan-ignore-line + $container->getByType(DependencyResolver::class), + new RuleErrorTransformer, + $container->getByType(LocalIgnoresProcessor::class), + ); + } return new Analyser($fileAnalyser, $ruleRegistry, $collectorRegistry, $nodeScopeResolver, 9_999_999_999_999); }