def get_all_subclasses(cls: t.Type[T]) -> t.Iterable[t.Type['T']]:
"""Returns all subclasses of the given class.
Stolen from:
https://stackoverflow.com/questions/3862310/how-can-i-find-all-subclasses-of-a-class-given-its-name
:param cls: The parent class
:returns: A list of all subclasses
"""
all_subclasses = []
for subclass in cls.__subclasses__():
all_subclasses.append(subclass)
all_subclasses.extend(get_all_subclasses(subclass))
return all_subclasses
评论列表
文章目录