#initialize and MC

Bert Freudenberg bert at freudenbergs.de
Sun Sep 17 04:00:14 UTC 2006


Am 16.09.2006 um 13:49 schrieb Damien Cassou:

> Hi,
>
> I would like Monticello to initialize all the classes it is  
> loading. Normally it is done by implementing a #initialize method  
> on the class side. However, sometimes, it is not called.
>
> How does it work ?

Monticello loading mimics changeset loading. So if you load a package  
for the first time, this is equivalent to a full changeset, and if  
some metaclass implements #initialize, then it will be sent. However,  
if a package was already loaded, Monticello builds a changeset that  
only contains the difference between what is in the image and what is  
loaded, and loads that. Now, if the #initialize method is not  
modified in your new version, it is not in that differential  
changeset, and hence will not be run. To force re-initialization,  
modify #initialize.

- Bert -





More information about the Squeak-dev mailing list