Support multiple inheritance
The core functionality is to calculate and store tp_mro and tp_bases instead of just tp_base. This gives the runtime a bit harder of a time to bootstrap itself since now a fully-built class depends on a few more classes, so the bootstrapping section got larger: - object_cls (base of the tp_base hierarchy) - type_cls (base of the metaclass hierarchy) - str_cls (for ht_name) - tuple_cls (for tp_mro) - list_cls (for calculating the mro) There were a few places that needed to be updated now that we have multiple inheritance: - typeLookup() - isSubclass() - typeNew() - super() This change doesn't even attempt to add multiple inheritance rules around old-style classes.
Showing
This diff is collapsed.
Please register or sign in to comment