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" /*No:CST_ATT_UNIQUE.arguments*/ T0* r398try_to_undefine(T398* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r398try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T398*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_UNIQUE.is_deferred*/ void r398add_into(T398* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)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*)((((T398*)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* r398try_to_undefine_aux(T398* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r398start_position(C)); r398error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r398make(T398* C,T0* a1,T0* a2){ T0* _ic=NULL; int _i=0; r398make_e_feature(C,a1,a2); {T28*n=malloc(sizeof(*n)); *n=M28; r28make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/); C->_values=(T0*)n; } _i=1; while (!((_i)>((((T28*)((T28*)((((T398*)C))->_values/*24*/))))->_upper/*12*/))) { {T342*n=malloc(sizeof(*n)); *n=M342; r342make(n,r604next_unique(((T604*)(oBC364small_eiffel))),NULL); _ic=(T0*)n; } /*[IRF3.6put*/{T28* C1=((T28*)((((T398*)C))->_values/*24*/)); T0* b1=_ic; int b2=_i; ((((T28*)C1))->_storage/*4*/)[(b2)-((((T28*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)+(1); } } /*No:CST_ATT_UNIQUE.nb_errors*/ /*No:CST_ATT_UNIQUE.set_header_comment*/ /*No:CST_ATT_UNIQUE.values*/ T0* r398start_position(T398* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r398to_run_feature(T398* 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_UNIQUE.ensure_assertion*/ /*No:CST_ATT_UNIQUE.code_require*/ /*No:CST_ATT_UNIQUE.result_type*/ /*No:CST_ATT_UNIQUE.em1*/ /*No:CST_ATT_UNIQUE.set_clients*/ /*No:CST_ATT_UNIQUE.em2*/ /*No:CST_ATT_UNIQUE.value*/ /*No:CST_ATT_UNIQUE.require_assertion*/ /*No:CST_ATT_UNIQUE.names*/ /*No:CST_ATT_UNIQUE.stupid_switch*/ int r398can_hide(T398* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T398*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r398error(r398start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r398error(r398start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T398*)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_UNIQUE.header_comment*/ int r398is_merge_with(T398* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T398*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r398error(r398start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r398error(r398start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T398*)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_UNIQUE.fz_dot*/ /*No:CST_ATT_UNIQUE.first_name*/ /*No:CST_ATT_UNIQUE.clients*/ void r398collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r398error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_UNIQUE.base_class*/ /*No:CST_ATT_UNIQUE.base_class_name*/ void r398make_e_feature(T398* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:INSTRUCTION_WITH_COMMENT.add_comment*/ void r46make(T46* C,T0* a1,T0* a2){ C->_instruction=a1; C->_comment=a2; } /*No:INSTRUCTION_WITH_COMMENT.instruction*/ T0* r46start_position(T46* C){ T0* R=NULL; R=X465start_position((((T46*)C))->_instruction/*8*/); return R; } void r46compile_to_c(T46* C){ X465compile_to_c((((T46*)C))->_instruction/*8*/); } /*No:INSTRUCTION_WITH_COMMENT.comment*/ T0* r46to_runnable(T46* C,T0* a1){ T0* R=NULL; T0* _ri=NULL; /*IF*/if (((((T46*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _ri=X465to_runnable((((T46*)C))->_instruction/*8*/,a1); /*IF*/if ((_ri)==((void*)(NULL))) { r46error(X465start_position((((T46*)C))->_instruction/*8*/),((T0*)ms1_46)); } else { C->_instruction=_ri; R=(T0*)C; } /*FI*/} else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(((T46*)C))->_instruction/*8*/,(((T46*)C))->_comment/*12*/); R=(T0*)n; } R=r46to_runnable(((T46*)R),a1); } /*FI*/return R; } /*No:INSTRUCTION_WITH_COMMENT.run_compound*/ int r46is_pre_computable(T46* C){ int R=0; R=X465is_pre_computable((((T46*)C))->_instruction/*8*/); return R; } int r46use_current(T46* C){ int R=0; R=X465use_current((((T46*)C))->_instruction/*8*/); return R; } void r46error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:INSTRUCTION_WITH_COMMENT.end_mark_comment*/ void r46afd_check(T46* C){ X465afd_check((((T46*)C))->_instruction/*8*/); } /*No:EXTERNAL_FUNCTION.arguments*/ T0* r679try_to_undefine(T679* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r679try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T679*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:EXTERNAL_FUNCTION.is_deferred*/ /*No:EXTERNAL_FUNCTION.fz_bad_assertion*/ T0* r679runnable(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))) { r679error(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:EXTERNAL_FUNCTION.rescue_compound*/ void r679add_into(T679* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T679*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)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*)((((T679*)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:EXTERNAL_FUNCTION.end_comment*/ T0* r679try_to_undefine_aux(T679* C,T0* a1,T0* a2){ T0* R=NULL; {T649*n=malloc(sizeof(*n)); *n=M649; r649from_effective(n,a1,(((T679*)C))->_arguments/*24*/,(((T679*)C))->_result_type/*12*/,(((T679*)C))->_require_assertion/*32*/,(((T679*)C))->_ensure_assertion/*36*/,a2); R=(T0*)n; } return R; } T0* r679external_c_name(T679* C){ T0* R=NULL; /*IF*/if (((((T679*)C))->_alias_string/*52*/)==((void*)(NULL))) { R=X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); } else { R=(((T679*)C))->_alias_string/*52*/; } /*FI*/return R; } void r679make(T679* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ r679make_routine(C,a1,a2,a4,a5,a6); C->_result_type=a3; r679make_external_routine(C,a7,a8); } /*No:EXTERNAL_FUNCTION.nb_errors*/ /*No:EXTERNAL_FUNCTION.native*/ void r679make_routine(T679* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r679make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r679set_header_comment(T679* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r679start_position(T679* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r679to_run_feature(T679* C,T0* a1,T0* a2){ T0* R=NULL; r679check_obsolete(C); {T892*n=malloc(sizeof(*n)); *n=M892; r892make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:EXTERNAL_FUNCTION.alias_string*/ /*No:EXTERNAL_FUNCTION.ensure_assertion*/ /*No:EXTERNAL_FUNCTION.code_require*/ T0* r679run_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=r679runnable(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* r679run_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=r679runnable((((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:EXTERNAL_FUNCTION.result_type*/ /*No:EXTERNAL_FUNCTION.fz_03*/ /*No:EXTERNAL_FUNCTION.em1*/ /*No:EXTERNAL_FUNCTION.obsolete_mark*/ /*No:EXTERNAL_FUNCTION.set_clients*/ /*No:EXTERNAL_FUNCTION.em2*/ /*No:EXTERNAL_FUNCTION.names*/ /*No:EXTERNAL_FUNCTION.require_assertion*/ /*No:EXTERNAL_FUNCTION.code_ensure*/ int r679stupid_switch(T679* C,T0* a1,T0* a2){ int R=0; R=X845stupid_switch((((T679*)C))->_native/*48*/,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); return R; } void r679set_rescue_compound(T679* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r679error(r679start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } void r679make_external_routine(T679* C,T0* a1,T0* a2){ C->_native=a1; C->_alias_string=a2; } int r679can_hide(T679* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T679*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T679*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T679*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T679*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T679*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T679*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T679*)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 (((((T679*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T679*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r679start_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:EXTERNAL_FUNCTION.header_comment*/ int r679is_merge_with(T679* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T679*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T679*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T679*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T679*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T679*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T679*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T679*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T679*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T679*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r679error(r679start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:EXTERNAL_FUNCTION.fz_dot*/ /*No:EXTERNAL_FUNCTION.set_ensure_assertion*/ /*No:EXTERNAL_FUNCTION.first_name*/ /*No:EXTERNAL_FUNCTION.clients*/ int r679use_current(T679* C){ int R=0; R=X845use_current((((T679*)C))->_native/*48*/,(T0*)C); return R; } void r679collect_for(T679* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T679*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T679*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T679*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T679*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T679*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T679*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r679error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EXTERNAL_FUNCTION.base_class*/ /*No:EXTERNAL_FUNCTION.base_class_name*/ void r679make_e_feature(T679* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r679check_obsolete(T679* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T679*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T679*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r679warning(r679start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r679warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r145make(T145* C,T0* a1,T0* a2){ C->_comment=a2; C->_expression=a1; } /*No:LOOP_VARIANT_1.nb_errors*/ /*No:LOOP_VARIANT_1.expression*/ T0* r145start_position(T145* C){ T0* R=NULL; R=X662start_position((((T145*)C))->_expression/*8*/); return R; } /*No:LOOP_VARIANT_1.comment*/ T0* r145to_runnable(T145* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T145*)C))->_current_type/*12*/)==((void*)(NULL))) { C->_current_type=a1; _e=X662to_runnable((((T145*)C))->_expression/*8*/,a1); /*IF*/if ((_e)==((void*)(NULL))) { r145error(r145start_position(C),((T0*)ms1_856)); } else { C->_expression=_e; /*IF*/if (!(X291is_integer(X662result_type((((T145*)C))->_expression/*8*/)))) { r145error(X662start_position((((T145*)C))->_expression/*8*/),((T0*)ms2_856)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r145twin(C); /*[IRF3.3set_current_type*/((((T145*)(((T145*)R))))->_current_type)=(NULL); /*]*/ R=r145to_runnable(((T145*)R),a1); } /*FI*/return R; } T0* r145twin(T145* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T145*)R)=*C; return R; } /*No:LOOP_VARIANT_1.set_current_type*/ /*No:LOOP_VARIANT_1.current_type*/ int r145use_current(T145* C){ int R=0; R=X662use_current((((T145*)C))->_expression/*8*/); return R; } void r145error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r145afd_check(T145* C){ X662afd_check((((T145*)C))->_expression/*8*/); } void r892c_closing(T892* C){ r892define_closing(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms149_470)); /*]*/ } int r892id(T892* C){ int R=0; R=X291id((((T892*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_8.arguments*/ /*No:RUN_FEATURE_8.us_character_bits*/ /*No:RUN_FEATURE_8.c_prototype*/ /*No:RUN_FEATURE_8.ucs_true*/ /*No:RUN_FEATURE_8.us_generator*/ void r892c_define(T892* C){ T0* _bcn=NULL; T0* _native=NULL; T0* _bf=NULL; _bf=(((T892*)C))->_base_feature/*48*/; _native=(((T679*)((T679*)_bf)))->_native/*48*/; _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T679*)((T679*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/; X845c_define_function(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)((T679*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); } /*No:RUN_FEATURE_8.actuals_clients*/ void r892define_closing(T892* C){ /*IF*/if (r892use_current(C)) { r324current_class_invariant(((T324*)(oBC364cpp)),(((T892*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T892*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c(((T633*)((((T892*)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*/} /*No:RUN_FEATURE_8.us_integer_bits*/ /*No:RUN_FEATURE_8.ucs_in_computation*/ void r892make(T892* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r892run_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); r892initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r892std_compute_use_current(T892* C){ /*IF*/if (((((T892*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T892*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T892*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T892*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T892*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T892*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T892*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_8.name*/ void r892default_mapping_function(T892* C){ r892mapping_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 ((r892arg_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 r892mapping_name(T892* 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*/)),r892id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T892*)C))->_name/*16*/)); /*]*/ } int fBC364type_string=0; T0*oBC364type_string=NULL; T0* r892type_string(void){ if (fBC364type_string==0){ T0* R=NULL; fBC364type_string=1; {T491*n=malloc(sizeof(*n)); *n=M491; r491make(n,NULL); R=(T0*)n; } oBC364type_string=R;} return oBC364type_string;} /*No:RUN_FEATURE_8.fz_iinaiv*/ int r892arg_count(T892* C){ int R=0; /*IF*/if (((((T892*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T892*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r892routine_afd_check(T892* C){ /*IF*/if (((((T892*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T892*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T892*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T892*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T892*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T892*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_8.local_vars*/ /*No:RUN_FEATURE_8.base_feature*/ int r892integer_value(T892* C,T0* a1){ int R=0; T0* _n=NULL; _n=X776to_string((((T892*)C))->_name/*16*/); /*IF*/if ((((T0*)ms81_473))==((void*)(_n))) { R= (CHAR_BIT*sizeof(int)) ; } else if ((((T0*)ms56_473))==((void*)(_n))) { R= CHAR_BIT ; } else { r683add_position(a1); r683add_position(/*(IRF4.6start_position*/r679start_position(((T679*)((((T892*)C))->_base_feature/*48*/)))/*)*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/return R; } void r892define_opening(T892* C){ T0* _t=NULL; int _i=0; /*IF*/if (((((T892*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T892*)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*//*AF*//*AE*/ /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T892*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c_old(((T633*)((((T892*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { r324rs_link(((T324*)(oBC364cpp)),(T0*)C); /*IF*/if (r892use_current(C)) { /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=(((T892*)C))->_current_type/*4*/; r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1); }/*]*/ } /*FI*/_i=1; while (!((_i)>(r892arg_count(C)))) { _t=X291run_type(r31type(((T31*)((((T892*)C))->_arguments/*20*/)),_i)); r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T892*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t); _i=(_i)+(1); } /*IF*/if (((((T892*)C))->_result_type/*24*/)!=((void*)(NULL))) { /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=X291run_type((((T892*)C))->_result_type/*24*/); r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1); }/*]*/ } /*FI*//*IF*//*AF*//*AE*/ /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_c(((T567*)((((T892*)C))->_require_assertion/*28*/))); } /*FI*/} /*No:RUN_FEATURE_8.start_position*/ /*No:RUN_FEATURE_8.us_is_expanded_type*/ /*No:RUN_FEATURE_8.fz_00*/ void r892c_define_with_body(T892* C,T0* a1){ r892c_opening(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ r892c_closing(C); } /*No:RUN_FEATURE_8.ensure_assertion*/ int r892is_exported_in(T892* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r892clients(C))),a1); return R; } void r892compute_use_current(T892* C){ /*IF*/if (r679use_current(((T679*)((((T892*)C))->_base_feature/*48*/)))) { C->_use_current_state=1004; } else { r892std_compute_use_current(C); } /*FI*/} /*No:RUN_FEATURE_8.result_type*/ int r892is_static(T892* C){ int R=0; T0* _type_bit=NULL; T0* _n=NULL; _n=X776to_string((((T892*)C))->_name/*16*/); /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) { R=1; /*IF*/if (X291is_expanded((((T892*)C))->_current_type/*4*/)) { C->_static_value_mem=1; } /*FI*/} else if ((((T0*)ms82_473))==((void*)(_n))) { R=1; /*IF*/if (X291is_basic_eiffel_expanded((((T892*)C))->_current_type/*4*/)) { C->_static_value_mem=1; } /*FI*/} else if (((((T0*)ms60_473))==((void*)(_n)))&&(X291is_bit((((T892*)C))->_current_type/*4*/))) { R=1; _type_bit=(((T892*)C))->_current_type/*4*/; if(NULL!=(_type_bit))switch(((T0*)_type_bit)->id) { case 549: case 558: break; default: _type_bit=NULL; };C->_static_value_mem=X609nb(_type_bit); } /*FI*/return R; } /*No:RUN_FEATURE_8.us_bitn*/ /*No:RUN_FEATURE_8.us_twin*/ void r892add_client(T892* C,T0* a1){ int _i=0; /*IF*/if (((((T892*)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*)((((T892*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T892*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T892*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T892*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r892run_class(C))),a1); } /*No:RUN_FEATURE_8.fz_15*/ /*No:RUN_FEATURE_8.require_assertion*/ /*No:RUN_FEATURE_8.use_current_state*/ /*No:RUN_FEATURE_8.us_is_basic_expanded_type*/ /*No:RUN_FEATURE_8.us_generating_type*/ void r892external_prototype(T892* C,T0* a1){ T0* _t=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ r7append(((T7*)(oBC496c_code)),((T0*)ms2_496)); _t=(((T892*)C))->_result_type/*24*/; /*IF*/if ((_t)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_external_in(_t,oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\40'); r7append(((T7*)(oBC496c_code)),X279external_c_name(a1)); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (X279use_current(a1)) { X291c_type_for_external_in((((T892*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T892*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(X279use_current(a1))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31external_prototype(((T31*)((((T892*)C))->_arguments/*20*/)),oBC496c_code); } /*FI*/r7append(((T7*)(oBC496c_code)),((T0*)ms3_496)); r324swap_on_h(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ } /*No:RUN_FEATURE_8.can_be_dropped*/ /*No:RUN_FEATURE_8.us_count*/ /*No:RUN_FEATURE_8.us_se_argc*/ /*No:RUN_FEATURE_8.current_type*/ T0* r892run_class(T892* C){ T0* R=NULL; R=X291run_class((((T892*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_8.static_value_mem*/ void r892define_prototype(T892* C){ int _mem_id=0; _mem_id=r892id(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ /*IF*/if (((((T892*)C))->_result_type/*24*/)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_result_in(X291run_type((((T892*)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((((T892*)C))->_name/*16*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (r892use_current(C)) { X291c_type_for_target_in((((T892*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T892*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T892*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(r892use_current(C))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31compile_to_c_in(((T31*)((((T892*)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_8.ucs_not_computed*/ void r892fall_down(T892* 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((((T892*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T892*)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,(((T892*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_8.routine_body*/ /*No:RUN_FEATURE_8.fz_void*/ /*No:RUN_FEATURE_8.ucs_false*/ /*No:RUN_FEATURE_8.is_pre_computable*/ T0* r892clients(T892* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T892*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T892*)C))->_current_type/*4*/); _bfbc=(((T679*)((T679*)((((T892*)C))->_base_feature/*48*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T679*)((T679*)((((T892*)C))->_base_feature/*48*/))))->_clients/*20*/; } else { R=r605clients_for(((T605*)_bc),(((T892*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T892*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r892use_current(T892* C){ int R=0; {int z1=(((T892*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; r892compute_use_current(C); R=r892use_current(C); } else {R=1; }} return R; } void r892mapping_c(T892* C){ T0* _bcn=NULL; T0* _native=NULL; T0* _bf=NULL; _bf=(((T892*)C))->_base_feature/*48*/; _native=(((T679*)((T679*)_bf)))->_native/*48*/; _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T679*)((T679*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/; X845c_mapping_function(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T679*)((T679*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); } /*No:RUN_FEATURE_8.fatal_error*/ /*No:RUN_FEATURE_8.address_of*/ void r892c_opening(T892* C){ r892define_prototype(C); r892define_opening(C); } void r892put_tag(T892* 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*)((((T679*)((T679*)((((T892*)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*)((((T679*)((T679*)((((T892*)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_8.clients_memory*/ void r892initialize(T892* C){ T0* _type_bit_ref=NULL; T0* _rf=NULL; T0* _n=NULL; _n=X776to_string((((T892*)C))->_name/*16*/); C->_arguments=(((T679*)((T679*)((((T892*)C))->_base_feature/*48*/))))->_arguments/*24*/; /*IF*/if ((((((T892*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T892*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T892*)C))->_arguments/*20*/)),(((T892*)C))->_current_type/*4*/); } /*FI*//*IF*/if ((((T0*)ms52_473))==((void*)(_n))) { _type_bit_ref=(((T892*)C))->_current_type/*4*/; if(NULL!=(_type_bit_ref))switch(((T0*)_type_bit_ref)->id) { case 963: break; default: _type_bit_ref=NULL; };C->_result_type=(((T963*)((T963*)_type_bit_ref)))->_type_bit/*4*/; } else { C->_result_type=X291to_runnable((((T679*)((T679*)((((T892*)C))->_base_feature/*48*/))))->_result_type/*12*/,(((T892*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r679run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r679run_ensure((T0*)C); } /*FI*//*IF*/if ((((T0*)ms139_473))==((void*)(_n))) { _rf=r355get_copy(((T355*)(r892run_class(C)))); } else if ((((T0*)ms110_473))==((void*)(_n))) { r355set_at_run_time(((T355*)(r491run_class(((T491*)(r892type_string())))))); } else if ((((T0*)ms78_473))==((void*)(_n))) { r355set_at_run_time(((T355*)(r491run_class(((T491*)(r892type_string())))))); } else if ((((T0*)ms79_473))==((void*)(_n))) { r355set_at_run_time(((T355*)(r491run_class(((T491*)(r892type_string())))))); } /*FI*/} /*No:RUN_FEATURE_8.afd_check*/ T0* r796add_comment(T796* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r796to_integer(T796* C){ int R=0; r796error((((T796*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r796is_a(T796* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T284*)r796result_type()))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T796*)C))->_start_position/*16*/); r796error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_VOID.is_current*/ /*No:E_VOID.mapping_c_arg*/ /*No:E_VOID.static_value*/ void r796make(T796* C,T0* a1){ C->_start_position=a1; C->_to_string=((T0*)ms147_473); } /*No:E_VOID.mapping_c_target*/ /*No:E_VOID.to_string*/ /*No:E_VOID.fz_iinaiv*/ /*No:E_VOID.dca_inline_argument*/ /*No:E_VOID.start_position*/ /*No:E_VOID.compile_to_c*/ /*No:E_VOID.c_simple*/ T0* r796to_runnable(T796* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T796*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else { R=r796twin(C); /*[IRF3.3set_current_type*/((((T796*)(((T796*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } int fBC796result_type=0; T0*oBC796result_type=NULL; T0* r796result_type(void){ if (fBC796result_type==0){ T0* R=NULL; fBC796result_type=1; {T284*n=malloc(sizeof(*n)); *n=M284; r284make(n,NULL); R=(T0*)n; } oBC796result_type=R;} return oBC796result_type;} /*No:E_VOID.is_result*/ T0* r796twin(T796* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T796*)R)=*C; return R; } /*No:E_VOID.set_current_type*/ /*No:E_VOID.is_static*/ /*No:E_VOID.can_be_dropped*/ /*No:E_VOID.current_type*/ /*No:E_VOID.compile_to_c_old*/ /*No:E_VOID.static_value_mem*/ /*No:E_VOID.is_manifest_string*/ /*No:E_VOID.is_void*/ /*No:E_VOID.is_pre_computable*/ /*No:E_VOID.use_current*/ /*No:E_VOID.us_void*/ void r796error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_VOID.isa_dca_inline_argument*/ /*No:E_VOID.afd_check*/ void r404check_creation_clause(T404* C,T0* a1){ T0* _args=NULL; T0* _top=NULL; T0* _bottom=NULL; T0* _fn=NULL; _fn=/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/); /*IF*/if (X291is_like_current(a1)) { _top=r627base_class(((T627*)(X776start_position(_fn)))); _bottom=X291base_class(a1); _fn=r605new_name_of(((T605*)_bottom),_top,_fn); /*IF*/if ((_fn)==((void*)(NULL))) { _fn=/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=((T0*)ms143_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms1_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/C->_run_feature=r355get_feature(((T355*)(X291run_class(a1))),_fn); /*IF*/if (((((T404*)C))->_run_feature/*16*/)==((void*)(NULL))) { r404cp_not_found(C,_fn); } /*FI*//*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if (!(X291has_creation(a1,_fn))) { r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms2_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/X496add_client((((T404*)C))->_run_feature/*16*/,r592run_class(((T592*)((((T404*)C))->_run_compound/*4*/)))); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T404*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T404*)C))->_run_feature/*16*/)); r683add_position(X776start_position(_fn)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (((r404arg_count(C))==(0))&&((/*X496*/((T0*)(((T832*)((T832*)((((T404*)C))->_run_feature/*16*/))))->_arguments/*20*/))!=((void*)(NULL)))) { r683add_position(X496start_position((((T404*)C))->_run_feature/*16*/)); r683add_position((((T404*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if ((r404arg_count(C))>(0)) { _args=X431to_runnable(X173arguments((((T404*)C))->_call/*20*/),r404current_type(C)); /*IF*/if ((_args)==((void*)(NULL))) { r404error(X431start_position(X173arguments((((T404*)C))->_call/*20*/)),((T0*)ms56_470)); } else { X431match_with(_args,(((T404*)C))->_run_feature/*16*/); } /*FI*/} /*FI*/C->_call=X173make_runnable((((T404*)C))->_call/*20*/,(((T404*)C))->_run_compound/*4*/,(((T404*)C))->_writable/*12*/,_args,(((T404*)C))->_run_feature/*16*/); } T0* r404add_comment(T404* 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 r404check_created_type(T404* 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((((T404*)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((((T404*)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)))); } void r404cp_not_found(T404* C,T0* a1){ r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms5_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:CREATION_CALL_4.writable*/ /*No:CREATION_CALL_4.us_dictionary*/ /*No:CREATION_CALL_4.us_with_capacity*/ /*No:CREATION_CALL_4.fz_bad_arguments*/ /*No:CREATION_CALL_4.us_array*/ void r404make(T404* C,T0* a1,T0* a2,T0* a3,T0* a4){ C->_start_position=a1; C->_type=a2; C->_writable=a3; C->_call=a4; } T0* r404run_args(T404* C){ T0* R=NULL; R=X173arguments((((T404*)C))->_call/*20*/); return R; } /*No:CREATION_CALL_4.type*/ /*No:CREATION_CALL_4.us_string*/ int r404arg_count(T404* C){ int R=0; /*IF*/if (((((T404*)C))->_call/*20*/)!=((void*)(NULL))) { R=X173arg_count((((T404*)C))->_call/*20*/); } /*FI*/return R; } void r404c2c_closing(T404* C,T0* a1){ X662compile_to_c((((T404*)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 r404c2c_clear_expanded(T404* C,int a1){ X662compile_to_c((((T404*)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_4.call*/ /*No:CREATION_CALL_4.run_feature*/ /*No:CREATION_CALL_4.start_position*/ void r404c2c_expanded_initializer(T404* C,T0* a1){ T0* _rf3=NULL; _rf3=X291expanded_initializer(a1); /*IF*/if ((_rf3)!=((void*)(NULL))) { r324expanded_writable(((T324*)(oBC364cpp)),_rf3,(((T404*)C))->_writable/*12*/); } /*FI*/} /*No:CREATION_CALL_4.us_blank*/ void r404compile_to_c(T404* C){ /*IF*/if (X291is_reference((((T404*)C))->_type/*24*/)) { r404c2c_opening(C,(((T404*)C))->_type/*24*/); r324push_new(((T324*)(oBC364cpp)),(((T404*)C))->_run_feature/*16*/,r404run_args(C)); X496mapping_c((((T404*)C))->_run_feature/*16*/); r324pop(((T324*)(oBC364cpp))); r404c2c_closing(C,(((T404*)C))->_type/*24*/); } else { r404c2c_clear_expanded(C,X291id((((T404*)C))->_type/*24*/)); r404c2c_expanded_initializer(C,(((T404*)C))->_type/*24*/); } /*FI*/} /*No:CREATION_CALL_4.fz_00*/ T0* r404to_runnable(T404* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T404*)C))->_run_compound/*4*/)==((void*)(NULL))) { r404check_writable(C,a1); r404check_explicit_type(C); r404check_created_type(C,(((T404*)C))->_type/*24*/); r404check_creation_clause(C,(((T404*)C))->_type/*24*/); R=(T0*)C; } else { {T404*n=malloc(sizeof(*n)); *n=M404; r404make(n,(((T404*)C))->_start_position/*8*/,(((T404*)C))->_type/*24*/,(((T404*)C))->_writable/*12*/,(((T404*)C))->_call/*20*/); R=(T0*)n; } R=r404to_runnable(((T404*)R),a1); } /*FI*/return R; } /*No:CREATION_CALL_4.us_std_file_read*/ /*No:CREATION_CALL_4.fz_03*/ /*No:CREATION_CALL_4.us_make*/ T0* r404current_type(T404* C){ T0* R=NULL; /*IF*/if (((((T404*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T404*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } void r404c2c_opening(T404* C,T0* a1){ T0* _rc=NULL; _rc=X291run_class(a1); r324rs_push_position(((T324*)(oBC364cpp)),'5',(((T404*)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_4.fz_09*/ /*No:CREATION_CALL_4.run_compound*/ void r404check_explicit_type(T404* C){ T0* _t=NULL; _t=X291to_runnable((((T404*)C))->_type/*24*/,r404current_type(C)); /*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) { r683add_position(X291start_position((((T404*)C))->_type/*24*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { C->_type=_t; } /*FI*//*IF*/if (!(X291is_a((((T404*)C))->_type/*24*/,X662result_type((((T404*)C))->_writable/*12*/)))) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*No:CREATION_CALL_4.fz_dot*/ int r404is_pre_computable(T404* C){ int R=0; T0* _rfctbcn=NULL; T0* _rfn=NULL; T0* _rfct=NULL; /*IF*/if (X662is_result((((T404*)C))->_writable/*12*/)) { /*IF*/if ((r404run_args(C))==((void*)(NULL))) { R=1; } else { R=X431is_pre_computable(r404run_args(C)); } /*FI*//*IF*/if (R) { /*IF*/if (X496is_pre_computable((((T404*)C))->_run_feature/*16*/)) { R=1; } else { _rfct=/*X496*/((T0*)(((T832*)((T832*)((((T404*)C))->_run_feature/*16*/))))->_current_type/*4*/); _rfctbcn=(((T451*)((T451*)((((T605*)((T605*)(X291base_class(_rfct)))))->_base_class_name/*24*/))))->_to_string/*0*/; _rfn=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T404*)C))->_run_feature/*16*/))))->_name/*16*/)); /*IF*/if ((((T0*)ms89_473))==((void*)(_rfn))) { R=r52has(((T52*)(oBC394make_precomputable)),_rfctbcn); } else if ((((T0*)ms51_473))==((void*)(_rfn))) { R=(((T0*)ms25_473))==((void*)(_rfctbcn)); } else if ((((T0*)ms141_473))==((void*)(_rfn))) { /*IF*/if ((((T0*)ms2_473))==((void*)(_rfctbcn))) { R=1; } else if ((((T0*)ms13_473))==((void*)(_rfctbcn))) { R=1; } else if ((((T0*)ms10_473))==((void*)(_rfctbcn))) { R=1; } else { R=0; } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:CREATION_CALL_4.fz_cast_t0_star*/ int r404use_current(T404* C){ int R=0; /*IF*/if ((r404run_args(C))!=((void*)(NULL))) { R=X431use_current(r404run_args(C)); } /*FI*/R=(R)||(X662use_current((((T404*)C))->_writable/*12*/)); return R; } void r404check_writable(T404* C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=X662to_runnable((((T404*)C))->_writable/*12*/,r404current_type(C)); /*IF*/if ((_w)==((void*)(NULL))) { r683add_position(X662start_position((((T404*)C))->_writable/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { C->_writable=_w; } /*FI*/} void r404error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CREATION_CALL_4.fatal_error*/ /*No:CREATION_CALL_4.end_mark_comment*/ /*No:CREATION_CALL_4.us_fixed_array*/ void r404afd_check(T404* C){ /*IF*/if ((r404arg_count(C))>(0)) { X431afd_check(r404run_args(C)); } /*FI*/} /*No:CALL_INFIX_INT_REM.arguments*/ T0* r453add_comment(T453* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r453to_integer(T453* C){ int R=0; r453error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T453*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r453is_a(T453* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T453*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T453*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r453error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_INT_REM.is_current*/ void r453mapping_c_arg(T453* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T453*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } else { X291to_expanded(_actual_type); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; 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='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } else { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_INT_REM.static_value*/ void r453make(T453* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms1_453),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r453make_call_1(C,a1,(((T453*)C))->_feature_name/*28*/,_eal); } void r453mapping_c_target(T453* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T453*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; 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='\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='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } else { X291to_expanded(_actual_type); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; 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='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } else { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T453* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:CALL_INFIX_INT_REM.nb_errors*/ /*No:CALL_INFIX_INT_REM.feature_name*/ /*No:CALL_INFIX_INT_REM.fz_iinaiv*/ /*No:CALL_INFIX_INT_REM.arg_count*/ /*No:CALL_INFIX_INT_REM.dca_inline_argument*/ /*No:CALL_INFIX_INT_REM.run_feature*/ /*No:CALL_INFIX_INT_REM.call_proc_call_c2c*/ /*No:CALL_INFIX_INT_REM.start_position*/ /*No:CALL_INFIX_INT_REM.target*/ /*No:CALL_INFIX_INT_REM.compile_to_c*/ /*No:CALL_INFIX_INT_REM.c_simple*/ T0* r453to_runnable(T453* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T453*)C))->_current_type/*8*/)==((void*)(NULL))) { r453to_runnable_0(C,a1); _a=X431to_runnable((((T453*)C))->_arguments/*24*/,a1); /*IF*/if ((_a)==((void*)(NULL))) { r453error(X662start_position(r453arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T453*)C))->_arguments/*24*/,(((T453*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T453*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(r453arg1(C))); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r453twin(C); /*[IRF3.3set_current_type*/((((T453*)(((T453*)R))))->_current_type)=(NULL); /*]*/ R=r453to_runnable(((T453*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_INT_REM.result_type*/ /*No:CALL_INFIX_INT_REM.is_result*/ T0* r453twin(T453* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T453*)R)=*C; return R; } /*No:CALL_INFIX_INT_REM.set_current_type*/ /*No:CALL_INFIX_INT_REM.operator*/ int r453is_static(T453* C){ int R=0; /*IF*/if (X291is_integer((((T453*)C))->_result_type/*20*/)) { /*IF*/if ((X662is_static((((T453*)C))->_target/*12*/))&&(X662is_static(r453arg1(C)))) { R=1; C->_static_value_mem=(X662static_value((((T453*)C))->_target/*12*/))%(X662static_value(r453arg1(C))); } /*FI*/} /*FI*/return R; } /*No:CALL_INFIX_INT_REM.fz_07*/ /*No:CALL_INFIX_INT_REM.can_be_dropped*/ /*No:CALL_INFIX_INT_REM.current_type*/ void r453compile_to_c_old(T453* C){ X662compile_to_c_old((((T453*)C))->_target/*12*/); /*IF*/{/*AT*/X431compile_to_c_old((((T453*)C))->_arguments/*24*/); } /*FI*/} /*No:CALL_INFIX_INT_REM.static_value_mem*/ void r453make_call_1(T453* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_INT_REM.is_manifest_string*/ /*No:CALL_INFIX_INT_REM.is_void*/ void r453to_runnable_0(T453* C,T0* a1){ C->_current_type=a1; r453cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T453*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T453*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T453*)C))->_run_feature/*16*/)); r453error((((T454*)((T454*)((((T453*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T453*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T453*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_INT_REM.is_pre_computable*/ void r453cpc_to_runnable(T453* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T453*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T453*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T453*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T453*)C))->_target/*12*/,(((T453*)C))->_run_feature/*16*/); } int r453use_current(T453* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T453*)C))->_arguments/*24*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T453*)C))->_target/*12*/)) { R=X496use_current((((T453*)C))->_run_feature/*16*/); } else { R=X662use_current((((T453*)C))->_target/*12*/); } /*FI*/return R; } void r453finalize(T453* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T453*)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 r453error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_INT_REM.isa_dca_inline_argument*/ /*No:CALL_INFIX_INT_REM.fatal_error*/ /*No:CALL_INFIX_INT_REM.fz_bad_argument*/ T0* r453arg1(T453* C){ T0* R=NULL; R=X431first((((T453*)C))->_arguments/*24*/); return R; } void r453afd_check(T453* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T453*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T453*)C))->_target/*12*/)); /*[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((((T453*)C))->_target/*12*/,(((T453*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T453*)C))->_target/*12*/); /*IF*/{/*AT*/X431afd_check((((T453*)C))->_arguments/*24*/); } /*FI*/} T0*oBC798ts=NULL; void r798sort_running(T0* a1){ int _moved=0; int _buble=0; int _max=0; int _min=0; _max=(((T396*)((T396*)a1)))->_upper/*8*/; _min=1; _moved=1; while (!(!(_moved))) { _moved=0; /*IF*/if (((_max)-(_min))>(0)) { _buble=(_min)+(1); while (!((_buble)>(_max))) { /*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),(_buble)-(1))))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)) { r396swap(((T396*)a1),(_buble)-(1),_buble); _moved=1; } /*FI*/_buble=(_buble)+(1); } _max=(_max)-(1); } /*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) { _moved=0; _buble=(_max)-(1); while (!((_buble)<(_min))) { /*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),(_buble)+(1))))))->_id/*4*/)) { r396swap(((T396*)a1),_buble,(_buble)+(1)); _moved=1; } /*FI*/_buble=(_buble)-(1); } _min=(_min)+(1); } /*FI*/} } T0*oBC798tmp_name=NULL; T0*oBC798running=NULL; void r798c_define(int C,T0* a1){ int _i=0; T0* _t=NULL; T0* _arguments=NULL; int _boost=0; _boost=r590boost(((T590*)(oBC364run_control))); _arguments=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); _t=/*X496*/((T0*)(((T832*)((T832*)a1)))->_result_type/*24*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC798ts)))))->_count)=(0); /*]*/ /*IF*/if ((_t)==((void*)(NULL))) { r7append(((T7*)(oBC798ts)),((T0*)ms133_470)); } else { _t=X291run_type(_t); X291c_type_for_result_in(_t,oBC798ts); } /*FI*/r7extend(((T7*)(oBC798ts)),'\40'); r7extend(((T7*)(oBC798ts)),'X'); r2append_in(X291id(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)),oBC798ts); X776mapping_c_in(/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/),oBC798ts); /*IF*/if (_boost) { r7append(((T7*)(oBC798ts)),((T0*)ms1_798)); } else { r7append(((T7*)(oBC798ts)),((T0*)ms2_798)); } /*FI*//*IF*/if ((_arguments)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_arguments)))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { r7extend(((T7*)(oBC798ts)),'\54'); _t=X291run_type(r31type(((T31*)_arguments),_i)); X291c_type_for_argument_in(_t,oBC798ts); r7append(((T7*)(oBC798ts)),((T0*)ms3_798)); r2append_in(_i,oBC798ts); _i=(_i)+(1); } } /*FI*/r7extend(((T7*)(oBC798ts)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC798ts); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_798)); /*]*/ r396copy(((T396*)(oBC798running)),(((T355*)((T355*)(X291run_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/))))))->_running/*12*/); r798sort_running(oBC798running); /*IF*/if (_boost) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms5_798)); /*]*/ } else { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms6_798)); /*]*/ } /*FI*//*IF*/if (r590all_check(((T590*)(oBC364run_control)))) { r798c_switch(a1); } else { r798c_dicho(C,a1,1,(((T396*)((T396*)(oBC798running))))->_upper/*8*/); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ } void r798tail_closing(T0* a1,T0* a2){ /*IF*/if ((a1)!=((void*)(NULL))) { /*IF*/if ((X291is_expanded(a2))&&(X291is_reference(a1))) { /*[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*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms150_470)); /*]*/ } /*FI*/} T0* r798name(T0* a1){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC798tmp_name)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC798tmp_name)),'X'); r2append_in(X291id(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)),oBC798tmp_name); r7append(((T7*)(oBC798tmp_name)),X776to_key(/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/))); R=oBC798tmp_name; return R; } void r798c_switch(T0* a1){ T0* _dyn_rf=NULL; T0* _dyn_rc=NULL; int _i=0; /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms11_798)); /*]*/ _i=1; while (!((_i)>((((T396*)((T396*)(oBC798running))))->_upper/*8*/))) { _dyn_rc=r396item(((T396*)(oBC798running)),_i); _dyn_rf=r355dynamic(((T355*)_dyn_rc),a1); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms12_798)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T355*)((T355*)_dyn_rc)))->_id/*4*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\72'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r798tail_opening(/*X496*/((T0*)(((T832*)((T832*)a1)))->_result_type/*24*/),/*X496*/((T0*)(((T832*)((T832*)_dyn_rf)))->_result_type/*24*/)); r324push_switch(((T324*)(oBC364cpp)),_dyn_rf,a1); X496mapping_c(_dyn_rf); r324pop(((T324*)(oBC364cpp))); r798tail_closing(/*X496*/((T0*)(((T832*)((T832*)a1)))->_result_type/*24*/),/*X496*/((T0*)(((T832*)((T832*)_dyn_rf)))->_result_type/*24*/)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms13_798)); /*]*/ _i=(_i)+(1); } /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms14_798)); /*]*/ } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ } void r798tail_opening(T0* a1,T0* a2){ /*IF*/if ((a1)!=((void*)(NULL))) { r7copy(((T7*)(oBC798tmp_string)),((T0*)ms120_470)); r7extend(((T7*)(oBC798tmp_string)),'\50'); r7extend(((T7*)(oBC798tmp_string)),'\50'); X291c_type_for_result_in(a1,oBC798tmp_string); r7extend(((T7*)(oBC798tmp_string)),'\51'); r7extend(((T7*)(oBC798tmp_string)),'\50'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC798tmp_string); /*]*/ /*IF*/if ((X291is_expanded(a2))&&(X291is_reference(a1))) { X291to_reference(a2); /*[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*/))); }/*]*/ /*]*/ } /*FI*/} /*FI*/} void r798put_ith_argument(T0* a1,T0* a2,int a3){ T0* _ft=NULL; T0* _at=NULL; T0* _eal=NULL; _eal=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); _at=X291run_type(r31type(((T31*)_eal),a3)); _ft=X291run_type(r31type(((T31*)a2),a3)); /*IF*/if ((X291is_reference(_at))&&(X291is_basic_eiffel_expanded(_ft))) { /*[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*/))); }/*]*/ /*]*/ X291cast_to_ref(_ft); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='a'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a3); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms7_798)); /*]*/ } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='a'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a3); /*]*/ } /*FI*/} /*No:SWITCH.fz_12*/ /*No:SWITCH.fz_return*/ T0*oBC798tmp_string=NULL; /*No:SWITCH.fz_16*/