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 r180short(T180* C){ r580a_prefix_name(((T580*)(oBC364short_print)),(((T180*)C))->_feature_name/*20*/); /*IF*/if ((X662precedence((((T180*)C))->_target/*8*/))<(11)) { X662bracketed_short((((T180*)C))->_target/*8*/); } else { X662short((((T180*)C))->_target/*8*/); } /*FI*/} T0* r180add_comment(T180* 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 r180to_integer(T180* C){ int R=0; T0* _rf1=NULL; _rf1=(((T180*)C))->_run_feature/*12*/; if(NULL!=(_rf1))switch(((T0*)_rf1)->id) { case 808: break; default: _rf1=NULL; };/*IF*/if ((_rf1)==((void*)(NULL))) { r180error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); } else { R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*44*/); } /*FI*/return R; } void r180bracketed_short(T180* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r180short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r180is_a(T180* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T180*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/); r180error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_PREFIX_NOT.is_current*/ void r180make(T180* C,T0* a1,T0* a2){ {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,r180operator(),a1); C->_feature_name=(T0*)n; } r180make_call0(C,a2,(((T180*)C))->_feature_name/*20*/); } /*No:CALL_PREFIX_NOT.nb_errors*/ /*No:CALL_PREFIX_NOT.feature_name*/ /*No:CALL_PREFIX_NOT.fz_iinaiv*/ /*No:CALL_PREFIX_NOT.run_feature*/ /*No:CALL_PREFIX_NOT.start_position*/ /*No:CALL_PREFIX_NOT.target*/ /*No:CALL_PREFIX_NOT.precedence*/ T0* r180to_runnable(T180* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T180*)C))->_current_type/*4*/)==((void*)(NULL))) { r180to_runnable_0(C,a1); /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T180*)C))->_run_feature/*12*/))>(0))) { r683add_position((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/); r180error(X496start_position((((T180*)C))->_run_feature/*12*/),((T0*)ms1_752)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r180twin(C); /*[IRF3.3set_current_type*/((((T180*)(((T180*)R))))->_current_type)=(NULL); /*]*/ R=r180to_runnable(((T180*)R),a1); } /*FI*/return R; } /*No:CALL_PREFIX_NOT.result_type*/ T0* r180twin(T180* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T180*)R)=*C; return R; } /*No:CALL_PREFIX_NOT.set_current_type*/ T0* r180operator(void){ T0* R=NULL; R=((T0*)ms40_473); return R; } /*No:CALL_PREFIX_NOT.current_type*/ /*No:CALL_PREFIX_NOT.is_manifest_string*/ /*No:CALL_PREFIX_NOT.is_void*/ void r180to_runnable_0(T180* C,T0* a1){ C->_current_type=a1; r180cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T180*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T180*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T180*)C))->_run_feature/*12*/)); r180error((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T180*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T180*)C))->_target/*8*/); } /*FI*/} void r180cpc_to_runnable(T180* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T180*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T180*)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((((T180*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T180*)C))->_target/*8*/,(((T180*)C))->_run_feature/*12*/); } /*No:CALL_PREFIX_NOT.us_not*/ void r180make_call0(T180* C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } void r180error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_PREFIX_NOT.fatal_error*/ void r180short_target(T180* C){ r180bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } void r158make(T158* C,T0* a1,T0* a2,T0* a3){ C->_comment=a3; C->_tag=a1; C->_expression=a2; } /*No:LOOP_VARIANT_2.nb_errors*/ /*No:LOOP_VARIANT_2.expression*/ T0* r158start_position(T158* C){ T0* R=NULL; R=X662start_position((((T158*)C))->_expression/*8*/); return R; } /*No:LOOP_VARIANT_2.comment*/ T0* r158to_runnable(T158* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T158*)C))->_current_type/*12*/)==((void*)(NULL))) { C->_current_type=a1; _e=X662to_runnable((((T158*)C))->_expression/*8*/,a1); /*IF*/if ((_e)==((void*)(NULL))) { r158error(r158start_position(C),((T0*)ms1_856)); } else { C->_expression=_e; /*IF*/if (!(X291is_integer(X662result_type((((T158*)C))->_expression/*8*/)))) { r158error(X662start_position((((T158*)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=r158twin(C); /*[IRF3.3set_current_type*/((((T158*)(((T158*)R))))->_current_type)=(NULL); /*]*/ R=r158to_runnable(((T158*)R),a1); } /*FI*/return R; } T0* r158twin(T158* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T158*)R)=*C; return R; } /*No:LOOP_VARIANT_2.set_current_type*/ /*No:LOOP_VARIANT_2.tag*/ /*No:LOOP_VARIANT_2.current_type*/ void r158error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:DEFERRED_FUNCTION.arguments*/ T0* r649try_to_undefine(T649* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/; /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T649*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:DEFERRED_FUNCTION.is_deferred*/ /*No:DEFERRED_FUNCTION.rescue_compound*/ void r649add_into(T649* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)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*)((((T649*)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:DEFERRED_FUNCTION.end_comment*/ /*No:DEFERRED_FUNCTION.try_to_undefine_aux*/ void r649make(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){ r649make_routine(C,a1,a2,a4,a5,a6); C->_result_type=a3; } /*No:DEFERRED_FUNCTION.nb_errors*/ void r649make_routine(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r649make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r649set_header_comment(T649* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r649start_position(T649* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r649to_run_feature(T649* C,T0* a1,T0* a2){ T0* R=NULL; r649check_obsolete(C); {T904*n=malloc(sizeof(*n)); *n=M904; r904make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:DEFERRED_FUNCTION.ensure_assertion*/ /*No:DEFERRED_FUNCTION.code_require*/ /*No:DEFERRED_FUNCTION.result_type*/ /*No:DEFERRED_FUNCTION.fz_03*/ /*No:DEFERRED_FUNCTION.em1*/ /*No:DEFERRED_FUNCTION.obsolete_mark*/ /*No:DEFERRED_FUNCTION.em2*/ /*No:DEFERRED_FUNCTION.set_clients*/ /*No:DEFERRED_FUNCTION.names*/ /*No:DEFERRED_FUNCTION.require_assertion*/ void r649from_effective(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){ {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,se_ma855(1,a1)); C->_names=(T0*)n; } r649make(C,(((T649*)C))->_names/*8*/,a2,a3,NULL,NULL,a4); /*[IRF3.3set_ensure_assertion*/((((T649*)(C)))->_ensure_assertion)=(a5); /*]*/ C->_base_class=a6; } void r649set_rescue_compound(T649* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) { r649error(r649start_position(C),((T0*)ms6_355)); } /*FI*/C->_rescue_compound=a1; } int r649can_hide(T649* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r649error(r649start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r649error(r649start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)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)); r649error(r649start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T649*)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 (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r649start_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:DEFERRED_FUNCTION.header_comment*/ int r649is_merge_with(T649* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r649error(r649start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r649error(r649start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)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)); r649error(r649start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T649*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r649error(r649start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:DEFERRED_FUNCTION.fz_dot*/ /*No:DEFERRED_FUNCTION.set_ensure_assertion*/ /*No:DEFERRED_FUNCTION.first_name*/ /*No:DEFERRED_FUNCTION.clients*/ void r649collect_for(T649* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T649*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T649*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T649*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T649*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r649error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:DEFERRED_FUNCTION.base_class*/ void r649make_e_feature(T649* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r649check_obsolete(T649* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T649*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_355); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T649*)C))->_obsolete_mark/*28*/))))->_to_string/*12*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r649warning(r649start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r649warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r953short(T953* C){ int _i=0; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) { X776short(r855item(((T855*)((((T953*)C))->_list/*0*/)),_i)); _i=(_i)+(1); /*IF*/if ((_i)<=(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/)) { r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_953),((T0*)ms4_953)); } /*FI*/} } int r953for_short(T953* C,T0* a1,int a2,T0* a3,int a4,T0* a5,T0* a6){ int R=0; T0* _rf=NULL; T0* _fn=NULL; int _i=0; R=a2; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=r855item(((T855*)((((T953*)C))->_list/*0*/)),_i); _rf=r368get_rf_with(((T368*)a6),_fn); /*IF*/if (!(X321fast_has(a5,_rf))) { X321add_last(a5,_rf); /*IF*/if (!(a4)) { /*IF*/if (!(a2)) { R=1; r153do_heading_for_short(((T153*)a1),a3); } /*FI*/r580a_run_feature(((T580*)(oBC364short_print)),_rf); } /*FI*/} /*FI*/_i=(_i)+(1); } return R; } void r953make(T953* C,T0* a1){ int _i2=0; int _i=0; C->_list=a1; _i=(((T855*)((T855*)a1)))->_upper/*8*/; while (!((_i)==(0))) { _i2=r953index_of(C,r855item(((T855*)a1),_i)); /*IF*/if ((_i2)!=(_i)) { r683add_position(X776start_position(r855item(((T855*)a1),_i2))); r683add_position(X776start_position(r855item(((T855*)a1),_i))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_953); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)-(1); } } /*No:FEATURE_NAME_LIST.item*/ /*No:FEATURE_NAME_LIST.list*/ int r953has(T953* C,T0* a1){ int R=0; R=(r953index_of(C,a1))>(0); return R; } /*No:FEATURE_NAME_LIST.count*/ /*No:FEATURE_NAME_LIST.fatal_error*/ void r953short_for_creation(T953* C){ int _i=0; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) { r580a_feature(((T580*)(oBC364short_print)),r855item(((T855*)((((T953*)C))->_list/*0*/)),_i)); _i=(_i)+(1); } } int r953index_of(T953* C,T0* a1){ int R=0; T0* _fn_key=NULL; _fn_key=X776to_key(a1); R=(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*/; while (!(((R)==(0))||((_fn_key)==((void*)(X776to_key(/*(IRF4.6item*/r855item(((T855*)((((T953*)C))->_list/*0*/)),R)/*)*/)))))) { R=(R)-(1); } return R; } /*No:IFTHEN.fz_is_not_boolean*/ void r809make(T809* C,T0* a1,T0* a2){ C->_expression=a1; C->_then_compound=a2; } /*No:IFTHEN.nb_errors*/ /*No:IFTHEN.expression*/ T0* r809to_runnable(T809* C,T0* a1){ T0* R=NULL; T0* _t=NULL; T0* _tc=NULL; T0* _e=NULL; /*IF*/if (((((T809*)C))->_run_compound/*8*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T809*)C))->_expression/*0*/,/*(IRF4.6current_type*/(((T592*)((T592*)((((T809*)C))->_run_compound/*8*/))))->_current_type/*4*//*)*/); /*IF*/if ((_e)==((void*)(NULL))) { r809error(X662start_position((((T809*)C))->_expression/*0*/),((T0*)ms8_809)); } else { C->_expression=_e; _t=X662result_type((((T809*)C))->_expression/*0*/); /*IF*/if (!(X291is_boolean(_t))) { /*[IRF3.6append*/{T0* b1=((T0*)ms9_809); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(X662result_type((((T809*)C))->_expression/*0*/),((T0*)ms73_470)); r683add_position(X662start_position((((T809*)C))->_expression/*0*/)); r683print_as_error(((T683*)(oBC364eh))); } /*FI*/} /*FI*//*IF*/if (((((T809*)C))->_then_compound/*4*/)!=((void*)(NULL))) { _tc=r592to_runnable(((T592*)((((T809*)C))->_then_compound/*4*/)),/*(IRF4.6current_type*/(((T592*)((T592*)((((T809*)C))->_run_compound/*8*/))))->_current_type/*4*//*)*/); /*IF*/if ((_tc)!=((void*)(NULL))) { C->_then_compound=_tc; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T809*n=malloc(sizeof(*n)); *n=M809; r809make(n,(((T809*)C))->_expression/*0*/,(((T809*)C))->_then_compound/*4*/); R=(T0*)n; } R=r809to_runnable(((T809*)R),a1); } /*FI*/return R; } /*No:IFTHEN.then_compound*/ /*No:IFTHEN.current_type*/ /*No:IFTHEN.run_compound*/ void r809error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_INTEGER.arguments*/ T0* r689try_to_undefine(T689* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r689try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T689*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_INTEGER.is_deferred*/ void r689add_into(T689* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)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*)((((T689*)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* r689try_to_undefine_aux(T689* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r689start_position(C)); r689error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r689make(T689* C,T0* a1,T0* a2,T0* a3){ r689make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_INTEGER.nb_errors*/ /*No:CST_ATT_INTEGER.set_header_comment*/ T0* r689start_position(T689* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r689to_run_feature(T689* 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_INTEGER.ensure_assertion*/ /*No:CST_ATT_INTEGER.code_require*/ /*No:CST_ATT_INTEGER.result_type*/ /*No:CST_ATT_INTEGER.em1*/ /*No:CST_ATT_INTEGER.set_clients*/ /*No:CST_ATT_INTEGER.em2*/ /*No:CST_ATT_INTEGER.value*/ /*No:CST_ATT_INTEGER.require_assertion*/ /*No:CST_ATT_INTEGER.names*/ /*No:CST_ATT_INTEGER.value_mem*/ int r689can_hide(T689* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T689*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r689error(r689start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r689error(r689start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T689*)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_INTEGER.header_comment*/ int r689is_merge_with(T689* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T689*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r689error(r689start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r689error(r689start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T689*)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_INTEGER.fz_dot*/ /*No:CST_ATT_INTEGER.first_name*/ /*No:CST_ATT_INTEGER.clients*/ void r689collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r689error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_INTEGER.base_class*/ void r689make_e_feature(T689* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:BASE_CLASS.fz_is_invalid*/ /*No:BASE_CLASS.set_end_comment*/ /*No:BASE_CLASS.id*/ void r605add_feature_clause(T605* C,T0* a1){ /*IF*/if (((((T605*)C))->_feature_clause_list/*48*/)==((void*)(NULL))) { {T913*n=malloc(sizeof(*n)); *n=M913; /*[IRF3.3make*/((((T913*)(n)))->_list)=(se_ma764(1,a1)); /*]*/ C->_feature_clause_list=(T0*)n; } } else { /*[IRF3.5add_last*/r764add_last(((T764*)((((T913*)((T913*)((((T605*)C))->_feature_clause_list/*48*/))))->_list/*0*/)),a1); /*]*/ } /*FI*/} void r605set_parent_list(T605* C,T0* a1,T0* a2,T0* a3){ {T686*n=malloc(sizeof(*n)); *n=M686; r686make(n,(T0*)C,a1,a2,a3); C->_parent_list=(T0*)n; } } /*No:BASE_CLASS.is_deferred*/ int r605has_creation(T605* C,T0* a1){ int R=0; T0* _cn=NULL; T0* _bc=NULL; T0* _cc=NULL; /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)==((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms7_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_position(X776start_position(a1)); r683print_as_error(((T683*)(oBC364eh))); } else { _cc=r378get_clause(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1); /*IF*/if ((_cc)==((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms143_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms8_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r605error(X776start_position(a1),((T0*)ms67_470)); } else { R=1; _bc=X776origin_base_class(a1); /*IF*/if ((_bc)!=((void*)(NULL))) { _cn=(((T605*)((T605*)_bc)))->_base_class_name/*24*/; R=r636gives_permission_to(((T636*)((((T583*)((T583*)_cc)))->_clients/*4*/)),_cn); } /*FI*/} /*FI*/} /*FI*//*IF*/if (!(R)) { r605error(X776start_position(a1),((T0*)ms9_605)); } /*FI*/return R; } void r605add_creation_clause(T605* C,T0* a1){ /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)==((void*)(NULL))) { {T378*n=malloc(sizeof(*n)); *n=M378; /*[IRF3.3make*/((((T378*)(n)))->_list)=(se_ma235(1,a1)); /*]*/ C->_creation_clause_list=(T0*)n; } } else { /*[IRF3.5add_last*/r235add_last(((T235*)((((T378*)((T378*)((((T605*)C))->_creation_clause_list/*44*/))))->_list/*0*/)),a1); /*]*/ } /*FI*/} /*No:BASE_CLASS.us_copy*/ /*No:BASE_CLASS.feature_clause_list*/ void r605get_started(T605* C){ C->_id=r410item(((T410*)(r605id_provider())),(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/); /*IF*/if (((((T605*)C))->_feature_clause_list/*48*/)!=((void*)(NULL))) { r913get_started(((T913*)((((T605*)C))->_feature_clause_list/*48*/)),(((T605*)C))->_feature_dictionary/*60*/); } /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { r686get_started(((T686*)((((T605*)C))->_parent_list/*40*/))); } /*FI*//*IF*/if (((((T605*)C))->_end_comment/*56*/)!=((void*)(NULL))) { r393good_end(((T393*)((((T605*)C))->_end_comment/*56*/)),(((T605*)C))->_base_class_name/*24*/); } /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { r863clear(((T863*)(oBC605visited))); r863add_last(((T863*)(oBC605visited)),(T0*)C); r686inherit_cycle_check(((T686*)((((T605*)C))->_parent_list/*40*/))); } /*FI*//*IF*/if (((r590all_check(((T590*)(oBC364run_control))))&&((((T605*)C))->_is_deferred/*16*/))&&(((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL)))) { r683add_position((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_start_position/*4*/); r605warning(r378start_position(((T378*)((((T605*)C))->_creation_clause_list/*44*/))),((T0*)ms6_605)); } /*FI*/} int r605is_subclass_of(T605* C,T0* a1){ int R=0; /*IF*/if (r863fast_has(((T863*)((((T605*)C))->_isom/*64*/)),a1)) { R=1; } else { /*IF*/if (r605is_any(((T605*)a1))) { R=1; } else { r863clear(((T863*)(oBC605visited))); R=r605is_subclass_of_aux(C,a1); } /*FI*//*IF*/if (R) { r863add_last(((T863*)((((T605*)C))->_isom/*64*/)),a1); } /*FI*/} /*FI*/return R; } int fBC364class_any=0; T0*oBC364class_any=NULL; T0* r605class_any(void){ if (fBC364class_any==0){ T0* R=NULL; fBC364class_any=1; R=r605class_with(((T0*)ms1_473)); oBC364class_any=R;} return oBC364class_any;} int r605has_feature(T605* C,T0* a1){ int R=0; r446make(((T446*)(r605mem_fn())),a1,NULL); R=r605has(C,r605mem_fn()); return R; } int fBC605mem_fn=0; T0*oBC605mem_fn=NULL; T0* r605mem_fn(void){ if (fBC605mem_fn==0){ T0* R=NULL; fBC605mem_fn=1; {T446*n=malloc(sizeof(*n)); *n=M446; r446make(n,((T0*)ms27_605),NULL); R=(T0*)n; } oBC605mem_fn=R;} return oBC605mem_fn;} int r605is_subclass_of_aux(T605* C,T0* a1){ int R=0; /*IF*/if (r863fast_has(((T863*)(oBC605visited)),(T0*)C)) { } else { r863add_last(((T863*)(oBC605visited)),(T0*)C); /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { R=r686has_parent(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } else if (!(r863fast_has(((T863*)(oBC605visited)),r605class_any()))) { R=r605is_subclass_of_aux(((T605*)(r605class_any())),a1); } /*FI*/} /*FI*/return R; } /*No:BASE_CLASS.end_comment*/ void r605add_index_clause(T605* C,T0* a1){ /*IF*/if (((((T605*)C))->_index_list/*8*/)==((void*)(NULL))) { {T688*n=malloc(sizeof(*n)); *n=M688; /*[IRF3.3make*/((((T688*)(n)))->_list)=(se_ma848(1,a1)); /*]*/ C->_index_list=(T0*)n; } } else { r848add_last(((T848*)((((T688*)((T688*)((((T605*)C))->_index_list/*8*/))))->_list/*0*/)),a1); } /*FI*/} /*No:BASE_CLASS.obsolete_type_string*/ T0* r605class_with(T0* a1){ T0* R=NULL; R=r604get_class(a1); return R; } /*No:BASE_CLASS.has_creation_clause*/ void r605up_to_any_in(T605* C,T0* a1){ /*IF*/if (r605is_general(C)) { } else { /*IF*/if (!(r654fast_has(((T654*)a1),(T0*)C))) { r654add_last(((T654*)a1),(T0*)C); } /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { /*IF*/if (!(r654fast_has(((T654*)a1),r605class_any()))) { r654add_last(((T654*)a1),r605class_any()); } /*FI*/} else { r686up_to_any_in(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*/} /*FI*/} void r605make(T605* C){ {T863*n=malloc(sizeof(*n)); *n=M863; r863with_capacity(n,6,1); C->_isom=(T0*)n; } C->_path=r902item((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/); {T451*n=malloc(sizeof(*n)); *n=M451; r451make_unknown(n); C->_base_class_name=(T0*)n; } {T237*n=malloc(sizeof(*n)); *n=M237; r237with_capacity(n,32); C->_feature_dictionary=(T0*)n; } } /*No:BASE_CLASS.parent_list*/ void r605header_comment_for(T605* C,T0* a1){ T0* _ia=NULL; _ia=(((T605*)C))->_invariant_assertion/*52*/; /*IF*/if (((_ia)!=((void*)(NULL)))&&(((((T673*)((T673*)_ia)))->_header_comment/*4*/)!=((void*)(NULL)))) { /*[IRF3.3set_header_comment*/((((T673*)(((T673*)a1))))->_header_comment)=((((T673*)((T673*)_ia)))->_header_comment/*4*/); /*]*/ } else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { r686header_comment_for(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*/} /*No:BASE_CLASS.error_vtec1*/ /*No:BASE_CLASS.path*/ /*No:BASE_CLASS.next_parent_for*/ void r605check_expanded_with(T605* C,T0* a1){ T0* _rf=NULL; /*IF*/if ((((T605*)C))->_is_deferred/*16*/) { r683add_type(a1,((T0*)ms72_470)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL))) { r378check_expanded_with(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1); } /*FI*/_rf=r605expanded_initializer(C,a1); } /*No:BASE_CLASS.isom*/ /*No:BASE_CLASS.first_parent_for*/ /*No:BASE_CLASS.index_list*/ /*No:BASE_CLASS.set_heading_comment1*/ void r605inherit_cycle_check(T605* C){ int _i=0; r863add_last(((T863*)(oBC605visited)),(T0*)C); /*IF*/if ((r863first(((T863*)(oBC605visited))))==((void*)(C))) { /*[IRF3.6append*/{T0* b1=((T0*)ms19_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ _i=1; while (!((_i)>((((T863*)((T863*)(oBC605visited))))->_upper/*8*/))) { /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)(r863item(((T863*)(oBC605visited)),_i)))))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*IF*/if ((_i)<((((T863*)((T863*)(oBC605visited))))->_upper/*8*/)) { /*[IRF3.6append*/{T0* b1=((T0*)ms20_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*/_i=(_i)+(1); } /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms21_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { r686inherit_cycle_check(((T686*)((((T605*)C))->_parent_list/*40*/))); } /*FI*/} T0* r605new_name_of(T605* C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if ((C)==((void*)(a1))) { R=a2; } else { R=r605up_to_original(((T605*)a1),(T0*)C,a2); /*IF*/if ((R)==((void*)(NULL))) { r683add_position(X776start_position(a2)); /*[IRF3.6append*/{T0* b1=((T0*)ms143_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(a2); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms2_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms3_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/return R; } void r605set_is_expanded(T605* C){ /*IF*/if ((((T605*)C))->_is_deferred/*16*/) { /*[IRF3.6error_vtec1*/{T605* C1=C; r605error((((T451*)((T451*)((((T605*)C1))->_base_class_name/*24*/))))->_start_position/*4*/,((T0*)ms33_605)); }/*]*/ } /*FI*/C->_is_expanded=1; } int r605super_has(T605* C,T0* a1){ int R=0; /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { /*IF*/if (r605is_general(C)) { R=0; } else { R=r605has(((T605*)(r605class_any())),a1); } /*FI*/} else { R=r686has(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*/return R; } T0* r605up_to_original(T605* C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (r605proper_has(C,a2)) { /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { R=r605new_name_of_original(((T605*)a1),(T0*)C,a2); } else { R=r686up_to_original(((T686*)((((T605*)C))->_parent_list/*40*/)),a1,a2); /*IF*/if ((R)==((void*)(NULL))) { R=r605new_name_of_original(((T605*)a1),(T0*)C,a2); } /*FI*/} /*FI*/} else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { R=r686up_to_original(((T686*)((((T605*)C))->_parent_list/*40*/)),a1,a2); } else if (r605is_general(C)) { } else { R=r605up_to_original(((T605*)(r605class_any())),a1,a2); } /*FI*/return R; } void r605collect_invariant(T605* C,T0* a1){ /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { r686collect_invariant(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*//*IF*/if (((((T605*)C))->_invariant_assertion/*52*/)!=((void*)(NULL))) { /*[IRF3.6collect_invariant*/{T0* b1=(((T605*)C))->_invariant_assertion/*52*/; r673add_into(((T673*)b1),oBC368ci_collector); }/*]*/ } /*FI*/} /*No:BASE_CLASS.set_heading_comment2*/ int r605has(T605* C,T0* a1){ int R=0; /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1))) { R=1; } else { R=r605super_has(C,a1); } /*FI*/return R; } int fBC364id_provider=0; T0*oBC364id_provider=NULL; T0* r605id_provider(void){ if (fBC364id_provider==0){ T0* R=NULL; fBC364id_provider=1; {T410*n=malloc(sizeof(*n)); *n=M410; r410make(n); R=(T0*)n; } oBC364id_provider=R;} return oBC364id_provider;} T0* r605run_class(T605* C){ T0* R=NULL; T0* _type=NULL; T0* _name=NULL; T0* _rcd=NULL; _name=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; /*IF*/if ((!((((T605*)C))->_is_deferred/*16*/))&&(!(/*(IRF4.7is_generic*/((((T605*)C))->_formal_generic_list/*28*/)!=(NULL)/*)*/))) { _rcd=oBC604run_class_dictionary; /*IF*/if (r250has(((T250*)_rcd),_name)) { R=r250at(((T250*)_rcd),_name); } else { {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=((((T605*)C))->_base_class_name/*24*/); /*]*/ _type=(T0*)n; } R=r657run_class(((T657*)_type)); } /*FI*/} else { r605error(NULL,((T0*)ms18_605)); } /*FI*/return R; } /*No:BASE_CLASS.fz_09*/ int r605has_redefine(T605* C,T0* a1){ int R=0; /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { R=r686has_redefine(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*/return R; } T0* r605look_up_for(T605* C,T0* a1,T0* a2){ T0* R=NULL; int _i=0; T0* _super_fn=NULL; T0* _fnl=NULL; T0* _cst_att=NULL; T0* _fn_key=NULL; T0* _super=NULL; _fn_key=X776to_key(a2); /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key)) { R=r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key); _super=r605super_look_up_for(C,a1,a2); /*IF*/if ((_super)!=((void*)(NULL))) { _cst_att=_super; if(NULL!=(_cst_att))switch(((T0*)_cst_att)->id) { case 380: case 588: case 398: case 689: case 554: case 593: case 835: case 118: break; default: _cst_att=NULL; };/*IF*/if ((_cst_att)!=((void*)(NULL))) { r683add_position(X359start_position(_super)); r683add_position(X359start_position(R)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_fnl=/*X359*/((T0*)(((T398*)((T398*)_super)))->_names/*8*/); _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)_fnl)))->_list/*0*/))))->_upper/*8*//*)*/; while (!((_i)<(1))) { _super_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)_fnl)))->_list/*0*/)),_i)/*)*/; /*IF*/if (X776is_frozen(_super_fn)) { /*IF*/if ((X776to_key(_super_fn))==((void*)(_fn_key))) { r683add_position(X776start_position(_super_fn)); r683add_position(X359start_position(R)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms23_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if (!(X359can_hide(R,_super,a1))) { r683add_position(X359start_position(_super)); r683add_position(X359start_position(R)); /*[IRF3.6append*/{T0* b1=((T0*)ms24_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); } /*FI*//*IF*/if (X359is_deferred(_super)) { } else if (r605has_redefine(C,a2)) { } else { r683add_position(X359start_position(R)); r683add_position(X359start_position(_super)); /*[IRF3.6append*/{T0* b1=((T0*)ms25_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms26_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_error(((T683*)(oBC364eh))); } /*FI*/} /*FI*/} else { R=r605super_look_up_for(C,a1,a2); } /*FI*/return R; } T0* r605get_copy(T605* C){ T0* R=NULL; R=r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),((T0*)ms64_473)); return R; } T0* r605expanded_initializer(T605* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL))) { R=r378expanded_initializer(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1); } /*FI*/return R; } void r605fatal_undefine(T605* C,T0* a1){ /*[IRF3.6append*/{T0* b1=((T0*)ms34_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms35_605); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_605); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } T0* r605super_look_up_for(T605* C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { /*IF*/if (r605is_general(C)) { R=NULL; } else { R=r605look_up_for(((T605*)(r605class_any())),a1,a2); } /*FI*/} else { R=r686look_up_for(((T686*)((((T605*)C))->_parent_list/*40*/)),a1,a2); } /*FI*/return R; } /*No:BASE_CLASS.invariant_assertion*/ void r605set_invariant(T605* C,T0* a1,T0* a2,T0* a3){ /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) { {T673*n=malloc(sizeof(*n)); *n=M673; r673make(n,a1,a2,a3); C->_invariant_assertion=(T0*)n; } } /*FI*/} /*No:BASE_CLASS.fz_dot*/ /*No:BASE_CLASS.set_formal_generic_list*/ T0* r605clients_for(T605* C,T0* a1){ T0* R=NULL; /*IF*/if (r605proper_has(C,a1)) { R=X359clients(r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1))); } else if (r605is_general(C)) { } else if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { R=r605clients_for(((T605*)(r605class_any())),a1); } else { R=r686clients_for(((T686*)((((T605*)C))->_parent_list/*40*/)),a1); } /*FI*/return R; } /*No:BASE_CLASS.is_generic*/ T0*oBC605going_up_trace=NULL; /*No:BASE_CLASS.heading_comment1*/ void r605set_is_deferred(T605* C){ /*IF*/if ((((T605*)C))->_is_expanded/*20*/) { /*[IRF3.6error_vtec1*/{T605* C1=C; r605error((((T451*)((T451*)((((T605*)C1))->_base_class_name/*24*/))))->_start_position/*4*/,((T0*)ms33_605)); }/*]*/ } /*FI*/C->_is_deferred=1; } int r605proper_has(T605* C,T0* a1){ int R=0; R=r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1)); return R; } T0* r605going_up(T605* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { R=r605going_up(((T605*)(r605class_any())),a1,a2,a3); } else { R=r686going_up(((T686*)((((T605*)C))->_parent_list/*40*/)),a1,a2,a3); } /*FI*/return R; } /*No:BASE_CLASS.set_obsolete_type_string*/ /*No:BASE_CLASS.formal_generic_list*/ void r605collect_for(T605* C,int a1,T0* a2){ T0* _fn_key=NULL; _fn_key=X776to_key(a2); /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key)) { X359collect_for(r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key),a1); } /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { /*IF*/if (r605is_general(C)) { } else { r605collect_for(((T605*)(r605class_any())),a1,a2); } /*FI*/} else { r686collect_for(((T686*)((((T605*)C))->_parent_list/*40*/)),a1,a2); } /*FI*/} int r605is_a_vncg(T605* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) { R=r686is_a_vncg(((T686*)((((T605*)C))->_parent_list/*40*/)),X291run_type(a1),X291run_type(a2)); } /*FI*/return R; } void r605error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:BASE_CLASS.fatal_error*/ int r605is_any(T605* C){ int R=0; R=(((T0*)ms1_473))==((void*)((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/)); return R; } /*No:BASE_CLASS.heading_comment2*/ int r605is_general(T605* C){ int R=0; R=(((T0*)ms14_473))==((void*)((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/)); return R; } /*No:BASE_CLASS.feature_dictionary*/ T0* r605new_name_of_original(T605* C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if ((C)==((void*)(a1))) { R=a2; } else if (r605is_general(C)) { R=a2; } else { /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) { R=r605new_name_of(((T605*)(r605class_any())),a1,a2); } else { /*[IRF3.3clear*/((((T854*)(((T854*)(oBC605going_up_trace)))))->_upper)=(-(1)); /*]*/ R=r686going_up(((T686*)((((T605*)C))->_parent_list/*40*/)),oBC605going_up_trace,a1,a2); } /*FI*/} /*FI*/return R; } T0*oBC605visited=NULL; /*No:BASE_CLASS.base_class_name*/ /*No:BASE_CLASS.is_expanded*/ /*No:BASE_CLASS.creation_clause_list*/ /*No:BASE_CLASS.us_any*/ /*No:BASE_CLASS.us_general*/ void r605warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:TYPE_LIKE_CURRENT.short*/ int r958has_creation(T958* C,T0* a1){ int R=0; R=X291has_creation((((T958*)C))->_run_type/*8*/,a1); return R; } /*No:TYPE_LIKE_CURRENT.is_anchored*/ int r958is_array(T958* C){ int R=0; R=X291is_array((((T958*)C))->_run_type/*8*/); return R; } int r958is_a(T958* C,T0* a1){ int R=0; R=X291is_a((((T958*)C))->_run_type/*8*/,a1); return R; } int r958is_pointer(T958* C){ int R=0; R=X291is_pointer((((T958*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_CURRENT.run_type*/ int r958is_string(T958* C){ int R=0; R=X291is_string((((T958*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_CURRENT.is_like_feature*/ /*No:TYPE_LIKE_CURRENT.is_like_current*/ void r958make(T958* C,T0* a1,T0* a2){ C->_start_position=a1; C->_like_what=a2; if(NULL!=(C->_like_what))switch(((T0*)C->_like_what)->id) { case 358: break; default: C->_like_what=NULL; };} /*No:TYPE_LIKE_CURRENT.us_current*/ /*No:TYPE_LIKE_CURRENT.us_like_current*/ /*No:TYPE_LIKE_CURRENT.start_position*/ /*No:TYPE_LIKE_CURRENT.like_what*/ int r958is_character(T958* C){ int R=0; R=X291is_character((((T958*)C))->_run_type/*8*/); return R; } T0* r958written_mark(void){ T0* R=NULL; R=((T0*)ms145_473); return R; } /*No:TYPE_LIKE_CURRENT.is_run_type*/ T0* r958to_runnable(T958* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T958*)C))->_run_type/*8*/)==((void*)(NULL))) { C->_run_type=X291run_type(a1); R=(T0*)C; } else { {T958*n=malloc(sizeof(*n)); *n=M958; r958make(n,(((T958*)C))->_start_position/*4*/,(((T958*)C))->_like_what/*12*/); R=(T0*)n; } R=r958to_runnable(((T958*)R),a1); } /*FI*/return R; } T0* r958generic_list(T958* C){ T0* R=NULL; /*IF*/if (r958is_generic(C)) { R=X291generic_list((((T958*)C))->_run_type/*8*/); } else { r958fatal_error_generic_list(C); } /*FI*/return R; } /*No:TYPE_LIKE_CURRENT.is_formal_generic*/ int r958is_real(T958* C){ int R=0; R=X291is_real((((T958*)C))->_run_type/*8*/); return R; } int r958is_bit(T958* C){ int R=0; R=X291is_bit((((T958*)C))->_run_type/*8*/); return R; } void r958fatal_error_generic_list(T958* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r958smallest_ancestor(T958* C,T0* a1){ T0* R=NULL; R=X291smallest_ancestor((((T958*)C))->_run_type/*8*/,a1); return R; } int r958is_boolean(T958* C){ int R=0; R=X291is_boolean((((T958*)C))->_run_type/*8*/); return R; } int r958is_double(T958* C){ int R=0; R=X291is_double((((T958*)C))->_run_type/*8*/); return R; } T0* r958run_class(T958* C){ T0* R=NULL; R=r604run_class((((T958*)C))->_run_type/*8*/); return R; } T0* r958run_time_mark(T958* C){ T0* R=NULL; /*IF*/if (((((T958*)C))->_run_type/*8*/)!=((void*)(NULL))) { R=X291run_time_mark((((T958*)C))->_run_type/*8*/); } /*FI*/return R; } int r958is_a_in(T958* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r958written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r958to_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* r958look_up_for(T958* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r958base_class(C))),a1,a2); return R; } T0* r958expanded_initializer(T958* C){ T0* R=NULL; R=X291expanded_initializer((((T958*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_CURRENT.fz_dot*/ int r958is_generic(T958* C){ int R=0; R=X291is_generic((((T958*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_CURRENT.used_as_reference*/ int r958is_reference(T958* C){ int R=0; R=X291is_reference((((T958*)C))->_run_type/*8*/); return R; } T0* r958base_class(T958* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r958base_class_name(C); /*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_LIKE_CURRENT.short_hook*/ int r958is_any(T958* C){ int R=0; R=X291is_any((((T958*)C))->_run_type/*8*/); return R; } T0* r958base_class_name(T958* C){ T0* R=NULL; R=X291base_class_name((((T958*)C))->_run_type/*8*/); return R; } int r958is_expanded(T958* C){ int R=0; R=X291is_expanded((((T958*)C))->_run_type/*8*/); return R; } int r958is_basic_eiffel_expanded(T958* C){ int R=0; R=X291is_basic_eiffel_expanded((((T958*)C))->_run_type/*8*/); return R; } int r958is_none(T958* C){ int R=0; R=X291is_none((((T958*)C))->_run_type/*8*/); return R; } int r958is_integer(T958* C){ int R=0; R=X291is_integer((((T958*)C))->_run_type/*8*/); return R; } /*No:ECHO.make*/ /*No:ECHO.verbose*/ T0*oBC1std_error=NULL; void r306sfr_connect(T306* C,T0* a1,T0* a2){ r306put_string(C,((T0*)ms3_306)); r306put_string(C,a2); r306put_string(C,((T0*)ms4_306)); r675connect_to(((T675*)a1),a2); } void r306put_string(T306* C,T0* a1){ /*IF*/if ((((T306*)C))->_verbose/*0*/) { r830put_string(((T830*)(oBC1std_output)),a1); /*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output)); fflush(stdout); }/*]*/ } /*FI*/}