Returns a recursive set of all subclasses of a class
(cls: type[T])
| 41 | |
| 42 | |
| 43 | def all_subclasses(cls: type[T]) -> set[type[T]]: |
| 44 | """Returns a recursive set of all subclasses of a class""" |
| 45 | sc = cls.__subclasses__() |
| 46 | return set(sc).union([subclass for c in sc for subclass in all_subclasses(c)]) |
| 47 | |
| 48 | |
| 49 | NAUGHTY_STRINGS = None |