[squeak-dev] Class var order in Monticello (bogus dirty packages)

Andreas Raab andreas.raab at gmx.de
Sun Aug 9 23:36:33 UTC 2009


Hi -

I have noticed several times that Monticello sometimes reports a 
different order of class variables than the one that's in the image and 
I think I finally found out what causes it. The problem seems to be that 
the MCClassDefinition is constructed from a Set of class var names 
(i.e., Delay classVarNames => a Set(#TimerEventLoop #SuspendedDelays 
#TimingSemaphore #ActiveDelayStartTime #ActiveDelay #FinishedDelay 
#ScheduledDelay #RunTimerEventLoop #AccessProtect) derived from the 
class' classPool.

The thing is, the order in that class pool can differ. When you add or 
remove class var names, the names can get shuffled around and there is 
no telling what the exact enumeration order will be. Once the order is 
different it's a real pain because Monticello will always report 
differences but without a way to correct the issue.

I'm wondering what possible fixes might be. In particular considering 
that reordering the class var names will mark any packages dirty for the 
same reasons.

Any ideas?

Cheers,
   - Andreas



More information about the Squeak-dev mailing list