diff --git a/packages/NodeTypeResolver/NodeTypeResolver.php b/packages/NodeTypeResolver/NodeTypeResolver.php index af0483cefc7..946a90484b8 100644 --- a/packages/NodeTypeResolver/NodeTypeResolver.php +++ b/packages/NodeTypeResolver/NodeTypeResolver.php @@ -353,13 +353,13 @@ private function isObjectTypeOfObjectType(ObjectType $resolvedObjectType, Object $requiredClassReflection = $this->reflectionProvider->getClass($requiredClassName); - if (! $this->reflectionProvider->hasClass($resolvedClassName)) { - return false; - } - - $resolvedClassReflection = $this->reflectionProvider->getClass($resolvedClassName); - if ($requiredClassReflection->isTrait()) { + if (! $this->reflectionProvider->hasClass($resolvedClassName)) { + return false; + } + + $resolvedClassReflection = $this->reflectionProvider->getClass($resolvedClassName); + foreach ($resolvedClassReflection->getAncestors() as $ancestorClassReflection) { if ($ancestorClassReflection->hasTraitUse($requiredClassName)) { return true;