ClassBuilder changes (was: Re: Navigating traits in 3.9)

Roel Wuyts roel.wuyts at ulb.ac.be
Tue Oct 24 07:57:47 UTC 2006


hi Andreas,

long time no see :-) rw is me.

I had a quick look at the method in the RC2 image. I added a trigger  
in this method for the change mechanism to tell:
* whether the category of a class changed,
* whether the class definition changed,
* or when it is a new class that was added.

The implementation checks for these occurences and is validated by  
the corresponding unit tests.

Do you think there is problems with it ?


> Begin forwarded message:
>
>> From: Andreas Raab <andreas.raab at gmx.de>
>> Date: 23 octobre 2006 20:40:33 HAEC
>> To: The general-purpose Squeak developers list <squeak- 
>> dev at lists.squeakfoundation.org>
>> Subject: ClassBuilder changes (was: Re: Navigating traits in 3.9)
>> Reply-To: The general-purpose Squeak developers list <squeak- 
>> dev at lists.squeakfoundation.org>
>>
>> Trying to identify the problem made me stumble into ClassBuilder  
>> and looking at the core method ClassBuilder>>name: className  
>> inEnvironment: env subclassOf: newSuper type: type  
>> instanceVariableNames: instVarString classVariableNames:  
>> classVarString poolDictionaries: poolString category: category  
>> unsafe: unsafe.
>>
>> This makes me wonder what the intend of the latest changes there  
>> were. They do look rather suspicious to me. Could someone with the  
>> initials "rw" please explain the reasoning for these changes? It's  
>> the last person who touched that method and unfortunately there is  
>> no method history any longer :-((( (the version found in 3.8 from  
>> '04 looks approximately correct so any changes inbetween would be  
>> interesting)
>>
>> Cheers,
>>   - Andreas
>>
>>
>> Andreas Raab wrote:
>>> Klaus D. Witzel wrote:
>>>> on Mon, 23 Oct 2006 10:35:13 +0200, you wrote:
>>>>> ... Looking at TCompilingBehavior's users I find TPureBehavior;  
>>>>> looking at TCompilingDescription's users I find ... "an  
>>>>> IdentitySet(ClassDescription ClassDescription  
>>>>> TraitDescription)". Huh? Anyone else seeing this? An identity  
>>>>> set with a duplicate entry?
>>>>
>>>> Confirmed, printing "array fourth == array fifth" in an  
>>>> inspector on TCompilingDescription => true.
>>> And not only that. All of the following traits have duplicate  
>>> users and it's not limited to ClassDescription/TraitDescription  
>>> either.
>>> TAccessingMethodDictDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TBasicCategorisingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TBehaviorCategorization users
>>>   an IdentitySet(Trait Class Class Class)
>>> TCommentDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TCompilingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TCopyingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TFileInOutDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TPrintingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TPureBehavior users
>>>   an IdentitySet(TraitBehavior Behavior Behavior)
>>> TTestingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>> TTraitsCategorisingDescription users
>>>   an IdentitySet(ClassDescription ClassDescription TraitDescription)
>>
>>
>>
>




More information about the Squeak-dev mailing list