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
|