We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 95c8f72 commit b7c24ddCopy full SHA for b7c24dd
1 file changed
src/Type/Generic/GenericObjectType.php
@@ -19,6 +19,7 @@
19
use PHPStan\Type\IntersectionType;
20
use PHPStan\Type\IsSuperTypeOfResult;
21
use PHPStan\Type\ObjectType;
22
+use PHPStan\Type\RecursionGuard;
23
use PHPStan\Type\Type;
24
use PHPStan\Type\TypeWithClassName;
25
use PHPStan\Type\UnionType;
@@ -95,7 +96,11 @@ public function getReferencedClasses(): array
95
96
{
97
$classes = parent::getReferencedClasses();
98
foreach ($this->types as $type) {
- foreach ($type->getReferencedClasses() as $referencedClass) {
99
+ $referencedClasses = RecursionGuard::runOnObjectIdentity($type, static fn() => $type->getReferencedClasses());
100
+ if ($referencedClasses instanceof ErrorType) {
101
+ continue;
102
+ }
103
+ foreach ($referencedClasses as $referencedClass) {
104
$classes[] = $referencedClass;
105
}
106
0 commit comments