/* generated by Id 1.1 at ,$ */ /* with the command: -I../stage1/ -I../st80 -c Encoder.st -o ../stage2/Encoder.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_key= 0; static oop s_size= 0; static oop s_warn_at_= 0; static oop s_noteUsed= 0; static oop s__5c_5c= 0; static oop s_perform_with_with_= 0; static oop s_function_5f_arity_5f_outer_state_nlr_5f_= 0; static oop s_mangleLetter_to_= 0; static oop s_mangleColon_to_= 0; static oop s_mangleOther_to_= 0; static oop s_digitValue_= 0; static oop s_withGlobalContext_knownSelectors_= 0; static oop s_inlineMacroSelectors= 0; static oop s_macroEncoders= 0; static oop s_inlineSpecialSelectors= 0; static oop s_specialEncoders= 0; static oop s_inlineTaggedArithmetic= 0; static oop s_taggedEncoders= 0; static oop s_withGlobalContext_= 0; static oop s_superTypeAt_= 0; static oop s_errorNoSuper_at_= 0; static oop s_thisTypeAt_= 0; static oop s_size_5f_value_5f_= 0; static oop s_name= 0; static oop s_function_5f_arity_5f_= 0; static oop s_mangleSelector_= 0; static oop s_writeStream= 0; static oop s_addSelector_= 0; static oop s_at_ifAbsent_= 0; static oop s_addSelector_at_= 0; static oop s_noteImplementation_in_at_= 0; static oop s_new_5f_= 0; static oop s_requireType_at_= 0; static oop s_noteNLR= 0; static oop s_constructorFor_= 0; static oop s_encode_position_= 0; static oop s_notNil= 0; static oop s_requireBooleanAt_= 0; static oop s_beginSequence= 0; static oop s_endSequence= 0; static oop s_increaseLevel= 0; static oop s__5fimport_= 0; static oop s_endBlock= 0; static oop s_ifFalse_= 0; static oop s_beginMethod_in_= 0; static oop s_hasVarargs_= 0; static oop s_declareSlot_position_type_receiver_= 0; static oop s_errorRedefined_at_= 0; static oop s_declareArgument_position_= 0; static oop s_declareTemporary_position_= 0; static oop s__5fslots= 0; static oop s_ifTrue_= 0; static oop s__2f_2f= 0; static oop s__2c= 0; static oop s__2b= 0; static oop s__2d= 0; static oop s_errorUndefined_at_= 0; static oop s_withName_position_scope_= 0; static oop s_nextLiteralTag= 0; static oop s_encodeLiteral_= 0; static oop s_encodeBlock_= 0; static oop s_pop_= 0; static oop s_addBlock_= 0; static oop s_encodeType_position_= 0; static oop s_error_at_= 0; static oop s_add_= 0; static oop s_position= 0; static oop s_isVariadic= 0; static oop s__3c= 0; static oop s_literals= 0; static oop s__3e= 0; static oop s_stackSize_= 0; static oop s_endScope= 0; static oop s_at_= 0; static oop s_encode_= 0; static oop s_at_put_= 0; static oop s_level= 0; static oop s_outer= 0; static oop s_endMethod= 0; static oop s_atAllPut_= 0; static oop s_nextPut_= 0; static oop s_pop= 0; static oop s__5fdebugName= 0; static oop s__2a= 0; static oop s_new= 0; static oop s_stackSize= 0; static oop s_base= 0; static oop s_beginBlock= 0; static oop s_selectors= 0; static oop s_addAll_= 0; static oop s_error_= 0; static oop s_asciiValue= 0; static oop s__5fsizeof= 0; static oop s_new_= 0; static oop s_value_5f_= 0; static oop s_do_= 0; static oop s_push= 0; static oop s_scope= 0; static oop s_isNil= 0; static oop s_newScope= 0; static oop s_asSymbol= 0; static oop s_removeLast= 0; static oop s_selector= 0; static oop s_methodType= 0; static oop s_addLast_= 0; static oop s_beginScope= 0; static oop s_includes_= 0; static oop s_value= 0; static oop s_contents= 0; static struct _Selector { const char *name; oop *addr; } _Selectors[]= { { "key", &s_key }, { "size", &s_size }, { "warn:at:", &s_warn_at_ }, { "noteUsed", &s_noteUsed }, { "\\\\", &s__5c_5c }, { "perform:with:with:", &s_perform_with_with_ }, { "function_:arity_:outer:state:nlr_:", &s_function_5f_arity_5f_outer_state_nlr_5f_ }, { "mangleLetter:to:", &s_mangleLetter_to_ }, { "mangleColon:to:", &s_mangleColon_to_ }, { "mangleOther:to:", &s_mangleOther_to_ }, { "digitValue:", &s_digitValue_ }, { "withGlobalContext:knownSelectors:", &s_withGlobalContext_knownSelectors_ }, { "inlineMacroSelectors", &s_inlineMacroSelectors }, { "macroEncoders", &s_macroEncoders }, { "inlineSpecialSelectors", &s_inlineSpecialSelectors }, { "specialEncoders", &s_specialEncoders }, { "inlineTaggedArithmetic", &s_inlineTaggedArithmetic }, { "taggedEncoders", &s_taggedEncoders }, { "withGlobalContext:", &s_withGlobalContext_ }, { "superTypeAt:", &s_superTypeAt_ }, { "errorNoSuper:at:", &s_errorNoSuper_at_ }, { "thisTypeAt:", &s_thisTypeAt_ }, { "size_:value_:", &s_size_5f_value_5f_ }, { "name", &s_name }, { "function_:arity_:", &s_function_5f_arity_5f_ }, { "mangleSelector:", &s_mangleSelector_ }, { "writeStream", &s_writeStream }, { "addSelector:", &s_addSelector_ }, { "at:ifAbsent:", &s_at_ifAbsent_ }, { "addSelector:at:", &s_addSelector_at_ }, { "noteImplementation:in:at:", &s_noteImplementation_in_at_ }, { "new_:", &s_new_5f_ }, { "requireType:at:", &s_requireType_at_ }, { "noteNLR", &s_noteNLR }, { "constructorFor:", &s_constructorFor_ }, { "encode:position:", &s_encode_position_ }, { "notNil", &s_notNil }, { "requireBooleanAt:", &s_requireBooleanAt_ }, { "beginSequence", &s_beginSequence }, { "endSequence", &s_endSequence }, { "increaseLevel", &s_increaseLevel }, { "_import:", &s__5fimport_ }, { "endBlock", &s_endBlock }, { "ifFalse:", &s_ifFalse_ }, { "beginMethod:in:", &s_beginMethod_in_ }, { "hasVarargs:", &s_hasVarargs_ }, { "declareSlot:position:type:receiver:", &s_declareSlot_position_type_receiver_ }, { "errorRedefined:at:", &s_errorRedefined_at_ }, { "declareArgument:position:", &s_declareArgument_position_ }, { "declareTemporary:position:", &s_declareTemporary_position_ }, { "_slots", &s__5fslots }, { "ifTrue:", &s_ifTrue_ }, { "//", &s__2f_2f }, { ",", &s__2c }, { "+", &s__2b }, { "-", &s__2d }, { "errorUndefined:at:", &s_errorUndefined_at_ }, { "withName:position:scope:", &s_withName_position_scope_ }, { "nextLiteralTag", &s_nextLiteralTag }, { "encodeLiteral:", &s_encodeLiteral_ }, { "encodeBlock:", &s_encodeBlock_ }, { "pop:", &s_pop_ }, { "addBlock:", &s_addBlock_ }, { "encodeType:position:", &s_encodeType_position_ }, { "error:at:", &s_error_at_ }, { "add:", &s_add_ }, { "position", &s_position }, { "isVariadic", &s_isVariadic }, { "<", &s__3c }, { "literals", &s_literals }, { ">", &s__3e }, { "stackSize:", &s_stackSize_ }, { "endScope", &s_endScope }, { "at:", &s_at_ }, { "encode:", &s_encode_ }, { "at:put:", &s_at_put_ }, { "level", &s_level }, { "outer", &s_outer }, { "endMethod", &s_endMethod }, { "atAllPut:", &s_atAllPut_ }, { "nextPut:", &s_nextPut_ }, { "pop", &s_pop }, { "_debugName", &s__5fdebugName }, { "*", &s__2a }, { "new", &s_new }, { "stackSize", &s_stackSize }, { "base", &s_base }, { "beginBlock", &s_beginBlock }, { "selectors", &s_selectors }, { "addAll:", &s_addAll_ }, { "error:", &s_error_ }, { "asciiValue", &s_asciiValue }, { "_sizeof", &s__5fsizeof }, { "new:", &s_new_ }, { "value_:", &s_value_5f_ }, { "do:", &s_do_ }, { "push", &s_push }, { "scope", &s_scope }, { "isNil", &s_isNil }, { "newScope", &s_newScope }, { "asSymbol", &s_asSymbol }, { "removeLast", &s_removeLast }, { "selector", &s_selector }, { "methodType", &s_methodType }, { "addLast:", &s_addLast_ }, { "beginScope", &s_beginScope }, { "includes:", &s_includes_ }, { "value", &s_value }, { "contents", &s_contents }, { 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_Set { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_LookupKey { struct _vtable *_vtable[0]; oop v_key; }; struct t_Association { struct _vtable *_vtable[0]; oop v_key; oop v_value; }; struct t_OrderedCollection { struct _vtable *_vtable[0]; oop v_array; oop v_firstIndex; oop v_lastIndex; }; struct t_Dictionary { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_SlotVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_receiver; oop v_type; }; struct t_EncodedVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_offset; }; struct t_LocalVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_offset; oop v_index; }; struct t_ArgumentVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_offset; oop v_index; oop v_tied; }; struct t_TemporaryVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_offset; oop v_index; }; struct t_Scope { struct _vtable *_vtable[0]; oop v_tally; oop v_array; oop v_argumentCount; oop v_temporaryCount; oop v_stackSize; oop v_outer; oop v_blocks; oop v_tag; oop v_level; oop v_lastOffset; oop v_encodings; oop v_exportFlag; oop v_importFlag; oop v_nlrFlag; oop v_hasVarargs; }; struct t_ParseNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; }; struct t_VariableNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_name; oop v_variable; oop v_level; }; struct t_LiteralNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_IntegerNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_SendNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_receiver; oop v_selector; oop v_arguments; oop v_cascades; oop v_superedType; oop v_specialGenerator; }; struct t_GlobalVariableNode { struct _vtable *_vtable[0]; oop v_name; oop v_position; oop v_scope; oop v_offset; }; struct t_Encoder { struct _vtable *_vtable[0]; oop v_globalContext; oop v_globals; oop v_scope; oop v_tempCount; oop v_tempMax; oop v_outerCount; oop v_selectors; oop v_literals; oop v_literalMap; oop v_literalTag; oop v_methodType; oop v_specialEncoders; oop v_implementations; oop v_knownSelectors; }; static oop l_2= 0; static oop l_4= 0; struct t_NameManglingTable { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; static oop l_12= 0; static oop l_13= 0; static oop l_14= 0; static oop l_15= 0; static oop l_16= 0; static oop l_18= 0; static oop l_17= 0; static oop l_20= 0; static oop l_24= 0; static oop l_26= 0; static oop l_27= 0; static oop l_28= 0; static oop l_33= 0; static oop l_37= 0; static oop l_38= 0; static oop l_39= 0; static oop l_40= 0; static oop l_41= 0; static oop l_44= 0; static oop l_45= 0; static oop l_51= 0; static oop l_59= 0; static oop l_61= 0; static oop l_63= 0; static oop l_66= 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_Symbol= 0; static oop v_nil= 0; static oop v_true= 0; static oop v_false= 0; static oop v_Set= 0; static oop v_LookupKey= 0; static oop v_OrderedCollection= 0; static oop v_Dictionary= 0; static oop v_EncodedVariableNode= 0; static oop v_LocalVariableNode= 0; static oop v_Scope= 0; static oop v_ParseNode= 0; static oop v_LiteralNode= 0; static oop v_SendNode= 0; static oop v_GlobalVariableNode= 0; static oop v_Encoder= 0; static oop v_NameManglingTable= 0; static size_t Encoder___5fsizeof(oop _closure, oop v_self) { return sizeof(struct t_Encoder); } static char *Encoder___5fdebugName(oop _closure, oop v_self) { return "Encoder"; } static struct __slotinfo *Encoder___5fslots(oop _closure, oop v_self) { static struct __slotinfo info[]= { { "globalContext", 0, 4 }, { "globals", 4, 4 }, { "scope", 8, 4 }, { "tempCount", 12, 4 }, { "tempMax", 16, 4 }, { "outerCount", 20, 4 }, { "selectors", 24, 4 }, { "literals", 28, 4 }, { "literalMap", 32, 4 }, { "literalTag", 36, 4 }, { "methodType", 40, 4 }, { "specialEncoders", 44, 4 }, { "implementations", 48, 4 }, { "knownSelectors", 52, 4 }, { 0, 0, 0 } }; return &info[0]; } static struct __methodinfo __info1= { "withGlobalContext:knownSelectors:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 45, 65, 0 }; static oop Encoder__withGlobalContext_knownSelectors_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aGlobalContext, oop v_knownSelectorSet) { _enter(&__info1); oop _1= 0; oop _2= 0; _line(45); _1= v_self; _line(47); _1=_sendv(s_new, 1, _1); v_self= _1; v_stateful_self= _1; _1= v_aGlobalContext; ((struct t_Encoder *)v_stateful_self)->v_globalContext= _1; _1= v_Scope; _line(49); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_scope= _1; ((struct t_Encoder *)v_stateful_self)->v_globals= _1; _1= l_2; ((struct t_Encoder *)v_stateful_self)->v_tempMax= _1; ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; _1= v_OrderedCollection; _line(51); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_outerCount= _1; _1= v_Dictionary; _line(52); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_selectors= _1; _1= v_OrderedCollection; _line(53); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literals= _1; _1= v_Dictionary; _line(54); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literalMap= _1; _1= l_2; ((struct t_Encoder *)v_stateful_self)->v_literalTag= _1; _1= v_nil; ((struct t_Encoder *)v_stateful_self)->v_methodType= _1; _1= v_Dictionary; _line(57); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_specialEncoders= _1; _1= v_Dictionary; _line(58); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_implementations= _1; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(59); _2=_sendv(s_inlineMacroSelectors, 1, _2); if (!_2) goto _l1; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(59); _2=_sendv(s_macroEncoders, 1, _2); _line(59); _1=_sendv(s_addAll_, 2, _1, _2); } _l1:; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(60); _2=_sendv(s_inlineSpecialSelectors, 1, _2); if (!_2) goto _l2; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(60); _2=_sendv(s_specialEncoders, 1, _2); _line(60); _1=_sendv(s_addAll_, 2, _1, _2); } _l2:; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(61); _2=_sendv(s_inlineTaggedArithmetic, 1, _2); if (!_2) goto _l3; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(61); _2=_sendv(s_taggedEncoders, 1, _2); _line(61); _1=_sendv(s_addAll_, 2, _1, _2); } _l3:; _1= v_knownSelectorSet; ((struct t_Encoder *)v_stateful_self)->v_knownSelectors= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info3= { "withGlobalContext:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 65, 84, &__info1 }; static oop Encoder__withGlobalContext_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aGlobalContext) { _enter(&__info3); oop _1= 0; oop _2= 0; _line(65); _1= v_self; _line(67); _1=_sendv(s_new, 1, _1); v_self= _1; v_stateful_self= _1; _1= v_aGlobalContext; ((struct t_Encoder *)v_stateful_self)->v_globalContext= _1; _1= v_Scope; _line(69); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_scope= _1; ((struct t_Encoder *)v_stateful_self)->v_globals= _1; _1= l_4; ((struct t_Encoder *)v_stateful_self)->v_tempMax= _1; ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; _1= v_OrderedCollection; _line(71); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_outerCount= _1; _1= v_Dictionary; _line(72); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_selectors= _1; _1= v_OrderedCollection; _line(73); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literals= _1; _1= v_Dictionary; _line(74); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literalMap= _1; _1= l_4; ((struct t_Encoder *)v_stateful_self)->v_literalTag= _1; _1= v_nil; ((struct t_Encoder *)v_stateful_self)->v_methodType= _1; _1= v_Dictionary; _line(77); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_specialEncoders= _1; _1= v_Dictionary; _line(78); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_implementations= _1; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(79); _2=_sendv(s_inlineMacroSelectors, 1, _2); if (!_2) goto _l4; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(79); _2=_sendv(s_macroEncoders, 1, _2); _line(79); _1=_sendv(s_addAll_, 2, _1, _2); } _l4:; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(80); _2=_sendv(s_inlineSpecialSelectors, 1, _2); if (!_2) goto _l5; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(80); _2=_sendv(s_specialEncoders, 1, _2); _line(80); _1=_sendv(s_addAll_, 2, _1, _2); } _l5:; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(81); _2=_sendv(s_inlineTaggedArithmetic, 1, _2); if (!_2) goto _l6; { _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _2= v_SendNode; _line(81); _2=_sendv(s_taggedEncoders, 1, _2); _line(81); _1=_sendv(s_addAll_, 2, _1, _2); } _l6:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info5= { "scope", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 84, 85, &__info3 }; static oop Encoder__scope(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info5); oop _1= 0; _line(84); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _leave(); return _1; _leave(); } static struct __methodinfo __info6= { "selectors", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 85, 86, &__info5 }; static oop Encoder__selectors(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info6); oop _1= 0; _line(85); _1= ((struct t_Encoder *)v_stateful_self)->v_selectors; _leave(); return _1; _leave(); } static struct __methodinfo __info7= { "level", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 86, 87, &__info6 }; static oop Encoder__level(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info7); oop _1= 0; _line(86); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(86); _1=_sendv(s_level, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info8= { "noteNLR", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 87, 89, &__info7 }; static oop Encoder__noteNLR(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info8); oop _1= 0; _line(87); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(87); _1=_sendv(s_noteNLR, 1, _1); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info9= { "methodType", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 89, 91, &__info8 }; static oop Encoder__methodType(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info9); oop _1= 0; _line(89); _1= ((struct t_Encoder *)v_stateful_self)->v_methodType; _leave(); return _1; _leave(); } static struct __methodinfo __info10= { "superTypeAt:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 91, 98, &__info9 }; static oop Encoder__superTypeAt_(oop v__closure, oop v_stateful_self, oop v_self, oop v_position) { _enter(&__info10); oop _1= 0; oop _2= 0; oop _3= 0; _line(91); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_methodType; _line(94); _2=_sendv(s_base, 1, _2); _line(94); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l7; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= ((struct t_Encoder *)v_stateful_self)->v_methodType; _line(94); _2=_sendv(s_name, 1, _2); _3= v_position; _line(94); _1=_sendv(s_errorNoSuper_at_, 3, _1, _2, _3); } _l7:; _1= ((struct t_Encoder *)v_stateful_self)->v_methodType; _line(95); _1=_sendv(s_base, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info11= { "thisTypeAt:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 98, 104, &__info10 }; static oop Encoder__thisTypeAt_(oop v__closure, oop v_stateful_self, oop v_self, oop v_position) { _enter(&__info11); oop _1= 0; _line(98); _1= ((struct t_Encoder *)v_stateful_self)->v_methodType; _line(101); _1=_sendv(s_name, 1, _1); _leave(); return _1; _leave(); } static size_t NameManglingTable___5fsizeof(oop _closure, oop v_self) { return sizeof(struct t_NameManglingTable); } static char *NameManglingTable___5fdebugName(oop _closure, oop v_self) { return "NameManglingTable"; } static struct __slotinfo *NameManglingTable___5fslots(oop _closure, oop v_self) { static struct __slotinfo info[]= { { "size", 0, 4 }, { "_pointers", 4, 4 }, { 0, 0, 0 } }; return &info[0]; } static struct __methodinfo __info17= { "[] ?", "?", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 0, 0, &__info11 }; static oop b_17(oop v__closure, oop v__self, oop v_char) { _enter(&__info17); oop _1= 0; oop _2= 0; oop _3= 0; _line(117); _1= v_NameManglingTable; _2= v_char; _line(117); _2=_sendv(s_asciiValue, 1, _2); _3= l_18; _line(117); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info21= { "[] mangleSelector:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 120, 128, &__info17 }; static oop b_21(oop v__closure, oop v__self, oop v_char) { _enter(&__info21); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(124); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= v_NameManglingTable; _3= v_char; _line(124); _3=_sendv(s_asciiValue, 1, _3); _line(124); _2=_sendv(s_at_, 2, _2, _3); _3= v_char; _4= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* mangled */ _line(124); _1=_sendv(s_perform_with_with_, 4, _1, _2, _3, _4); _leave(); return _1; _leave(); } static struct __methodinfo __info19= { "mangleSelector:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 120, 128, &__info21 }; static oop Encoder__mangleSelector_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aString) { _enter(&__info19); oop _state1= _sendv(s_new_5f_, 2, v__vector, 18); oop _1= 0; oop _2= 0; oop _3= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; _line(120); _1= v_String; _2= v_aString; _line(123); _2=_sendv(s_size, 1, _2); _3= l_20; { int _l= (long)_2 >> 1; int _r= (long)_3 >> 1; int _s= (_l * _r); if ((1 & (long)_2) && ((_r == 0) || (_s / _r == _l)) && ((_s ^ (_s << 1)) >= 0)) _2= (oop)(long)(_s << 1 | 1); else _2= _sendv(s__2a, 2, _2, _3); } _line(123); _1=_sendv(s_new_, 2, _1, _2); _line(123); _1=_sendv(s_writeStream, 1, _1); ((oop *)_state1)[3]= _1; /* mangled */ _1= v_aString; /* Scope('char'->ArgumentVariableNode) */ /* Scope('literalTag'->SlotVariableNode 'aString'->ArgumentVariableNode 'tempCount'->SlotVariableNode 'outerCount'->SlotVariableNode 'globalContext'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'tempMax'->SlotVariableNode 'methodType'->SlotVariableNode 'self'->ArgumentVariableNode 'globals'->SlotVariableNode 'literals'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'literalMap'->SlotVariableNode 'mangled'->TemporaryVariableNode 'selectors'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode 'scope'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_21, 1, 0, ((oop *)_state1), 0); _line(124); _1=_sendv(s_do_, 2, _1, _2); _1= ((oop *)_state1)[3]; /* mangled */ _line(125); _1=_sendv(s_contents, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info22= { "mangleLetter:to:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 128, 129, &__info19 }; static oop Encoder__mangleLetter_to_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aCharacter, oop v_aStream) { _enter(&__info22); oop _1= 0; oop _2= 0; _line(128); _1= v_aStream; _2= v_aCharacter; _line(128); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info23= { "mangleColon:to:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 129, 131, &__info22 }; static oop Encoder__mangleColon_to_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aCharacter, oop v_aStream) { _enter(&__info23); oop _1= 0; oop _2= 0; _line(129); _1= v_aStream; _2= l_24; _line(129); _1=_sendv(s_nextPut_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info25= { "mangleOther:to:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 131, 143, &__info23 }; static oop Encoder__mangleOther_to_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aCharacter, oop v_aStream) { _enter(&__info25); oop v_ascii= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_ascii; _line(131); _1= v_aCharacter; _line(134); _1=_sendv(s_asciiValue, 1, _1); v_ascii= _1; _1= v_aStream; _2= l_26; _line(135); _1=_sendv(s_nextPut_, 2, _1, _2); /* ifTrue: */ _1= 0; _2= v_ascii; _3= l_27; if (1 & (long)_2) { _2= (((long)_2 < (long)_3) ? v_true : v_false); } else _2= _sendv(s__3c, 2, _2, _3); if (!_2) goto _l8; { _1= v_aStream; _2= v_Character; _3= v_ascii; _4= l_28; _3= _sendv(s__2f_2f, 2, _3, _4); _line(139); _2=_sendv(s_digitValue_, 2, _2, _3); _line(139); _sendv(s_nextPut_, 2, _1, _2); _2= v_Character; _3= v_ascii; _4= l_28; _3= _sendv(s__5c_5c, 2, _3, _4); _line(140); _2=_sendv(s_digitValue_, 2, _2, _3); _1=_sendv(s_nextPut_, 2, _1, _2); } _l8:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info30= { "[] addSelector:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 143, 148, &__info25 }; static oop b_30(oop v__closure, oop v__self) { _enter(&__info30); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(145); _1= ((struct t_Encoder *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_selectors; /* selectors */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* aSelector */ _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* self */ _4= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* aSelector */ _line(145); _3=_sendv(s_mangleSelector_, 2, _3, _4); _line(145); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info29= { "addSelector:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 143, 148, &__info30 }; static oop Encoder__addSelector_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aSelector) { _enter(&__info29); oop _state1= _sendv(s_new_5f_, 2, v__vector, 18); oop _1= 0; oop _2= 0; oop _3= 0; ((oop *)_state1)[1]= v_stateful_self; ((oop *)_state1)[3]= v_self; ((oop *)_state1)[2]= v_aSelector; _line(143); _1= ((struct t_Encoder *)((oop *)_state1)[1])->v_selectors; /* selectors */ _2= ((oop *)_state1)[2]; /* aSelector */ /* Scope() */ /* Scope('literalTag'->SlotVariableNode 'tempCount'->SlotVariableNode 'aSelector'->ArgumentVariableNode 'globalContext'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'tempMax'->SlotVariableNode 'outerCount'->SlotVariableNode 'self'->ArgumentVariableNode 'globals'->SlotVariableNode 'literals'->SlotVariableNode 'methodType'->SlotVariableNode 'literalMap'->SlotVariableNode 'selectors'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode 'scope'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_30, 0, 0, ((oop *)_state1), 0); _line(145); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); _1= ((oop *)_state1)[3]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info32= { "[] addSelector:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 148, 160, &__info29 }; static oop b_32(oop v__closure, oop v__self) { _enter(&__info32); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(151); _1= ((struct t_Encoder *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_selectors; /* selectors */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* aSelector */ _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* self */ _4= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* aSelector */ _line(151); _3=_sendv(s_mangleSelector_, 2, _3, _4); _line(151); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info31= { "addSelector:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 148, 160, &__info32 }; static oop Encoder__addSelector_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aSelector, oop v_aPosition) { _enter(&__info31); oop _state1= _sendv(s_new_5f_, 2, v__vector, 18); oop v_symbol= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_symbol; ((oop *)_state1)[1]= v_stateful_self; ((oop *)_state1)[3]= v_self; ((oop *)_state1)[2]= v_aSelector; _line(148); _1= ((struct t_Encoder *)((oop *)_state1)[1])->v_selectors; /* selectors */ _2= ((oop *)_state1)[2]; /* aSelector */ /* Scope() */ /* Scope('literalTag'->SlotVariableNode 'aSelector'->ArgumentVariableNode 'aPosition'->ArgumentVariableNode 'stateful_self'->ArgumentVariableNode 'globalContext'->SlotVariableNode 'tempCount'->SlotVariableNode 'tempMax'->SlotVariableNode 'self'->ArgumentVariableNode 'literals'->SlotVariableNode 'globals'->SlotVariableNode 'outerCount'->SlotVariableNode 'literalMap'->SlotVariableNode 'selectors'->SlotVariableNode 'methodType'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode 'scope'->SlotVariableNode 'symbol'->TemporaryVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_32, 0, 0, ((oop *)_state1), 0); _line(151); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)((oop *)_state1)[1])->v_knownSelectors; /* knownSelectors */ if (!_2) goto _l9; { /* ifFalse: */ _1= 0; _2= ((struct t_Encoder *)((oop *)_state1)[1])->v_knownSelectors; /* knownSelectors */ _3= ((oop *)_state1)[2]; /* aSelector */ _line(154); _3=_sendv(s_asSymbol, 1, _3); v_symbol= _3; _line(154); _2=_sendv(s_includes_, 2, _2, _3); if (_2) goto _l10; { _1= ((oop *)_state1)[3]; /* self */ _2= ((oop *)_state1)[2]; /* aSelector */ _3= l_33; _line(156); _2=_sendv(s__2c, 2, _2, _3); _3= v_aPosition; _line(156); _1=_sendv(s_warn_at_, 3, _1, _2, _3); _1= ((struct t_Encoder *)((oop *)_state1)[1])->v_knownSelectors; /* knownSelectors */ _2= v_symbol; _line(157); _1=_sendv(s_add_, 2, _1, _2); } _l10:; } _l9:; _1= ((oop *)_state1)[3]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info35= { "[] noteImplementation:in:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 160, 169, &__info31 }; static oop b_35(oop v__closure, oop v__self) { _enter(&__info35); oop _1= 0; oop _2= 0; oop _3= 0; _line(163); _1= ((struct t_Encoder *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_implementations; /* implementations */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* typeName */ _3= v_Dictionary; _line(163); _3=_sendv(s_new, 1, _3); _line(163); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info36= { "[] noteImplementation:in:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 160, 169, &__info35 }; static oop b_36(oop v__closure, oop v__self) { _enter(&__info36); oop _1= 0; oop _2= 0; oop _3= 0; _line(164); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* dict */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[4]; /* selectorName */ _3= l_41; _line(164); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info34= { "noteImplementation:in:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 160, 169, &__info36 }; static oop Encoder__noteImplementation_in_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_selectorName, oop v_typeName, oop v_aPosition) { _enter(&__info34); oop _state1= _sendv(s_new_5f_, 2, v__vector, 19); oop v_count= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_count; ((oop *)_state1)[1]= v_stateful_self; ((oop *)_state1)[4]= v_selectorName; ((oop *)_state1)[2]= v_typeName; _line(160); _1= ((struct t_Encoder *)((oop *)_state1)[1])->v_implementations; /* implementations */ _2= ((oop *)_state1)[2]; /* typeName */ /* Scope() */ /* Scope('literalTag'->SlotVariableNode 'outerCount'->SlotVariableNode 'aPosition'->ArgumentVariableNode 'count'->TemporaryVariableNode 'stateful_self'->ArgumentVariableNode 'selectorName'->ArgumentVariableNode 'typeName'->ArgumentVariableNode 'globalContext'->SlotVariableNode 'self'->ArgumentVariableNode 'globals'->SlotVariableNode 'tempCount'->SlotVariableNode 'dict'->TemporaryVariableNode 'tempMax'->SlotVariableNode 'selectors'->SlotVariableNode 'literals'->SlotVariableNode 'literalMap'->SlotVariableNode 'methodType'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'scope'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_35, 0, 0, ((oop *)_state1), 0); _line(163); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); ((oop *)_state1)[3]= _1; /* dict */ _1= ((oop *)_state1)[3]; /* dict */ _2= ((oop *)_state1)[4]; /* selectorName */ /* Scope() */ /* Scope('literalTag'->SlotVariableNode 'outerCount'->SlotVariableNode 'aPosition'->ArgumentVariableNode 'count'->TemporaryVariableNode 'stateful_self'->ArgumentVariableNode 'selectorName'->ArgumentVariableNode 'typeName'->ArgumentVariableNode 'globalContext'->SlotVariableNode 'self'->ArgumentVariableNode 'globals'->SlotVariableNode 'tempCount'->SlotVariableNode 'dict'->TemporaryVariableNode 'tempMax'->SlotVariableNode 'selectors'->SlotVariableNode 'literals'->SlotVariableNode 'literalMap'->SlotVariableNode 'methodType'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'scope'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_36, 0, 0, ((oop *)_state1), 0); _line(164); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_count= _1; /* ifFalse: */ _1= 0; _2= v_count; _3= l_37; if (1 & (long)_2) { _2= (((long)_2 < (long)_3) ? v_true : v_false); } else _2= _sendv(s__3c, 2, _2, _3); if (_2) goto _l11; { _1= v_self; _2= ((oop *)_state1)[2]; /* typeName */ _3= l_38; _line(165); _2=_sendv(s__2c, 2, _2, _3); _3= ((oop *)_state1)[4]; /* selectorName */ _line(165); _2=_sendv(s__2c, 2, _2, _3); _3= l_39; _line(165); _2=_sendv(s__2c, 2, _2, _3); _3= v_aPosition; _line(165); _1=_sendv(s_warn_at_, 3, _1, _2, _3); } _l11:; _1= ((oop *)_state1)[3]; /* dict */ _2= ((oop *)_state1)[4]; /* selectorName */ _3= v_count; _4= l_40; { int _l= (long)_3 >> 1; int _r= (long)_4 >> 1; int _s= _l + _r; if ((1 & (long)_3) && ((_s ^ (_s << 1)) >= 0)) _3= (oop)(long)(_s << 1 | 1); else _3= _sendv(s__2b, 2, _3, _4); } _line(166); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info42= { "requireType:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 169, 181, &__info34 }; static oop Encoder__requireType_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_typeName, oop v_aPosition) { _enter(&__info42); oop v_constructor= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_constructor; _line(169); _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_typeName; _line(173); _1=_sendv(s_constructorFor_, 2, _1, _2); v_constructor= _1; _1= v_self; _2= v_constructor; _line(175); _2=_sendv(s_key, 1, _2); _3= v_aPosition; _line(175); _1=_sendv(s_encode_position_, 3, _1, _2, _3); /* ifTrue: */ _1= 0; _2= v_constructor; _line(177); _2=_sendv(s_value, 1, _2); _line(177); _2=_sendv(s_notNil, 1, _2); if (!_2) goto _l12; { _1= v_self; _2= v_constructor; _line(177); _2=_sendv(s_value, 1, _2); _line(177); _1=_sendv(s_addSelector_, 2, _1, _2); } _l12:; _1= v_constructor; _leave(); return _1; _leave(); } static struct __methodinfo __info43= { "requireBooleanAt:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 181, 188, &__info42 }; static oop Encoder__requireBooleanAt_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aPosition) { _enter(&__info43); oop _1= 0; oop _2= 0; oop _3= 0; _line(181); _1= v_self; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _3= l_44; _line(184); _2=_sendv(s_constructorFor_, 2, _2, _3); _line(184); _2=_sendv(s_key, 1, _2); _3= v_aPosition; _line(184); _sendv(s_encode_position_, 3, _1, _2, _3); _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _3= l_45; _line(185); _2=_sendv(s_constructorFor_, 2, _2, _3); _line(185); _2=_sendv(s_key, 1, _2); _3= v_aPosition; _1=_sendv(s_encode_position_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info46= { "beginScope", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 188, 189, &__info43 }; static oop Encoder__beginScope(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info46); oop _1= 0; _line(188); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(188); _1=_sendv(s_newScope, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_scope= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info47= { "endScope", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 189, 191, &__info46 }; static oop Encoder__endScope(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info47); oop _1= 0; _line(189); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(189); _1=_sendv(s_outer, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_scope= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info48= { "beginSequence", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 191, 192, &__info47 }; static oop Encoder__beginSequence(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info48); oop _1= 0; _line(191); _1= v_self; _line(191); _1=_sendv(s_beginScope, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info49= { "endSequence", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 192, 194, &__info48 }; static oop Encoder__endSequence(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info49); oop _1= 0; _line(192); _1= v_self; _line(192); _1=_sendv(s_endScope, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info50= { "beginBlock", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 194, 205, &__info49 }; static oop Encoder__beginBlock(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info50); oop _1= 0; oop _2= 0; _line(194); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _2= ((struct t_Encoder *)v_stateful_self)->v_tempMax; _line(197); _1=_sendv(s_stackSize_, 2, _1, _2); _1= ((struct t_Encoder *)v_stateful_self)->v_outerCount; _2= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _line(198); _1=_sendv(s_addLast_, 2, _1, _2); _1= v_self; _line(199); _1=_sendv(s_beginSequence, 1, _1); _1= l_51; ((struct t_Encoder *)v_stateful_self)->v_tempMax= _1; ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(201); _1=_sendv(s_increaseLevel, 1, _1); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _leave(); return _1; _leave(); } static struct __methodinfo __info52= { "endBlock", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 205, 214, &__info50 }; static oop Encoder__endBlock(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info52); oop _1= 0; oop _2= 0; _line(205); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _2= ((struct t_Encoder *)v_stateful_self)->v_tempMax; _line(207); _1=_sendv(s_stackSize_, 2, _1, _2); _1= v_self; _line(208); _1=_sendv(s_endSequence, 1, _1); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _line(209); _1=_sendv(s_stackSize, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_tempMax= _1; _1= ((struct t_Encoder *)v_stateful_self)->v_outerCount; _line(210); _1=_sendv(s_removeLast, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _leave(); return _1; _leave(); } static struct __methodinfo __info53= { "beginMethod:in:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 214, 223, &__info52 }; static oop Encoder__beginMethod_in_(oop v__closure, oop v_stateful_self, oop v_self, oop v_aMethodNode, oop v_typeNode) { _enter(&__info53); oop _1= 0; oop _2= 0; _line(214); _1= v_self; _line(216); _1=_sendv(s_beginBlock, 1, _1); _1= v_self; _2= v_aMethodNode; _line(217); _2=_sendv(s_selector, 1, _2); _line(217); _1=_sendv(s_addSelector_, 2, _1, _2); _1= v_typeNode; ((struct t_Encoder *)v_stateful_self)->v_methodType= _1; _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _2= v_aMethodNode; _line(219); _2=_sendv(s_isVariadic, 1, _2); _line(219); _1=_sendv(s_hasVarargs_, 2, _1, _2); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _leave(); return _1; _leave(); } static struct __methodinfo __info54= { "endMethod", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 223, 229, &__info53 }; static oop Encoder__endMethod(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info54); oop _1= 0; _line(223); _1= v_nil; ((struct t_Encoder *)v_stateful_self)->v_methodType= _1; _1= v_self; _line(226); _1=_sendv(s_endBlock, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info55= { "declareSlot:position:type:receiver:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 229, 237, &__info54 }; static oop Encoder__declareSlot_position_type_receiver_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_position, oop v_type, oop v_selfNode) { _enter(&__info55); oop v_var= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; oop _5= 0; oop _6= 0; (void)v_var; _line(229); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_scope; _3= v_name; _4= v_position; _5= v_type; _6= v_selfNode; _line(232); _2=_sendv(s_declareSlot_position_type_receiver_, 5, _2, _3, _4, _5, _6); v_var= _2; _line(232); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l13; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_name; _3= v_position; _line(233); _1=_sendv(s_errorRedefined_at_, 3, _1, _2, _3); } _l13:; _1= v_var; _leave(); return _1; _leave(); } static struct __methodinfo __info56= { "declareArgument:position:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 237, 245, &__info55 }; static oop Encoder__declareArgument_position_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_position) { _enter(&__info56); oop v_var= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_var; _line(237); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_scope; _3= v_name; _4= v_position; _line(240); _2=_sendv(s_declareArgument_position_, 3, _2, _3, _4); v_var= _2; _line(240); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l14; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_name; _3= v_position; _line(241); _1=_sendv(s_errorRedefined_at_, 3, _1, _2, _3); } _l14:; _1= v_var; _leave(); return _1; _leave(); } static struct __methodinfo __info57= { "declareTemporary:position:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 245, 253, &__info56 }; static oop Encoder__declareTemporary_position_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_position) { _enter(&__info57); oop v_var= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_var; _line(245); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_scope; _3= v_name; _4= v_position; _line(248); _2=_sendv(s_declareTemporary_position_, 3, _2, _3, _4); v_var= _2; _line(248); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l15; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_name; _3= v_position; _line(249); _1=_sendv(s_errorRedefined_at_, 3, _1, _2, _3); } _l15:; _1= v_var; _leave(); return _1; _leave(); } static struct __methodinfo __info58= { "push", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 253, 260, &__info57 }; static oop Encoder__push(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info58); oop _1= 0; oop _2= 0; oop _3= 0; _line(253); _1= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _2= l_59; { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= _l + _r; if ((1 & (long)_1) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2b, 2, _1, _2); } ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _3= ((struct t_Encoder *)v_stateful_self)->v_tempMax; if (1 & (long)_2 & (long)_3) { _2= (((long)_2 > (long)_3) ? v_true : v_false); } else _2= _sendv(s__3e, 2, _2, _3); if (!_2) goto _l16; { _1= ((struct t_Encoder *)v_stateful_self)->v_tempCount; ((struct t_Encoder *)v_stateful_self)->v_tempMax= _1; } _l16:; _1= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _leave(); return _1; _leave(); } static struct __methodinfo __info60= { "pop:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 260, 266, &__info58 }; static oop Encoder__pop_(oop v__closure, oop v_stateful_self, oop v_self, oop v_count) { _enter(&__info60); oop _1= 0; oop _2= 0; oop _3= 0; _line(260); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _3= v_count; if (1 & (long)_2 & (long)_3) { _2= (((long)_2 < (long)_3) ? v_true : v_false); } else _2= _sendv(s__3c, 2, _2, _3); if (!_2) goto _l17; { _1= v_self; _2= l_61; _line(262); _1=_sendv(s_error_, 2, _1, _2); } _l17:; _1= ((struct t_Encoder *)v_stateful_self)->v_tempCount; _2= v_count; { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= (_l - _r); if ((1 & (long)_1 & (long)_2) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2d, 2, _1, _2); } ((struct t_Encoder *)v_stateful_self)->v_tempCount= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info62= { "pop", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 266, 271, &__info60 }; static oop Encoder__pop(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info62); oop _1= 0; oop _2= 0; _line(266); _1= v_self; _2= l_63; _line(268); _1=_sendv(s_pop_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info64= { "encode:position:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 271, 285, &__info62 }; static oop Encoder__encode_position_(oop v__closure, oop v_stateful_self, oop v_self, oop v_nameString, oop v_aPosition) { _enter(&__info64); oop v_node= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; oop _5= 0; oop _6= 0; (void)v_node; _line(271); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_scope; _3= v_nameString; _line(275); _2=_sendv(s_encode_, 2, _2, _3); v_node= _2; _line(275); _2=_sendv(s_notNil, 1, _2); if (!_2) goto _l18; { _1= v_node; _leave(); return _1; } _l18:; /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _3= v_nameString; _line(278); _2=_sendv(s_encode_, 2, _2, _3); v_node= _2; _line(278); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l19; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_nameString; _3= v_aPosition; _line(279); _1=_sendv(s_errorUndefined_at_, 3, _1, _2, _3); } _l19:; _1= v_node; _line(280); _1=_sendv(s_noteUsed, 1, _1); _1= ((struct t_Encoder *)v_stateful_self)->v_globals; _2= v_nameString; _3= v_GlobalVariableNode; _4= v_nameString; _5= v_node; _line(282); _5=_sendv(s_position, 1, _5); _6= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _line(282); _3=_sendv(s_withName_position_scope_, 4, _3, _4, _5, _6); _line(282); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info65= { "nextLiteralTag", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 285, 290, &__info64 }; static oop Encoder__nextLiteralTag(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info65); oop _1= 0; oop _2= 0; _line(285); _1= ((struct t_Encoder *)v_stateful_self)->v_literalTag; _2= l_66; { int _l= (long)_1 >> 1; int _r= (long)_2 >> 1; int _s= _l + _r; if ((1 & (long)_1) && ((_s ^ (_s << 1)) >= 0)) _1= (oop)(long)(_s << 1 | 1); else _1= _sendv(s__2b, 2, _1, _2); } ((struct t_Encoder *)v_stateful_self)->v_literalTag= _1; _leave(); return _1; _leave(); } static struct __methodinfo __info68= { "[] encodeLiteral:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 290, 298, &__info65 }; static oop b_68(oop v__closure, oop v__self) { _enter(&__info68); oop _1= 0; oop _2= 0; oop _3= 0; _line(294); _1= ((struct t_Encoder *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_literalMap; /* literalMap */ _2= ((struct t_Encoder *)((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1])->v_literals; /* literals */ _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[2]; /* literalNode */ _line(294); _2=_sendv(s_add_, 2, _2, _3); _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* self */ _line(294); _3=_sendv(s_nextLiteralTag, 1, _3); _line(294); _1=_sendv(s_at_put_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info67= { "encodeLiteral:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 290, 298, &__info68 }; static oop Encoder__encodeLiteral_(oop v__closure, oop v_stateful_self, oop v_self, oop v_literalNode) { _enter(&__info67); oop _state1= _sendv(s_new_5f_, 2, v__vector, 18); oop v_lit= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_lit; ((oop *)_state1)[1]= v_stateful_self; ((oop *)_state1)[3]= v_self; ((oop *)_state1)[2]= v_literalNode; _line(290); _1= ((struct t_Encoder *)((oop *)_state1)[1])->v_literalMap; /* literalMap */ _2= ((oop *)_state1)[2]; /* literalNode */ /* Scope() */ /* Scope('literalTag'->SlotVariableNode 'tempCount'->SlotVariableNode 'outerCount'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'globalContext'->SlotVariableNode 'literalNode'->ArgumentVariableNode 'tempMax'->SlotVariableNode 'self'->ArgumentVariableNode 'globals'->SlotVariableNode 'literals'->SlotVariableNode 'methodType'->SlotVariableNode 'literalMap'->SlotVariableNode 'selectors'->SlotVariableNode 'specialEncoders'->SlotVariableNode 'implementations'->SlotVariableNode 'knownSelectors'->SlotVariableNode 'scope'->SlotVariableNode 'lit'->TemporaryVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_68, 0, 0, ((oop *)_state1), 0); _line(294); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_lit= _1; _1= v_lit; _leave(); return _1; _leave(); } static struct __methodinfo __info69= { "literals", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 298, 311, &__info67 }; static oop Encoder__literals(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info69); oop v_lits= 0; oop _1= 0; (void)v_lits; _line(298); _1= ((struct t_Encoder *)v_stateful_self)->v_literals; v_lits= _1; _1= v_OrderedCollection; _line(306); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literals= _1; _1= v_Dictionary; _line(307); _1=_sendv(s_new, 1, _1); ((struct t_Encoder *)v_stateful_self)->v_literalMap= _1; _1= v_lits; _leave(); return _1; _leave(); } static struct __methodinfo __info70= { "encodeBlock:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 311, 316, &__info69 }; static oop Encoder__encodeBlock_(oop v__closure, oop v_stateful_self, oop v_self, oop v_blockNode) { _enter(&__info70); oop _1= 0; _line(311); _1= v_self; _line(313); _1=_sendv(s_nextLiteralTag, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info71= { "addBlock:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 316, 321, &__info70 }; static oop Encoder__addBlock_(oop v__closure, oop v_stateful_self, oop v_self, oop v_blockNode) { _enter(&__info71); oop _1= 0; oop _2= 0; _line(316); _1= ((struct t_Encoder *)v_stateful_self)->v_scope; _2= v_blockNode; _line(318); _1=_sendv(s_addBlock_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info72= { "encodeType:position:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 321, 333, &__info71 }; static oop Encoder__encodeType_position_(oop v__closure, oop v_stateful_self, oop v_self, oop v_typeName, oop v_aPosition) { _enter(&__info72); oop v_type= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_type; _line(321); /* ifTrue: */ _1= 0; _2= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _3= v_typeName; _line(327); _2=_sendv(s_encode_, 2, _2, _3); v_type= _2; _line(327); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l20; { _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_typeName; _3= v_aPosition; _line(328); _1=_sendv(s_errorUndefined_at_, 3, _1, _2, _3); } _l20:; _1= v_type; _leave(); return _1; _leave(); } static struct __methodinfo __info73= { "specialEncoders", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 333, 338, &__info72 }; static oop Encoder__specialEncoders(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info73); oop _1= 0; _line(333); _1= ((struct t_Encoder *)v_stateful_self)->v_specialEncoders; _leave(); return _1; _leave(); } static struct __methodinfo __info74= { "error:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 338, 339, &__info73 }; static oop Encoder__error_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_message, oop v_aPosition) { _enter(&__info74); oop _1= 0; oop _2= 0; oop _3= 0; _line(338); _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_message; _3= v_aPosition; _line(338); _1=_sendv(s_error_at_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info75= { "warn:at:", "Encoder", "/Users/piumarta/src/idst/object/idc/Encoder.st", 0, 339, 340, &__info74 }; static oop Encoder__warn_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_message, oop v_aPosition) { _enter(&__info75); oop _1= 0; oop _2= 0; oop _3= 0; _line(339); _1= ((struct t_Encoder *)v_stateful_self)->v_globalContext; _2= v_message; _3= v_aPosition; _line(339); _1=_sendv(s_warn_at_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info= { "__id__init__", "", "Encoder.st", 0, 0, 0, &__info75 }; void __id__init__Encoder(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, "Object", "__id__init__Object"); 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_Symbol= _libid->import("Symbol"); v_nil= _libid->import("nil"); v_true= _libid->import("true"); v_false= _libid->import("false"); _sendv(s__5fimport_, 3, _libid->_object, "Scope", "__id__init__Scope"); v_Set= _libid->import("Set"); v_LookupKey= _libid->import("LookupKey"); v_OrderedCollection= _libid->import("OrderedCollection"); v_Dictionary= _libid->import("Dictionary"); v_EncodedVariableNode= _libid->import("EncodedVariableNode"); v_LocalVariableNode= _libid->import("LocalVariableNode"); v_Scope= _libid->import("Scope"); _sendv(s__5fimport_, 3, _libid->_object, "SendNode", "__id__init__SendNode"); v_ParseNode= _libid->import("ParseNode"); v_LiteralNode= _libid->import("LiteralNode"); v_SendNode= _libid->import("SendNode"); _sendv(s__5fimport_, 3, _libid->_object, "GlobalVariableNode", "__id__init__GlobalVariableNode"); v_GlobalVariableNode= _libid->import("GlobalVariableNode"); v_Encoder= _libid->proto2(v_Object, Encoder___5fsizeof(0, 0)); _libid->method(v_Encoder, s__5fsizeof, (_imp_t)Encoder___5fsizeof); _libid->method(v_Encoder, s__5fdebugName, (_imp_t)Encoder___5fdebugName); _libid->method(v_Encoder, s__5fslots, (_imp_t)Encoder___5fslots); _libid->export("Encoder", v_Encoder); l_2= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Encoder, s_withGlobalContext_knownSelectors_, (_imp_t)Encoder__withGlobalContext_knownSelectors_); l_4= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Encoder, s_withGlobalContext_, (_imp_t)Encoder__withGlobalContext_); _libid->method(v_Encoder, s_scope, (_imp_t)Encoder__scope); _libid->method(v_Encoder, s_selectors, (_imp_t)Encoder__selectors); _libid->method(v_Encoder, s_level, (_imp_t)Encoder__level); _libid->method(v_Encoder, s_noteNLR, (_imp_t)Encoder__noteNLR); _libid->method(v_Encoder, s_methodType, (_imp_t)Encoder__methodType); _libid->method(v_Encoder, s_superTypeAt_, (_imp_t)Encoder__superTypeAt_); _libid->method(v_Encoder, s_thisTypeAt_, (_imp_t)Encoder__thisTypeAt_); v_NameManglingTable= _libid->proto2(v_Array, NameManglingTable___5fsizeof(0, 0)); _libid->method(v_NameManglingTable, s__5fsizeof, (_imp_t)NameManglingTable___5fsizeof); _libid->method(v_NameManglingTable, s__5fdebugName, (_imp_t)NameManglingTable___5fdebugName); _libid->method(v_NameManglingTable, s__5fslots, (_imp_t)NameManglingTable___5fslots); _libid->export("NameManglingTable", v_NameManglingTable); l_12= _sendv(s_value_5f_, 2, v_SmallInteger, 256); l_13= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 15, "mangleOther:to:"); l_14= _sendv(s_value_5f_, 2, v_Character, 58); l_15= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 15, "mangleColon:to:"); l_16= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 62, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); l_18= _sendv(s_size_5f_value_5f_, 3, v_Symbol, 16, "mangleLetter:to:"); l_17= _sendv(s_function_5f_arity_5f_, 3, v_StaticBlockClosure, b_17, 1); { oop _1= 0; oop _2= 0; oop _3= 0; _1= v_Array; _2= l_12; _line(113); _1=_sendv(s_new_, 2, _1, _2); v_NameManglingTable= _1; _libid->export("NameManglingTable", v_NameManglingTable); _1= v_NameManglingTable; _2= l_13; _line(114); _1=_sendv(s_atAllPut_, 2, _1, _2); _1= v_NameManglingTable; _2= l_14; _line(115); _2=_sendv(s_asciiValue, 1, _2); _3= l_15; _line(115); _1=_sendv(s_at_put_, 3, _1, _2, _3); _1= l_16; _2= l_17; _line(117); _1=_sendv(s_do_, 2, _1, _2); } l_20= _sendv(s_value_5f_, 2, v_SmallInteger, 2); _libid->method(v_Encoder, s_mangleSelector_, (_imp_t)Encoder__mangleSelector_); _libid->method(v_Encoder, s_mangleLetter_to_, (_imp_t)Encoder__mangleLetter_to_); l_24= _sendv(s_value_5f_, 2, v_Character, 95); _libid->method(v_Encoder, s_mangleColon_to_, (_imp_t)Encoder__mangleColon_to_); l_26= _sendv(s_value_5f_, 2, v_Character, 95); l_27= _sendv(s_value_5f_, 2, v_SmallInteger, 127); l_28= _sendv(s_value_5f_, 2, v_SmallInteger, 16); _libid->method(v_Encoder, s_mangleOther_to_, (_imp_t)Encoder__mangleOther_to_); _libid->method(v_Encoder, s_addSelector_, (_imp_t)Encoder__addSelector_); l_33= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 23, " may not be implemented"); _libid->method(v_Encoder, s_addSelector_at_, (_imp_t)Encoder__addSelector_at_); l_37= _sendv(s_value_5f_, 2, v_SmallInteger, 0); l_38= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 1, "."); l_39= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 10, " redefined"); l_40= _sendv(s_value_5f_, 2, v_SmallInteger, 1); l_41= _sendv(s_value_5f_, 2, v_SmallInteger, -1); _libid->method(v_Encoder, s_noteImplementation_in_at_, (_imp_t)Encoder__noteImplementation_in_at_); _libid->method(v_Encoder, s_requireType_at_, (_imp_t)Encoder__requireType_at_); l_44= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 4, "true"); l_45= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 5, "false"); _libid->method(v_Encoder, s_requireBooleanAt_, (_imp_t)Encoder__requireBooleanAt_); _libid->method(v_Encoder, s_beginScope, (_imp_t)Encoder__beginScope); _libid->method(v_Encoder, s_endScope, (_imp_t)Encoder__endScope); _libid->method(v_Encoder, s_beginSequence, (_imp_t)Encoder__beginSequence); _libid->method(v_Encoder, s_endSequence, (_imp_t)Encoder__endSequence); l_51= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Encoder, s_beginBlock, (_imp_t)Encoder__beginBlock); _libid->method(v_Encoder, s_endBlock, (_imp_t)Encoder__endBlock); _libid->method(v_Encoder, s_beginMethod_in_, (_imp_t)Encoder__beginMethod_in_); _libid->method(v_Encoder, s_endMethod, (_imp_t)Encoder__endMethod); _libid->method(v_Encoder, s_declareSlot_position_type_receiver_, (_imp_t)Encoder__declareSlot_position_type_receiver_); _libid->method(v_Encoder, s_declareArgument_position_, (_imp_t)Encoder__declareArgument_position_); _libid->method(v_Encoder, s_declareTemporary_position_, (_imp_t)Encoder__declareTemporary_position_); l_59= _sendv(s_value_5f_, 2, v_SmallInteger, 1); _libid->method(v_Encoder, s_push, (_imp_t)Encoder__push); l_61= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 26, "internal compiler error #1"); _libid->method(v_Encoder, s_pop_, (_imp_t)Encoder__pop_); l_63= _sendv(s_value_5f_, 2, v_SmallInteger, 1); _libid->method(v_Encoder, s_pop, (_imp_t)Encoder__pop); _libid->method(v_Encoder, s_encode_position_, (_imp_t)Encoder__encode_position_); l_66= _sendv(s_value_5f_, 2, v_SmallInteger, 1); _libid->method(v_Encoder, s_nextLiteralTag, (_imp_t)Encoder__nextLiteralTag); _libid->method(v_Encoder, s_encodeLiteral_, (_imp_t)Encoder__encodeLiteral_); _libid->method(v_Encoder, s_literals, (_imp_t)Encoder__literals); _libid->method(v_Encoder, s_encodeBlock_, (_imp_t)Encoder__encodeBlock_); _libid->method(v_Encoder, s_addBlock_, (_imp_t)Encoder__addBlock_); _libid->method(v_Encoder, s_encodeType_position_, (_imp_t)Encoder__encodeType_position_); _libid->method(v_Encoder, s_specialEncoders, (_imp_t)Encoder__specialEncoders); _libid->method(v_Encoder, s_error_at_, (_imp_t)Encoder__error_at_); _libid->method(v_Encoder, s_warn_at_, (_imp_t)Encoder__warn_at_); _leave(); }