Hi folks. I am trying to do something and I found a VM crash. Suppose I want to swap out a class, do a become with a proxy (that with the DNU will load the class back). In addition, I have instances of the swapped class.
Example of code (will crash in the last line):
o := MyObject new.
o foo: 123.
p := ClassProxy new.
p become: MyObject.
o == nil.
o foo.
My Object just extends Object, has an instVar 'foo',� and implements the accessors.
ClassProxy implements:
become: aClass
��� className := aClass name.
��� aClass fileOut.
��� super become: aClass
and
doesNotUnderstand: aMessage
��� | reloadedClass |
��� (FileStream fileNamed: className, '.st') fileIn.
��� reloadedClass := Smalltalk at: className.
��� self becomeForward: reloadedClass.
��� ^aMessage sendTo: reloadedClass
So....does someone know why the crash?
how can I solve it ?
Thanks in advance
Mariano