> On 19 Feb 2015, at 10:19, Marcus Denker <[email protected]> wrote:
>
>>
>>
>> I started to implement PropertySlot, this uses hidden slots, initialisation
>> (to set the empty dictionary of the base slot), virtual slots
>> (the proper slots), reflectively changing the class both when adding and
>> removing (to add the base slot and remove it as needed).
>>
>
> Next tiny step:
>
> 14914 #initializeSlots: should not skip hidden slots
>
> https://pharo.fogbugz.com/f/cases/14914/initializeSlots-should-not-skip-hidden-slots
>
This is now finally in 502… 5 days feel like eternity.
> Now the slots get correctly called when initialising an object. To test:
>
> Object subclass: #TT
> slots: { #tt => PropertySlot }
> classVariables: { }
> category: ‘Playground'
>
> The slot will add an #initialize methods to the class when it gets installed.
>
> When you inspect
>
> TT new
>
> you can see just the tt slot (you can change it in the inspector).
>
> Adding an accessor for tt will show what the compiler does:
>
> 21 <20> pushConstant: #tt => PropertySlot
> 22 <70> self
> 23 <E1> send: read:
> 24 <7C> returnTop
>
>
> this means that it compiles a reflective read for that slot.