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

Levente Uzonyi leves at caesar.elte.hu
Mon Sep 20 22:26:32 UTC 2021


Hi Christoph,

On Mon, 20 Sep 2021, 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.


Levente


More information about the Squeak-dev mailing list