Thanks Fernando,

On Apr 1, 2013, at 11:51 PM, Fernando Olivero <fernando.oliv...@usi.ch> wrote:

> Ciao Roberto,
> 
> Whenever you remove a class that is still referenced in the system, an
> ObsoleteClass takes the place of the removed class. In the late-bound
> spirit of Smalltalk, the system allows removing the classes and
> dealing with the current references later.

I see. I'm not sure I agree with this philosophy, but I see the point.

> If i may question the source of your problem: "a Dictionary
> (containing receivers of method calls, i.e., classes) that I need to
> serialize in a file (i.e., using Fuel)", are you sure you need to
> serialize the actual classes? or just the names? or even a description
> of the class within Ring? Think about what you are modeling with a
> Dictionary that holds <messages,set of receivers>, and maybe try to
> reify that concept.

I totally agree with you Fernando. That was just a quick and dirty prototype ;)

> Fernando
> 
> 
> 
> 
> On Mon, Apr 1, 2013 at 9:58 PM, Max Leske <maxle...@gmail.com> wrote:
>> I've had the same problem just recently but am stuck in a bit of work right 
>> now. I hope to elaborate at length tomorrow.
>> 
>> Quick fix: if you *need* to serialize those classes, simply change the code 
>> so that fuel serializes them. To fix obsolete classes you need to remove all 
>> references to it, be it in a dictionary or in a compiled method where you 
>> used the class name.
>> Can you post the list of classes that are obsolete?
>> 
>> Cheers,
>> Max
>> 
>> 
>> 
>> On 01.04.2013, at 16:51, roberto.mine...@usi.ch wrote:
>> 
>>> Hi,
>>> 
>>> I'm getting crazy about obsolete behaviors and any help here is really 
>>> appreciated.
>>> 
>>> In a nutshell, I have a Dictionary (containing receivers of method calls, 
>>> i.e., classes) that I need to serialize in a file (i.e., using Fuel).
>>> 
>>> Fuel returns an error in FLGlobalClassCluster>>#serializeGlobalClass:on: 
>>> complaining that I'm trying to serialize an obsolete class.
>>> 
>>> Now my question is, apart from executing this small piece of code...
>>> 
>>> SmalltalkImage current fixObsoleteReferences.
>>>      SystemNavigation new obsoleteBehaviors size > 0
>>>              ifTrue: [ SystemNavigation new obsoleteBehaviors inspect.]
>>> 
>>> …in which I discovered to have many obsolete references, how can I "browse" 
>>> and eventually kill such references?
>>> 
>>> For me the entire "behavior" of obsolete classes is obscure and I don't 
>>> know how those classes are originated.
>>> More important, I also don't know how to eliminate them.
>>> 
>>> Thanks in advance,
>>> Roberto
>>> 
>>> 
>> 
>> 
> 


Reply via email to