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