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 "short.h" void r284short(T284* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); /*[IRF3.6short_hook*/{T284* C1=C; r580a_class_name(((T580*)(oBC364short_print)),(((T284*)C1))->_base_class_name/*4*/); }/*]*/ r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } 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.run_type*/ /*No:TYPE_NONE.is_pointer*/ /*No:TYPE_NONE.is_string*/ /*No:TYPE_NONE.is_like_feature*/ /*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.start_position*/ /*No:TYPE_NONE.is_character*/ T0* r284written_mark(void){ T0* R=NULL; R=((T0*)ms19_473); return R; } /*No:TYPE_NONE.is_run_type*/ /*No:TYPE_NONE.to_runnable*/ T0* r284generic_list(T284* C){ T0* R=NULL; r284fatal_error_generic_list(C); return R; } /*No:TYPE_NONE.is_formal_generic*/ /*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))); } 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; } 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=(((T368*)((T368*)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.expanded_initializer*/ /*No:TYPE_NONE.fz_dot*/ /*No:TYPE_NONE.is_generic*/ /*No:TYPE_NONE.used_as_reference*/ /*No:TYPE_NONE.is_reference*/ 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.short_hook*/ /*No:TYPE_NONE.is_any*/ /*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.is_integer*/ /*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; } 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=1011; } /*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); {T845*n=malloc(sizeof(*n)); *n=M845; r845make(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*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); _r=r297runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)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*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)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*)(((T808*)((T808*)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))) { {T541*n=malloc(sizeof(*n)); *n=M541; /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:PROCEDURE.result_type*/ /*No:PROCEDURE.fz_03*/ /*No:PROCEDURE.em1*/ /*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*/ void r297set_rescue_compound(T297* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r297error(r297start_position(C),((T0*)ms6_355)); } /*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((((T368*)((T368*)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((((T368*)((T368*)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*/ 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_355); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T297*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/; 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=r368at(((T368*)_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*/ 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((((T368*)((T368*)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*/ 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 { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(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*/ /*No:PROC_CALL_N.arg_count*/ /*No:PROC_CALL_N.run_feature*/ /*No:PROC_CALL_N.set_run_compound*/ T0* r568start_position(T568* C){ T0* R=NULL; R=X776start_position((((T568*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_N.target*/ /*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=r431to_runnable(((T431*)((((T568*)C))->_arguments/*20*/)),r568current_type(C)); /*IF*/if ((_a)==((void*)(NULL))) { r568error(r431start_position(((T431*)((((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)) { r431match_with(((T431*)((((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; } 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*)(((T808*)((T808*)((((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*/} 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=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/); } 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*/ 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 { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(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*/r368set_at_run_time(((T368*)(X291run_class(_rt)))); } /*No:CREATION_CALL_1.writable*/ void r362make(T362* C,T0* a1,T0* a2){ C->_start_position=a1; C->_writable=a2; } /*No:CREATION_CALL_1.start_position*/ 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; } /*No:CREATION_CALL_1.run_compound*/ 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*/ 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/*20*/; return R; } /*No:LOCAL_VAR_LIST.start_position*/ 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/*12*/,((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; } /*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/*8*/))))) { R=(R)-(1); } return R; } /*No:LOCAL_VAR_LIST.current_type*/ void r620runnable_from_current(T620* C,T0* a1,T0* a2){ T0* _n2=NULL; T0* _n1=NULL; int _i=0; C->_start_position=(((T620*)((T620*)a1)))->_start_position/*4*/; C->_list=(((T620*)((T620*)a1)))->_list/*8*/; C->_current_type=a2; C->_flat_list=r733twin(((T733*)((((T620*)((T620*)a1)))->_flat_list/*12*/))); _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i); _n2=r39to_runnable(((T39*)_n1),a2); /*IF*/if ((_n2)==((void*)(NULL))) { r620error((((T39*)((T39*)_n1)))->_start_position/*12*/,((T0*)ms3_535)); } /*FI*//*[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); }/*]*/ _i=(_i)-(1); } } void r620error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r620add_last(T620* C,T0* a1){ T0* _n2=NULL; int _i=0; _i=1; while (!((r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) { _n2=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i); /*IF*/if (((((T39*)((T39*)_n2)))->_to_string/*8*/)==((void*)((((T39*)((T39*)a1)))->_to_string/*8*/))) { r683add_position((((T39*)((T39*)a1)))->_start_position/*12*/); r683add_position((((T39*)((T39*)_n2)))->_start_position/*12*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)+(1); } /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/)); T0* b1=a1; int b2=_i; ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1); }/*]*/ /*[IRF3.3set_rank*/((((T39*)(((T39*)a1))))->_rank)=(_i); /*]*/ } /*No:LOCAL_VAR_LIST.count*/ /*No:LOCAL_VAR_LIST.fatal_error*/ /*No:LOCAL_VAR_LIST.flat_list*/ /*No:TYPE_BIT_1.n*/ /*No:TYPE_BIT_1.nb*/ void r549short(T549* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); r549short_hook(C); r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } /*No:TYPE_BIT_1.fz_bit_foo*/ /*No:TYPE_BIT_1.has_creation*/ /*No:TYPE_BIT_1.is_anchored*/ /*No:TYPE_BIT_1.is_array*/ int r549is_a(T549* C,T0* a1){ int R=0; T0* _other_bit=NULL; /*IF*/if (X291is_bit(a1)) { _other_bit=a1; if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) { case 549: case 558: break; default: _other_bit=NULL; };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<=(X609nb(_other_bit))) { R=1; } else { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms1_609)); } /*FI*/} else { R=r605is_subclass_of(((T605*)(r549base_class(C))),X291base_class(a1)); /*IF*/if (R) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } else { r549used_as_reference(C); } /*FI*/} /*FI*/return R; } void r549set_run_time_mark(T549* C){ r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470)); r7append(((T7*)(oBC291tmp_string)),r2to_string(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)); C->_run_time_mark=r902item(oBC291tmp_string); } /*No:TYPE_BIT_1.us_put_0*/ /*No:TYPE_BIT_1.run_type*/ /*No:TYPE_BIT_1.is_pointer*/ /*No:TYPE_BIT_1.is_string*/ /*No:TYPE_BIT_1.is_like_feature*/ /*No:TYPE_BIT_1.is_like_current*/ /*No:TYPE_BIT_1.us_put_1*/ void r549make(T549* C,T0* a1,T0* a2){ C->_start_position=a1; C->_n=a2; r549set_run_time_mark(C); C->_written_mark=(((T549*)C))->_run_time_mark/*12*/; } /*No:TYPE_BIT_1.start_position*/ /*No:TYPE_BIT_1.fz_inako*/ /*No:TYPE_BIT_1.is_character*/ /*No:TYPE_BIT_1.written_mark*/ /*No:TYPE_BIT_1.is_run_type*/ T0* r549to_runnable(T549* C,T0* a1){ T0* R=NULL; R=(T0*)C; r549to_runnable_1_2(C); return R; } T0* r549generic_list(T549* C){ T0* R=NULL; r549fatal_error_generic_list(C); return R; } /*No:TYPE_BIT_1.is_formal_generic*/ /*No:TYPE_BIT_1.is_real*/ /*No:TYPE_BIT_1.is_bit*/ void r549fatal_error_generic_list(T549* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } void r549to_runnable_1_2(T549* C){ T0* _rf=NULL; T0* _rc=NULL; _rc=r549run_class(C); _rf=r368get_feature_with(((T368*)_rc),((T0*)ms105_473)); _rf=r368get_feature_with(((T368*)_rc),((T0*)ms106_473)); } /*No:TYPE_BIT_1.us_bit_n*/ T0*oBC291tmp_string=NULL; T0* r549smallest_ancestor(T549* C,T0* a1){ T0* R=NULL; T0* _other_bit=NULL; _other_bit=a1; if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) { case 549: case 558: break; default: _other_bit=NULL; };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<(X609nb(_other_bit))) { R=(T0*)C; } else { R=a1; } /*FI*/return R; } /*No:TYPE_BIT_1.is_boolean*/ /*No:TYPE_BIT_1.is_double*/ T0* r549run_class(T549* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } /*No:TYPE_BIT_1.run_time_mark*/ int r549is_a_in(T549* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T549*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r549to_runnable(C,_ct); _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* r549look_up_for(T549* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r549base_class(C))),a1,a2); return R; } /*No:TYPE_BIT_1.expanded_initializer*/ T0*oBC609mem_type_bit_ref=NULL; /*No:TYPE_BIT_1.fz_dot*/ /*No:TYPE_BIT_1.is_generic*/ void r549used_as_reference(T549* C){ T0* _rc=NULL; T0* _type_bit_ref=NULL; /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)) { } else { r226add_last(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/); {T963*n=malloc(sizeof(*n)); *n=M963; r963make(n,(T0*)C); _type_bit_ref=(T0*)n; } r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref); _rc=r963run_class(((T963*)_type_bit_ref)); r368set_at_run_time(((T368*)_rc)); } /*FI*/} /*No:TYPE_BIT_1.is_reference*/ T0* r549base_class(T549* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r549base_class_name(); /*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; } void r549short_hook(T549* C){ r580a_class_name(((T580*)(oBC364short_print)),r549base_class_name()); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_549),((T0*)ms2_549)); r580a_integer((((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*/); } /*No:TYPE_BIT_1.is_any*/ int fBC609base_class_name=0; T0*oBC609base_class_name=NULL; T0* r549base_class_name(void){ if (fBC609base_class_name==0){ T0* R=NULL; fBC609base_class_name=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms4_473),NULL); R=(T0*)n; } oBC609base_class_name=R;} return oBC609base_class_name;} /*No:TYPE_BIT_1.is_expanded*/ /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/ /*No:TYPE_BIT_1.is_none*/ /*No:TYPE_BIT_1.is_integer*/ T0*oBC609mem_ref_nb=NULL; T0* r526add_comment(T526* 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 { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:E_RETRY.make*/ /*No:E_RETRY.start_position*/ T0* r526to_runnable(T526* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T526*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; R=(T0*)C; } else if (((((T526*)C))->_run_compound/*4*/)==((void*)(a1))) { R=(T0*)C; } else { {T526*n=malloc(sizeof(*n)); *n=M526; /*[IRF3.3make*/((((T526*)(n)))->_start_position)=((((T526*)C))->_start_position/*8*/); /*]*/ R=(T0*)n; } R=r526to_runnable(((T526*)R),a1); } /*FI*/return R; } /*No:E_RETRY.run_compound*/ /*No:E_RETRY.end_mark_comment*/ /*No:CHECK_INVARIANT.fz_bad_assertion*/ T0* r623runnable(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))) { r623error(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; } void r623make(T623* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; } /*No:CHECK_INVARIANT.nb_errors*/ /*No:CHECK_INVARIANT.start_position*/ T0* r623to_runnable(T623* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T623*)C))->_current_type/*12*/)==((void*)(NULL))) { C->_current_type=a1; /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) { C->_list=r623runnable((((T623*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel)))); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r623twin(C); /*[IRF3.3set_current_type*/((((T623*)(((T623*)R))))->_current_type)=(NULL); /*]*/ R=r623to_runnable(((T623*)R),a1); } /*FI*/return R; } T0* r623twin(T623* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T623*)R)=*C; return R; } /*No:CHECK_INVARIANT.set_current_type*/ /*No:CHECK_INVARIANT.list*/ /*No:CHECK_INVARIANT.current_type*/ /*No:CHECK_INVARIANT.header_comment*/ void r623error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:RUN_FEATURE_5.arguments*/ /*No:RUN_FEATURE_5.actuals_clients*/ void r869make(T869* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T368*)((T368*)(r869run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1015; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r869initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } /*No:RUN_FEATURE_5.name*/ int r869arg_count(T869* C){ int R=0; /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_5.local_vars*/ /*No:RUN_FEATURE_5.base_feature*/ /*No:RUN_FEATURE_5.start_position*/ /*No:RUN_FEATURE_5.ensure_assertion*/ int r869is_exported_in(T869* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r869clients(C))),a1); return R; } /*No:RUN_FEATURE_5.result_type*/ void r869add_client(T869* C,T0* a1){ int _i=0; /*IF*/if (((((T869*)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*)((((T869*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T869*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r368add_client(((T368*)(r869run_class(C))),a1); } /*No:RUN_FEATURE_5.require_assertion*/ /*No:RUN_FEATURE_5.use_current_state*/ /*No:RUN_FEATURE_5.current_type*/ T0* r869run_class(T869* C){ T0* R=NULL; R=X291run_class((((T869*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_5.ucs_not_computed*/ /*No:RUN_FEATURE_5.routine_body*/ T0* r869clients(T869* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T869*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T869*)C))->_current_type/*4*/); _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T869*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T869*)C))->_clients_memory/*8*/; } /*FI*/return R; } /*No:RUN_FEATURE_5.clients_memory*/ void r869initialize(T869* C){ C->_arguments=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_arguments/*28*/; /*IF*/if ((((((T869*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T869*)C))->_arguments/*20*/)),(((T869*)C))->_current_type/*4*/); } /*FI*/C->_local_vars=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_local_vars/*20*/; /*IF*/if ((((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_local_vars=r620to_runnable(((T620*)((((T869*)C))->_local_vars/*48*/)),(((T869*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_routine_body/*52*/; /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T869*)C))->_routine_body/*32*/)),(((T869*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r134run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r134run_ensure((T0*)C); } /*FI*/r916add_procedure((T0*)C); }