On 25 Jun 2014, at 14:16, Tudor Girba <[email protected]> wrote:
> Very nice!
>
> Next would be an example of how to specialize a slot :)
>
Yes, the next steps are:
- introduce abstract superclass for Slot
(I am not yet sure: will the be “Slot” and the default slots are “InstVarSlot”,
or do I add a
“AbstractSlot” class and Slot stays the default? Maybe that’s better)
- Opal needs to delegate code generation to the Slot.
- The abstract slot generates by default reflective read/write access code
- subclasses can override. (e.g. the default slot overrides to do
pushIvar/storeIvar bytecode)
This is the enough to do behavioural changes to simple Slots.
After that we need to check the code for “virtual” slots where e.g. multiple
Boolean slots are mapped to one
hidden flag ivar.
And the of course
- new class template (optional at first)
- Monticello support
Marcus