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
_______________________________________________
code-quality mailing list
code-quality@python.org
https://mail.python.org/mailman/listinfo/code-quality

Reply via email to