mst has been busy converting his shiney new ORM masterpeice DBIx::Class to use Class::C3 instead of NEXT, and I have been helping out by dutifully applying all his patches to Class::C3. After some discussion yesterday about a weird bug, I decided that Class::C3 really needed a visualization tool to help in analyzing deep mulitple inheritance hierarchies. I thought about it for a while, then sat down and whipped this out in about 20 minutes to output in DOT (one of the Graphviz mini-languages). It is still rather primative, but it pretty much does what I wanted it to. Here are some examples I did to show mst:
NOTE: The green lines show the @ISA relationships, and the red lines show the C3 method dispatch order.