{ import: Object } _vtable : _object ( _tally bindings delegate ) _vector : _object ( _size "indexable..." ) _assoc : _object ( key value ) SmallInteger _value { _return (oop)((long)self >> 1); } SmallInteger value_: _i { _return (oop)((long)v__i << 1 | 1); } _assoc key [ ^key ] _vtable size [ ^SmallInteger value_: _tally ] _vtable at: index [ ^bindings at_: index _value ] _vector _size [ ^_size ] _vector at_: _index [ { int index= (long)v__index; int limit= (long)(self->v__size) >> 1; if ((index >= 0) && (index < limit)) _return(((oop *)self)[1 + index]); }. ^self primitiveFailed ] _vtable selectors [ | size sels | sels := Array new: (size := self size). 0 to: size - 1 do: [:i | sels at: i put: (self at: i) key]. ^sels ] nil allSelectors [ ^ IdentitySet new ] _vtable allSelectors [ ^ delegate allSelectors addAll: self selectors ] " [ Object _vtable selectors println. ] "