On 22 Jan 2015, at 21:11, Marcus Denker <marcus.denker@inria.fr> wrote:


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> 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:


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.

Hmm��� maybe IndexedSlot would be a better name���? I do not like AbstractSomethings. And it actually is not abstract,
it should work (just slower than InstanceVariableSlot)

Marcus