Skip to content

Commit 8bc2b84

Browse files
committed
Call ObjectType::resetCaches() in more cases
1 parent 1064566 commit 8bc2b84

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

src/DependencyInjection/ContainerFactory.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
use PHPStan\Reflection\ReflectionProvider;
3131
use PHPStan\Reflection\ReflectionProviderStaticAccessor;
3232
use PHPStan\ShouldNotHappenException;
33+
use PHPStan\Type\ObjectType;
3334
use function array_diff_key;
3435
use function array_intersect;
3536
use function array_key_exists;
@@ -194,6 +195,7 @@ public static function postInitializeContainer(Container $container): void
194195

195196
ReflectionProviderStaticAccessor::registerInstance($container->getByType(ReflectionProvider::class));
196197
PhpVersionStaticAccessor::registerInstance($container->getByType(PhpVersion::class));
198+
ObjectType::resetCaches();
197199
$container->getService('typeSpecifier');
198200

199201
BleedingEdgeToggle::setBleedingEdge($container->getParameter('featureToggles')['bleedingEdge']);

src/DependencyInjection/ValidateIgnoredErrorsExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use PHPStan\Reflection\ReflectionProviderStaticAccessor;
3232
use PHPStan\Type\Constant\OversizedArrayBuilder;
3333
use PHPStan\Type\DirectTypeAliasResolverProvider;
34+
use PHPStan\Type\ObjectType;
3435
use PHPStan\Type\OperatorTypeSpecifyingExtensionRegistry;
3536
use PHPStan\Type\Type;
3637
use PHPStan\Type\TypeAliasResolver;
@@ -203,6 +204,7 @@ public function getRegistry(): OperatorTypeSpecifyingExtensionRegistry
203204
if ($originalPhpVersion !== null) {
204205
PhpVersionStaticAccessor::registerInstance($originalPhpVersion);
205206
}
207+
ObjectType::resetCaches();
206208
}
207209
}
208210

src/PhpDoc/StubValidator.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
use PHPStan\Rules\Properties\MissingPropertyTypehintRule;
9898
use PHPStan\Rules\Registry as RuleRegistry;
9999
use PHPStan\Type\FileTypeMapper;
100+
use PHPStan\Type\ObjectType;
100101
use Throwable;
101102
use function array_fill_keys;
102103
use function count;
@@ -174,6 +175,7 @@ static function (): void {
174175
} finally {
175176
ReflectionProviderStaticAccessor::registerInstance($originalReflectionProvider);
176177
PhpVersionStaticAccessor::registerInstance($originalPhpVersion);
178+
ObjectType::resetCaches();
177179
}
178180

179181
return $errors;

src/Reflection/ReflectionProviderStaticAccessor.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
namespace PHPStan\Reflection;
44

5-
use PHPStan\Type\ObjectType;
6-
75
final class ReflectionProviderStaticAccessor
86
{
97

@@ -16,7 +14,6 @@ private function __construct()
1614
public static function registerInstance(ReflectionProvider $reflectionProvider): void
1715
{
1816
self::$instance = $reflectionProvider;
19-
ObjectType::resetCaches();
2017
}
2118

2219
public static function getInstance(): ReflectionProvider

0 commit comments

Comments
 (0)