[squeak-dev] "Duplicate" MethodReferences in implementorsOf:

Levente Uzonyi leves at elte.hu
Sat Nov 2 12:54:20 UTC 2013


I thought I've pushed a fix for this months ago, but it seems like it 
hasn't happened yet.


Levente

On Sat, 2 Nov 2013, Frank Shearar wrote:

> Look for the implementors of #rename:. You'll see 17 Trait entries,
> each = to each other but not ==. I've traced this back to _something_
> about Environment's declarations.
>
> In a Workspace,
>
> n := SystemNavigation default.
> a := OrderedCollection new.
> n allBehaviorsDo: [:cls | a add: cls].
> {a size. a asSet size} "#(4384 4367)"
> "4384 - 4367 = 17"
>
> So we have 17 duplicates being reported.
>
> If you explore Smalltalk in a "full fat" trunk (specifically, one that
> still has 311Deprecated) and run "self allTraits" you'll get 17. Hmm.
> Explore "self allTraits" and you'll see the 17 Traits from
> 311Deprecated. So far, so good. Try cmd-b one of those Traits (say,
> TTransformationCompatibility  and... you'll browse Trait. (You can get
> to TTransformationCompatibility by opening a new browser and searching
> for it.)
>
> So for some reason Smalltalk thinks that every one of these Trait
> names map to Trait. For example, cmd-b TTransformationCompatibility in
> a Workspace and you end up browsing Trait.
>
> I'm still investigating why this is broken, but if anyone knows, feel
> free to let me know :)
>
> frank
>
>


More information about the Squeak-dev mailing list