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.

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.


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