File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -81,6 +81,9 @@ class ClassReflection implements ReflectionWithFilename
8181/** @var string|null */
8282private $ cacheKey ;
8383
84+ /** @var array<string, bool> */
85+ private $ subclasses = [];
86+
8487/**
8588 * @param \PHPStan\Reflection\ReflectionProvider $reflectionProvider
8689 * @param \PHPStan\Type\FileTypeMapper $fileTypeMapper
@@ -439,11 +442,15 @@ public function isAnonymous(): bool
439442
440443public function isSubclassOf (string $ className ): bool
441444{
445+ if (isset ($ this ->subclasses [$ className ])) {
446+ return $ this ->subclasses [$ className ];
447+ }
448+
442449if (!$ this ->reflectionProvider ->hasClass ($ className )) {
443- return false ;
450+ return $ this -> subclasses [ $ className ] = false ;
444451}
445452
446- return $ this ->reflection ->isSubclassOf ($ className );
453+ return $ this ->subclasses [ $ className ] = $ this -> reflection ->isSubclassOf ($ className );
447454}
448455
449456/**
You can’t perform that action at this time.
0 commit comments