Antwort: [BUG] Majorshrink

Bob Arning arning at charm.net
Fri Jan 25 11:39:27 UTC 2002


About a year ago, Dan made a change to #unusedClasses so that a class having instances no longer mattered in determining if it was in use. This explains why False is now removed. Maybe Dan can illuminate us.

Cheers,
Bob

On Fri, 25 Jan 2002 10:58:06 +0100 Boris_Gaertner at msg.de wrote:
>Stef Ducasse wrote: 
>
>186443768 Object>subclassResponsibility
>186443676 Boolean>not
>186443584 Debugger class>openContext:label:contents:
>186443492 Error>devDefaultAction
>186443400 Error>defaultAction
>
>
>In SystemDictionary>>majorShrink you find the following piece 
>of code: 
>
>Ê Ê Ê Ê [Smalltalk removeAllUnSentMessages > 0] 
>Ê Ê Ê Ê Ê Ê Ê Ê whileTrue: 
>Ê Ê Ê Ê Ê Ê Ê Ê [Smalltalk unusedClasses do: [:c | (Smalltalk at: c) removeFromSystem]]. 
>
>When you modify it is this way: 
>
>Ê Ê Ê Ê [Smalltalk removeAllUnSentMessages > 0] 
>Ê Ê Ê Ê Ê Ê Ê Ê whileTrue: 
>Ê Ê Ê Ê Ê Ê Ê Ê [Smalltalk unusedClasses do: [:c | Transcript show: c printString; cr. (Smalltalk at: c) removeFromSystem]]. 
>
>you see that among other important things, class False is removed. 
>I do not understand why and at this moment I do not have the time 
>to explore the error. 




More information about the Squeak-dev mailing list