nodeRepository = $nodeRepository; } /** * @return array */ public function resolveFromClassReflection(\PHPStan\Reflection\ClassReflection $classReflection) : array { $parentClassLikes = []; foreach ($classReflection->getAncestors() as $ancestorClassReflectoin) { $parentClass = $this->nodeRepository->findClass($ancestorClassReflectoin->getName()); if ($parentClass instanceof \PhpParser\Node\Stmt\Class_) { $parentClassLikes[] = $parentClass; } $parentInterface = $this->nodeRepository->findInterface($ancestorClassReflectoin->getName()); if ($parentInterface instanceof \PhpParser\Node\Stmt\Interface_) { $parentClassLikes[] = $parentInterface; } } return $parentClassLikes; } }