(cls: type)
| 1528 | |
| 1529 | def all_hascachekey_subclasses(ignore_subclasses=()): |
| 1530 | def find_subclasses(cls: type): |
| 1531 | for s in class_hierarchy(cls): |
| 1532 | if ( |
| 1533 | # class_hierarchy may return values that |
| 1534 | # aren't subclasses of cls |
| 1535 | not issubclass(s, cls) |
| 1536 | or "_traverse_internals" not in s.__dict__ |
| 1537 | or any(issubclass(s, ignore) for ignore in ignore_subclasses) |
| 1538 | ): |
| 1539 | continue |
| 1540 | yield s |
| 1541 | |
| 1542 | return dict.fromkeys(find_subclasses(HasCacheKey)) |
| 1543 |
no test coverage detected