Traits now reloadable

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Traits now reloadable

Andreas.Raab
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