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

Frank Shearar frank.shearar at gmail.com
Sat Nov 2 12:20:39 UTC 2013


Well, yes :) That's the whole point of 4.5 - to introduce Environments
and get it working, together with proper tool support.

In this case, the tool is fine. The Smalltalk Environment is giving
the MessageSet garbage, which it faithfully displays.

Colin's clearly very busy, so we'll just have to make do and figure
out the root cause ourselves!

frank

On 2 November 2013 12:00, Nicolas Cellier
<nicolas.cellier.aka.nice at gmail.com> wrote:
> Yes I reported this problem in this list months ago.
> It is due to Environment.
> Unfortunately, I got no echo.
> So far, introduction of Environment created more problems than it solved. It
> lacks some form of support.
>
>
> 2013/11/2 Frank Shearar <frank.shearar at gmail.com>
>>
>> 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