Skip to content

Commit b7c24dd

Browse files
committed
Update GenericObjectType.php
1 parent 95c8f72 commit b7c24dd

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/Type/Generic/GenericObjectType.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use PHPStan\Type\IntersectionType;
2020
use PHPStan\Type\IsSuperTypeOfResult;
2121
use PHPStan\Type\ObjectType;
22+
use PHPStan\Type\RecursionGuard;
2223
use PHPStan\Type\Type;
2324
use PHPStan\Type\TypeWithClassName;
2425
use PHPStan\Type\UnionType;
@@ -95,7 +96,11 @@ public function getReferencedClasses(): array
9596
{
9697
$classes = parent::getReferencedClasses();
9798
foreach ($this->types as $type) {
98-
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) {
99104
$classes[] = $referencedClass;
100105
}
101106
}

0 commit comments

Comments
 (0)