Create a gist now

Instantly share code, notes, and snippets.

def yieldClass2(clazz:Class[_]): Iterator[Class[_]] = {
import scala.collection.{Iterator => I}
clazz match {
case null => I.empty
case _ =>
val interfaces = clazz.getInterfaces map { yieldClass2 } reduceLeft (_ ++ _)
I.single(clazz) ++ yieldClass2(clazz.getSuperclass) ++ interfaces
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment