Something I don't understand with Method Finder

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

Something I don't understand with Method Finder

Mariano Martinez Peck
Hi folks!  If you look for example "gently" in Method Finder, you will see that it lists, for example, "enableGently:" and "disableGently:"

However, those methods are not implemented, there are no senders, and I even did a "method source with it " and I found nothing.

In my final shut, I read the .changes and I found:

"Preferences class removeSelector: #enableGently:!"

Now I wonder...is this a feature of Method Finder to look also in .changes or it is a bug ?   Anyway, it is not clear when you find a message but you don't have implementros or senders, it means that it was in .changes.

What do you think?

Thanks

Mariano

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Stéphane Ducasse
this is strange.
We will have to clean the MethodFinder. Normally it gets all the selector the receiver class, remove some destructruring
and execute eveyrhitng with the arguments you passed.

Stef

> Hi folks!  If you look for example "gently" in Method Finder, you will see that it lists, for example, "enableGently:" and "disableGently:"
> However, those methods are not implemented, there are no senders, and I even did a "method source with it " and I found nothing.
>
> In my final shut, I read the .changes and I found:
> "Preferences class removeSelector: #enableGently:!"
>
> Now I wonder...is this a feature of Method Finder to look also in .changes or it is a bug ?   Anyway, it is not clear when you find a message but you don't have implementros or senders, it means that it was in .changes.
>
> What do you think?
>
> Thanks
>
> Mariano
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Marcus Denker-4
In reply to this post by Mariano Martinez Peck

On Jan 20, 2010, at 2:45 PM, Mariano Martinez Peck wrote:

> Hi folks!  If you look for example "gently" in Method Finder, you will see that it lists, for example, "enableGently:" and "disableGently:"
>
> However, those methods are not implemented, there are no senders, and I even did a "method source with it " and I found nothing.
>
> In my final shut, I read the .changes and I found:
>
> "Preferences class removeSelector: #enableGently:!"
>
> Now I wonder...is this a feature of Method Finder to look also in .changes or it is a bug ?   Anyway, it is not clear when you find a message but you don't have implementros or senders, it means that it was in .changes.
>
> What do you think?

It's broken... I think it searches all symbols, not all symbols-used-as-selectors.

        Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Mariano Martinez Peck
But Marcus, in this case it is not even used as symbol but not as selectot. It is not at all in the image. Neither selector, neither symbol, neither a comment, NOTHING. It it just in the .changes   if you load it with a text editor and I can see:

"Preferences class removeSelector: #enableGently:!"


On Wed, Jan 20, 2010 at 3:23 PM, Marcus Denker <[hidden email]> wrote:

On Jan 20, 2010, at 2:45 PM, Mariano Martinez Peck wrote:

> Hi folks!  If you look for example "gently" in Method Finder, you will see that it lists, for example, "enableGently:" and "disableGently:"
>
> However, those methods are not implemented, there are no senders, and I even did a "method source with it " and I found nothing.
>
> In my final shut, I read the .changes and I found:
>
> "Preferences class removeSelector: #enableGently:!"
>
> Now I wonder...is this a feature of Method Finder to look also in .changes or it is a bug ?   Anyway, it is not clear when you find a message but you don't have implementros or senders, it means that it was in .changes.
>
> What do you think?

It's broken... I think it searches all symbols, not all symbols-used-as-selectors.

       Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Marcus Denker-4

On Jan 20, 2010, at 3:25 PM, Mariano Martinez Peck wrote:

> But Marcus, in this case it is not even used as symbol but not as selectot. It is not at all in the image. Neither selector, neither symbol, neither a comment, NOTHING. It it just in the .changes   if you load it with a text editor and I can see:
>

The changeset infrastructure seems to hold on to old methods and thus symbols. Via ClassChangeRecord, with the comment:

A ClassChangeRecorder keeps track of most substantive changes premissible in a project, isolated or not.


        Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Mariano Martinez Peck


On Wed, Jan 20, 2010 at 3:48 PM, Marcus Denker <[hidden email]> wrote:

On Jan 20, 2010, at 3:25 PM, Mariano Martinez Peck wrote:

> But Marcus, in this case it is not even used as symbol but not as selectot. It is not at all in the image. Neither selector, neither symbol, neither a comment, NOTHING. It it just in the .changes   if you load it with a text editor and I can see:
>

The changeset infrastructure seems to hold on to old methods and thus symbols. Via ClassChangeRecord, with the comment:

A ClassChangeRecorder keeps track of most substantive changes premissible in a project, isolated or not.


Ahhhhhh okok. And Method Finder uses ClassChangeRecorder  to perform the searches ?
 

       Marcus

--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Stéphane Ducasse
not really.

Stef

On Jan 20, 2010, at 3:51 PM, Mariano Martinez Peck wrote:

>
>
> On Wed, Jan 20, 2010 at 3:48 PM, Marcus Denker <[hidden email]> wrote:
>
> On Jan 20, 2010, at 3:25 PM, Mariano Martinez Peck wrote:
>
> > But Marcus, in this case it is not even used as symbol but not as selectot. It is not at all in the image. Neither selector, neither symbol, neither a comment, NOTHING. It it just in the .changes   if you load it with a text editor and I can see:
> >
>
> The changeset infrastructure seems to hold on to old methods and thus symbols. Via ClassChangeRecord, with the comment:
>
> A ClassChangeRecorder keeps track of most substantive changes premissible in a project, isolated or not.
>
>
> Ahhhhhh okok. And Method Finder uses ClassChangeRecorder  to perform the searches ?
>  
>
>        Marcus
>
> --
> Marcus Denker  -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] Something I don't understand with Method Finder

Marcus Denker-4

On Jan 20, 2010, at 3:56 PM, Stéphane Ducasse wrote:

> not really.
>

It uses

Symbol selectorsContaining: searchString.

the problem is that this just uses the Symbol table, that is, it does not care if
the symbok is actually used as a selector anywhere.

the MethodNames tool does a pass in addition to check this:

selectorList size > 19
                ifFalse: ["else the following filtering is considered too expensive. This 19  
                        should be a system-maintained Parameter, someday"
                        selectorList := self systemNavigation allSelectorsWithAnyImplementorsIn: selectorList].
        ^ selectorList


        Marcus



--
Marcus Denker  -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project