/* generated by Id 1.1 at ,$ */ /* with the command: -I../stage1/ -c WriteStream.st -o ../stage2/WriteStream.o.c */ #include static struct __libid *_libid= 0; #ifdef ID_DEBUG # define _enter(info) void *__id_debug= _libid->enter(info) # define _line(lno) _libid->line(lno) # define _leave() _libid->leave(__id_debug) # define _backtrace() _libid->backtrace() #else # define _enter(info) (void)info # define _line(lno) # define _leave() # define _backtrace() "(no debugging information)\n" #endif #define _return _leave(); return #define _sendv(MSG, N, RCV, ARG...) ({ \ struct __send _s= { (MSG), (N), (RCV) }; \ ((_imp_t)(_libid->bindv(&_s)))(&_s, _s.receiver, _s.receiver, ##ARG); \ }) #define _superv(TYP, MSG, N, RCV, ARG...) ({ \ struct __send _s= { (MSG), (N), (TYP) }; \ _imp_t _imp= _libid->bindv(&_s); \ _s.receiver= (RCV); \ _imp(&_s, _s.receiver, _s.receiver, ##ARG); \ }) static oop s_new_= 0; static oop s_new_5f_= 0; static oop s_contents= 0; static oop s_cr= 0; static oop s_value_5f_= 0; static oop s__5fimport_= 0; static oop s_on_= 0; static oop s__5fslots= 0; static oop s_space_= 0; static oop s__2b= 0; static oop s_asArray= 0; static oop s_tab= 0; static oop s_size= 0; static oop s_position_= 0; static oop s_nextPut_= 0; static oop s_nl= 0; static oop s_reset= 0; static oop s_min_= 0; static oop s_cr_= 0; static oop s_resetToStart= 0; static oop s__5fdebugName= 0; static oop s_ifTrue_ifFalse_= 0; static oop s_pastEndPut_= 0; static oop s_replaceFrom_to_with_startingAt_= 0; static oop s_space= 0; static oop s_timesRepeat_= 0; static oop s_function_5f_arity_5f_outer_state_nlr_5f_= 0; static oop s_nl_= 0; static oop s_writeStream= 0; static oop s_tab_= 0; static oop s__3e_3d= 0; static oop s__5fsizeof= 0; static oop s_at_put_= 0; static oop s_max_= 0; static struct _Selector { const char *name; oop *addr; } _Selectors[]= { { "new:", &s_new_ }, { "new_:", &s_new_5f_ }, { "contents", &s_contents }, { "cr", &s_cr }, { "value_:", &s_value_5f_ }, { "_import:", &s__5fimport_ }, { "on:", &s_on_ }, { "_slots", &s__5fslots }, { "space:", &s_space_ }, { "+", &s__2b }, { "asArray", &s_asArray }, { "tab", &s_tab }, { "size", &s_size }, { "position:", &s_position_ }, { "nextPut:", &s_nextPut_ }, { "nl", &s_nl }, { "reset", &s_reset }, { "min:", &s_min_ }, { "cr:", &s_cr_ }, { "resetToStart", &s_resetToStart }, { "_debugName", &s__5fdebugName }, { "ifTrue:ifFalse:", &s_ifTrue_ifFalse_ }, { "pastEndPut:", &s_pastEndPut_ }, { "replaceFrom:to:with:startingAt:", &s_replaceFrom_to_with_startingAt_ }, { "space", &s_space }, { "timesRepeat:", &s_timesRepeat_ }, { "function_:arity_:outer:state:nlr_:", &s_function_5f_arity_5f_outer_state_nlr_5f_ }, { "nl:", &s_nl_ }, { "writeStream", &s_writeStream }, { "tab:", &s_tab_ }, { ">=", &s__3e_3d }, { "_sizeof", &s__5fsizeof }, { "at:put:", &s_at_put_ }, { "max:", &s_max_ }, { 0, 0 } }; struct t__object { struct _vtable *_vtable[0]; }; struct t__selector { struct _vtable *_vtable[0]; oop v__size; oop v__elements; }; struct t__assoc { struct _vtable *_vtable[0]; oop v_key; oop v_value; }; struct t__closure { struct _vtable *_vtable[0]; oop v__method; oop v_data; }; struct t__vector { struct _vtable *_vtable[0]; oop v__size; }; struct t__vtable { struct _vtable *_vtable[0]; oop v__tally; oop v_bindings; oop v_delegate; }; struct t_Object { struct _vtable *_vtable[0]; }; struct t_UndefinedObject { struct _vtable *_vtable[0]; }; struct t_StaticBlockClosure { struct _vtable *_vtable[0]; oop v__function; oop v__arity; }; struct t_BlockClosure { struct _vtable *_vtable[0]; oop v__function; oop v__arity; oop v_outer; oop v_state; oop v__nlr; }; struct t_Magnitude { struct _vtable *_vtable[0]; }; struct t_Character { struct _vtable *_vtable[0]; oop v_value; }; struct t_Number { struct _vtable *_vtable[0]; }; struct t_Fraction { struct _vtable *_vtable[0]; oop v_numerator; oop v_denominator; }; struct t_Float { struct _vtable *_vtable[0]; }; struct t_Integer { struct _vtable *_vtable[0]; }; struct t_SmallInteger { struct _vtable *_vtable[0]; }; struct t_LargePositiveInteger { struct _vtable *_vtable[0]; oop v_bytes; }; struct t_LargeNegativeInteger { struct _vtable *_vtable[0]; oop v_bytes; }; struct t_Collection { struct _vtable *_vtable[0]; }; struct t_SequenceableCollection { struct _vtable *_vtable[0]; }; struct t_ArrayedCollection { struct _vtable *_vtable[0]; oop v_size; }; struct t_Array { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_ImmutableArray { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_WordArray { struct _vtable *_vtable[0]; oop v_size; oop v__words; }; struct t_ImmutableWordArray { struct _vtable *_vtable[0]; oop v_size; oop v__words; }; struct t_ByteArray { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_ImmutableByteArray { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_String { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_ImmutableString { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_Symbol { struct _vtable *_vtable[0]; oop v_size; oop v__bytes; }; struct t_nil { struct _vtable *_vtable[0]; }; struct t_true { struct _vtable *_vtable[0]; }; struct t_false { struct _vtable *_vtable[0]; }; struct t_CharacterTable { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_OrderedCollection { struct _vtable *_vtable[0]; oop v_array; oop v_firstIndex; oop v_lastIndex; }; struct t_Stream { struct _vtable *_vtable[0]; }; struct t_PositionableStream { struct _vtable *_vtable[0]; oop v_collection; oop v_position; oop v_readLimit; }; struct t_WriteStream { struct _vtable *_vtable[0]; oop v_collection; oop v_position; oop v_readLimit; oop v_writeLimit; }; static oop l_2= 0; static oop l_5= 0; static oop l_7= 0; static oop l_9= 0; static oop l_10= 0; static oop l_11= 0; static oop l_14= 0; static oop l_16= 0; static oop l_18= 0; static oop l_20= 0; static oop v__object= 0; static oop v__vector= 0; static oop v_Object= 0; static oop v_UndefinedObject= 0; static oop v_StaticBlockClosure= 0; static oop v_BlockClosure= 0; static oop v_Magnitude= 0; static oop v_Character= 0; static oop v_Number= 0; static oop v_Integer= 0; static oop v_SmallInteger= 0; static oop v_LargePositiveInteger= 0; static oop v_Collection= 0; static oop v_SequenceableCollection= 0; static oop v_ArrayedCollection= 0; static oop v_Array= 0; static oop v_WordArray= 0; static oop v_ByteArray= 0; static oop v_String= 0; static oop v_ImmutableString= 0; static oop v_true= 0; static oop v_false= 0; static oop v_OrderedCollection= 0; static oop v_Stream= 0; static oop v_PositionableStream= 0; static oop v_WriteStream= 0; static size_t WriteStream___5fsizeof(oop _closure, oop v_self) { return sizeof(struct t_WriteStream); } static char *WriteStream___5fdebugName(oop _closure, oop v_self) { return "WriteStream"; } static struct __slotinfo *WriteStream___5fslots(oop _closure, oop v_self) { static struct __slotinfo info[]= { { "collection", 0, 4 }, { "position", 4, 4 }, { "readLimit", 8, 4 }, { "writeLimit", 12, 4 }, { 0, 0, 0 } }; return &info[0]; } static struct __methodinfo __info1= { "on:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 25, 32, 0 }; static oop WriteStream__on_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aCollection) { _enter(&__info1); oop _1= 0; oop _2= 0; _line(25); _1= v_self; _2= v_aCollection; _line(27); _1=_superv(v_PositionableStream, s_on_, 2, _1, _2); v_self= _1; v_stateful_self= _1; _1= v_aCollection; _line(28); _1=_sendv(s_size, 1, _1); ((struct t_WriteStream *)v_stateful_self)->v_writeLimit= _1; _1= l_2; ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info3= { "reset", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 32, 38, &__info1 }; static oop WriteStream__reset(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info3); oop _1= 0; oop _2= 0; _line(32); _1= ((struct t_WriteStream *)v_stateful_self)->v_readLimit; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _line(34); _1=_sendv(s_max_, 2, _1, _2); ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _1= v_self; _line(35); _1=_superv(v_PositionableStream, s_reset, 1, _1); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info4= { "resetToStart", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 38, 43, &__info3 }; static oop WriteStream__resetToStart(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info4); oop _1= 0; _line(38); _1= l_5; ((struct t_WriteStream *)v_stateful_self)->v_position= _1; ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info6= { "nextPut:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 43, 56, &__info4 }; static oop WriteStream__nextPut_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anObject) { _enter(&__info6); oop _1= 0; oop _2= 0; oop _3= 0; _line(43); /* ifTrue:ifFalse: */ _1= ((struct t_WriteStream *)v_stateful_self)->v_position; _2= ((struct t_WriteStream *)v_stateful_self)->v_writeLimit; if (1 & (long)_1 & (long)_2) { _1= (((long)_1 >= (long)_2) ? v_true : v_false); } else _1= _sendv(s__3e_3d, 2, _1, _2); if (!_1) goto _l1; { _1= v_self; _2= v_anObject; _line(52); _1=_sendv(s_pastEndPut_, 2, _1, _2); } goto _l2; _l1:; { _1= ((struct t_WriteStream *)v_stateful_self)->v_collection; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _3= l_7; { int _l= (long)_2 >> 1; int _r= (long)_3 >> 1; int _s= _l + _r; if ((1 & (long)_2) && ((_s ^ (_s << 1)) >= 0)) _2= (oop)(long)(_s << 1 | 1); else _2= _sendv(s__2b, 2, _2, _3); } ((struct t_WriteStream *)v_stateful_self)->v_position= _2; _3= v_anObject; _line(53); _1=_sendv(s_at_put_, 3, _1, _2, _3); } _l2:; _leave(); return _1; _leave(); } static struct __methodinfo __info8= { "pastEndPut:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 56, 70, &__info6 }; static oop WriteStream__pastEndPut_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anObject) { _enter(&__info8); oop v_oldSize= 0; oop v_grownCollection= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; oop _5= 0; (void)v_oldSize; (void)v_grownCollection; _line(56); _1= ((struct t_WriteStream *)v_stateful_self)->v_collection; _line(63); _1=_sendv(s_size, 1, _1); v_oldSize= _1; _1= ((struct t_WriteStream *)v_stateful_self)->v_collection; _2= v_oldSize; _3= v_oldSize; _4= l_9; _line(64); _3=_sendv(s_max_, 2, _3, _4); _4= l_10; _line(64); _3=_sendv(s_min_, 2, _3, _4); { int _l= (long)_2 >> 1; int _r= (long)_3 >> 1; int _s= _l + _r; if ((1 & (long)_2 & (long)_3) && ((_s ^ (_s << 1)) >= 0)) _2= (oop)(long)(_s << 1 | 1); else _2= _sendv(s__2b, 2, _2, _3); } _line(64); _1=_sendv(s_new_, 2, _1, _2); v_grownCollection= _1; _1= v_grownCollection; _2= l_11; _3= v_oldSize; _4= ((struct t_WriteStream *)v_stateful_self)->v_collection; _5= l_11; _line(65); _1=_sendv(s_replaceFrom_to_with_startingAt_, 5, _1, _2, _3, _4, _5); ((struct t_WriteStream *)v_stateful_self)->v_collection= _1; _1= ((struct t_WriteStream *)v_stateful_self)->v_collection; _line(66); _1=_sendv(s_size, 1, _1); ((struct t_WriteStream *)v_stateful_self)->v_writeLimit= _1; _1= ((struct t_WriteStream *)v_stateful_self)->v_collection; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _3= l_11; { int _l= (long)_2 >> 1; int _r= (long)_3 >> 1; int _s= _l + _r; if ((1 & (long)_2) && ((_s ^ (_s << 1)) >= 0)) _2= (oop)(long)(_s << 1 | 1); else _2= _sendv(s__2b, 2, _2, _3); } ((struct t_WriteStream *)v_stateful_self)->v_position= _2; _3= v_anObject; _line(67); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info12= { "size", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 70, 75, &__info8 }; static oop WriteStream__size(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info12); oop _1= 0; oop _2= 0; _line(70); _1= ((struct t_WriteStream *)v_stateful_self)->v_readLimit; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _line(72); _1=_sendv(s_max_, 2, _1, _2); ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info13= { "tab", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 75, 76, &__info12 }; static oop WriteStream__tab(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info13); oop _1= 0; oop _2= 0; _line(75); _1= v_self; _2= l_14; _line(75); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info15= { "nl", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 76, 77, &__info13 }; static oop WriteStream__nl(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info15); oop _1= 0; oop _2= 0; _line(76); _1= v_self; _2= l_16; _line(76); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info17= { "cr", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 77, 78, &__info15 }; static oop WriteStream__cr(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info17); oop _1= 0; oop _2= 0; _line(77); _1= v_self; _2= l_18; _line(77); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info19= { "space", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 78, 80, &__info17 }; static oop WriteStream__space(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info19); oop _1= 0; oop _2= 0; _line(78); _1= v_self; _2= l_20; _line(78); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info22= { "[] tab:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 80, 81, &__info19 }; static oop b_22(oop v__closure, oop v__self) { _enter(&__info22); oop _1= 0; _line(80); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _line(80); _1=_sendv(s_tab, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info21= { "tab:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 80, 81, &__info22 }; static oop WriteStream__tab_(oop v__closure, oop v_stateful_self, oop v_self, oop v_n) { _enter(&__info21); oop _state1= _sendv(s_new_5f_, 2, v__vector, 7); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(80); _1= v_n; /* Scope() */ /* Scope('writeLimit'->SlotVariableNode 'readLimit'->SlotVariableNode 'collection'->SlotVariableNode 'position'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'self'->ArgumentVariableNode 'n'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_22, 0, 0, ((oop *)_state1), 0); _line(80); _1=_sendv(s_timesRepeat_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info24= { "[] nl:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 81, 82, &__info21 }; static oop b_24(oop v__closure, oop v__self) { _enter(&__info24); oop _1= 0; _line(81); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _line(81); _1=_sendv(s_nl, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info23= { "nl:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 81, 82, &__info24 }; static oop WriteStream__nl_(oop v__closure, oop v_stateful_self, oop v_self, oop v_n) { _enter(&__info23); oop _state1= _sendv(s_new_5f_, 2, v__vector, 7); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(81); _1= v_n; /* Scope() */ /* Scope('writeLimit'->SlotVariableNode 'readLimit'->SlotVariableNode 'collection'->SlotVariableNode 'position'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'self'->ArgumentVariableNode 'n'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_24, 0, 0, ((oop *)_state1), 0); _line(81); _1=_sendv(s_timesRepeat_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info26= { "[] cr:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 82, 83, &__info23 }; static oop b_26(oop v__closure, oop v__self) { _enter(&__info26); oop _1= 0; _line(82); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _line(82); _1=_sendv(s_cr, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info25= { "cr:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 82, 83, &__info26 }; static oop WriteStream__cr_(oop v__closure, oop v_stateful_self, oop v_self, oop v_n) { _enter(&__info25); oop _state1= _sendv(s_new_5f_, 2, v__vector, 7); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(82); _1= v_n; /* Scope() */ /* Scope('writeLimit'->SlotVariableNode 'readLimit'->SlotVariableNode 'collection'->SlotVariableNode 'position'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'self'->ArgumentVariableNode 'n'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_26, 0, 0, ((oop *)_state1), 0); _line(82); _1=_sendv(s_timesRepeat_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info28= { "[] space:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 83, 85, &__info25 }; static oop b_28(oop v__closure, oop v__self) { _enter(&__info28); oop _1= 0; _line(83); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _line(83); _1=_sendv(s_space, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info27= { "space:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 83, 85, &__info28 }; static oop WriteStream__space_(oop v__closure, oop v_stateful_self, oop v_self, oop v_n) { _enter(&__info27); oop _state1= _sendv(s_new_5f_, 2, v__vector, 7); oop _1= 0; oop _2= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(83); _1= v_n; /* Scope() */ /* Scope('writeLimit'->SlotVariableNode 'readLimit'->SlotVariableNode 'collection'->SlotVariableNode 'position'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'self'->ArgumentVariableNode 'n'->ArgumentVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_28, 0, 0, ((oop *)_state1), 0); _line(83); _1=_sendv(s_timesRepeat_, 2, _1, _2); _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info29= { "contents", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 85, 91, &__info27 }; static oop WriteStream__contents(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info29); oop _1= 0; oop _2= 0; _line(85); _1= ((struct t_WriteStream *)v_stateful_self)->v_readLimit; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _line(87); _1=_sendv(s_max_, 2, _1, _2); ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _1= v_self; _line(88); _1=_superv(v_PositionableStream, s_contents, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info30= { "position:", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 91, 97, &__info29 }; static oop WriteStream__position_(oop v__closure, oop v_stateful_self, oop v_self, oop v_anInteger) { _enter(&__info30); oop _1= 0; oop _2= 0; _line(91); _1= ((struct t_WriteStream *)v_stateful_self)->v_readLimit; _2= ((struct t_WriteStream *)v_stateful_self)->v_position; _line(93); _1=_sendv(s_max_, 2, _1, _2); ((struct t_WriteStream *)v_stateful_self)->v_readLimit= _1; _1= v_self; _2= v_anInteger; _line(94); _1=_superv(v_PositionableStream, s_position_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info31= { "writeStream", "WriteStream", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 97, 101, &__info30 }; static oop WriteStream__writeStream(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info31); oop _1= 0; _line(97); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info32= { "writeStream", "SequenceableCollection", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 101, 106, &__info31 }; static oop SequenceableCollection__writeStream(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info32); oop _1= 0; oop _2= 0; _line(101); _1= v_WriteStream; _2= v_self; _line(103); _1=_sendv(s_on_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info33= { "writeStream", "OrderedCollection", "/Users/piumarta/src/idst/object/st80/WriteStream.st", 0, 106, 110, &__info32 }; static oop OrderedCollection__writeStream(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info33); oop _1= 0; oop _2= 0; _line(106); _1= v_WriteStream; _2= v_self; _line(108); _2=_sendv(s_asArray, 1, _2); _line(108); _1=_sendv(s_on_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info= { "__id__init__", "", "WriteStream.st", 0, 0, 0, &__info33 }; void __id__init__WriteStream(struct __libid *__libid) { if (_libid) return; if (!(_libid= __libid)) { fprintf(stderr, "init _libid %p\n", __libid); abort(); } # define GC_add_roots _libid->gc_addRoots GC_INIT(); { struct _Selector *s= 0; for (s= _Selectors; s->name; ++s) *s->addr= _libid->intern(s->name); } _enter(&__info); _libid->infos(&__info, &__info1); _sendv(s__5fimport_, 3, _libid->_object, "PositionableStream", "__id__init__PositionableStream"); v__object= _libid->import("_object"); v__vector= _libid->import("_vector"); v_Object= _libid->import("Object"); v_UndefinedObject= _libid->import("UndefinedObject"); v_StaticBlockClosure= _libid->import("StaticBlockClosure"); v_BlockClosure= _libid->import("BlockClosure"); v_Magnitude= _libid->import("Magnitude"); v_Character= _libid->import("Character"); v_Number= _libid->import("Number"); v_Integer= _libid->import("Integer"); v_SmallInteger= _libid->import("SmallInteger"); v_LargePositiveInteger= _libid->import("LargePositiveInteger"); v_Collection= _libid->import("Collection"); v_SequenceableCollection= _libid->import("SequenceableCollection"); v_ArrayedCollection= _libid->import("ArrayedCollection"); v_Array= _libid->import("Array"); v_WordArray= _libid->import("WordArray"); v_ByteArray= _libid->import("ByteArray"); v_String= _libid->import("String"); v_ImmutableString= _libid->import("ImmutableString"); v_true= _libid->import("true"); v_false= _libid->import("false"); v_OrderedCollection= _libid->import("OrderedCollection"); v_Stream= _libid->import("Stream"); v_PositionableStream= _libid->import("PositionableStream"); v_WriteStream= _libid->proto2(v_PositionableStream, WriteStream___5fsizeof(0, 0)); _libid->method(v_WriteStream, s__5fsizeof, (_imp_t)WriteStream___5fsizeof); _libid->method(v_WriteStream, s__5fdebugName, (_imp_t)WriteStream___5fdebugName); _libid->method(v_WriteStream, s__5fslots, (_imp_t)WriteStream___5fslots); _libid->export("WriteStream", v_WriteStream); l_2= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_WriteStream, s_on_, (_imp_t)WriteStream__on_); _libid->method(v_WriteStream, s_reset, (_imp_t)WriteStream__reset); l_5= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_WriteStream, s_resetToStart, (_imp_t)WriteStream__resetToStart); l_7= _sendv(s_value_5f_, 2, v_SmallInteger, 1); _libid->method(v_WriteStream, s_nextPut_, (_imp_t)WriteStream__nextPut_); l_9= _sendv(s_value_5f_, 2, v_SmallInteger, 20); l_10= _sendv(s_value_5f_, 2, v_SmallInteger, 1000000); l_11= _sendv(s_value_5f_, 2, v_SmallInteger, 1); _libid->method(v_WriteStream, s_pastEndPut_, (_imp_t)WriteStream__pastEndPut_); _libid->method(v_WriteStream, s_size, (_imp_t)WriteStream__size); l_14= _sendv(s_value_5f_, 2, v_Character, 9); _libid->method(v_WriteStream, s_tab, (_imp_t)WriteStream__tab); l_16= _sendv(s_value_5f_, 2, v_Character, 10); _libid->method(v_WriteStream, s_nl, (_imp_t)WriteStream__nl); l_18= _sendv(s_value_5f_, 2, v_Character, 13); _libid->method(v_WriteStream, s_cr, (_imp_t)WriteStream__cr); l_20= _sendv(s_value_5f_, 2, v_Character, 32); _libid->method(v_WriteStream, s_space, (_imp_t)WriteStream__space); _libid->method(v_WriteStream, s_tab_, (_imp_t)WriteStream__tab_); _libid->method(v_WriteStream, s_nl_, (_imp_t)WriteStream__nl_); _libid->method(v_WriteStream, s_cr_, (_imp_t)WriteStream__cr_); _libid->method(v_WriteStream, s_space_, (_imp_t)WriteStream__space_); _libid->method(v_WriteStream, s_contents, (_imp_t)WriteStream__contents); _libid->method(v_WriteStream, s_position_, (_imp_t)WriteStream__position_); _libid->method(v_WriteStream, s_writeStream, (_imp_t)WriteStream__writeStream); _libid->method(v_SequenceableCollection, s_writeStream, (_imp_t)SequenceableCollection__writeStream); _libid->method(v_OrderedCollection, s_writeStream, (_imp_t)OrderedCollection__writeStream); _leave(); }