[squeak-dev] Traits now reloadable

Andreas Raab andreas.raab at gmx.de
Fri Jan 1 19:25:35 UTC 2010


Folks -

With the last set of updates traits have finally become un- and 
reloadable. To unload traits, execute:

	Trait unloadTraits.

This will flatten any existing traits and convert them into classes. The 
trait related information is stored in the #traitInfo method (browse the 
senders of #traitInfo after unloading to see how that looks). If you run 
the tests, the only new failures should be traits related tests (for the 
obvious reasons; unload the TraitsTests package to get them out of the way).

Reloading simply works by loading the traits package again, for example:

	(Installer repository: 'http://source.squeak.org/trunk')
		install: 'Traits'.

Once loaded, the original traits will be restored if the information in 
#traitInfo is still present, meaning that the round trip conversion is 
lossless.

In the process I noticed a problem with MC diff handling of traits. You 
may have to "flush cached versions" in MC after updating or otherwise 
the Traits package may be shown as dirty. I think that's our SS server 
again acting strangely with regards to diffs.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list