in reply to Re: SmallTalk-like Message browser
in thread SmallTalk-like Message browser
The output roughly means the following:
The reason you're seeing odd results is a limitation of static analysis. If you have two packages with identically named methods, then their usage gets lumped together. That is, One->new and Two->new are grouped, and count as two calls to new.--- <filename>: <subname>: called from: <filename>:<subname>: <this many times>
Those two files result in:# file Classone.pm package Classone; sub new { } 1; # file Classtwo.pm package Classtwo; sub new { } sub a_method { Classone->new; Classtwo->new; } 1;
Classone.pm: new: Classtwo.pm:a_method: 2 Classtwo.pm: a_method: {} new: Classtwo.pm:a_method: 2
I don't think you can get meaningful results unless you have an interactive environment -- like Squeak -- that can track the class of the invocant. Still, this is a nice approximation. As long as you keep the limitations in mind, it can be quite useful.
In Section
Code Catacombs