/* generated by Id 1.1 at ,$ */ /* with the command: -I../stage1/ -I../st80 -c Compiler.st -o ../stage2/Compiler.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_slots_= 0; static oop s_yourself= 0; static oop s_beExternal= 0; static oop s_slots= 0; static oop s_size= 0; static oop s_warn_at_= 0; static oop s_size_5f_value_5f_= 0; static oop s_knownSelectors= 0; static oop s_compileFile_toFile_withOptions_= 0; static oop s_writeStream= 0; static oop s_forExecutionModel_= 0; static oop s_executionModel= 0; static oop s_generate_on_for_outputType_fileName_= 0; static oop s_ifTrue_ifFalse_= 0; static oop s_notNil= 0; static oop s_external_= 0; static oop s_internal_= 0; static oop s_writeToFileNamed_= 0; static oop s_readFrom_including_= 0; static oop s_withoutSuffix_= 0; static oop s_withName_included_position_= 0; static oop s_findFileSearching_withSuffixes_= 0; static oop s_searchPaths= 0; static oop s_on_notifying_= 0; static oop s_include_= 0; static oop s_onFileNamed_= 0; static oop s_directoryName= 0; static oop s_pragmaType_= 0; static oop s_at_ifAbsent_= 0; static oop s_function_5f_arity_5f_= 0; static oop s_error_at_= 0; static oop s_verboseFlag= 0; static oop s_addInclude_= 0; static oop s_isPrototypeNode= 0; static oop s_errorNoType_at_= 0; static oop s_errorUndefined_at_= 0; static oop s_function_5f_arity_5f_outer_state_nlr_5f_= 0; static oop s_new_5f_= 0; static oop s_name= 0; static oop s_errorConflict_at_at_= 0; static oop s_addType_= 0; static oop s_errorRedefined_at_= 0; static oop s__5fimport_= 0; static oop s_import_= 0; static oop s_ifFalse_= 0; static oop s_addDefinition_= 0; static oop s_constructorFor_= 0; static oop s_inlineMacroSelectors= 0; static oop s_fifth= 0; static oop s_initialize= 0; static oop s_macroFlag= 0; static oop s__5fslots= 0; static oop s_ifTrue_= 0; static oop s_inlineSpecialSelectors= 0; static oop s__2c= 0; static oop s_specialFlag= 0; static oop s_inlineTaggedArithmetic= 0; static oop s_printString= 0; static oop s_errorRedefined_at_at_= 0; static oop s__3d_3d= 0; static oop s_errorNoSuper_at_= 0; static oop s_input_= 0; static oop s_taggedFlag= 0; static oop s_add_= 0; static oop s__3d= 0; static oop s_position= 0; static oop s__3e= 0; static oop s_addTo_= 0; static oop s__3e_3d= 0; static oop s_putln= 0; static oop s_addExec_= 0; static oop s_encode_= 0; static oop s_at_put_= 0; static oop s_baseName= 0; static oop s_print= 0; static oop s_println_= 0; static oop s_addMethod_= 0; static oop s_second= 0; static oop s_outputType= 0; static oop s__5fdebugName= 0; static oop s_new= 0; static oop s_base= 0; static oop s_addAll_= 0; static oop s_whileTrue_= 0; static oop s__2d_3e= 0; static oop s_pragma_= 0; static oop s_error_= 0; static oop s__5fsizeof= 0; static oop s_tokenized_= 0; static oop s_addExtern_= 0; static oop s_new_= 0; static oop s_value_5f_= 0; static oop s_do_= 0; static oop s_parse= 0; static oop s_fourth= 0; static oop s_third= 0; static oop s_key_= 0; static oop s_isNil= 0; static oop s_asSymbol= 0; static oop s_removeLast= 0; static oop s_selector= 0; static oop s_isEmpty= 0; static oop s_type= 0; static oop s_and_= 0; static oop s_addLast_= 0; static oop s_value_= 0; static oop s_includes_= 0; static oop s_cacheLevel= 0; static oop s_contents= 0; static struct _Selector { const char *name; oop *addr; } _Selectors[]= { { "slots:", &s_slots_ }, { "yourself", &s_yourself }, { "beExternal", &s_beExternal }, { "slots", &s_slots }, { "size", &s_size }, { "warn:at:", &s_warn_at_ }, { "size_:value_:", &s_size_5f_value_5f_ }, { "knownSelectors", &s_knownSelectors }, { "compileFile:toFile:withOptions:", &s_compileFile_toFile_withOptions_ }, { "writeStream", &s_writeStream }, { "forExecutionModel:", &s_forExecutionModel_ }, { "executionModel", &s_executionModel }, { "generate:on:for:outputType:fileName:", &s_generate_on_for_outputType_fileName_ }, { "ifTrue:ifFalse:", &s_ifTrue_ifFalse_ }, { "notNil", &s_notNil }, { "external:", &s_external_ }, { "internal:", &s_internal_ }, { "writeToFileNamed:", &s_writeToFileNamed_ }, { "readFrom:including:", &s_readFrom_including_ }, { "withoutSuffix:", &s_withoutSuffix_ }, { "withName:included:position:", &s_withName_included_position_ }, { "findFileSearching:withSuffixes:", &s_findFileSearching_withSuffixes_ }, { "searchPaths", &s_searchPaths }, { "on:notifying:", &s_on_notifying_ }, { "include:", &s_include_ }, { "onFileNamed:", &s_onFileNamed_ }, { "directoryName", &s_directoryName }, { "pragmaType:", &s_pragmaType_ }, { "at:ifAbsent:", &s_at_ifAbsent_ }, { "function_:arity_:", &s_function_5f_arity_5f_ }, { "error:at:", &s_error_at_ }, { "verboseFlag", &s_verboseFlag }, { "addInclude:", &s_addInclude_ }, { "isPrototypeNode", &s_isPrototypeNode }, { "errorNoType:at:", &s_errorNoType_at_ }, { "errorUndefined:at:", &s_errorUndefined_at_ }, { "function_:arity_:outer:state:nlr_:", &s_function_5f_arity_5f_outer_state_nlr_5f_ }, { "new_:", &s_new_5f_ }, { "name", &s_name }, { "errorConflict:at:at:", &s_errorConflict_at_at_ }, { "addType:", &s_addType_ }, { "errorRedefined:at:", &s_errorRedefined_at_ }, { "_import:", &s__5fimport_ }, { "import:", &s_import_ }, { "ifFalse:", &s_ifFalse_ }, { "addDefinition:", &s_addDefinition_ }, { "constructorFor:", &s_constructorFor_ }, { "inlineMacroSelectors", &s_inlineMacroSelectors }, { "fifth", &s_fifth }, { "initialize", &s_initialize }, { "macroFlag", &s_macroFlag }, { "_slots", &s__5fslots }, { "ifTrue:", &s_ifTrue_ }, { "inlineSpecialSelectors", &s_inlineSpecialSelectors }, { ",", &s__2c }, { "specialFlag", &s_specialFlag }, { "inlineTaggedArithmetic", &s_inlineTaggedArithmetic }, { "printString", &s_printString }, { "errorRedefined:at:at:", &s_errorRedefined_at_at_ }, { "==", &s__3d_3d }, { "errorNoSuper:at:", &s_errorNoSuper_at_ }, { "input:", &s_input_ }, { "taggedFlag", &s_taggedFlag }, { "add:", &s_add_ }, { "=", &s__3d }, { "position", &s_position }, { ">", &s__3e }, { "addTo:", &s_addTo_ }, { ">=", &s__3e_3d }, { "putln", &s_putln }, { "addExec:", &s_addExec_ }, { "encode:", &s_encode_ }, { "at:put:", &s_at_put_ }, { "baseName", &s_baseName }, { "print", &s_print }, { "println:", &s_println_ }, { "addMethod:", &s_addMethod_ }, { "second", &s_second }, { "outputType", &s_outputType }, { "_debugName", &s__5fdebugName }, { "new", &s_new }, { "base", &s_base }, { "addAll:", &s_addAll_ }, { "whileTrue:", &s_whileTrue_ }, { "->", &s__2d_3e }, { "pragma:", &s_pragma_ }, { "error:", &s_error_ }, { "_sizeof", &s__5fsizeof }, { "tokenized:", &s_tokenized_ }, { "addExtern:", &s_addExtern_ }, { "new:", &s_new_ }, { "value_:", &s_value_5f_ }, { "do:", &s_do_ }, { "parse", &s_parse }, { "fourth", &s_fourth }, { "third", &s_third }, { "key:", &s_key_ }, { "isNil", &s_isNil }, { "asSymbol", &s_asSymbol }, { "removeLast", &s_removeLast }, { "selector", &s_selector }, { "isEmpty", &s_isEmpty }, { "type", &s_type }, { "and:", &s_and_ }, { "addLast:", &s_addLast_ }, { "value:", &s_value_ }, { "includes:", &s_includes_ }, { "cacheLevel", &s_cacheLevel }, { "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_OrderedCollection { struct _vtable *_vtable[0]; oop v_array; oop v_firstIndex; oop v_lastIndex; }; 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_Dictionary { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_SymbolTable { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_IdentitySet { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_IdentityDictionary { 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; }; struct t_NameManglingTable { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_Smalltalk { struct _vtable *_vtable[0]; oop v_argumentCount; oop v_argumentVector; }; struct t_CodeGenerator { struct _vtable *_vtable[0]; oop v_compiler; oop v_encoder; oop v_nextLabel; }; struct t_CCodeGenerator { struct _vtable *_vtable[0]; oop v_compiler; oop v_encoder; oop v_nextLabel; oop v_output; oop v_firstInfoTag; oop v_lastInfoTag; }; struct t_CManagedCodeGenerator { struct _vtable *_vtable[0]; oop v_compiler; oop v_encoder; oop v_nextLabel; oop v_output; }; struct t_ImportNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_name; oop v_included; }; 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; }; struct t_ScannerPosition { struct _vtable *_vtable[0]; oop v_file; oop v_line; }; struct t_Scanner { struct _vtable *_vtable[0]; oop v_charTable; oop v_charEscapes; oop v_context; oop v_c; oop v_token; oop v_type; oop v_prevHash; oop v_line; }; struct t_ArrayLiteralNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_ByteArrayNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_WordArrayNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_ArrayNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_SymbolNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_StringNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_FloatNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_CharacterNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_tag; oop v_constructor; }; struct t_VarargNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; }; struct t_AssignmentNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_variable; }; struct t_ReturnNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_nonLocal; oop v_variadic; }; struct t_LocalReturnNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_value; oop v_nonLocal; oop v_variadic; }; struct t_SequenceNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_temporaries; oop v_statements; oop v_scope; oop v_literals; oop v_blocks; }; struct t_BlockNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_temporaries; oop v_statements; oop v_scope; oop v_literals; oop v_blocks; oop v_arguments; oop v_tag; oop v_constructor; oop v_stateConstructor; }; struct t_MethodNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_temporaries; oop v_statements; oop v_scope; oop v_literals; oop v_blocks; oop v_arguments; oop v_tag; oop v_constructor; oop v_stateConstructor; oop v_type; oop v_selector; oop v_sequenceNumber; oop v_variadic; oop v_sourceEnd; }; struct t_ExecNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_temporaries; oop v_statements; oop v_scope; oop v_literals; oop v_blocks; oop v_stateConstructor; }; struct t_IncludeNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_name; }; struct t_ExternNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_code; }; struct t_PrimitiveNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_code; oop v_mtype; }; struct t_PrototypeNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_name; oop v_base; oop v_slots; oop v_used; oop v_external; oop v_resized; }; struct t_DefinitionNode { struct _vtable *_vtable[0]; oop v_position; oop v_location; oop v_name; oop v_exec; oop v_used; oop v_external; }; struct t_SelectorTable { struct _vtable *_vtable[0]; oop v_tally; oop v_array; }; struct t_PerformWithArgumentsSelectors { struct _vtable *_vtable[0]; oop v_size; oop v__pointers; }; struct t_Parser { struct _vtable *_vtable[0]; oop v_charTable; oop v_charEscapes; oop v_context; oop v_c; oop v_token; oop v_type; oop v_prevHash; oop v_line; oop v_client; }; struct t_ScannerContext { struct _vtable *_vtable[0]; oop v_file; oop v_line; oop v_stream; }; struct t_Compiler { struct _vtable *_vtable[0]; oop v_parser; oop v_options; oop v_including; oop v_program; oop v_types; oop v_sources; oop v_imports; oop v_externalFlags; oop v_intrinsicTypes; oop v_knownSelectors; }; static oop l_2= 0; static oop l_3= 0; static oop l_4= 0; static oop l_5= 0; static oop l_6= 0; static oop l_7= 0; static oop l_8= 0; static oop l_9= 0; static oop l_10= 0; static oop l_11= 0; 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_17= 0; static oop l_18= 0; static oop l_19= 0; static oop l_20= 0; static oop l_21= 0; static oop l_22= 0; static oop l_23= 0; static oop l_24= 0; static oop l_25= 0; static oop l_26= 0; static oop l_27= 0; static oop l_28= 0; static oop l_29= 0; static oop l_30= 0; static oop l_31= 0; static oop l_32= 0; static oop l_33= 0; static oop l_34= 0; static oop l_35= 0; static oop l_36= 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_47= 0; static oop l_49= 0; static oop l_50= 0; static oop l_51= 0; static oop l_54= 0; static oop l_56= 0; static oop l_57= 0; static oop l_58= 0; static oop l_59= 0; static oop l_60= 0; static oop l_63= 0; static oop l_64= 0; static oop l_65= 0; static oop l_62= 0; static oop l_67= 0; static oop l_69= 0; static oop l_71= 0; static oop l_73= 0; static oop l_76= 0; static oop l_79= 0; static oop l_81= 0; static oop l_82= 0; static oop l_84= 0; static oop l_87= 0; static oop l_88= 0; static oop l_94= 0; static oop l_96= 0; static oop l_98= 0; static oop l_100= 0; static oop l_102= 0; static oop l_104= 0; static oop l_106= 0; static oop l_107= 0; static oop l_109= 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_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_ImmutableArray= 0; static oop v_WordArray= 0; static oop v_ByteArray= 0; static oop v_String= 0; static oop v_ImmutableString= 0; static oop v_nil= 0; static oop v_true= 0; static oop v_false= 0; static oop v_OrderedCollection= 0; static oop v_Set= 0; static oop v_LookupKey= 0; static oop v_Dictionary= 0; static oop v_IdentityDictionary= 0; static oop v_EncodedVariableNode= 0; static oop v_LocalVariableNode= 0; static oop v_ParseNode= 0; static oop v_LiteralNode= 0; static oop v_CodeGenerator= 0; static oop v_ImportNode= 0; static oop v_Stream= 0; static oop v_PositionableStream= 0; static oop v_Scanner= 0; static oop v_ArrayLiteralNode= 0; static oop v_ReturnNode= 0; static oop v_SequenceNode= 0; static oop v_BlockNode= 0; static oop v_Parser= 0; static oop v_ScannerContext= 0; static oop v_Compiler= 0; static oop al_51[2]= { (oop)&l_49, (oop)&l_50 }; static size_t Compiler___5fsizeof(oop _closure, oop v_self) { return sizeof(struct t_Compiler); } static char *Compiler___5fdebugName(oop _closure, oop v_self) { return "Compiler"; } static struct __slotinfo *Compiler___5fslots(oop _closure, oop v_self) { static struct __slotinfo info[]= { { "parser", 0, 4 }, { "options", 4, 4 }, { "including", 8, 4 }, { "program", 12, 4 }, { "types", 16, 4 }, { "sources", 20, 4 }, { "imports", 24, 4 }, { "externalFlags", 28, 4 }, { "intrinsicTypes", 32, 4 }, { "knownSelectors", 36, 4 }, { 0, 0, 0 } }; return &info[0]; } static struct __methodinfo __info1= { "initialize", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 58, 89, 0 }; static oop Compiler__initialize(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info1); oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; _line(58); _1= v_self; _line(60); _1=_superv(v_Object, s_initialize, 1, _1); _1= v_false; ((struct t_Compiler *)v_stateful_self)->v_including= _1; _1= v_OrderedCollection; _line(62); _1=_sendv(s_new, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_program= _1; _1= v_Dictionary; _line(63); _1=_sendv(s_new, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_types= _1; _1= v_Set; _line(64); _1=_sendv(s_new, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_sources= _1; _1= v_Set; _line(65); _1=_sendv(s_new, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_imports= _1; _1= v_OrderedCollection; _line(66); _1=_sendv(s_new, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_externalFlags= _1; _1= v_Dictionary; _2= l_2; _line(67); _1=_sendv(s_new_, 2, _1, _2); _2= l_3; _3= l_4; _4= v_nil; _line(68); _3=_sendv(s__2d_3e, 2, _3, _4); _line(68); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_5; _3= l_6; _4= v_nil; _line(69); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_7; _3= l_8; _4= v_nil; _line(70); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_9; _3= l_10; _4= v_nil; _line(71); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_11; _3= l_12; _4= l_13; _line(72); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_14; _3= l_15; _4= l_16; _line(73); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_17; _3= l_18; _4= l_16; _line(74); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_19; _3= l_20; _4= l_13; _line(75); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_21; _3= l_22; _4= l_13; _line(76); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_23; _3= l_24; _4= l_25; _line(77); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_26; _3= l_27; _4= l_16; _line(78); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_28; _3= l_29; _4= l_16; _line(79); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_30; _3= l_31; _4= l_16; _line(80); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_32; _3= l_33; _4= l_16; _line(81); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_34; _3= l_35; _4= l_16; _line(82); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_36; _3= l_37; _4= l_38; _line(83); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _2= l_39; _3= l_40; _4= l_41; _line(84); _3=_sendv(s__2d_3e, 2, _3, _4); _sendv(s_at_put_, 3, _1, _2, _3); _1=_sendv(s_yourself, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_intrinsicTypes= _1; _1= v_nil; ((struct t_Compiler *)v_stateful_self)->v_knownSelectors= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info42= { "knownSelectors", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 89, 91, &__info1 }; static oop Compiler__knownSelectors(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info42); oop _1= 0; _line(89); _1= ((struct t_Compiler *)v_stateful_self)->v_knownSelectors; _leave(); return _1; _leave(); } static struct __methodinfo __info43= { "compileFile:toFile:withOptions:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 91, 107, &__info42 }; static oop Compiler__compileFile_toFile_withOptions_(oop v__closure, oop v_stateful_self, oop v_self, oop v_fileName, oop v_outputName, oop v_compilerOptions) { _enter(&__info43); oop v_output= 0; oop v_codeGenerator= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; oop _5= 0; oop _6= 0; (void)v_output; (void)v_codeGenerator; _line(91); _1= v_self; _line(96); _1=_sendv(s_new, 1, _1); v_self= _1; v_stateful_self= _1; _1= v_compilerOptions; ((struct t_Compiler *)v_stateful_self)->v_options= _1; _1= v_self; _2= v_fileName; _line(98); _1=_sendv(s_input_, 2, _1, _2); _1= v_String; _line(99); _1=_sendv(s_new, 1, _1); _line(99); _1=_sendv(s_writeStream, 1, _1); v_output= _1; _1= v_CodeGenerator; _2= v_compilerOptions; _line(100); _2=_sendv(s_executionModel, 1, _2); _line(100); _1=_sendv(s_forExecutionModel_, 2, _1, _2); v_codeGenerator= _1; _1= v_codeGenerator; _line(101); _1=_sendv(s_new, 1, _1); _2= ((struct t_Compiler *)v_stateful_self)->v_program; _3= v_output; _4= v_self; _5= ((struct t_Compiler *)v_stateful_self)->v_options; _line(101); _5=_sendv(s_outputType, 1, _5); _6= v_fileName; _line(101); _6=_sendv(s_baseName, 1, _6); _line(101); _1=_sendv(s_generate_on_for_outputType_fileName_, 6, _1, _2, _3, _4, _5, _6); _1= v_output; _line(102); _1=_sendv(s_contents, 1, _1); v_output= _1; /* ifTrue:ifFalse: */ _1= v_outputName; _line(104); _1=_sendv(s_isNil, 1, _1); if (!_1) goto _l1; { _1= v_output; _line(104); _1=_sendv(s_print, 1, _1); } goto _l2; _l1:; { _1= v_output; _2= v_outputName; _line(104); _1=_sendv(s_writeToFileNamed_, 2, _1, _2); } _l2:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info44= { "input:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 107, 112, &__info43 }; static oop Compiler__input_(oop v__closure, oop v_stateful_self, oop v_self, oop v_fileName) { _enter(&__info44); oop _1= 0; oop _2= 0; oop _3= 0; _line(107); _1= v_self; _2= v_fileName; _3= ((struct t_Compiler *)v_stateful_self)->v_including; _line(109); _1=_sendv(s_readFrom_including_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info45= { "include:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 112, 117, &__info44 }; static oop Compiler__include_(oop v__closure, oop v_stateful_self, oop v_self, oop v_fileName) { _enter(&__info45); oop _1= 0; oop _2= 0; oop _3= 0; _line(112); _1= v_self; _2= v_fileName; _3= v_true; _line(114); _1=_sendv(s_readFrom_including_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info46= { "import:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 117, 130, &__info45 }; static oop Compiler__import_(oop v__closure, oop v_stateful_self, oop v_self, oop v_fileName) { _enter(&__info46); oop v_libName= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; oop _5= 0; (void)v_libName; _line(117); _1= v_fileName; _2= l_47; _line(120); _1=_sendv(s_withoutSuffix_, 2, _1, _2); v_libName= _1; /* ifFalse: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_imports; _3= v_libName; _line(121); _2=_sendv(s_includes_, 2, _2, _3); if (_2) goto _l3; { _1= ((struct t_Compiler *)v_stateful_self)->v_program; _2= v_ImportNode; _3= v_libName; _4= ((struct t_Compiler *)v_stateful_self)->v_including; _5= ((struct t_Compiler *)v_stateful_self)->v_parser; _line(123); _5=_sendv(s_position, 1, _5); _line(123); _2=_sendv(s_withName_included_position_, 4, _2, _3, _4, _5); _line(123); _1=_sendv(s_add_, 2, _1, _2); _1= ((struct t_Compiler *)v_stateful_self)->v_imports; _2= v_libName; _line(124); _1=_sendv(s_add_, 2, _1, _2); } _l3:; _1= v_self; _2= v_fileName; _3= v_true; _line(125); _1=_sendv(s_readFrom_including_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info48= { "readFrom:including:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 130, 152, &__info46 }; static oop Compiler__readFrom_including_(oop v__closure, oop v_stateful_self, oop v_self, oop v_fileName, oop v_includingFlag) { _enter(&__info48); oop v_path= 0; oop v_outer= 0; oop v_node= 0; oop v_savedIncluding= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_path; (void)v_outer; (void)v_node; (void)v_savedIncluding; _line(130); _1= v_fileName; _2= ((struct t_Compiler *)v_stateful_self)->v_options; _line(134); _2=_sendv(s_searchPaths, 1, _2); _3= l_51; _line(134); _1=_sendv(s_findFileSearching_withSuffixes_, 3, _1, _2, _3); v_path= _1; /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_sources; _3= v_path; _line(135); _2=_sendv(s_includes_, 2, _2, _3); if (!_2) goto _l4; { _1= v_nil; _leave(); return _1; } _l4:; _1= ((struct t_Compiler *)v_stateful_self)->v_sources; _2= v_path; _line(136); _1=_sendv(s_add_, 2, _1, _2); _1= ((struct t_Compiler *)v_stateful_self)->v_parser; v_outer= _1; _1= v_Parser; _2= v_ScannerContext; _3= v_path; _line(138); _2=_sendv(s_onFileNamed_, 2, _2, _3); _3= v_self; _line(138); _1=_sendv(s_on_notifying_, 3, _1, _2, _3); ((struct t_Compiler *)v_stateful_self)->v_parser= _1; _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(139); _1=_sendv(s_searchPaths, 1, _1); _2= v_path; _line(139); _2=_sendv(s_directoryName, 1, _2); _line(139); _1=_sendv(s_addLast_, 2, _1, _2); _1= ((struct t_Compiler *)v_stateful_self)->v_including; v_savedIncluding= _1; _1= v_includingFlag; ((struct t_Compiler *)v_stateful_self)->v_including= _1; /* whileTrue: */ goto _l6; _l5:; { _1= v_node; _2= v_self; _line(145); _1=_sendv(s_addTo_, 2, _1, _2); } _l6:; { _1= ((struct t_Compiler *)v_stateful_self)->v_parser; _line(143); _1=_sendv(s_parse, 1, _1); v_node= _1; _line(143); _1=_sendv(s_notNil, 1, _1); } if (_1) goto _l5; _1= 0; _1= v_outer; ((struct t_Compiler *)v_stateful_self)->v_parser= _1; _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(148); _1=_sendv(s_searchPaths, 1, _1); _line(148); _1=_sendv(s_removeLast, 1, _1); _1= v_savedIncluding; ((struct t_Compiler *)v_stateful_self)->v_including= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info52= { "external:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 152, 158, &__info48 }; static oop Compiler__external_(oop v__closure, oop v_stateful_self, oop v_self, oop v_text) { _enter(&__info52); oop _1= 0; oop _2= 0; _line(152); _1= ((struct t_Compiler *)v_stateful_self)->v_externalFlags; _2= ((struct t_Compiler *)v_stateful_self)->v_including; _line(154); _1=_sendv(s_addLast_, 2, _1, _2); _1= v_true; ((struct t_Compiler *)v_stateful_self)->v_including= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info53= { "internal:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 158, 164, &__info52 }; static oop Compiler__internal_(oop v__closure, oop v_stateful_self, oop v_self, oop v_text) { _enter(&__info53); oop _1= 0; oop _2= 0; oop _3= 0; _line(158); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_externalFlags; _line(160); _2=_sendv(s_isEmpty, 1, _2); if (!_2) goto _l7; { _1= v_self; _2= l_54; _3= ((struct t_Compiler *)v_stateful_self)->v_parser; _line(160); _3=_sendv(s_position, 1, _3); _line(160); _1=_sendv(s_error_at_, 3, _1, _2, _3); } _l7:; _1= ((struct t_Compiler *)v_stateful_self)->v_externalFlags; _line(161); _1=_sendv(s_removeLast, 1, _1); ((struct t_Compiler *)v_stateful_self)->v_including= _1; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info55= { "pragma:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 164, 175, &__info53 }; static oop Compiler__pragma_(oop v__closure, oop v_stateful_self, oop v_self, oop v_text) { _enter(&__info55); oop v_args= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_args; _line(164); _1= v_text; _2= l_56; _line(167); _1=_sendv(s_tokenized_, 2, _1, _2); v_args= _1; /* ifTrue: */ _1= 0; _2= v_args; _line(168); _2=_sendv(s_size, 1, _2); _3= l_57; if (1 & (long)_2) { _2= (((long)_2 >= (long)_3) ? v_true : v_false); } else _2= _sendv(s__3e_3d, 2, _2, _3); if (!_2) goto _l8; { /* ifTrue: */ _1= 0; /* and: */ _2= v_args; _line(170); _2=_sendv(s_second, 1, _2); _3= l_58; if (1 & (long)_2 & (long)_3) { _2= (((long)_2 == (long)_3) ? v_true : v_false); } else _2= _sendv(s__3d, 2, _2, _3); if (!_2) goto _l10; { _2= v_args; _line(170); _2=_sendv(s_size, 1, _2); _3= l_59; _2= (_2 == _3) ? v_true : v_false; } _l10:; if (!_2) goto _l9; { _1= v_self; _2= v_args; _line(170); _1=_sendv(s_pragmaType_, 2, _1, _2); _leave(); return _1; } _l9:; } _l8:; _1= v_self; _2= l_60; _3= v_text; _line(172); _2=_sendv(s__2c, 2, _2, _3); _3= ((struct t_Compiler *)v_stateful_self)->v_parser; _line(172); _3=_sendv(s_position, 1, _3); _line(172); _1=_sendv(s_warn_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info62= { "[] pragmaType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 175, 189, &__info55 }; static oop b_62(oop v__closure, oop v__self) { _enter(&__info62); oop _1= 0; _line(178); _1= v_nil; _leave(); return _1; _leave(); } static struct __methodinfo __info61= { "pragmaType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 175, 189, &__info62 }; static oop Compiler__pragmaType_(oop v__closure, oop v_stateful_self, oop v_self, oop v_args) { _enter(&__info61); oop v_constructor= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_constructor; _line(175); _1= ((struct t_Compiler *)v_stateful_self)->v_intrinsicTypes; _2= v_args; _line(178); _2=_sendv(s_third, 1, _2); _3= l_62; _line(178); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_constructor= _1; /* ifTrue: */ _1= 0; _2= v_constructor; _line(179); _2=_sendv(s_isNil, 1, _2); if (!_2) goto _l11; { _1= v_self; _2= l_63; _3= v_args; _line(179); _3=_sendv(s_third, 1, _3); _line(179); _2=_sendv(s__2c, 2, _2, _3); _3= l_64; _line(179); _2=_sendv(s__2c, 2, _2, _3); _3= ((struct t_Compiler *)v_stateful_self)->v_parser; _line(179); _3=_sendv(s_position, 1, _3); _line(179); _1=_sendv(s_error_at_, 3, _1, _2, _3); } _l11:; _1= v_constructor; _2= v_args; _line(180); _2=_sendv(s_fourth, 1, _2); _line(180); _1=_sendv(s_key_, 2, _1, _2); /* ifTrue: */ _1= 0; _2= v_args; _line(181); _2=_sendv(s_size, 1, _2); _3= l_65; if (1 & (long)_2) { _2= (((long)_2 > (long)_3) ? v_true : v_false); } else _2= _sendv(s__3e, 2, _2, _3); if (!_2) goto _l12; { _1= v_constructor; _2= v_args; _line(181); _2=_sendv(s_fifth, 1, _2); _line(181); _1=_sendv(s_value_, 2, _1, _2); } _l12:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info66= { "addExtern:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 189, 195, &__info61 }; static oop Compiler__addExtern_(oop v__closure, oop v_stateful_self, oop v_self, oop v_externNode) { _enter(&__info66); oop _1= 0; oop _2= 0; _line(189); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_options; _line(191); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l13; { _1= v_externNode; _2= l_67; _line(191); _1=_sendv(s_println_, 2, _1, _2); } _l13:; /* ifFalse: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_including; if (_2) goto _l14; { _1= ((struct t_Compiler *)v_stateful_self)->v_program; _2= v_externNode; _line(192); _1=_sendv(s_add_, 2, _1, _2); } _l14:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info68= { "addExec:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 195, 205, &__info66 }; static oop Compiler__addExec_(oop v__closure, oop v_stateful_self, oop v_self, oop v_execNode) { _enter(&__info68); oop _1= 0; oop _2= 0; _line(195); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_options; _line(197); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l15; { _1= v_execNode; _2= l_69; _line(197); _1=_sendv(s_println_, 2, _1, _2); } _l15:; /* ifFalse: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_including; if (_2) goto _l16; { _1= ((struct t_Compiler *)v_stateful_self)->v_program; _2= v_execNode; _line(202); _1=_sendv(s_add_, 2, _1, _2); } _l16:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info70= { "addInclude:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 205, 211, &__info68 }; static oop Compiler__addInclude_(oop v__closure, oop v_stateful_self, oop v_self, oop v_includeNode) { _enter(&__info70); oop _1= 0; oop _2= 0; _line(205); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_options; _line(207); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l17; { _1= v_includeNode; _2= l_71; _line(207); _1=_sendv(s_println_, 2, _1, _2); } _l17:; /* ifFalse: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_including; if (_2) goto _l18; { _1= ((struct t_Compiler *)v_stateful_self)->v_program; _2= v_includeNode; _line(208); _1=_sendv(s_add_, 2, _1, _2); } _l18:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info74= { "[] addMethod:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 211, 221, &__info70 }; static oop b_74(oop v__closure, oop v__self) { _enter(&__info74); oop _1= 0; oop _2= 0; oop _3= 0; _line(215); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* methodNode */ _line(215); _2=_sendv(s_type, 1, _2); _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* methodNode */ _line(215); _1=_sendv(s_errorUndefined_at_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info72= { "addMethod:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 211, 221, &__info74 }; static oop Compiler__addMethod_(oop v__closure, oop v_stateful_self, oop v_self, oop v_methodNode) { _enter(&__info72); oop _state1= _sendv(s_new_5f_, 2, v__vector, 14); oop v_base= 0; oop _1= 0; oop _2= 0; oop _3= 0; (void)v_base; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; ((oop *)_state1)[3]= v_methodNode; _line(211); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_options; /* options */ _line(214); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l19; { _1= ((oop *)_state1)[3]; /* methodNode */ _2= l_73; _line(214); _1=_sendv(s_println_, 2, _1, _2); } _l19:; _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_types; /* types */ _2= ((oop *)_state1)[3]; /* methodNode */ _line(215); _2=_sendv(s_type, 1, _2); /* Scope() */ /* Scope('including'->SlotVariableNode 'parser'->SlotVariableNode 'methodNode'->ArgumentVariableNode 'stateful_self'->ArgumentVariableNode 'externalFlags'->SlotVariableNode 'intrinsicTypes'->SlotVariableNode 'sources'->SlotVariableNode 'self'->ArgumentVariableNode 'base'->TemporaryVariableNode 'knownSelectors'->SlotVariableNode 'options'->SlotVariableNode 'program'->SlotVariableNode 'types'->SlotVariableNode 'imports'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_74, 0, 0, ((oop *)_state1), 0); _line(215); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_base= _1; /* ifFalse: */ _1= 0; _2= v_base; _line(216); _2=_sendv(s_isPrototypeNode, 1, _2); if (_2) goto _l20; { _1= ((oop *)_state1)[1]; /* self */ _2= ((oop *)_state1)[3]; /* methodNode */ _line(216); _2=_sendv(s_type, 1, _2); _3= ((oop *)_state1)[3]; /* methodNode */ _line(216); _1=_sendv(s_errorNoType_at_, 3, _1, _2, _3); } _l20:; /* ifFalse: */ _1= 0; _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_including; /* including */ if (_2) goto _l21; { _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_program; /* program */ _2= ((oop *)_state1)[3]; /* methodNode */ _line(217); _1=_sendv(s_add_, 2, _1, _2); } _l21:; /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_knownSelectors; /* knownSelectors */ if (!_2) goto _l22; { _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_knownSelectors; /* knownSelectors */ _2= ((oop *)_state1)[3]; /* methodNode */ _line(218); _2=_sendv(s_selector, 1, _2); _line(218); _2=_sendv(s_asSymbol, 1, _2); _line(218); _1=_sendv(s_add_, 2, _1, _2); } _l22:; _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info77= { "[] addType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 221, 244, &__info72 }; static oop b_77(oop v__closure, oop v__self) { _enter(&__info77); oop _1= 0; oop _2= 0; oop _3= 0; _line(229); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* typeNode */ _line(229); _2=_sendv(s_base, 1, _2); _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* typeNode */ _line(229); _1=_sendv(s_errorUndefined_at_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info78= { "[] addType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 221, 244, &__info77 }; static oop b_78(oop v__closure, oop v__self, oop v_slot) { _enter(&__info78); oop _1= 0; oop _2= 0; oop _3= 0; _line(233); /* ifTrue: */ _1= 0; _2= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[4]; /* slots */ _3= v_slot; _line(234); _2=_sendv(s_includes_, 2, _2, _3); if (!_2) goto _l23; { _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= v_slot; _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* typeNode */ _line(234); _1=_sendv(s_errorRedefined_at_, 3, _1, _2, _3); } _l23:; _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[4]; /* slots */ _2= v_slot; _line(235); _1=_sendv(s_add_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info79= { "[] addType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 221, 244, &__info78 }; static oop b_79(oop v__closure, oop v__self) { _enter(&__info79); oop _1= 0; _line(238); _1= v_nil; _leave(); return _1; _leave(); } static struct __methodinfo __info75= { "addType:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 221, 244, &__info79 }; static oop Compiler__addType_(oop v__closure, oop v_stateful_self, oop v_self, oop v_typeNode) { _enter(&__info75); oop _state1= _sendv(s_new_5f_, 2, v__vector, 15); oop v_name= 0; oop v_base= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_name; (void)v_base; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; ((oop *)_state1)[3]= v_typeNode; _line(221); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_options; /* options */ _line(224); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l24; { _1= ((oop *)_state1)[3]; /* typeNode */ _2= l_76; _line(224); _1=_sendv(s_println_, 2, _1, _2); } _l24:; _1= v_OrderedCollection; _line(225); _1=_sendv(s_new, 1, _1); ((oop *)_state1)[4]= _1; /* slots */ _1= ((oop *)_state1)[3]; /* typeNode */ _line(226); _1=_sendv(s_name, 1, _1); v_name= _1; /* ifFalse: */ _1= 0; _2= ((oop *)_state1)[3]; /* typeNode */ _line(227); _2=_sendv(s_base, 1, _2); v_base= _2; _line(227); _2=_sendv(s_isNil, 1, _2); if (_2) goto _l25; { _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_types; /* types */ _2= v_base; /* Scope() */ /* Scope('including'->SlotVariableNode 'parser'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'externalFlags'->SlotVariableNode 'intrinsicTypes'->SlotVariableNode 'sources'->SlotVariableNode 'self'->ArgumentVariableNode 'base'->TemporaryVariableNode 'knownSelectors'->SlotVariableNode 'options'->SlotVariableNode 'slots'->TemporaryVariableNode 'program'->SlotVariableNode 'typeNode'->ArgumentVariableNode 'name'->TemporaryVariableNode 'types'->SlotVariableNode 'imports'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_77, 0, 0, ((oop *)_state1), 0); _line(229); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_base= _1; /* ifFalse: */ _1= 0; _2= v_base; _line(230); _2=_sendv(s_isPrototypeNode, 1, _2); if (_2) goto _l26; { _1= ((oop *)_state1)[1]; /* self */ _2= ((oop *)_state1)[3]; /* typeNode */ _line(230); _2=_sendv(s_base, 1, _2); _3= ((oop *)_state1)[3]; /* typeNode */ _line(230); _1=_sendv(s_errorNoType_at_, 3, _1, _2, _3); } _l26:; _1= ((oop *)_state1)[4]; /* slots */ _2= v_base; _line(231); _2=_sendv(s_slots, 1, _2); _line(231); _1=_sendv(s_addAll_, 2, _1, _2); } _l25:; _1= ((oop *)_state1)[3]; /* typeNode */ _line(233); _1=_sendv(s_slots, 1, _1); /* Scope('slot'->ArgumentVariableNode) */ /* Scope('including'->SlotVariableNode 'parser'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'externalFlags'->SlotVariableNode 'intrinsicTypes'->SlotVariableNode 'sources'->SlotVariableNode 'self'->ArgumentVariableNode 'base'->TemporaryVariableNode 'knownSelectors'->SlotVariableNode 'options'->SlotVariableNode 'slots'->TemporaryVariableNode 'program'->SlotVariableNode 'typeNode'->ArgumentVariableNode 'name'->TemporaryVariableNode 'types'->SlotVariableNode 'imports'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _2= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_78, 1, 0, ((oop *)_state1), 0); _line(233); _1=_sendv(s_do_, 2, _1, _2); _1= ((oop *)_state1)[3]; /* typeNode */ _2= ((oop *)_state1)[4]; /* slots */ _line(236); _1=_sendv(s_slots_, 2, _1, _2); /* ifTrue:ifFalse: */ _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_types; /* types */ _2= v_name; _3= l_79; _line(238); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_base= _1; _line(238); _1=_sendv(s_isNil, 1, _1); if (!_1) goto _l27; { _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_program; /* program */ _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_types; /* types */ _3= v_name; _4= ((oop *)_state1)[3]; /* typeNode */ _line(239); _2=_sendv(s_at_put_, 3, _2, _3, _4); _line(239); _1=_sendv(s_add_, 2, _1, _2); } goto _l28; _l27:; { /* ifFalse: */ _1= 0; _2= v_base; _3= ((oop *)_state1)[3]; /* typeNode */ if (1 & (long)_2 & (long)_3) { _2= (((long)_2 == (long)_3) ? v_true : v_false); } else _2= _sendv(s__3d, 2, _2, _3); if (_2) goto _l29; { _1= ((oop *)_state1)[1]; /* self */ _2= v_name; _3= ((oop *)_state1)[3]; /* typeNode */ _4= v_base; _line(240); _1=_sendv(s_errorConflict_at_at_, 4, _1, _2, _3, _4); } _l29:; } _l28:; /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)((oop *)_state1)[2])->v_including; /* including */ if (!_2) goto _l30; { _1= ((oop *)_state1)[3]; /* typeNode */ _line(241); _1=_sendv(s_beExternal, 1, _1); } _l30:; _1= ((oop *)_state1)[1]; /* self */ _leave(); return _1; _leave(); } static struct __methodinfo __info82= { "[] addDefinition:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 244, 256, &__info75 }; static oop b_82(oop v__closure, oop v__self) { _enter(&__info82); oop _1= 0; _line(250); _1= v_nil; _leave(); return _1; _leave(); } static struct __methodinfo __info80= { "addDefinition:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 244, 256, &__info82 }; static oop Compiler__addDefinition_(oop v__closure, oop v_stateful_self, oop v_self, oop v_definitionNode) { _enter(&__info80); oop v_name= 0; oop v_prior= 0; oop _1= 0; oop _2= 0; oop _3= 0; oop _4= 0; (void)v_name; (void)v_prior; _line(244); /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_options; _line(247); _2=_sendv(s_verboseFlag, 1, _2); if (!_2) goto _l31; { _1= v_definitionNode; _2= l_81; _line(247); _1=_sendv(s_println_, 2, _1, _2); } _l31:; _1= v_definitionNode; _line(249); _1=_sendv(s_name, 1, _1); v_name= _1; /* ifTrue:ifFalse: */ _1= ((struct t_Compiler *)v_stateful_self)->v_types; _2= v_name; _3= l_82; _line(250); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); v_prior= _1; _line(250); _1=_sendv(s_isNil, 1, _1); if (!_1) goto _l32; { _1= ((struct t_Compiler *)v_stateful_self)->v_program; _2= ((struct t_Compiler *)v_stateful_self)->v_types; _3= v_name; _4= v_definitionNode; _line(251); _2=_sendv(s_at_put_, 3, _2, _3, _4); _line(251); _1=_sendv(s_add_, 2, _1, _2); } goto _l33; _l32:; { _1= v_self; _2= v_name; _3= v_definitionNode; _4= v_prior; _line(252); _1=_sendv(s_errorConflict_at_at_, 4, _1, _2, _3, _4); } _l33:; /* ifTrue: */ _1= 0; _2= ((struct t_Compiler *)v_stateful_self)->v_including; if (!_2) goto _l34; { _1= v_definitionNode; _line(253); _1=_sendv(s_beExternal, 1, _1); } _l34:; _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info84= { "[] encode:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 256, 262, &__info80 }; static oop b_84(oop v__closure, oop v__self) { _enter(&__info84); oop _1= 0; _line(259); _1= v_nil; _leave(); return _1; _leave(); } static struct __methodinfo __info83= { "encode:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 256, 262, &__info84 }; static oop Compiler__encode_(oop v__closure, oop v_stateful_self, oop v_self, oop v_nameString) { _enter(&__info83); oop _1= 0; oop _2= 0; oop _3= 0; _line(256); _1= ((struct t_Compiler *)v_stateful_self)->v_types; _2= v_nameString; _3= l_84; _line(259); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info86= { "[] constructorFor:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 262, 271, &__info83 }; static oop b_86(oop v__closure, oop v__self) { _enter(&__info86); oop _1= 0; oop _2= 0; oop _3= 0; _line(268); _1= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[1]; /* self */ _2= l_87; _3= ((oop *)((struct t_BlockClosure *)((struct t_BlockClosure *)v__self)->v_state))[3]; /* typeName */ _line(268); _2=_sendv(s__2c, 2, _2, _3); _3= l_88; _line(268); _2=_sendv(s__2c, 2, _2, _3); _line(268); _1=_sendv(s_error_, 2, _1, _2); _leave(); return _1; _leave(); } static struct __methodinfo __info85= { "constructorFor:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 262, 271, &__info86 }; static oop Compiler__constructorFor_(oop v__closure, oop v_stateful_self, oop v_self, oop v_typeName) { _enter(&__info85); oop _state1= _sendv(s_new_5f_, 2, v__vector, 14); oop _1= 0; oop _2= 0; oop _3= 0; ((oop *)_state1)[2]= v_stateful_self; ((oop *)_state1)[1]= v_self; ((oop *)_state1)[3]= v_typeName; _line(262); _1= ((struct t_Compiler *)((oop *)_state1)[2])->v_intrinsicTypes; /* intrinsicTypes */ _2= ((oop *)_state1)[3]; /* typeName */ /* Scope() */ /* Scope('including'->SlotVariableNode 'parser'->SlotVariableNode 'stateful_self'->ArgumentVariableNode 'typeName'->ArgumentVariableNode 'externalFlags'->SlotVariableNode 'sources'->SlotVariableNode 'self'->ArgumentVariableNode 'intrinsicTypes'->SlotVariableNode 'knownSelectors'->SlotVariableNode 'options'->SlotVariableNode 'program'->SlotVariableNode 'types'->SlotVariableNode 'imports'->SlotVariableNode) */ /* nil */ /* 2 */ /* 1 */ _3= _sendv(s_function_5f_arity_5f_outer_state_nlr_5f_, 6, v_BlockClosure, (oop)b_86, 0, 0, ((oop *)_state1), 0); _line(267); _1=_sendv(s_at_ifAbsent_, 3, _1, _2, _3); _leave(); return _1; _leave(); } static struct __methodinfo __info89= { "inlineMacroSelectors", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 271, 272, &__info85 }; static oop Compiler__inlineMacroSelectors(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info89); oop _1= 0; _line(271); _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(271); _1=_sendv(s_macroFlag, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info90= { "inlineSpecialSelectors", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 272, 273, &__info89 }; static oop Compiler__inlineSpecialSelectors(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info90); oop _1= 0; _line(272); _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(272); _1=_sendv(s_specialFlag, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info91= { "inlineTaggedArithmetic", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 273, 274, &__info90 }; static oop Compiler__inlineTaggedArithmetic(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info91); oop _1= 0; _line(273); _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(273); _1=_sendv(s_taggedFlag, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info92= { "cacheLevel", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 274, 278, &__info91 }; static oop Compiler__cacheLevel(oop v__closure, oop v_stateful_self, oop v_self) { _enter(&__info92); oop _1= 0; _line(274); _1= ((struct t_Compiler *)v_stateful_self)->v_options; _line(274); _1=_sendv(s_cacheLevel, 1, _1); _leave(); return _1; _leave(); } static struct __methodinfo __info93= { "warn:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 278, 283, &__info92 }; static oop Compiler__warn_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_message, oop v_parseNode) { _enter(&__info93); oop _1= 0; oop _2= 0; _line(278); _1= v_parseNode; _line(280); _1=_sendv(s_position, 1, _1); _line(280); _1=_sendv(s_printString, 1, _1); _2= l_94; _line(280); _1=_sendv(s__2c, 2, _1, _2); _2= v_message; _line(280); _1=_sendv(s__2c, 2, _1, _2); _line(280); _1=_sendv(s_putln, 1, _1); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info95= { "error:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 283, 288, &__info93 }; static oop Compiler__error_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_message, oop v_parseNode) { _enter(&__info95); oop _1= 0; oop _2= 0; oop _3= 0; _line(283); _1= v_self; _2= v_parseNode; _line(285); _2=_sendv(s_position, 1, _2); _line(285); _2=_sendv(s_printString, 1, _2); _3= l_96; _line(285); _2=_sendv(s__2c, 2, _2, _3); _3= v_message; _line(285); _2=_sendv(s__2c, 2, _2, _3); _line(285); _1=_sendv(s_error_, 2, _1, _2); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info97= { "errorUndefined:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 288, 293, &__info95 }; static oop Compiler__errorUndefined_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode) { _enter(&__info97); oop _1= 0; oop _2= 0; oop _3= 0; _line(288); _1= v_self; _2= v_name; _line(290); _2=_sendv(s_printString, 1, _2); _3= l_98; _line(290); _2=_sendv(s__2c, 2, _2, _3); _3= v_parseNode; _line(290); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info99= { "errorNoType:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 293, 298, &__info97 }; static oop Compiler__errorNoType_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode) { _enter(&__info99); oop _1= 0; oop _2= 0; oop _3= 0; _line(293); _1= v_self; _2= v_name; _line(295); _2=_sendv(s_printString, 1, _2); _3= l_100; _line(295); _2=_sendv(s__2c, 2, _2, _3); _3= v_parseNode; _line(295); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info101= { "errorRedefined:at:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 298, 303, &__info99 }; static oop Compiler__errorRedefined_at_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode, oop v_prevNode) { _enter(&__info101); oop _1= 0; oop _2= 0; oop _3= 0; _line(298); _1= v_self; _2= v_name; _line(300); _2=_sendv(s_printString, 1, _2); _3= l_102; _line(300); _2=_sendv(s__2c, 2, _2, _3); _3= v_prevNode; _line(300); _3=_sendv(s_position, 1, _3); _line(300); _3=_sendv(s_printString, 1, _3); _line(300); _2=_sendv(s__2c, 2, _2, _3); _3= v_parseNode; _line(300); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info103= { "errorRedefined:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 303, 308, &__info101 }; static oop Compiler__errorRedefined_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode) { _enter(&__info103); oop _1= 0; oop _2= 0; oop _3= 0; _line(303); _1= v_self; _2= v_name; _line(305); _2=_sendv(s_printString, 1, _2); _3= l_104; _line(305); _2=_sendv(s__2c, 2, _2, _3); _3= v_parseNode; _line(305); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info105= { "errorConflict:at:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 308, 313, &__info103 }; static oop Compiler__errorConflict_at_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode, oop v_prevNode) { _enter(&__info105); oop _1= 0; oop _2= 0; oop _3= 0; _line(308); _1= v_self; _2= l_106; _3= v_name; _line(310); _3=_sendv(s_printString, 1, _3); _line(310); _2=_sendv(s__2c, 2, _2, _3); _3= l_107; _line(310); _2=_sendv(s__2c, 2, _2, _3); _3= v_prevNode; _line(310); _3=_sendv(s_position, 1, _3); _line(310); _3=_sendv(s_printString, 1, _3); _line(310); _2=_sendv(s__2c, 2, _2, _3); _3= v_parseNode; _line(310); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info108= { "errorNoSuper:at:", "Compiler", "/Users/piumarta/src/idst/object/idc/Compiler.st", 0, 313, 317, &__info105 }; static oop Compiler__errorNoSuper_at_(oop v__closure, oop v_stateful_self, oop v_self, oop v_name, oop v_parseNode) { _enter(&__info108); oop _1= 0; oop _2= 0; oop _3= 0; _line(313); _1= v_self; _2= l_109; _3= v_parseNode; _line(315); _1=_sendv(s_error_at_, 3, _1, _2, _3); _1= v_self; _leave(); return _1; _leave(); } static struct __methodinfo __info= { "__id__init__", "", "Compiler.st", 0, 0, 0, &__info108 }; void __id__init__Compiler(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_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_ImmutableArray= _libid->import("ImmutableArray"); v_WordArray= _libid->import("WordArray"); v_ByteArray= _libid->import("ByteArray"); v_String= _libid->import("String"); v_ImmutableString= _libid->import("ImmutableString"); v_nil= _libid->import("nil"); v_true= _libid->import("true"); v_false= _libid->import("false"); _sendv(s__5fimport_, 3, _libid->_object, "OrderedCollection", "__id__init__OrderedCollection"); v_OrderedCollection= _libid->import("OrderedCollection"); _sendv(s__5fimport_, 3, _libid->_object, "Dictionary", "__id__init__Dictionary"); v_Set= _libid->import("Set"); v_LookupKey= _libid->import("LookupKey"); v_Dictionary= _libid->import("Dictionary"); _sendv(s__5fimport_, 3, _libid->_object, "CCodeGenerator", "__id__init__CCodeGenerator"); v_IdentityDictionary= _libid->import("IdentityDictionary"); v_EncodedVariableNode= _libid->import("EncodedVariableNode"); v_LocalVariableNode= _libid->import("LocalVariableNode"); v_ParseNode= _libid->import("ParseNode"); v_LiteralNode= _libid->import("LiteralNode"); v_CodeGenerator= _libid->import("CodeGenerator"); _sendv(s__5fimport_, 3, _libid->_object, "CManagedCodeGenerator", "__id__init__CManagedCodeGenerator"); _sendv(s__5fimport_, 3, _libid->_object, "ImportNode", "__id__init__ImportNode"); v_ImportNode= _libid->import("ImportNode"); _sendv(s__5fimport_, 3, _libid->_object, "Parser", "__id__init__Parser"); v_Stream= _libid->import("Stream"); v_PositionableStream= _libid->import("PositionableStream"); v_Scanner= _libid->import("Scanner"); v_ArrayLiteralNode= _libid->import("ArrayLiteralNode"); v_ReturnNode= _libid->import("ReturnNode"); v_SequenceNode= _libid->import("SequenceNode"); v_BlockNode= _libid->import("BlockNode"); v_Parser= _libid->import("Parser"); _sendv(s__5fimport_, 3, _libid->_object, "ScannerContext", "__id__init__ScannerContext"); v_ScannerContext= _libid->import("ScannerContext"); _sendv(s__5fimport_, 3, _libid->_object, "StringIO", "__id__init__StringIO"); v_Compiler= _libid->proto2(v_Object, Compiler___5fsizeof(0, 0)); _libid->method(v_Compiler, s__5fsizeof, (_imp_t)Compiler___5fsizeof); _libid->method(v_Compiler, s__5fdebugName, (_imp_t)Compiler___5fdebugName); _libid->method(v_Compiler, s__5fslots, (_imp_t)Compiler___5fslots); _libid->export("Compiler", v_Compiler); l_2= _sendv(s_value_5f_, 2, v_SmallInteger, 64); l_3= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "object"); l_4= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "_object"); l_5= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 3, "nil"); l_6= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 4, "_nil"); l_7= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 4, "true"); l_8= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 5, "_true"); l_9= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 5, "false"); l_10= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "_false"); l_11= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "integer"); l_12= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 8, "_integer"); l_13= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "value_:"); l_14= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 20, "largePositiveInteger"); l_15= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 21, "_largePositiveInteger"); l_16= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 13, "size_:value_:"); l_17= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 20, "largeNegativeInteger"); l_18= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 21, "_largeNegativeInteger"); l_19= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 5, "float"); l_20= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "_float"); l_21= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 9, "character"); l_22= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 10, "_character"); l_23= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "vector"); l_24= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "_vector"); l_25= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 5, "new_:"); l_26= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "symbol"); l_27= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "_symbol"); l_28= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 6, "string"); l_29= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 7, "_string"); l_30= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 9, "byteArray"); l_31= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 10, "_byteArray"); l_32= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 9, "wordArray"); l_33= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 10, "_wordArray"); l_34= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 11, "objectArray"); l_35= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 12, "_objectArray"); l_36= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 13, "staticClosure"); l_37= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 14, "_staticClosure"); l_38= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 17, "function_:arity_:"); l_39= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 11, "fullClosure"); l_40= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 12, "_fullClosure"); l_41= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 34, "function_:arity_:outer:state:nlr_:"); _libid->method(v_Compiler, s_initialize, (_imp_t)Compiler__initialize); _libid->method(v_Compiler, s_knownSelectors, (_imp_t)Compiler__knownSelectors); _libid->method(v_Compiler, s_compileFile_toFile_withOptions_, (_imp_t)Compiler__compileFile_toFile_withOptions_); _libid->method(v_Compiler, s_input_, (_imp_t)Compiler__input_); _libid->method(v_Compiler, s_include_, (_imp_t)Compiler__include_); l_47= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 3, ".st"); _libid->method(v_Compiler, s_import_, (_imp_t)Compiler__import_); l_49= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 0, ""); l_50= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 3, ".st"); l_51= _sendv(s_size_5f_value_5f_, 3, v_ImmutableArray, 2, al_51); _libid->method(v_Compiler, s_readFrom_including_, (_imp_t)Compiler__readFrom_including_); _libid->method(v_Compiler, s_external_, (_imp_t)Compiler__external_); l_54= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 23, "not in external section"); _libid->method(v_Compiler, s_internal_, (_imp_t)Compiler__internal_); l_56= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 1, " "); l_57= _sendv(s_value_5f_, 2, v_SmallInteger, 2); l_58= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 4, "type"); l_59= _sendv(s_value_5f_, 2, v_SmallInteger, 4); l_60= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 16, "unknown pragma: "); _libid->method(v_Compiler, s_pragma_, (_imp_t)Compiler__pragma_); l_63= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 15, "unknown type: '"); l_64= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 1, "'"); l_65= _sendv(s_value_5f_, 2, v_SmallInteger, 4); l_62= _sendv(s_function_5f_arity_5f_, 3, v_StaticBlockClosure, b_62, 0); _libid->method(v_Compiler, s_pragmaType_, (_imp_t)Compiler__pragmaType_); l_67= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Compiler, s_addExtern_, (_imp_t)Compiler__addExtern_); l_69= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Compiler, s_addExec_, (_imp_t)Compiler__addExec_); l_71= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Compiler, s_addInclude_, (_imp_t)Compiler__addInclude_); l_73= _sendv(s_value_5f_, 2, v_SmallInteger, 0); _libid->method(v_Compiler, s_addMethod_, (_imp_t)Compiler__addMethod_); l_76= _sendv(s_value_5f_, 2, v_SmallInteger, 0); l_79= _sendv(s_function_5f_arity_5f_, 3, v_StaticBlockClosure, b_79, 0); _libid->method(v_Compiler, s_addType_, (_imp_t)Compiler__addType_); l_81= _sendv(s_value_5f_, 2, v_SmallInteger, 0); l_82= _sendv(s_function_5f_arity_5f_, 3, v_StaticBlockClosure, b_82, 0); _libid->method(v_Compiler, s_addDefinition_, (_imp_t)Compiler__addDefinition_); l_84= _sendv(s_function_5f_arity_5f_, 3, v_StaticBlockClosure, b_84, 0); _libid->method(v_Compiler, s_encode_, (_imp_t)Compiler__encode_); l_87= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 29, "internal compiler error #10 ("); l_88= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 1, ")"); _libid->method(v_Compiler, s_constructorFor_, (_imp_t)Compiler__constructorFor_); _libid->method(v_Compiler, s_inlineMacroSelectors, (_imp_t)Compiler__inlineMacroSelectors); _libid->method(v_Compiler, s_inlineSpecialSelectors, (_imp_t)Compiler__inlineSpecialSelectors); _libid->method(v_Compiler, s_inlineTaggedArithmetic, (_imp_t)Compiler__inlineTaggedArithmetic); _libid->method(v_Compiler, s_cacheLevel, (_imp_t)Compiler__cacheLevel); l_94= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 2, ": "); _libid->method(v_Compiler, s_warn_at_, (_imp_t)Compiler__warn_at_); l_96= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 2, ": "); _libid->method(v_Compiler, s_error_at_, (_imp_t)Compiler__error_at_); l_98= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 13, " is undefined"); _libid->method(v_Compiler, s_errorUndefined_at_, (_imp_t)Compiler__errorUndefined_at_); l_100= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 14, " is not a type"); _libid->method(v_Compiler, s_errorNoType_at_, (_imp_t)Compiler__errorNoType_at_); l_102= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 23, " previously defined at "); _libid->method(v_Compiler, s_errorRedefined_at_at_, (_imp_t)Compiler__errorRedefined_at_at_); l_104= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 16, " is already used"); _libid->method(v_Compiler, s_errorRedefined_at_, (_imp_t)Compiler__errorRedefined_at_); l_106= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 15, "declaration of "); l_107= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 15, " conflict with "); _libid->method(v_Compiler, s_errorConflict_at_at_, (_imp_t)Compiler__errorConflict_at_at_); l_109= _sendv(s_size_5f_value_5f_, 3, v_ImmutableString, 20, "'super' is undefined"); _libid->method(v_Compiler, s_errorNoSuper_at_, (_imp_t)Compiler__errorNoSuper_at_); _leave(); }