From 0a086a89cde5f219a5cfabcb34a6e5598a2e6e18 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 22 Apr 2023 10:01:50 +0200 Subject: [PATCH] NodeTypeResolver: prevent unncessary reflection calls (#3647) --- packages/NodeTypeResolver/NodeTypeResolver.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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;