feedback needed on tooDangerousClasses changes

Klaus D. Witzel klaus.witzel at cobss.com
Sun Oct 16 14:44:34 UTC 2005


Hi Stef,

just did, in a stock Squeak3.8 of '5 May 2005' update 6665

Object subclass: #Behavior
	instanceVariableNames: 'superclass methodDict format testingStefs'
	classVariableNames: 'ObsoleteSubclasses'
	poolDictionaries: ''
	category: 'Kernel-Classes'

after removing Behavior from #tooDangerousClasses and, _after_ recompiling  
all the classes, it has a DNU:

ClassOrganizer(Object)>>#doesNotUnderstand: #asSet
ModifiedClassDefinitionEvent>>#oldInstVarNames
ModifiedClassDefinitionEvent>>#areInstVarsModified
ModifiedClassDefinitionEvent>>#anyChanges
ChangeSet>>#event:

/Klaus

On Sun, 16 Oct 2005 15:22:07 +0200, stéphane ducasse  
<ducasse at iam.unibe.ch> wrote:

> Hi
>
> I need feedback on the changes of daniel on tooDangerousClasses in  
> ClassBuilder.
> To test simply
> What I did was to add an instance variable to Behavior at the end of the  
> instance variable list and it did not crash
> just recompiled the complete image.
>
>
> Name: Kernel-dvf.36
> Author: dvf
> Time: 27 September 2005, 3:34:50 pm
> UUID: 6e9f8d6d-873c-4e19-9b63-3096f9d01141
> Ancestors: Kernel-md.34
>
> Behavior actually can be redefined, as long as one doesn't move some of  
> its first instance variables. ProtoObject, OTOH, probably can't be.
>
>
> tooDangerousClasses
>      "Return a list of class names which will not be modified in the  
> public interface"
>      ^#(
>          "Object will break immediately"
>          ProtoObject Object        "was Object"
>          "Contexts and their superclasses"
>          InstructionStream ContextPart BlockContext MethodContext
>          "Superclasses of basic collections"
>          Collection SequenceableCollection ArrayedCollection
>          "Collections known to the VM"
>          Array Bitmap String Symbol ByteArray CompiledMethod  
> TranslatedMethod
>          "Basic Numbers"
>          Magnitude Number SmallInteger Float
>          "Misc other"
>          LookupKey Association Link Point Rectangle PositionableStream  
> UndefinedObject
>          "was LookupKey Association Link Point Rectangle Behavior  
> PositionableStream UndefinedObject"
>      )
>
> I imagine that this is needed for trait refactoring.
>
> Stef
>
>





More information about the Squeak-dev mailing list