Re: [Pharo-users] Using GTSpotter how do I find an implementor of #accept ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Using GTSpotter how do I find an implementor of #accept ?

Nicolai Hess


2015-06-10 7:39 GMT+02:00 Paul DeBruicker <[hidden email]>:
when I hit shift+enter and type 'accept' I get things that are not #accept, e.g. #accept: and AbstractAcceptor.

If I add a space after accept it doesn't help.


What do I not understand?

the result list is not sorted and the result list is built by all methods having the query string as part
of its selector name.

Yes this can be improved and it is not difficult, for example you can add this method to

GTFilterImplementor>>applyFilterWithQuery
    super applyFilterWithQuery.
    items sort: [ :a :b | (self itemFilterNameFor: a) size < (self itemFilterNameFor: b) size ]

this will sort the result list by the size of the selector name. So, if there is a perfect match,
it will be listed first.
(BUT only in the implementors category if you "dive-in", not in the 5-elements-result-preview-list).

Maybe there is  a better way without sorting. (We can modify applyFilterWithQuery for the implementors
filter, to put perfect matches at the begining of the list).

But all this is not easy to discover. Spotter classes make some heavy use of delegation, many operations
are split and delgated to subclasses (GOOD!)
many classes aren't documented (BAD!) and this makes it really difficult to catch how all this is supposed to work together.


nicolai


 


Thanks


Paul