[squeak-dev] MethodDictionary >> #select: not working

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Sep 20 23:31:42 UTC 2021


Ha! Can't assess which implementation is better, but the bugfix time was fantastic! :-)


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Eliot Miranda <eliot.miranda at gmail.com>
Gesendet: Dienstag, 21. September 2021 00:42:25
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] MethodDictionary >> #select: not working

Hi Levente, Hi Christoph,

On Mon, Sep 20, 2021 at 3:26 PM Levente Uzonyi <leves at caesar.elte.hu<mailto:leves at caesar.elte.hu>> wrote:
Hi Christoph,

On Mon, 20 Sep 2021, christoph.thiede at student.hpi.uni-potsdam.de<mailto:christoph.thiede at student.hpi.uni-potsdam.de> wrote:

> Hi there.
>
> I think I found a bug in MethodDictionary. Try this:
>
>     UIManager methodDict select: [:ea | ea selector beginsWith: 'chooseFrom']
>
> Expected: A dictionary (I don't care which specialization) that I can enumerate to retrieve ca. 10 selectors.
> Actual result: Answer looks empty in the inspector and in the print string; however, the array is not empty. The invariant mentioned in the class comment ((self basicAt: index) isNil = (array at: index) isNil) is violated.
>
> Maybe any of our Collections experts feels like looking into this - for now, I'm going to convert the dictionary before filtering it. :-)

The implementation of #add: inherited from Dictionary is no sufficient for
MethodDictionary.
See Kernel-ul.1415 in the Inbox with the proposed fix for your case and
some other methods.

Also see Kernel-eem.1415.  I didn't see your fix Levente before I had a go.  I'm happy which ever gets chosen.
Levente

_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210920/767e11ee/attachment.html>


More information about the Squeak-dev mailing list