module

Noir::PythonMRO

Constants

MAX_DEPTH = 10

Class methods

linearize(root : T, &bases : T -> Array(T)) : Array(T) forall T

Python's C3 method resolution order of root: the class first, then its bases such that every class precedes its own bases and the base lists keep their left-to-right order (class D(L, R) with L(B), R(B) is D, L, R, B). bases yields a class's direct bases that can be resolved; unresolvable ones are left out. A hierarchy C3 rejects falls back to the remaining classes in base order.

Source