On 22 Jan 2015, at 17:52, Marcus Denker <marcus.denker@inria.fr> wrote:
On 22 Jan 2015, at 17:44, Aliaksei Syrel <alex.syrel@gmail.com <mailto:alex.syrel@gmail.com>> wrote:
Hi Marcus,
I think I just found a workaround: if you make Slot>>isVirtual to return true by default and override it in InstanceVariableSlot to return false the problem will be gone
Yes, that should be done.
I don't want to subclass InstanceVariableSlot because it becomes impossible to see definition of class with slots in Browser and as soon as I add new instvars all old ones become default InstanceVariableSlot and not my custom.
Yes, I will fix that one, too. Because it can be nice to just subclass that one⦠but people need to then know about byte code and change the emit* methods, too.
Therefore the first step:
https://pharo.fogbugz.com/f/cases/14772/add-AbstractInstanceVariableSlot <https://pharo.fogbugz.com/f/cases/14772/add-AbstractInstanceVariableSlot>
This is now in 40457 #isSpecial is fixed, too. This means that you can subclass AbstractInstanceVariableSlot and just override #read and #write:to: and it should work. To get more performance, later you should look into #emitStore: and #emitValue: Marcus