Senders, Implementors browser - how about a "Sendees" browser?

itsme213 itsme213 at hotmail.com
Thu Jan 10 18:05:25 UTC 2008


"Bert Freudenberg" <bert at freudenbergs.de> wrote in message
>> But I don't want *all* implementors of the self-send messages in  the 
>> current
>> method, I want the self-implementor (current class, ancestor class [or
>> trait]). Did it do that?
>
> Are you aware of the protocol browser (alt-p on a class)?

Just looked :-) It does not do the same thing.

A has methods: foo, a1, a2, a3, ...bar
A>>foo
  self bar.
  x baz.

===== The protocol browser shows all Methods in the context of a class, even 
when I have selected a specific method. So when I am browsing
  A>>foo and want to see the corresponding
  self bar
I have to scroll the entire list of foo, a1, a2, a3, ...bar and select that 
bar.

===== The Sendees Browser shows { SelfSend | MessageSend } in the context of 
a method of that class. So when I am browsing
  A>>foo
    I automatically see and can select just 2 items:
     self bar (SelfSend: selecting shows method implementation)
     x baz (MessageSend: selecting shows list of implementors)

I find I am doing this kind of browsing by hand a large % of time.

Thoughts?

Sophie

p.s. Thinking some more about this ... a nice generalization: group sends 
not just by (self | non-self) sends, but by [pseudo] variable (though this 
info may be more deeply buried):
   self sends - each one leads to 1 Method
   super sends - " "
   instVar-1 sends - each one leads to list of MessageSends
   instVar-2 sends - each one leads to list of MessageSends
   arg1 sends - " "
   arg2 sends - " "
   class sends [?]
     - each leads to 1 Method *if* self class has not been overridden

This could be viewed at the class level (giving a nice typed collaboration 
view of that class), or at the method level (giving a typed collaboration 
view of that method, where variables could include args).

Type-inferences must make heavy use of this view, so why not me?? Perhaps 
this could become a "CollaborationBrowser" or "TypedBrowser".






More information about the Squeak-dev mailing list