/** * * @param ClassReflection $class * @return ClassReflection[] */ private function getInterfaces(ClassReflection $class) { $classes = []; foreach ($class->getInterfaces() as $interface) { $classes = array_merge($classes, $this->getInterfaces($interface)); } if ($class->isUserDefined() && $class->isInterface() && !in_array($class->getName(), $this->seen)) { $this->seen[] = $class->getName(); $classes[] = $class; } return $classes; }