
Hi! Pretend I have classes: class A(object): pass class B(object): pass class C(A,B): pass class D(object): pass The MRO linearizations are: L(object) = [object] L(A) = [A, object] L(B) = [B, object] L(C) = [C, A, B, object] L(D) = [D, object] I'll say that L(X) > L(Y) if every c in L(Y) occurs in L(X). By that rule L(C) and L(D) are maximal linearizations. I want to write an analysis which would work best if I could gather up all the linearization of all classes in a possibly large package distributed over possibly many files and find only the maximal linearizations. This is really a kind of whole-program analysis. I don't believe that this fits the pylint model very well, since it is reasonable to expect that pylint would be run separately on each individual file in a library. Are there other analyses around that make use of astroid and are more whole-program like? Thanks! - mulhern