This causes builds to happen in sorted order rather than in
declaration order. This gets annoying when you make a global change
and then you notice that the files that are being compiled are jumping
around the directory hierarchy.
for base in type(self).__mro__:
if issubclass(base, SourceFile):
- bisect.insort_right(base.all, self)
+ base.all.append(self)
def __lt__(self, other): return self.filename < other.filename
def __le__(self, other): return self.filename <= other.filename