[Help needed] 160 method with "sent but not implemented" selectors

MD
Marcus Denker
Fri, Jun 30, 2023 2:14 PM

This is a not-that important cleanup: It would be nice if we would tag or fix all methods with "sent but not implemented” selectors

if you inspect:

SystemNavigation new allSentNotImplementedSelectors 

you get 160 methods in Pharo12.

  • some are dead code
    -> we should remove those

  • some are methods used for tests

  • there might be some that are send to objects with a DNU handler
    -> we should tag them using the < #ignoreNotImplementedSelectors: #()> Pragma

  • some are bugs
    -> we should fix those

Helo is welcome!

If we fix them all we can add a release test and make sure that code like this never is merged.

Marcus
This is a not-that important cleanup: It would be nice if we would tag or fix all methods with "sent but not implemented” selectors if you inspect: SystemNavigation new allSentNotImplementedSelectors you get 160 methods in Pharo12. - some are dead code -> we should remove those - some are methods used for tests - there might be some that are send to objects with a DNU handler -> we should tag them using the < #ignoreNotImplementedSelectors: #()> Pragma - some are bugs -> we should fix those Helo is welcome! If we fix them all we can add a release test and make sure that code like this never is merged. Marcus
BE
Bernardo Ezequiel Contreras
Sat, Jul 1, 2023 2:54 AM

these

|selectors|
selectors := SystemNavigation new allSentNotImplementedSelectors.
selectors select: [ :each | each senders isEmpty ].

can be removed?

On Fri, Jun 30, 2023 at 11:15 AM Marcus Denker marcus.denker@inria.fr
wrote:

This is a not-that important cleanup: It would be nice if we would tag or
fix all methods with "sent but not implemented” selectors

if you inspect:

     SystemNavigation new allSentNotImplementedSelectors

you get 160 methods in Pharo12.

  • some are dead code
    -> we should remove those

  • some are methods used for tests

  • there might be some that are send to objects with a DNU handler
    -> we should tag them using the < #ignoreNotImplementedSelectors:
    #()> Pragma

  • some are bugs
    -> we should fix those

Helo is welcome!

If we fix them all we can add a release test and make sure that code like
this never is merged.

     Marcus

--
Bernardo E.C.

Sent from a cheap desktop computer in South America.

these |selectors| selectors := SystemNavigation new allSentNotImplementedSelectors. selectors select: [ :each | each senders isEmpty ]. can be removed? On Fri, Jun 30, 2023 at 11:15 AM Marcus Denker <marcus.denker@inria.fr> wrote: > This is a not-that important cleanup: It would be nice if we would tag or > fix all methods with "sent but not implemented” selectors > > if you inspect: > > SystemNavigation new allSentNotImplementedSelectors > > > you get 160 methods in Pharo12. > > - some are dead code > -> we should remove those > > - some are methods used for tests > - there might be some that are send to objects with a DNU handler > -> we should tag them using the < #ignoreNotImplementedSelectors: > #()> Pragma > > - some are bugs > -> we should fix those > > Helo is welcome! > > If we fix them all we can add a release test and make sure that code like > this never is merged. > > > Marcus -- Bernardo E.C. Sent from a cheap desktop computer in South America.
MD
Marcus Denker
Mon, Jul 3, 2023 7:24 AM

On 1 Jul 2023, at 04:54, Bernardo Ezequiel Contreras vonbecmann@gmail.com wrote:

these

|selectors|
selectors := SystemNavigation new allSentNotImplementedSelectors.
selectors select: [ :each | each senders isEmpty ].

can be removed?

Most likely, but not 100%:

- some are tests
- there could be a pragma that is used to discover a method
- it could be test code and removing the method could lead to a test failing
- it could be called reflectively
- it could be an API that we want to keep and fix (not very likely)

So yes, it is a good way to find methods to remove, but it can not be done automatically

Marcus

On Fri, Jun 30, 2023 at 11:15 AM Marcus Denker <marcus.denker@inria.fr mailto:marcus.denker@inria.fr> wrote:

This is a not-that important cleanup: It would be nice if we would tag or fix all methods with "sent but not implemented” selectors

if you inspect:

     SystemNavigation new allSentNotImplementedSelectors 

you get 160 methods in Pharo12.

  • some are dead code
    -> we should remove those

  • some are methods used for tests

  • there might be some that are send to objects with a DNU handler
    -> we should tag them using the < #ignoreNotImplementedSelectors: #()> Pragma

  • some are bugs
    -> we should fix those

Helo is welcome!

If we fix them all we can add a release test and make sure that code like this never is merged.

     Marcus

--
Bernardo E.C.

Sent from a cheap desktop computer in South America.

> On 1 Jul 2023, at 04:54, Bernardo Ezequiel Contreras <vonbecmann@gmail.com> wrote: > > these > > |selectors| > selectors := SystemNavigation new allSentNotImplementedSelectors. > selectors select: [ :each | each senders isEmpty ]. > > can be removed? > Most likely, but not 100%: - some are tests - there could be a pragma that is used to discover a method - it could be test code and removing the method could lead to a test failing - it could be called reflectively - it could be an API that we want to keep and fix (not very likely) So yes, it is a good way to find methods to remove, but it can not be done automatically Marcus > On Fri, Jun 30, 2023 at 11:15 AM Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>> wrote: >> This is a not-that important cleanup: It would be nice if we would tag or fix all methods with "sent but not implemented” selectors >> >> if you inspect: >> >> SystemNavigation new allSentNotImplementedSelectors >> >> >> you get 160 methods in Pharo12. >> >> - some are dead code >> -> we should remove those >> >> - some are methods used for tests >> - there might be some that are send to objects with a DNU handler >> -> we should tag them using the < #ignoreNotImplementedSelectors: #()> Pragma >> >> - some are bugs >> -> we should fix those >> >> Helo is welcome! >> >> If we fix them all we can add a release test and make sure that code like this never is merged. >> >> >> Marcus > > > -- > Bernardo E.C. > > Sent from a cheap desktop computer in South America.