home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" void r240c_mapping_procedure_non_small_eiffel(T0* a1,T0* a2){ int _bfuc=0; T0* _bf=NULL; _bf=(((T906*)((T906*)a1)))->_base_feature/*44*/; _bfuc=r883use_current(((T883*)_bf)); /*IF*/if ((!(_bfuc))&&(r324target_cannot_be_dropped(((T324*)(oBC364cpp))))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470)); /*]*/ } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r883external_c_name(((T883*)_bf))); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_bfuc) { r324put_target_as_value(((T324*)(oBC364cpp))); } /*FI*//*IF*/if ((r906arg_count(((T906*)a1)))>(0)) { /*IF*/if (_bfuc) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470)); /*]*/ } void r240c_mapping_function_non_small_eiffel(T0* a1,T0* a2){ int _tcbd=0; int _bfuc=0; T0* _bf=NULL; _bf=(((T892*)((T892*)a1)))->_base_feature/*48*/; _bfuc=r679use_current(((T679*)_bf)); /*IF*/if (!(_bfuc)) { _tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r679external_c_name(((T679*)_bf))); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_bfuc) { r324put_target_as_value(((T324*)(oBC364cpp))); } /*FI*//*IF*/if ((r892arg_count(((T892*)a1)))>(0)) { /*IF*/if (_bfuc) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if ((!(_bfuc))&&(_tcbd)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:NATIVE_INLINE_WITH_CURRENT.c_define_function*/ /*No:NATIVE_INLINE_WITH_CURRENT.fz_14*/ /*No:NATIVE_INLINE_WITH_CURRENT.c_define_procedure*/ /*No:NATIVE_INLINE_WITH_CURRENT.stupid_switch*/ /*No:NATIVE_INLINE_WITH_CURRENT.c_mapping_procedure*/ /*No:NATIVE_INLINE_WITH_CURRENT.c_mapping_function*/ /*No:NATIVE_INLINE_WITH_CURRENT.use_current*/ void r913get_started(T913* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T764*)((T764*)((((T913*)C))->_list/*0*/))))->_upper/*8*/))) { r153add_into(((T153*)(r764item(((T764*)((((T913*)C))->_list/*0*/)),_i))),a1); _i=(_i)+(1); } } /*No:FEATURE_CLAUSE_LIST.make*/ /*No:FEATURE_CLAUSE_LIST.list*/ /*No:FEATURE_CLAUSE_LIST.add_last*/ int r870id(T870* C){ int R=0; R=X291id((((T870*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_4.arguments*/ int r870result_is_current(T870* C){ int R=0; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { /*IF*/if (X662is_current(_e)) { R=1; } /*FI*/} /*FI*/return R; } int r870direct_call(T870* C){ int R=0; T0* _rf4=NULL; T0* _args=NULL; T0* _c=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if ((((_e)!=((void*)(NULL)))&&(((((T870*)C))->_arguments/*20*/)==((void*)(NULL))))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c=_e; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((_c)!=((void*)(NULL))) { /*IF*/if (X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/))) { _rf4=X295run_feature(_c); if(NULL!=(_rf4))switch(((T0*)_rf4)->id) { case 870: break; default: _rf4=NULL; };/*IF*/if ((_rf4)!=((void*)(NULL))) { _args=X295arguments(_c); /*IF*/if ((_args)==((void*)(NULL))) { R=1; } else { R=X431is_static(_args); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_result_is_current*/ int r870dc_pco1(T870* C){ int R=0; T0* _rf6=NULL; T0* _c=NULL; _c=r870body_one_dc_pco(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/)))) { _rf6=X295run_feature(_c); if(NULL!=(_rf6))switch(((T0*)_rf6)->id) { case 868: break; default: _rf6=NULL; };/*IF*/if ((_rf6)!=((void*)(NULL))) { R=!(r868use_current(((T868*)_rf6))); } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_dc_pco2*/ /*No:RUN_FEATURE_4.ucs_true*/ T0* r870body_one_result_dca(T870* C){ T0* R=NULL; T0* _r=NULL; T0* _rf=NULL; T0* _rf2=NULL; T0* _c0c=NULL; T0* _c=NULL; _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((_c)!=((void*)(NULL))) { _c0c=/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/); if(NULL!=(_c0c))switch(((T0*)_c0c)->id) { case 487: break; default: _c0c=NULL; };/*IF*/if ((_c0c)!=((void*)(NULL))) { /*IF*/if (X662is_current((((T487*)((T487*)_c0c)))->_target/*12*/)) { _rf2=(((T487*)((T487*)_c0c)))->_run_feature/*20*/; if(NULL!=(_rf2))switch(((T0*)_rf2)->id) { case 820: break; default: _rf2=NULL; };/*IF*/if ((_rf2)!=((void*)(NULL))) { _r=(((T355*)((T355*)(r820run_class(((T820*)_rf2))))))->_running/*12*/; /*IF*/if (((_r)!=((void*)(NULL)))&&((r396count(((T396*)_r)))==(1))) { _rf=X295run_feature(_c); /*IF*/if ((_rf)!=((void*)(NULL))) { _r=(((T355*)((T355*)(X496run_class(_rf)))))->_running/*12*/; /*IF*/if (((_r)!=((void*)(NULL)))&&((r396count(((T396*)_r)))==(1))) { R=_c; } /*FI*/} else { R=_c; } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } int r870dc_pco2(T870* C){ int R=0; T0* _rf6=NULL; T0* _c2=NULL; T0* _c1=NULL; _c1=r870body_one_dc_pco(C); /*IF*/if ((_c1)!=((void*)(NULL))) { _c2=/*X295*/((T0*)(((T121*)((T121*)_c1)))->_target/*12*/); if(NULL!=(_c2))switch(((T0*)_c2)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c2=NULL; };/*IF*/if ((_c2)!=((void*)(NULL))) { _rf6=X295run_feature(_c2); if(NULL!=(_rf6))switch(((T0*)_rf6)->id) { case 868: break; default: _rf6=NULL; };/*IF*/if ((((_rf6)!=((void*)(NULL)))&&(!(r868use_current(((T868*)_rf6)))))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c2)))->_target/*12*/)))) { R=1; } /*FI*/} /*FI*/} /*FI*/return R; } void r870c_define(T870* C){ /*IF*/if (r870isa_in_line(C)) { r324incr_inlined_function_count(((T324*)(oBC364cpp))); r870nothing_comment(C); } else { /*IF*/if (r870use_current(C)) { r324incr_function_count(((T324*)(oBC364cpp))); } else { r324incr_real_function_count(((T324*)(oBC364cpp))); } /*FI*/r870define_prototype(C); r870define_opening(C); /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_c(((T592*)((((T870*)C))->_routine_body/*32*/))); } /*FI*/r870define_closing(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms149_470)); /*]*/ } /*FI*/} /*No:RUN_FEATURE_4.rescue_compound*/ /*No:RUN_FEATURE_4.actuals_clients*/ void r870nothing_comment(T870* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291run_time_mark((((T870*)C))->_current_type/*4*/)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\56'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T870*)C))->_name/*16*/)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_4.C_value_reader*/ void r870define_closing(T870* C){ /*IF*/if (r870use_current(C)) { r324current_class_invariant(((T324*)(oBC364cpp)),(((T870*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c(((T633*)((((T870*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { /*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324)); /*]*/ }/*]*/ } /*FI*/} int r870empty_or_null_body(T870* C){ int R=0; T0* _rb=NULL; _rb=(((T870*)C))->_routine_body/*32*/; /*IF*/if ((((_rb)==((void*)(NULL)))||(/*(IRF4.7empty_or_null_body*/((((T592*)((T592*)_rb)))->_list/*8*/)==(NULL)/*)*/))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { C->_static_value_mem=0; C->_is_static_flag=1; R=1; } /*FI*/return R; } /*No:RUN_FEATURE_4.ucs_in_computation*/ void r870make(T870* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r870run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r870initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r870std_compute_use_current(T870* C){ /*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T870*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T870*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T870*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_use_current_state/*44*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_4.name*/ void r870default_mapping_function(T870* C){ r870mapping_name(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_target_as_target(((T324*)(oBC364cpp))); /*IF*/if ((r870arg_count(C))>(0)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } void r870mapping_name(T870* C){ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='r'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r870id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T870*)C))->_name/*16*/)); /*]*/ } int r870arg_count(T870* C){ int R=0; /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T870*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r870routine_afd_check(T870* C){ /*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T870*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T870*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T870*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_4.fz_open_c_comment*/ int r870attribute_reader(T870* C){ int R=0; T0* _rf2=NULL; T0* _c0=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c0=_e; if(NULL!=(_c0))switch(((T0*)_c0)->id) { case 180: case 990: case 767: case 72: case 487: break; default: _c0=NULL; };/*IF*/if ((_c0)!=((void*)(NULL))) { /*IF*/if (X662is_current(/*X752*/((T0*)(((T180*)((T180*)_c0)))->_target/*12*/))) { _rf2=X752run_feature(_c0); if(NULL!=(_rf2))switch(((T0*)_rf2)->id) { case 820: break; default: _rf2=NULL; };/*IF*/if ((_rf2)!=((void*)(NULL))) { R=1; } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.local_vars*/ int r870dca(T870* C){ int R=0; T0* _args=NULL; T0* _rf=NULL; T0* _c=NULL; _c=r870body_one_result_dca(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _rf=X295run_feature(_c); /*IF*/if ((_rf)!=((void*)(NULL))) { /*IF*/if ((_rf)!=((void*)(C))) { _args=X295arguments(_c); /*IF*/if ((_args)==((void*)(NULL))) { R=(r870arg_count(C))==(0); } else { R=X431isa_dca_inline(_args,(T0*)C,_rf); } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.base_feature*/ void r870define_opening(T870* C){ T0* _t=NULL; int _i=0; /*IF*/if (((((T870*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T870*)C))->_result_type/*24*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ X291c_type_for_result_in(_t,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'R'); r7extend(((T7*)(oBC496c_code)),'\75'); X291c_initialize_in(_t,oBC496c_code); r7append(((T7*)(oBC496c_code)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ } /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { r620compile_to_c(((T620*)((((T870*)C))->_local_vars/*52*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T870*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c_old(((T633*)((((T870*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { r620initialize_expanded(((T620*)((((T870*)C))->_local_vars/*52*/))); } /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { r324rs_link(((T324*)(oBC364cpp)),(T0*)C); /*IF*/if (r870use_current(C)) { /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=(((T870*)C))->_current_type/*4*/; r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1); }/*]*/ } /*FI*/_i=1; while (!((_i)>(r870arg_count(C)))) { _t=X291run_type(r31type(((T31*)((((T870*)C))->_arguments/*20*/)),_i)); r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T870*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t); _i=(_i)+(1); } /*IF*/if (((((T870*)C))->_result_type/*24*/)!=((void*)(NULL))) { /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=X291run_type((((T870*)C))->_result_type/*24*/); r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1); }/*]*/ } /*FI*//*IF*/if (((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T870*)C))->_local_vars/*52*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { r39c_trace(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)((((T870*)C))->_local_vars/*52*/))))->_flat_list/*12*/)),_i)/*)*/))); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_c(((T567*)((((T870*)C))->_require_assertion/*28*/))); } /*FI*/} /*No:RUN_FEATURE_4.start_position*/ /*No:RUN_FEATURE_4.fz_close_c_comment*/ /*No:RUN_FEATURE_4.fz_00*/ T0* r870body_one_result(T870* C){ T0* R=NULL; T0* _a=NULL; T0* _rb=NULL; _rb=(((T870*)C))->_routine_body/*32*/; /*IF*/if (((_rb)!=((void*)(NULL)))&&((r592count(((T592*)_rb)))==(1))) { _a=r592first(((T592*)_rb)); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };/*IF*/if ((_a)!=((void*)(NULL))) { /*IF*/if (X662is_result((((T629*)((T629*)_a)))->_left_side/*8*/)) { R=(((T629*)((T629*)_a)))->_right_side/*12*/; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.ensure_assertion*/ int r870is_exported_in(T870* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r870clients(C))),a1); return R; } T0* r870is_direct_call_on_attribute(T870* C){ T0* R=NULL; T0* _rf=NULL; T0* _c=NULL; /*IF*/if (r870isa_in_line(C)) { {int z1=(((T870*)C))->_in_line_status/*60*/; if((6==z1)){ _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };_c=/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };_rf=X295run_feature(_c); R=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_name/*16*/); } } } /*FI*/return R; } void r870compute_use_current(T870* C){ /*IF*/if ((X291is_reference((((T870*)C))->_current_type/*4*/))&&(r590no_check(((T590*)(oBC364run_control))))) { C->_use_current_state=1004; } else { r870std_compute_use_current(C); } /*FI*/} /*No:RUN_FEATURE_4.result_type*/ /*No:RUN_FEATURE_4.in_line_status*/ /*No:RUN_FEATURE_4.fz_13*/ /*No:RUN_FEATURE_4.C_a_eq_neq*/ int r870a_eq_neq(T870* C){ int R=0; T0* _e=NULL; T0* _rf=NULL; T0* _c=NULL; _c=r870body_one_result_dca(C); /*IF*/if (((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _rf=X295run_feature(_c); /*IF*/if (((_rf)==((void*)(NULL)))&&((X295arg_count(_c))==(1))) { _e=X431expression(X295arguments(_c),1); {int z1=X662isa_dca_inline_argument(_e); if((0==z1)){ } else if((-1==z1)){ R=(r870arg_count(C))==(0); } else{R=(r870arg_count(C))==(1); }} } /*FI*/} /*FI*/return R; } int r870is_static(T870* C){ int R=0; /*IF*/if (r870isa_in_line(C)) { R=(((T870*)C))->_is_static_flag/*64*/; } /*FI*/return R; } int r870value_reader(T870* C){ int R=0; T0* _c0=NULL; T0* _e=NULL; _e=r870body_one_result(C); /*IF*/if (((_e)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c0=_e; if(NULL!=(_c0))switch(((T0*)_c0)->id) { case 180: case 990: case 767: case 72: case 487: break; default: _c0=NULL; };/*IF*/if ((((_c0)!=((void*)(NULL)))&&(X662is_current(/*X752*/((T0*)(((T180*)((T180*)_c0)))->_target/*12*/))))&&((X752run_feature(_c0))==((void*)(C)))) { r683add_position(X662start_position(_e)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_870); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X662is_static(_e)) { R=1; C->_static_value_mem=X662static_value(_e); C->_is_static_flag=1; } /*FI*/} /*FI*/return R; } void r870add_client(T870* C,T0* a1){ int _i=0; /*IF*/if (((((T870*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T870*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T870*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r870run_class(C))),a1); } /*No:RUN_FEATURE_4.fz_15*/ T0*oBC870tmp_string=NULL; /*No:RUN_FEATURE_4.require_assertion*/ /*No:RUN_FEATURE_4.use_current_state*/ int r870isa_in_line(T870* C){ int R=0; /*IF*/if (r590boost(((T590*)(oBC364run_control)))) { {int z1=(((T870*)C))->_in_line_status/*60*/; if((-1==z1)){ } else if((0==z1)){ R=1; /*IF*/if (r870empty_or_null_body(C)) { C->_in_line_status=1; } else if (r870value_reader(C)) { C->_in_line_status=2; } else if (r870attribute_reader(C)) { C->_in_line_status=3; } else if (r870result_is_current(C)) { C->_in_line_status=4; } else if (r870direct_call(C)) { C->_in_line_status=5; } else if (r870dca(C)) { C->_in_line_status=6; } else if (r870a_eq_neq(C)) { C->_in_line_status=7; } else if (r870dc_pco1(C)) { C->_in_line_status=8; } else if (r870dc_pco2(C)) { C->_in_line_status=9; } else if (r870direct_cse_call(C)) { C->_in_line_status=10; } else { C->_in_line_status=-(1); R=0; } /*FI*/} else{R=1; }} } /*FI*/return R; } T0* r870body_one_dc_pco(T870* C){ T0* R=NULL; T0* _args=NULL; T0* _c=NULL; _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if ((((_c)!=((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL))))&&(((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))) { _args=X295arguments(_c); /*IF*/if (((_args)==((void*)(NULL)))||(X431is_static(_args))) { R=_c; } /*FI*/} /*FI*/return R; } int r870can_be_dropped(T870* C){ int R=0; R=((((((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL))))&&(((((T870*)C))->_require_assertion/*28*/)==((void*)(NULL))))&&(((((T870*)C))->_ensure_assertion/*36*/)==((void*)(NULL))))&&(((((T870*)C))->_rescue_compound/*40*/)==((void*)(NULL))); /*IF*/if (R) { /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { R=0; } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_dca*/ /*No:RUN_FEATURE_4.current_type*/ T0* r870run_class(T870* C){ T0* R=NULL; R=X291run_class((((T870*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_4.C_empty_or_null_body*/ /*No:RUN_FEATURE_4.static_value_mem*/ void r870define_prototype(T870* C){ int _mem_id=0; _mem_id=r870id(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ /*IF*/if (((((T870*)C))->_result_type/*24*/)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_result_in(X291run_type((((T870*)C))->_result_type/*24*/),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'r'); r2append_in(_mem_id,oBC496c_code); X776mapping_c_in((((T870*)C))->_name/*16*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (r870use_current(C)) { X291c_type_for_target_in((((T870*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T870*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(r870use_current(C))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31compile_to_c_in(((T31*)((((T870*)C))->_arguments/*20*/)),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ } /*No:RUN_FEATURE_4.is_static_flag*/ /*No:RUN_FEATURE_4.ucs_not_computed*/ void r870in_line(T870* C){ T0* _cien=NULL; T0* _rf=NULL; T0* _c=NULL; int _flag=0; T0* _e=NULL; T0* _a=NULL; /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_870)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T870*)C))->_in_line_status/*60*/); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T870*)C))->_name/*16*/)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470)); /*]*/ {int z1=(((T870*)C))->_in_line_status/*60*/; if((1==z1)){ _flag=r324cannot_drop_all(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/X291c_initialize(X291run_type((((T870*)C))->_result_type/*24*/)); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if((2==z1)){ _flag=r324cannot_drop_all(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/_a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_e=(((T629*)((T629*)_a)))->_right_side/*12*/; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X662compile_to_c(_e); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if((3==z1)){ _flag=r324arguments_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/_a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_c=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };X496mapping_c(X295run_feature(_c)); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if((4==z1)){ _flag=r324arguments_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC870tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC870tmp_string)),'\50'); r7extend(((T7*)(oBC870tmp_string)),'\50'); X291c_type_for_result_in(X291run_type((((T870*)C))->_result_type/*24*/),oBC870tmp_string); r7extend(((T7*)(oBC870tmp_string)),'\51'); r7extend(((T7*)(oBC870tmp_string)),'\50'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC870tmp_string); /*]*/ r324put_target_as_value(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms147_470)); /*]*/ /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if((5==z1)){ _a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_c=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };_rf=X295run_feature(_c); r324push_same_target(((T324*)(oBC364cpp)),_rf,X295arguments(_c)); X496mapping_c(_rf); r324pop(((T324*)(oBC364cpp))); } else if((6==z1)){ _a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_c=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };X295finalize(_c); r324push_inline_dca(((T324*)(oBC364cpp)),(T0*)C,_c); X496mapping_c(X295run_feature(_c)); r324pop(((T324*)(oBC364cpp))); } else if((7==z1)){ _a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_cien=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_cien))switch(((T0*)_cien)->id) { case 999: case 517: break; default: _cien=NULL; };r324push_inline_dca(((T324*)(oBC364cpp)),(T0*)C,_cien); X841dca_inline(_cien,X662result_type(X841arg1(_cien))); r324pop(((T324*)(oBC364cpp))); } else if(((8<=z1)&&(z1<=9))){ _flag=r324target_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/_a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_c=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };_rf=X295run_feature(_c); r324push_direct(((T324*)(oBC364cpp)),_rf,/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/),X295arguments(_c)); X496mapping_c(_rf); r324pop(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else {_a=r592first(((T592*)((((T870*)C))->_routine_body/*32*/))); if(NULL!=(_a))switch(((T0*)_a)->id) { case 629: break; default: _a=NULL; };_c=(((T629*)((T629*)_a)))->_right_side/*12*/; if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };_rf=X295run_feature(_c); r324push_same_target(((T324*)(oBC364cpp)),_rf,X295arguments(_c)); X496mapping_c(_rf); r324pop(((T324*)(oBC364cpp))); }} /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_870)); /*]*/ } void r870fall_down(T870* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T870*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T870*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T870*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_4.routine_body*/ /*No:RUN_FEATURE_4.fz_void*/ /*No:RUN_FEATURE_4.C_attribute_reader*/ /*No:RUN_FEATURE_4.C_direct_call*/ /*No:RUN_FEATURE_4.ucs_false*/ /*No:RUN_FEATURE_4.is_pre_computable*/ T0* r870clients(T870* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T870*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T870*)C))->_current_type/*4*/); _bfbc=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T870*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T870*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r870use_current(T870* C){ int R=0; {int z1=(((T870*)C))->_use_current_state/*44*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; r870compute_use_current(C); R=r870use_current(C); } else {R=1; }} return R; } void r870mapping_c(T870* C){ int _tcbd=0; /*IF*/if (r870isa_in_line(C)) { r870in_line(C); } else if (r870use_current(C)) { r870default_mapping_function(C); } else { _tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r870mapping_name(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (((((T870*)C))->_arguments/*20*/)!=((void*)(NULL))) { r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*No:RUN_FEATURE_4.us_to_pointer*/ int r870direct_cse_call(T870* C){ int R=0; T0* _rf8=NULL; T0* _c=NULL; /*IF*/if ((((((T870*)C))->_arguments/*20*/)==((void*)(NULL)))&&(((((T870*)C))->_local_vars/*52*/)==((void*)(NULL)))) { _c=r870body_one_result(C); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if (((_c)!=((void*)(NULL)))&&((X295arguments(_c))==((void*)(NULL)))) { _c=/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/); if(NULL!=(_c))switch(((T0*)_c)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _c=NULL; };/*IF*/if (((_c)!=((void*)(NULL)))&&(X662is_current(/*X295*/((T0*)(((T121*)((T121*)_c)))->_target/*12*/)))) { /*IF*/if ((X295arguments(_c))==((void*)(NULL))) { _rf8=X295run_feature(_c); if(NULL!=(_rf8))switch(((T0*)_rf8)->id) { case 892: break; default: _rf8=NULL; };/*IF*/if ((_rf8)!=((void*)(NULL))) { R=(X776to_string((((T892*)((T892*)_rf8)))->_name/*16*/))==((void*)(((T0*)ms135_473))); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.fatal_error*/ int r870is_empty_or_null_body(T870* C){ int R=0; /*IF*/if (r870isa_in_line(C)) { R=((((T870*)C))->_in_line_status/*60*/)==(1); } /*FI*/return R; } /*No:RUN_FEATURE_4.address_of*/ void r870put_tag(T870* C){ T0* _fn=NULL; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776cpp_put_infix_or_prefix(_fn); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_4.clients_memory*/ void r870initialize(T870* C){ C->_arguments=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_arguments/*28*/; /*IF*/if ((((((T870*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T870*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T870*)C))->_arguments/*20*/)),(((T870*)C))->_current_type/*4*/); } /*FI*/C->_result_type=X291to_runnable((((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_result_type/*12*/,(((T870*)C))->_current_type/*4*/); C->_local_vars=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_local_vars/*20*/; /*IF*/if ((((((T870*)C))->_local_vars/*52*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T870*)C))->_local_vars/*52*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_local_vars=r620to_runnable(((T620*)((((T870*)C))->_local_vars/*52*/)),(((T870*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T696*)((T696*)((((T870*)C))->_base_feature/*48*/))))->_routine_body/*52*/; /*IF*/if (((((T870*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T870*)C))->_routine_body/*32*/)),(((T870*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r696run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r696run_ensure((T0*)C); } /*FI*/} /*No:RUN_FEATURE_4.C_direct_cse_call*/ T0* r870is_attribute_reader(T870* C){ T0* R=NULL; T0* _rf=NULL; T0* _c0=NULL; /*IF*/if (r870isa_in_line(C)) { /*IF*/if (((((T870*)C))->_in_line_status/*60*/)==(3)) { _c0=r870body_one_result(C); if(NULL!=(_c0))switch(((T0*)_c0)->id) { case 180: case 990: case 767: case 72: case 487: break; default: _c0=NULL; };_rf=X752run_feature(_c0); R=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_name/*16*/); } /*FI*/} /*FI*/return R; } /*No:RUN_FEATURE_4.C_dc_pco1*/ /*No:RUN_FEATURE_4.afd_check*/ /*No:TYPE_NONE.id*/ int r284has_creation(T284* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r284error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T284*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_284)); return R; } /*No:TYPE_NONE.us_none*/ /*No:TYPE_NONE.is_anchored*/ /*No:TYPE_NONE.is_array*/ /*No:TYPE_NONE.is_a*/ /*No:TYPE_NONE.c_initialize_in*/ /*No:TYPE_NONE.c_type_for_argument_in*/ void r284gc_call_new_in(T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(-1,a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } int r284space_for_pointer(void){ int R=0; void* _p=0; R=sizeof(T8); return R; } /*No:TYPE_NONE.run_type*/ /*No:TYPE_NONE.is_pointer*/ /*No:TYPE_NONE.is_dummy_expanded*/ /*No:TYPE_NONE.is_string*/ /*No:TYPE_NONE.space_for_variable*/ /*No:TYPE_NONE.is_like_feature*/ /*No:TYPE_NONE.fz_t0_star*/ /*No:TYPE_NONE.is_like_current*/ void r284make(T284* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms19_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_NONE.mapping_cast*/ /*No:TYPE_NONE.start_position*/ /*No:TYPE_NONE.c_type_for_target_in*/ /*No:TYPE_NONE.fz_gc_mark*/ /*No:TYPE_NONE.gc_initialize*/ /*No:TYPE_NONE.is_character*/ /*No:TYPE_NONE.is_user_expanded*/ T0* r284written_mark(void){ T0* R=NULL; R=((T0*)ms19_473); return R; } /*No:TYPE_NONE.is_run_type*/ /*No:TYPE_NONE.to_runnable*/ void r284c_type_for_external_in(T0* a1){ /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470)); r7extend(((T7*)a1),'\52'); } /*FI*/} T0* r284generic_list(T284* C){ T0* R=NULL; r284fatal_error_generic_list(C); return R; } /*No:TYPE_NONE.is_formal_generic*/ /*No:TYPE_NONE.fz_null*/ void r284demangling_in(T0* a1){ /*IF*/{/*AT*/r7extend(((T7*)a1),'R'); } /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r284run_time_mark()); } /*No:TYPE_NONE.is_real*/ /*No:TYPE_NONE.is_bit*/ void r284fatal_error_generic_list(T284* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_NONE.fz_new*/ T0* r284smallest_ancestor(T0* a1){ T0* R=NULL; R=a1; return R; } /*No:TYPE_NONE.is_boolean*/ /*No:TYPE_NONE.is_double*/ /*No:TYPE_NONE.run_class*/ T0* r284run_time_mark(void){ T0* R=NULL; R=((T0*)ms19_473); return R; } /*No:TYPE_NONE.c_initialize*/ void r284cast_to_ref(T284* C){ X291cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/); } void r284gc_mark_in(T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(-1,a1); } int r284is_a_in(T284* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r284written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/; _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r284look_up_for(T284* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r284base_class(C))),a1,a2); return R; } /*No:TYPE_NONE.c_header_pass1*/ /*No:TYPE_NONE.c_type_for_result_in*/ /*No:TYPE_NONE.expanded_initializer*/ /*No:TYPE_NONE.fz_void*/ /*No:TYPE_NONE.fz_dot*/ /*No:TYPE_NONE.is_generic*/ /*No:TYPE_NONE.used_as_reference*/ /*No:TYPE_NONE.c_header_pass2*/ /*No:TYPE_NONE.gc_define1*/ /*No:TYPE_NONE.need_c_struct*/ /*No:TYPE_NONE.is_reference*/ /*No:TYPE_NONE.gc_info_in*/ void r284error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r284base_class(T284* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T284*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_NONE.call_gc_sweep_in*/ /*No:TYPE_NONE.gc_define2*/ /*No:TYPE_NONE.need_gc_mark_function*/ /*No:TYPE_NONE.is_any*/ /*No:TYPE_NONE.to_reference*/ /*No:TYPE_NONE.c_header_pass3*/ /*No:TYPE_NONE.base_class_name*/ /*No:TYPE_NONE.is_expanded*/ /*No:TYPE_NONE.is_basic_eiffel_expanded*/ /*No:TYPE_NONE.is_none*/ /*No:TYPE_NONE.to_expanded*/ /*No:TYPE_NONE.is_integer*/ /*No:TYPE_NONE.c_header_pass4*/ /*No:PROCEDURE.us_put*/ /*No:PROCEDURE.arguments*/ T0* r297try_to_undefine(T297* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r297try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T297*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:PROCEDURE.is_deferred*/ /*No:PROCEDURE.fz_bad_assertion*/ T0* r297runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r297error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:PROCEDURE.rescue_compound*/ void r297add_into(T297* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:PROCEDURE.end_comment*/ T0* r297try_to_undefine_aux(T297* C,T0* a1,T0* a2){ T0* R=NULL; {T853*n=malloc(sizeof(*n)); *n=M853; r853from_effective(n,a1,(((T297*)C))->_arguments/*28*/,(((T297*)C))->_require_assertion/*36*/,(((T297*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } /*No:PROCEDURE.us_array*/ void r297make(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r297make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1024; } /*No:PROCEDURE.not_computed*/ /*No:PROCEDURE.nb_errors*/ void r297make_routine(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r297make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } /*No:PROCEDURE.local_vars*/ void r297set_header_comment(T297* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r297start_position(T297* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r297to_run_feature(T297* C,T0* a1,T0* a2){ T0* R=NULL; r297check_obsolete(C); {T832*n=malloc(sizeof(*n)); *n=M832; r832make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:PROCEDURE.ensure_assertion*/ /*No:PROCEDURE.code_require*/ T0* r297run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); _r=r297runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r297run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r297runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T567*n=malloc(sizeof(*n)); *n=M567; /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:PROCEDURE.result_type*/ /*No:PROCEDURE.fz_03*/ /*No:PROCEDURE.em1*/ int r297stupid_switch_put(T0* a1,T0* a2){ int R=0; T0* _rf=NULL; int _i=0; T0* _bcn=NULL; T0* _f=NULL; _f=X496base_feature(a1); /*IF*/if ((((T0*)ms104_473))==((void*)(X776to_string(/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)_f)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/))))) { _bcn=(((T451*)((T451*)((((T605*)((T605*)(/*X359*/((T0*)(((T398*)((T398*)_f)))->_base_class/*4*/)))))->_base_class_name/*24*/))))->_to_string/*0*/; /*IF*/if (((((T0*)ms2_473))==((void*)(_bcn)))||((((T0*)ms13_473))==((void*)(_bcn)))) { _i=(((T396*)((T396*)a2)))->_upper/*8*/; R=1; while (!((!(R))||((_i)==(0)))) { _rf=r355dynamic(((T355*)(r396item(((T396*)a2),_i))),a1); /*IF*/if (X291is_expanded(r31type(((T31*)(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/))),1))) { R=0; } /*FI*/_i=(_i)-(1); } } /*FI*/} /*FI*/return R; } /*No:PROCEDURE.obsolete_mark*/ /*No:PROCEDURE.set_clients*/ /*No:PROCEDURE.em2*/ /*No:PROCEDURE.names*/ /*No:PROCEDURE.require_assertion*/ /*No:PROCEDURE.use_current_state*/ /*No:PROCEDURE.code_ensure*/ int r297stupid_switch(T0* a1,T0* a2){ int R=0; T0* _sfn=NULL; T0* _rf3=NULL; _rf3=r355dynamic(((T355*)(r396first(((T396*)a2)))),a1); if(NULL!=(_rf3))switch(((T0*)_rf3)->id) { case 832: break; default: _rf3=NULL; };/*IF*/if (r832is_empty_or_null_body(((T832*)_rf3))) { R=1; } else { _sfn=r832is_attribute_writer(((T832*)_rf3)); /*IF*/if ((_sfn)!=((void*)(NULL))) { R=r324stupid_switch(r355get_feature(((T355*)(X496run_class(a1))),_sfn)); } else { R=r297stupid_switch_put(a1,a2); } /*FI*/} /*FI*/return R; } void r297set_rescue_compound(T297* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r297error(r297start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r297can_hide(T297* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r297start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:PROCEDURE.header_comment*/ /*No:PROCEDURE.routine_body*/ int r297is_merge_with(T297* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r297error(r297start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:PROCEDURE.fz_dot*/ /*No:PROCEDURE.set_ensure_assertion*/ /*No:PROCEDURE.first_name*/ /*No:PROCEDURE.clients*/ void r297collect_for(T297* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T297*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T297*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T297*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T297*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r297error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROCEDURE.base_class*/ /*No:PROCEDURE.base_class_name*/ /*No:PROCEDURE.us_fixed_array*/ void r297make_e_feature(T297* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r297check_obsolete(T297* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T297*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T297*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r297warning(r297start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r297warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_REAL.arguments*/ T0* r835try_to_undefine(T835* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r835try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T835*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_REAL.is_deferred*/ void r835add_into(T835* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r835try_to_undefine_aux(T835* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r835start_position(C)); r835error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r835make(T835* C,T0* a1,T0* a2,T0* a3){ r835make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_REAL.nb_errors*/ /*No:CST_ATT_REAL.set_header_comment*/ T0* r835start_position(T835* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r835to_run_feature(T835* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_REAL.ensure_assertion*/ /*No:CST_ATT_REAL.code_require*/ /*No:CST_ATT_REAL.result_type*/ /*No:CST_ATT_REAL.em1*/ /*No:CST_ATT_REAL.set_clients*/ /*No:CST_ATT_REAL.em2*/ /*No:CST_ATT_REAL.value*/ /*No:CST_ATT_REAL.require_assertion*/ /*No:CST_ATT_REAL.names*/ /*No:CST_ATT_REAL.value_mem*/ /*No:CST_ATT_REAL.stupid_switch*/ int r835can_hide(T835* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_REAL.header_comment*/ int r835is_merge_with(T835* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r835error(r835start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_REAL.fz_dot*/ /*No:CST_ATT_REAL.first_name*/ /*No:CST_ATT_REAL.clients*/ void r835collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r835error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_REAL.base_class*/ /*No:CST_ATT_REAL.base_class_name*/ void r835make_e_feature(T835* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:PROC_CALL_N.arguments*/ T0* r568add_comment(T568* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:PROC_CALL_N.fz_bad_arguments*/ void r568make(T568* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:PROC_CALL_N.nb_errors*/ /*No:PROC_CALL_N.feature_name*/ int r568arg_count(T568* C){ int R=0; R=X431count((((T568*)C))->_arguments/*20*/); return R; } /*No:PROC_CALL_N.run_feature*/ /*No:PROC_CALL_N.set_run_compound*/ /*No:PROC_CALL_N.call_proc_call_c2c*/ T0* r568start_position(T568* C){ T0* R=NULL; R=X776start_position((((T568*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_N.target*/ void r568compile_to_c(T568* C){ r324rs_push_position(((T324*)(oBC364cpp)),'3',r568start_position(C)); /*[IRF3.6call_proc_call_c2c*/{T568* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ r324rs_pop_position(((T324*)(oBC364cpp))); } /*No:PROC_CALL_N.set_run_feature*/ T0* r568to_runnable(T568* C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) { r568to_runnable_0(C,a1); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _a=X431to_runnable((((T568*)C))->_arguments/*20*/,r568current_type(C)); /*IF*/if ((_a)==((void*)(NULL))) { r568error(X431start_position((((T568*)C))->_arguments/*20*/),((T0*)ms56_470)); } else { C->_arguments=_a; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T568*)C))->_arguments/*20*/,(((T568*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,(((T568*)C))->_target/*8*/,(((T568*)C))->_feature_name/*12*/,(((T568*)C))->_arguments/*20*/); R=(T0*)n; } R=r568to_runnable(((T568*)R),a1); } /*FI*/return R; } /*No:PROC_CALL_N.fz_07*/ T0* r568current_type(T568* C){ T0* R=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T568*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:PROC_CALL_N.run_compound*/ void r568to_runnable_0(T568* C,T0* a1){ C->_run_compound=a1; r568cpc_to_runnable(C,r568current_type(C)); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T568*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T568*)C))->_run_feature/*16*/)); r568error(X776start_position((((T568*)C))->_feature_name/*12*/),((T0*)ms1_173)); } /*FI*/} /*No:PROC_CALL_N.is_pre_computable*/ void r568cpc_to_runnable(T568* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T568*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T568*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/); } int r568use_current(T568* C){ int R=0; /*IF*/if ((r568arg_count(C))>(0)) { R=X431use_current((((T568*)C))->_arguments/*20*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T568*)C))->_target/*8*/)) { R=X496use_current((((T568*)C))->_run_feature/*16*/); } else { R=X662use_current((((T568*)C))->_target/*8*/); } /*FI*/return R; } void r568finalize(T568* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T568*)C))->_run_feature/*16*/; _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) { _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf); C->_run_feature=_rf; } /*FI*/} void r568error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROC_CALL_N.fatal_error*/ /*No:PROC_CALL_N.end_mark_comment*/ void r568afd_check(T568* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T568*)C))->_target/*8*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T568*)C))->_target/*8*/); /*IF*/if ((r568arg_count(C))>(0)) { X431afd_check((((T568*)C))->_arguments/*20*/); } /*FI*/} T0* r568make_runnable(T568* C,T0* a1,T0* a2,T0* a3,T0* a4){ T0* R=NULL; /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) { R=(T0*)C; r568make(((T568*)R),a2,(((T568*)C))->_feature_name/*12*/,a3); C->_run_compound=a1; C->_run_feature=a4; } else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,a2,(((T568*)C))->_feature_name/*12*/,a3); R=(T0*)n; } /*[IRF3.3set_run_compound*/((((T568*)(((T568*)R))))->_run_compound)=(a1); /*]*/ /*[IRF3.3set_run_feature*/((((T568*)(((T568*)R))))->_run_feature)=(a4); /*]*/ } /*FI*/return R; } void r362check_creation_clause(T362* C,T0* a1){ /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) { /*[IRF3.6append*/{T0* b1=((T0*)ms1_334); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms2_334)); r362error((((T362*)C))->_start_position/*8*/,((T0*)ms3_334)); } /*FI*/} T0* r362add_comment(T362* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r362check_created_type(T362* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type(a1); /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) { r683add_type(_rt,((T0*)ms2_747)); r683add_position((((T362*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (X291is_formal_generic(a1)) { r683add_position((((T362*)C))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms4_747); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms5_747)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt)))); } /*No:CREATION_CALL_1.writable*/ void r362make(T362* C,T0* a1,T0* a2){ C->_start_position=a1; C->_writable=a2; } void r362c2c_closing(T362* C,T0* a1){ X662compile_to_c((((T362*)C))->_writable/*12*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ /*IF*/if (r324call_invariant_start(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\73'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\175'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324rs_pop_position(((T324*)(oBC364cpp))); } void r362c2c_clear_expanded(T362* C,int a1){ X662compile_to_c((((T362*)C))->_writable/*12*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='M'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } /*No:CREATION_CALL_1.start_position*/ void r362compile_to_c(T362* C){ T0* _t=NULL; _t=X291run_type(X662result_type((((T362*)C))->_writable/*12*/)); /*IF*/if (X291is_reference(_t)) { r362c2c_opening(C,_t); r362c2c_closing(C,_t); } else { r362c2c_clear_expanded(C,X291id(_t)); } /*FI*/} /*No:CREATION_CALL_1.fz_00*/ T0* r362to_runnable(T362* C,T0* a1){ T0* R=NULL; T0* _t=NULL; /*IF*/if (((((T362*)C))->_run_compound/*4*/)==((void*)(NULL))) { r362check_writable(C,a1); _t=X662result_type((((T362*)C))->_writable/*12*/); r362check_created_type(C,_t); r362check_creation_clause(C,_t); R=(T0*)C; } else { {T362*n=malloc(sizeof(*n)); *n=M362; r362make(n,(((T362*)C))->_start_position/*8*/,(((T362*)C))->_writable/*12*/); R=(T0*)n; } R=r362to_runnable(((T362*)R),a1); } /*FI*/return R; } T0* r362current_type(T362* C){ T0* R=NULL; /*IF*/if (((((T362*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T362*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } void r362c2c_opening(T362* C,T0* a1){ T0* _rc=NULL; _rc=X291run_class(a1); r324rs_push_position(((T324*)(oBC364cpp)),'5',(((T362*)C))->_start_position/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\173'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r548put_new(((T548*)(oBC364gc_handler)),_rc); r324expanded_attributes(((T324*)(oBC364cpp)),a1); } /*No:CREATION_CALL_1.run_compound*/ int r362is_pre_computable(T362* C){ int R=0; R=X662is_result((((T362*)C))->_writable/*12*/); return R; } /*No:CREATION_CALL_1.fz_cast_t0_star*/ int r362use_current(T362* C){ int R=0; R=X662use_current((((T362*)C))->_writable/*12*/); return R; } void r362check_writable(T362* C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=X662to_runnable((((T362*)C))->_writable/*12*/,r362current_type(C)); /*IF*/if ((_w)==((void*)(NULL))) { r683add_position(X662start_position((((T362*)C))->_writable/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { C->_writable=_w; } /*FI*/} void r362error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CREATION_CALL_1.fatal_error*/ /*No:CREATION_CALL_1.end_mark_comment*/ /*No:CREATION_CALL_1.afd_check*/ void r970fe_c2c(T0* a1){ r683add_position(X496start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_845); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:NATIVE_JVM_INVOKEVIRTUAL.c_define_function*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.c_define_procedure*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.stupid_switch*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.c_mapping_procedure*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.c_mapping_function*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.use_current*/ /*No:NATIVE_JVM_INVOKEVIRTUAL.fatal_error*/ void r620make(T620* C,T0* a1,T0* a2){ int _actual_count=0; int _il=0; C->_start_position=a1; C->_list=a2; _il=1; while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) { _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il))); _il=(_il)+(1); } {T733*n=malloc(sizeof(*n)); *n=M733; r733make(n,1,_actual_count); C->_flat_list=(T0*)n; } _il=1; while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) { X411append_in(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il),(T0*)C); _il=(_il)+(1); } } /*No:LOCAL_VAR_LIST.name*/ /*No:LOCAL_VAR_LIST.nb_errors*/ T0* r620type(T620* C,int a1){ T0* R=NULL; R=(((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*24*/; return R; } /*No:LOCAL_VAR_LIST.start_position*/ void r620inline_one_pc(T620* C){ int _i=0; _i=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!((_i)==(0))) { r324inline_level_incr(((T324*)(oBC364cpp))); r39c_declare(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i)/*)*/))); r324inline_level_decr(((T324*)(oBC364cpp))); _i=(_i)-(1); } } void r620compile_to_c(T620* C){ int _i=0; _i=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!((_i)==(0))) { r39c_declare(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i)/*)*/))); _i=(_i)-(1); } } T0* r620to_runnable(T620* C,T0* a1){ T0* R=NULL; T0* _n2=NULL; T0* _n1=NULL; int _i=0; /*IF*/if (((((T620*)C))->_current_type/*16*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i); _n2=r39to_runnable(((T39*)_n1),a1); /*IF*/if ((_n2)==((void*)(NULL))) { r620error((((T39*)((T39*)_n1)))->_start_position/*16*/,((T0*)ms3_535)); } else if ((_n1)!=((void*)(_n2))) { /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/)); T0* b1=_n2; int b2=_i; ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/r39name_clash(((T39*)_n2)); _i=(_i)-(1); } } else { {T620*n=malloc(sizeof(*n)); *n=M620; r620runnable_from_current(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r620produce_c(T620* C){ int R=0; int _i=0; _i=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!((R)||((_i)==(0)))) { R=r39produce_c(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i)/*)*/))); _i=(_i)-(1); } return R; } /*No:LOCAL_VAR_LIST.em1*/ /*No:LOCAL_VAR_LIST.list*/ int r620rank_of(T620* C,T0* a1){ int R=0; R=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!(((R)==(0))||((a1)==((void*)((((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*12*/))))) { R=(R)-(1); } return R; } /*No:LOCAL_VAR_LIST.current_type*/