On Thu, Mar 24, 2011 at 11:43 AM, Camillo Bruni <[email protected]>wrote:

> We are currently working on first-class slots and layouts in pharo.
> This required some changes in how the class definitions are printed:
>
> =============================================
> Object subclass: #Layout
>        layout: ObjectLayout
>        slots: {
>                #host => Slot.
>                #compactClassIndex => Slot.
>        }
>        classSlots: {}
>        globals: ''
>        category: #'Slot-Layout'
>

I like it!  A great use for tuples.  Not sure I like sots vs
instanceVarables, but then I'm an old man ;)
Have you thought about automatically creating accessors for byte data?  I'm
imagining

HeapField subclass: #ObjectHeaderLittleEndian
    type: #Bits
    fields: {
        #classTag => 20.
        #isPointers => 1 => #Boolean.
        #isIndexable => 1 => #Boolean.
        #slotSize => 8 => #Align => 8.
        #identityHash => 20 => #Align => 32.
        #isMarked => 1 => #Boolean.
        #isForwarded => 1 => #Boolean.
        #isWeak => 1 => #Boolean.
        #isEphemeron => 1 => #Boolean. }
       classSlots: {}
     globals: ''
     category: #'VMMaker-MemoryManager'


>
> =============================================
>
> I adapted the MCClassDefinition >> definitionString to output our new class
> definitions.
>
> However squeaksource is not too happy with this and rewrites it completely
> using the default definition.
>
> Local mcz files contain the new definition, mcz files loaded form
> squeaksources still the old definition.
>
> Is there a way to still use squeaksources with our custom classes?
>
> thanks
>
> v(^_^)v
> camillo
>

Reply via email to