Skip to content

Commit

Permalink
Merge pull request #39 from nimah79/3.x
Browse files Browse the repository at this point in the history
Fix: Argument #11 ($attributeReflectionFactory) must be of type AttributeReflectionFactory
  • Loading branch information
nunomaduro authored Feb 12, 2025
2 parents 0a1bddf + 5f7aa5d commit d028238
Showing 1 changed file with 31 additions and 1 deletion.
32 changes: 31 additions & 1 deletion src/PHPStanAnalyser.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
use PHPStan\Php\PhpVersion;
use PHPStan\PhpDoc\PhpDocInheritanceResolver;
use PHPStan\PhpDoc\StubPhpDocProvider;
use PHPStan\Reflection\AttributeReflectionFactory;
use PHPStan\Reflection\InitializerExprTypeResolver;
use PHPStan\Reflection\ReflectionProvider;
use PHPStan\Reflection\SignatureMap\SignatureMapProvider;
Expand Down Expand Up @@ -53,7 +54,36 @@ public static function make(Container $container, array $rules, array $collector
$scopeFactory = TestCaseForTypeCoverage::createScopeFactory($reflectionProvider, $typeSpecifier); // @phpstan-ignore-line

$version = InstalledVersions::getPrettyVersion('phpstan/phpstan') ?? InstalledVersions::getPrettyVersion('phpstan/phpstan-src');
if ($version !== null && mb_strpos($version, '2.') === 0) {
if ($version !== null && version_compare($version, '2.1.3', '>=')) {
$nodeScopeResolver = new NodeScopeResolver( // @phpstan-ignore-line
$reflectionProvider,
$container->getByType(InitializerExprTypeResolver::class),
$container->getService('betterReflectionReflector'), // @phpstan-ignore-line
$container->getByType(ClassReflectionExtensionRegistryProvider::class),
$container->getByType(ParameterOutTypeExtensionProvider::class),
$container->getService('defaultAnalysisParser'), // @phpstan-ignore-line
$container->getByType(FileTypeMapper::class),
$container->getByType(StubPhpDocProvider::class),
$container->getByType(PhpVersion::class),
$container->getByType(SignatureMapProvider::class),
$container->getByType(AttributeReflectionFactory::class),
$container->getByType(PhpDocInheritanceResolver::class),
$container->getByType(FileHelper::class),
$typeSpecifier, // @phpstan-ignore-line
$container->getByType(DynamicThrowTypeExtensionProvider::class),
$container->getByType(ReadWritePropertiesExtensionProvider::class),
$container->getByType(ParameterClosureTypeExtensionProvider::class),
$scopeFactory,
false,
true,
true, // @phpstan-ignore-line
[],
[],
[], // @phpstan-ignore-line
true,
true,
);
} elseif ($version !== null && version_compare($version, '2.0.0', '>=')) {
$nodeScopeResolver = new NodeScopeResolver( // @phpstan-ignore-line
$reflectionProvider,
$container->getByType(InitializerExprTypeResolver::class),
Expand Down

0 comments on commit d028238

Please sign in to comment.