home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_jvm.h" /*No:CALL_INFIX_GT.arguments*/ T0* r57add_comment(T57* 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 r57to_integer(T57* C){ int R=0; r57error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r57is_a(T57* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T57*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r57error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_GT.is_current*/ int r57jvm_branch_if_false(T57* C){ int R=0; /*IF*/if (X291is_integer((((T57*)C))->_current_type/*8*/)) { X662compile_to_jvm((((T57*)C))->_target/*12*/); X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/); R=r256opcode_if_icmple(((T256*)(oBC364code_attribute))); } else { R=r57jvm_standard_branch_if_false(C); } /*FI*/return R; } /*No:CALL_INFIX_GT.static_value*/ void r57make(T57* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r57operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r57make_call_1(C,a1,(((T57*)C))->_feature_name/*28*/,_eal); } /*No:CALL_INFIX_GT.nb_errors*/ /*No:CALL_INFIX_GT.feature_name*/ /*No:CALL_INFIX_GT.compile_to_jvm_assignment*/ /*No:CALL_INFIX_GT.fz_iinaiv*/ /*No:CALL_INFIX_GT.arg_count*/ int r57jvm_branch_if_true(T57* C){ int R=0; /*IF*/if (X291is_integer((((T57*)C))->_current_type/*8*/)) { X662compile_to_jvm((((T57*)C))->_target/*12*/); X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/); R=r256opcode_if_icmpgt(((T256*)(oBC364code_attribute))); } else { R=r57jvm_standard_branch_if_true(C); } /*FI*/return R; } /*No:CALL_INFIX_GT.run_feature*/ /*No:CALL_INFIX_GT.start_position*/ void r57compile_to_jvm_old(T57* C){ X662compile_to_jvm_old((((T57*)C))->_target/*12*/); /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T57*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_GT.target*/ T0* r57to_runnable(T57* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T57*)C))->_current_type/*8*/)==((void*)(NULL))) { r57to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T57*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r57error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T57*)C))->_arguments/*24*/)),(((T57*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T57*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r57twin(C); /*[IRF3.3set_current_type*/((((T57*)(((T57*)R))))->_current_type)=(NULL); /*]*/ R=r57to_runnable(((T57*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_GT.result_type*/ /*No:CALL_INFIX_GT.is_result*/ T0* r57twin(T57* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T57*)R)=*C; return R; } /*No:CALL_INFIX_GT.set_current_type*/ T0* r57operator(void){ T0* R=NULL; R=((T0*)ms33_473); return R; } int r57is_static(T57* C){ int R=0; /*IF*/if (X291is_integer(X662result_type((((T57*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T57*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/))) { R=1; /*IF*/if ((X662static_value((((T57*)C))->_target/*12*/))>(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*24*/)))/*)*/))) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } void r57standard_compile_target_to_jvm(T57* C){ /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ X291jvm_check_class_invariant((((T57*)C))->_result_type/*20*/); } int r57compile_to_jvm_into(T57* C,T0* a1){ int R=0; R=r57standard_compile_to_jvm_into(C,a1); return R; } /*No:CALL_INFIX_GT.compile_target_to_jvm*/ /*No:CALL_INFIX_GT.fz_07*/ /*No:CALL_INFIX_GT.can_be_dropped*/ /*No:CALL_INFIX_GT.current_type*/ /*No:CALL_INFIX_GT.jvm_assign*/ /*No:CALL_INFIX_GT.static_value_mem*/ void r57make_call_1(T57* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_GT.is_manifest_string*/ /*No:CALL_INFIX_GT.is_void*/ int r57jvm_standard_branch_if_false(T57* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:CALL_INFIX_GT.compile_to_jvm*/ void r57to_runnable_0(T57* C,T0* a1){ C->_current_type=a1; r57cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T57*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T57*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T57*)C))->_run_feature/*16*/)); r57error((((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T57*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T57*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_GT.is_pre_computable*/ int r57jvm_standard_branch_if_true(T57* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } int r57use_current(T57* C){ int R=0; /*IF*/{/*AT*/R=r431use_current(((T431*)((((T57*)C))->_arguments/*24*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T57*)C))->_target/*12*/)) { R=X496use_current((((T57*)C))->_run_feature/*16*/); } else { R=X662use_current((((T57*)C))->_target/*12*/); } /*FI*/return R; } void r57cpc_to_runnable(T57* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T57*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T57*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T57*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/); } void r57error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_GT.isa_dca_inline_argument*/ /*No:CALL_INFIX_GT.us_gt*/ /*No:CALL_INFIX_GT.fatal_error*/ /*No:CALL_INFIX_GT.fz_bad_argument*/ /*No:CALL_INFIX_GT.arg1*/ int r57standard_compile_to_jvm_into(T57* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T57* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T57*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_GT.call_proc_call_c2jvm*/ void r57afd_check(T57* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T57*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T57*)C))->_target/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T57*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T57*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_AND.arguments*/ T0* r313add_comment(T313* 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 r313to_integer(T313* C){ int R=0; r313error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r313is_a(T313* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T313*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r313error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_AND.is_current*/ /*No:CALL_INFIX_AND.jvm_branch_if_false*/ /*No:CALL_INFIX_AND.us_and*/ /*No:CALL_INFIX_AND.static_value*/ void r313make(T313* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r313operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r313make_call_1(C,a1,(((T313*)C))->_feature_name/*28*/,_eal); } /*No:CALL_INFIX_AND.nb_errors*/ /*No:CALL_INFIX_AND.feature_name*/ /*No:CALL_INFIX_AND.compile_to_jvm_assignment*/ /*No:CALL_INFIX_AND.fz_iinaiv*/ /*No:CALL_INFIX_AND.arg_count*/ /*No:CALL_INFIX_AND.jvm_branch_if_true*/ /*No:CALL_INFIX_AND.run_feature*/ /*No:CALL_INFIX_AND.start_position*/ void r313compile_to_jvm_old(T313* C){ X662compile_to_jvm_old((((T313*)C))->_target/*12*/); /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T313*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_AND.target*/ T0* r313to_runnable(T313* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T313*)C))->_current_type/*8*/)==((void*)(NULL))) { r313to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T313*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r313error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T313*)C))->_arguments/*24*/)),(((T313*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T313*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r313twin(C); /*[IRF3.3set_current_type*/((((T313*)(((T313*)R))))->_current_type)=(NULL); /*]*/ R=r313to_runnable(((T313*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_AND.result_type*/ /*No:CALL_INFIX_AND.is_result*/ T0* r313twin(T313* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T313*)R)=*C; return R; } /*No:CALL_INFIX_AND.set_current_type*/ T0* r313operator(void){ T0* R=NULL; R=((T0*)ms27_473); return R; } int r313is_static(T313* C){ int R=0; /*IF*/if (X291is_boolean(X662result_type((((T313*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T313*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/))) { R=1; C->_static_value_mem=(X662static_value((((T313*)C))->_target/*12*/))+(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*24*/)))/*)*/)); /*IF*/if (((((T313*)C))->_static_value_mem/*4*/)==(2)) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } void r313standard_compile_target_to_jvm(T313* C){ /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ X291jvm_check_class_invariant((((T313*)C))->_result_type/*20*/); } int r313compile_to_jvm_into(T313* C,T0* a1){ int R=0; R=r313standard_compile_to_jvm_into(C,a1); return R; } /*No:CALL_INFIX_AND.compile_target_to_jvm*/ /*No:CALL_INFIX_AND.fz_07*/ /*No:CALL_INFIX_AND.can_be_dropped*/ /*No:CALL_INFIX_AND.current_type*/ /*No:CALL_INFIX_AND.jvm_assign*/ /*No:CALL_INFIX_AND.static_value_mem*/ void r313make_call_1(T313* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_AND.is_manifest_string*/ /*No:CALL_INFIX_AND.is_void*/ int r313jvm_standard_branch_if_false(T313* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:CALL_INFIX_AND.compile_to_jvm*/ void r313to_runnable_0(T313* C,T0* a1){ C->_current_type=a1; r313cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T313*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T313*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T313*)C))->_run_feature/*16*/)); r313error((((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T313*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T313*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_AND.is_pre_computable*/ int r313jvm_standard_branch_if_true(T313* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } int r313use_current(T313* C){ int R=0; /*IF*/{/*AT*/R=r431use_current(((T431*)((((T313*)C))->_arguments/*24*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T313*)C))->_target/*12*/)) { R=X496use_current((((T313*)C))->_run_feature/*16*/); } else { R=X662use_current((((T313*)C))->_target/*12*/); } /*FI*/return R; } void r313cpc_to_runnable(T313* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T313*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T313*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T313*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/); } void r313error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_AND.isa_dca_inline_argument*/ /*No:CALL_INFIX_AND.fatal_error*/ /*No:CALL_INFIX_AND.fz_bad_argument*/ /*No:CALL_INFIX_AND.arg1*/ int r313standard_compile_to_jvm_into(T313* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T313* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T313*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_AND.call_proc_call_c2jvm*/ void r313afd_check(T313* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T313*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T313*)C))->_target/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T313*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T313*)C))->_arguments/*24*/))); } /*FI*/} /*No:WRITABLE_ATTRIBUTE.arguments*/ T0* r106try_to_undefine(T106* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r106try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T106*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:WRITABLE_ATTRIBUTE.is_deferred*/ void r106add_into(T106* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)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*)((((T106*)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* r106try_to_undefine_aux(T106* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r106start_position(C)); r106error(X776start_position(a1),((T0*)ms1_321)); r605fatal_undefine(((T605*)a2),a1); return R; } void r106make(T106* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:WRITABLE_ATTRIBUTE.nb_errors*/ /*No:WRITABLE_ATTRIBUTE.set_header_comment*/ T0* r106start_position(T106* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r106to_run_feature(T106* C,T0* a1,T0* a2){ T0* R=NULL; {T820*n=malloc(sizeof(*n)); *n=M820; r820make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:WRITABLE_ATTRIBUTE.ensure_assertion*/ /*No:WRITABLE_ATTRIBUTE.code_require*/ /*No:WRITABLE_ATTRIBUTE.result_type*/ /*No:WRITABLE_ATTRIBUTE.em1*/ /*No:WRITABLE_ATTRIBUTE.set_clients*/ /*No:WRITABLE_ATTRIBUTE.em2*/ /*No:WRITABLE_ATTRIBUTE.require_assertion*/ /*No:WRITABLE_ATTRIBUTE.names*/ int r106can_hide(T106* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:WRITABLE_ATTRIBUTE.header_comment*/ int r106is_merge_with(T106* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T106*)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:WRITABLE_ATTRIBUTE.fz_dot*/ /*No:WRITABLE_ATTRIBUTE.first_name*/ /*No:WRITABLE_ATTRIBUTE.clients*/ void r106collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r106error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:WRITABLE_ATTRIBUTE.base_class*/ /*No:PROC_CALL_0.arguments*/ T0* r268add_comment(T268* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r268make(T268* C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } /*No:PROC_CALL_0.nb_errors*/ /*No:PROC_CALL_0.feature_name*/ /*No:PROC_CALL_0.arg_count*/ /*No:PROC_CALL_0.run_feature*/ /*No:PROC_CALL_0.set_run_compound*/ T0* r268start_position(T268* C){ T0* R=NULL; R=X776start_position((((T268*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_0.target*/ /*No:PROC_CALL_0.set_run_feature*/ T0* r268to_runnable(T268* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) { r268to_runnable_0(C,a1); /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T268*)C))->_run_feature/*16*/))>(0))) { r683add_position(X776start_position((((T268*)C))->_feature_name/*12*/)); r268error(X496start_position((((T268*)C))->_run_feature/*16*/),((T0*)ms1_268)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,(((T268*)C))->_target/*8*/,(((T268*)C))->_feature_name/*12*/); R=(T0*)n; } R=r268to_runnable(((T268*)R),a1); } /*FI*/return R; } /*No:PROC_CALL_0.fz_07*/ T0* r268current_type(T268* C){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T268*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:PROC_CALL_0.run_compound*/ /*No:PROC_CALL_0.compile_to_jvm*/ void r268to_runnable_0(T268* C,T0* a1){ C->_run_compound=a1; r268cpc_to_runnable(C,r268current_type(C)); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T268*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T268*)C))->_run_feature/*16*/)); r268error(X776start_position((((T268*)C))->_feature_name/*12*/),((T0*)ms1_173)); } /*FI*/} /*No:PROC_CALL_0.is_pre_computable*/ int r268use_current(T268* C){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (R) { } else if (X662is_current((((T268*)C))->_target/*8*/)) { R=X496use_current((((T268*)C))->_run_feature/*16*/); } else { R=X662use_current((((T268*)C))->_target/*8*/); } /*FI*/return R; } void r268cpc_to_runnable(T268* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T268*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T268*)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((((T268*)C))->_target/*8*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/); } void r268error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROC_CALL_0.fatal_error*/ /*No:PROC_CALL_0.end_mark_comment*/ /*No:PROC_CALL_0.call_proc_call_c2jvm*/ void r268afd_check(T268* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T268*)C))->_target/*8*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T268*)C))->_target/*8*/); /*IF*//*AF*//*AE*/ /*FI*/} T0* r268make_runnable(T268* C,T0* a1,T0* a2,T0* a3,T0* a4){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) { R=(T0*)C; r268make(((T268*)R),a2,(((T268*)C))->_feature_name/*12*/); C->_run_compound=a1; C->_run_feature=a4; } else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,a2,(((T268*)C))->_feature_name/*12*/); R=(T0*)n; } /*[IRF3.3set_run_compound*/((((T268*)(((T268*)R))))->_run_compound)=(a1); /*]*/ /*[IRF3.3set_run_feature*/((((T268*)(((T268*)R))))->_run_feature)=(a4); /*]*/ } /*FI*/return R; } T0* r39add_comment(T39* 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 r39to_integer(T39* C){ int R=0; r39error((((T39*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r39is_a(T39* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T39*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T39*)C))->_start_position/*16*/); r39error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:LOCAL_NAME1.set_is_used*/ void r39name_clash(T39* C){ T0* _rf=NULL; T0* _rc=NULL; /*IF*/if (r605has_feature(((T605*)(r39base_class_written(C))),(((T39*)C))->_to_string/*12*/)) { _rc=X291run_class((((T39*)C))->_current_type/*8*/); _rf=r355get_feature_with(((T355*)_rc),(((T39*)C))->_to_string/*12*/); /*IF*/if ((_rf)!=((void*)(NULL))) { r683add_position(X496start_position(_rf)); } /*FI*/r683add_position((((T39*)C))->_start_position/*16*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_447); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*No:LOCAL_NAME1.is_current*/ int r39jvm_branch_if_false(T39* C){ int R=0; r39compile_to_jvm(C); R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } T0* r39written_in(T39* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T39*)C))->_start_position/*16*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/; } /*FI*/return R; } /*No:LOCAL_NAME1.static_value*/ void r39make(T39* C,T0* a1,T0* a2){ C->_start_position=a1; C->_to_string=r902item(a2); } /*No:LOCAL_NAME1.to_string*/ void r39compile_to_jvm_assignment(T39* C,T0* a1){ int _jvm_offset=0; int _space=0; _jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C); _space=X662compile_to_jvm_into((((T629*)((T629*)a1)))->_right_side/*12*/,X291run_type((((T39*)C))->_result_type/*24*/)); X291jvm_write_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset); } /*No:LOCAL_NAME1.fz_iinaiv*/ int r39jvm_branch_if_true(T39* C){ int R=0; r39compile_to_jvm(C); R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } /*No:LOCAL_NAME1.em_bl*/ /*No:LOCAL_NAME1.set_result_type*/ /*No:LOCAL_NAME1.start_position*/ /*No:LOCAL_NAME1.compile_to_jvm_old*/ /*No:LOCAL_NAME1.set_rank*/ T0* r39to_runnable(T39* C,T0* a1){ T0* R=NULL; T0* _t2=NULL; T0* _t1=NULL; _t1=(((T39*)C))->_result_type/*24*/; _t2=X291to_runnable(_t1,a1); /*IF*/if ((_t2)==((void*)(NULL))) { r683add_position(X291start_position(_t1)); r39error((((T39*)C))->_start_position/*16*/,((T0*)ms6_361)); } /*FI*//*IF*/if (((((T39*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=_t2; R=(T0*)C; } else { {T39*n=malloc(sizeof(*n)); *n=M39; r39make_runnable(n,(T0*)C,a1,_t2); R=(T0*)n; } } /*FI*/return R; } /*No:LOCAL_NAME1.rank*/ /*No:LOCAL_NAME1.result_type*/ /*No:LOCAL_NAME1.is_result*/ /*No:LOCAL_NAME1.is_static*/ void r39standard_compile_target_to_jvm(T39* C){ r39compile_to_jvm(C); X291jvm_check_class_invariant((((T39*)C))->_result_type/*24*/); } int r39compile_to_jvm_into(T39* C,T0* a1){ int R=0; R=r39standard_compile_to_jvm_into(C,a1); return R; } /*No:LOCAL_NAME1.compile_target_to_jvm*/ T0* r39base_class_written(T39* C){ T0* R=NULL; R=r451base_class(((T451*)(r39written_in(C)))); return R; } /*No:LOCAL_NAME1.can_be_dropped*/ /*No:LOCAL_NAME1.current_type*/ void r39jvm_assign(T39* C){ int _jvm_offset=0; _jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C); X291jvm_write_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset); } /*No:LOCAL_NAME1.static_value_mem*/ /*No:LOCAL_NAME1.is_used*/ /*No:LOCAL_NAME1.is_manifest_string*/ /*No:LOCAL_NAME1.is_void*/ void r39compile_to_jvm(T39* C){ int _jvm_offset=0; _jvm_offset=r228local_offset_of(((T228*)(oBC364jvm)),(T0*)C); X291jvm_push_local(X291run_type((((T39*)C))->_result_type/*24*/),_jvm_offset); } /*No:LOCAL_NAME1.is_pre_computable*/ /*No:LOCAL_NAME1.use_current*/ void r39error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:LOCAL_NAME1.isa_dca_inline_argument*/ /*No:LOCAL_NAME1.fatal_error*/ int r39standard_compile_to_jvm_into(T39* C,T0* a1){ int R=0; r39compile_to_jvm(C); R=X291jvm_convert_to(X291run_type((((T39*)C))->_result_type/*24*/),a1); return R; } /*No:LOCAL_NAME1.afd_check*/ void r39make_runnable(T39* C,T0* a1,T0* a2,T0* a3){ *((T39*)(C))=*((T39*)(a1)); C->_current_type=a2; C->_result_type=a3; } /*No:DEFERRED_PROCEDURE.arguments*/ T0* r853try_to_undefine(T853* 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)=((((T853*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:DEFERRED_PROCEDURE.is_deferred*/ /*No:DEFERRED_PROCEDURE.rescue_compound*/ void r853add_into(T853* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)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*)((((T853*)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_PROCEDURE.end_comment*/ /*No:DEFERRED_PROCEDURE.try_to_undefine_aux*/ /*No:DEFERRED_PROCEDURE.make*/ /*No:DEFERRED_PROCEDURE.nb_errors*/ void r853make_routine(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r853make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r853set_header_comment(T853* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r853start_position(T853* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r853to_run_feature(T853* C,T0* a1,T0* a2){ T0* R=NULL; r853check_obsolete(C); {T904*n=malloc(sizeof(*n)); *n=M904; r904make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:DEFERRED_PROCEDURE.ensure_assertion*/ /*No:DEFERRED_PROCEDURE.code_require*/ /*No:DEFERRED_PROCEDURE.result_type*/ /*No:DEFERRED_PROCEDURE.fz_03*/ /*No:DEFERRED_PROCEDURE.em1*/ /*No:DEFERRED_PROCEDURE.obsolete_mark*/ /*No:DEFERRED_PROCEDURE.em2*/ /*No:DEFERRED_PROCEDURE.set_clients*/ /*No:DEFERRED_PROCEDURE.names*/ /*No:DEFERRED_PROCEDURE.require_assertion*/ void r853from_effective(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,se_ma855(1,a1)); C->_names=(T0*)n; } r853make_routine(C,(((T853*)C))->_names/*8*/,a2,NULL,NULL,a3); /*[IRF3.3set_ensure_assertion*/((((T853*)(C)))->_ensure_assertion)=(a4); /*]*/ C->_base_class=a5; } void r853set_rescue_compound(T853* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) { r853error(r853start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r853can_hide(T853* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)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)); r853error(r853start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r853start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:DEFERRED_PROCEDURE.header_comment*/ int r853is_merge_with(T853* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)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)); r853error(r853start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:DEFERRED_PROCEDURE.fz_dot*/ /*No:DEFERRED_PROCEDURE.set_ensure_assertion*/ /*No:DEFERRED_PROCEDURE.first_name*/ /*No:DEFERRED_PROCEDURE.clients*/ void r853collect_for(T853* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T853*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T853*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T853*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T853*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r853error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:DEFERRED_PROCEDURE.base_class*/ void r853make_e_feature(T853* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r853check_obsolete(T853* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T853*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T853*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r853warning(r853start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r853warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r782add_index_value(T782* C,T0* a1){ /*IF*/if (((((T782*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma96(1,a1); } else { X96add_last((((T782*)C))->_list/*4*/,a1); } /*FI*/} /*No:INDEX_CLAUSE.make*/ /*No:INDEX_CLAUSE.list*/ /*No:INDEX_CLAUSE.index*/ /*No:RUN_FEATURE_1.arguments*/ /*No:RUN_FEATURE_1.ucs_true*/ /*No:RUN_FEATURE_1.actuals_clients*/ T0* r808jvm_descriptor(void){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0); /*]*/ /*[IRF3.1update_tmp_jvm_descriptor*//*]*/ R=oBC496tmp_jvm_descriptor; return R; } /*No:RUN_FEATURE_1.ucs_in_computation*/ void r808make(T808* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r808run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r808initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r808std_compute_use_current(T808* C){ /*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T808*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T808*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T808*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_1.name*/ int r808arg_count(T808* C){ int R=0; /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T808*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_1.local_vars*/ /*No:RUN_FEATURE_1.base_feature*/ T0* r808start_position(T808* C){ T0* R=NULL; R=X418start_position((((T808*)C))->_base_feature/*44*/); return R; } int r808jvm_max_locals(T808* C){ int R=0; R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/); /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/)))); } /*FI*//*IF*//*AF*//*AE*/ /*FI*//*IF*/if (((((T808*)C))->_result_type/*24*/)!=((void*)(NULL))) { R=(R)+(X291jvm_stack_space((((T808*)C))->_result_type/*24*/)); } /*FI*/return R; } /*No:RUN_FEATURE_1.ensure_assertion*/ int r808jvm_result_offset(T808* C){ int R=0; R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/); /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/)))); } /*FI*//*IF*//*AF*//*AE*/ /*FI*/return R; } int r808is_exported_in(T808* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r808clients(C))),a1); return R; } /*No:RUN_FEATURE_1.compute_use_current*/ /*No:RUN_FEATURE_1.result_type*/ /*No:RUN_FEATURE_1.jvm_field_or_method*/ int r808jvm_argument_offset(T808* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/); R=(R)+(r31jvm_offset_of(((T31*)((((T808*)C))->_arguments/*20*/)),a1)); return R; } int r808is_static(T808* C){ int R=0; R=X662is_static((((T808*)C))->_value/*48*/); return R; } void r808add_client(T808* C,T0* a1){ int _i=0; /*IF*/if (((((T808*)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*)((((T808*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T808*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r808run_class(C))),a1); } /*No:RUN_FEATURE_1.require_assertion*/ /*No:RUN_FEATURE_1.value*/ /*No:RUN_FEATURE_1.use_current_state*/ /*No:RUN_FEATURE_1.can_be_dropped*/ void r808mapping_jvm(T808* C){ int _space=0; r228drop_target(((T228*)(oBC364jvm))); _space=X662compile_to_jvm_into((((T808*)C))->_value/*48*/,(((T808*)C))->_result_type/*24*/); } /*No:RUN_FEATURE_1.current_type*/ T0* r808run_class(T808* C){ T0* R=NULL; R=X291run_class((((T808*)C))->_current_type/*4*/); return R; } int r808static_value_mem(T808* C){ int R=0; R=X662static_value((((T808*)C))->_value/*48*/); return R; } /*No:RUN_FEATURE_1.ucs_not_computed*/ /*No:RUN_FEATURE_1.routine_body*/ void r808fall_down(T808* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T808*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T808*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T808*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_1.ucs_false*/ /*No:RUN_FEATURE_1.is_pre_computable*/ T0* r808clients(T808* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T808*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T808*)C))->_current_type/*4*/); _bfbc=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_base_class/*4*/); /*IF*/if ((_bc)==((void*)(_bfbc))) { R=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_clients/*20*/); } else { R=r605clients_for(((T605*)_bc),(((T808*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T808*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r808use_current(T808* C){ int R=0; {int z1=(((T808*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.4compute_use_current*/r808std_compute_use_current(C); /*]*/ R=r808use_current(C); } else {R=1; }} return R; } /*No:RUN_FEATURE_1.jvm_define*/ int r808jvm_local_variable_offset(T808* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T808*)C))->_current_type/*4*/); /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T808*)C))->_arguments/*20*/)))); } /*FI*/R=(R)+(r620jvm_offset_of(((T620*)(/*(IRF4.1local_vars*/NULL/*)*/)),a1)); return R; } /*No:RUN_FEATURE_1.clients_memory*/ void r808initialize(T808* C){ int _i=0; _i=r953index_of(((T953*)(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_names/*8*/))),(((T808*)C))->_name/*16*/); C->_value=X418value((((T808*)C))->_base_feature/*44*/,_i); C->_value=X662to_runnable((((T808*)C))->_value/*48*/,(((T808*)C))->_current_type/*4*/); C->_result_type=X291to_runnable(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_result_type/*12*/),(((T808*)C))->_current_type/*4*/); } /*No:RUN_FEATURE_1.afd_check*/ /*No:RUN_FEATURE_1.update_tmp_jvm_descriptor*/ /*No:NATIVE_WITH_CURRENT.jvm_add_method_for_procedure*/ /*No:NATIVE_WITH_CURRENT.jvm_add_method_for_function*/ /*No:NATIVE_WITH_CURRENT.jvm_mapping_procedure*/ /*No:NATIVE_WITH_CURRENT.jvm_define_procedure*/ /*No:NATIVE_WITH_CURRENT.use_current*/ /*No:NATIVE_WITH_CURRENT.jvm_define_function*/ /*No:NATIVE_WITH_CURRENT.fatal_error*/ void r893fe_c2jvm(T0* a1){ r683add_position(r228target_position(((T228*)(oBC364jvm)))); r683add_position(X496start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_845); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:NATIVE_WITH_CURRENT.jvm_mapping_function*/ void r881make(T881* C,T0* a1,T0* a2){ T0* _fga=NULL; int _i=0; int _rank=0; C->_start_position=a1; C->_list=a2; _i=(((T681*)((T681*)a2)))->_upper/*8*/; while (!((_i)==(0))) { _fga=r681item(((T681*)a2),_i); _rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/); /*IF*/if ((_rank)!=(_i)) { r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/); r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)-(1); } } /*No:FORMAL_GENERIC_LIST.start_position*/ /*No:FORMAL_GENERIC_LIST.item*/ /*No:FORMAL_GENERIC_LIST.list*/ /*No:FORMAL_GENERIC_LIST.count*/ /*No:FORMAL_GENERIC_LIST.fatal_error*/ int r881index_of(T881* C,T0* a1){ int R=0; T0* _to_string=NULL; _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/; R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/; while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) { R=(R)-(1); } return R; }