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
>