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_OR.arguments*/ T0* r121add_comment(T121* 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 r121to_integer(T121* C){ int R=0; r121error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r121is_a(T121* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T121*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r121error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_OR.is_current*/ /*No:CALL_INFIX_OR.jvm_branch_if_false*/ /*No:CALL_INFIX_OR.static_value*/ void r121make(T121* 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,r121operator(),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; } r121make_call_1(C,a1,(((T121*)C))->_feature_name/*28*/,_eal); } /*No:CALL_INFIX_OR.nb_errors*/ /*No:CALL_INFIX_OR.feature_name*/ /*No:CALL_INFIX_OR.compile_to_jvm_assignment*/ /*No:CALL_INFIX_OR.fz_iinaiv*/ /*No:CALL_INFIX_OR.arg_count*/ /*No:CALL_INFIX_OR.jvm_branch_if_true*/ /*No:CALL_INFIX_OR.run_feature*/ /*No:CALL_INFIX_OR.start_position*/ void r121compile_to_jvm_old(T121* C){ X662compile_to_jvm_old((((T121*)C))->_target/*12*/); /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T121*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_OR.target*/ T0* r121to_runnable(T121* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T121*)C))->_current_type/*8*/)==((void*)(NULL))) { r121to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T121*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r121error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)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*)((((T121*)C))->_arguments/*24*/)),(((T121*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T121*)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*)((((T121*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r121twin(C); /*[IRF3.3set_current_type*/((((T121*)(((T121*)R))))->_current_type)=(NULL); /*]*/ R=r121to_runnable(((T121*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_OR.result_type*/ /*No:CALL_INFIX_OR.is_result*/ T0* r121twin(T121* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T121*)R)=*C; return R; } /*No:CALL_INFIX_OR.set_current_type*/ T0* r121operator(void){ T0* R=NULL; R=((T0*)ms41_473); return R; } int r121is_static(T121* C){ int R=0; /*IF*/if (X291is_boolean(X662result_type((((T121*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T121*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/))) { R=1; C->_static_value_mem=(X662static_value((((T121*)C))->_target/*12*/))+(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/)); /*IF*/if (((((T121*)C))->_static_value_mem/*4*/)==(2)) { C->_static_value_mem=1; } /*FI*/} /*FI*/} /*FI*/return R; } void r121standard_compile_target_to_jvm(T121* C){ /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ X291jvm_check_class_invariant((((T121*)C))->_result_type/*20*/); } int r121compile_to_jvm_into(T121* C,T0* a1){ int R=0; R=r121standard_compile_to_jvm_into(C,a1); return R; } /*No:CALL_INFIX_OR.compile_target_to_jvm*/ /*No:CALL_INFIX_OR.fz_07*/ /*No:CALL_INFIX_OR.can_be_dropped*/ /*No:CALL_INFIX_OR.current_type*/ /*No:CALL_INFIX_OR.jvm_assign*/ /*No:CALL_INFIX_OR.static_value_mem*/ void r121make_call_1(T121* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_OR.is_manifest_string*/ /*No:CALL_INFIX_OR.is_void*/ int r121jvm_standard_branch_if_false(T121* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:CALL_INFIX_OR.compile_to_jvm*/ void r121to_runnable_0(T121* C,T0* a1){ C->_current_type=a1; r121cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T121*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T121*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T121*)C))->_run_feature/*16*/)); r121error((((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T121*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T121*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_OR.is_pre_computable*/ int r121jvm_standard_branch_if_true(T121* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } int r121use_current(T121* C){ int R=0; /*IF*/{/*AT*/R=r431use_current(((T431*)((((T121*)C))->_arguments/*24*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T121*)C))->_target/*12*/)) { R=X496use_current((((T121*)C))->_run_feature/*16*/); } else { R=X662use_current((((T121*)C))->_target/*12*/); } /*FI*/return R; } void r121cpc_to_runnable(T121* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T121*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T121*)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((((T121*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T121*)C))->_target/*12*/,(((T121*)C))->_run_feature/*16*/); } void r121error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_OR.isa_dca_inline_argument*/ /*No:CALL_INFIX_OR.fatal_error*/ /*No:CALL_INFIX_OR.fz_bad_argument*/ /*No:CALL_INFIX_OR.arg1*/ int r121standard_compile_to_jvm_into(T121* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T121*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_OR.call_proc_call_c2jvm*/ void r121afd_check(T121* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T121*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T121*)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((((T121*)C))->_target/*12*/,(((T121*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T121*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T121*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_OR.us_or*/ int r590debug_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)==(1); return R; } /*No:RUN_CONTROL.level_check_debug*/ /*No:RUN_CONTROL.set_require_check*/ /*No:RUN_CONTROL.set_trace*/ /*No:RUN_CONTROL.set_all_check*/ int r590all_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(0); return R; } /*No:RUN_CONTROL.set_no_check*/ /*No:RUN_CONTROL.root_class*/ /*No:RUN_CONTROL.level_ensure*/ /*No:RUN_CONTROL.level_require*/ /*No:RUN_CONTROL.make*/ /*No:RUN_CONTROL.set_root_class*/ /*No:RUN_CONTROL.trace*/ /*No:RUN_CONTROL.cecil_path*/ /*No:RUN_CONTROL.level_loop*/ /*No:RUN_CONTROL.set_ensure_check*/ /*No:RUN_CONTROL.level_check_all*/ int r590ensure_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(-3); return R; } int r590require_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(-4); return R; } /*No:RUN_CONTROL.level*/ /*No:RUN_CONTROL.set_boost*/ /*No:RUN_CONTROL.set_debug_check*/ /*No:RUN_CONTROL.level_no*/ /*No:RUN_CONTROL.set_invariant_check*/ int r590loop_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(-1); return R; } /*No:RUN_CONTROL.level_invariant*/ int r590invariant_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(-2); return R; } /*No:RUN_CONTROL.set_cecil_path*/ /*No:RUN_CONTROL.set_loop_check*/ int r590no_check(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)>=(-5); return R; } /*No:RUN_CONTROL.level_boost*/ int r590boost(T590* C){ int R=0; R=((((T590*)C))->_level/*0*/)==(-6); return R; } /*No:CALL_INFIX_GE.arguments*/ T0* r890add_comment(T890* 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 r890to_integer(T890* C){ int R=0; r890error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r890is_a(T890* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T890*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r890error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_GE.is_current*/ int r890jvm_branch_if_false(T890* C){ int R=0; /*IF*/if (X291is_integer((((T890*)C))->_current_type/*8*/)) { X662compile_to_jvm((((T890*)C))->_target/*12*/); X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/); R=r256opcode_if_icmplt(((T256*)(oBC364code_attribute))); } else { R=r890jvm_standard_branch_if_false(C); } /*FI*/return R; } /*No:CALL_INFIX_GE.static_value*/ void r890make(T890* 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,r890operator(),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; } r890make_call_1(C,a1,(((T890*)C))->_feature_name/*28*/,_eal); } /*No:CALL_INFIX_GE.nb_errors*/ /*No:CALL_INFIX_GE.feature_name*/ /*No:CALL_INFIX_GE.compile_to_jvm_assignment*/ /*No:CALL_INFIX_GE.fz_iinaiv*/ /*No:CALL_INFIX_GE.arg_count*/ int r890jvm_branch_if_true(T890* C){ int R=0; /*IF*/if (X291is_integer((((T890*)C))->_current_type/*8*/)) { X662compile_to_jvm((((T890*)C))->_target/*12*/); X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/); R=r256opcode_if_icmpge(((T256*)(oBC364code_attribute))); } else { R=r890jvm_standard_branch_if_true(C); } /*FI*/return R; } /*No:CALL_INFIX_GE.run_feature*/ /*No:CALL_INFIX_GE.start_position*/ void r890compile_to_jvm_old(T890* C){ X662compile_to_jvm_old((((T890*)C))->_target/*12*/); /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T890*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_GE.target*/ /*No:CALL_INFIX_GE.us_ge*/ T0* r890to_runnable(T890* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T890*)C))->_current_type/*8*/)==((void*)(NULL))) { r890to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T890*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r890error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)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*)((((T890*)C))->_arguments/*24*/)),(((T890*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T890*)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*)((((T890*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r890twin(C); /*[IRF3.3set_current_type*/((((T890*)(((T890*)R))))->_current_type)=(NULL); /*]*/ R=r890to_runnable(((T890*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_GE.result_type*/ /*No:CALL_INFIX_GE.is_result*/ T0* r890twin(T890* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T890*)R)=*C; return R; } /*No:CALL_INFIX_GE.set_current_type*/ T0* r890operator(void){ T0* R=NULL; R=((T0*)ms32_473); return R; } int r890is_static(T890* C){ int R=0; /*IF*/if (X291is_integer(X662result_type((((T890*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T890*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/))) { R=1; /*IF*/if ((X662static_value((((T890*)C))->_target/*12*/))>=(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/))) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } void r890standard_compile_target_to_jvm(T890* C){ /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ X291jvm_check_class_invariant((((T890*)C))->_result_type/*20*/); } int r890compile_to_jvm_into(T890* C,T0* a1){ int R=0; R=r890standard_compile_to_jvm_into(C,a1); return R; } /*No:CALL_INFIX_GE.compile_target_to_jvm*/ /*No:CALL_INFIX_GE.fz_07*/ /*No:CALL_INFIX_GE.can_be_dropped*/ /*No:CALL_INFIX_GE.current_type*/ /*No:CALL_INFIX_GE.jvm_assign*/ /*No:CALL_INFIX_GE.static_value_mem*/ void r890make_call_1(T890* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_GE.is_manifest_string*/ /*No:CALL_INFIX_GE.is_void*/ int r890jvm_standard_branch_if_false(T890* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:CALL_INFIX_GE.compile_to_jvm*/ void r890to_runnable_0(T890* C,T0* a1){ C->_current_type=a1; r890cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T890*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T890*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T890*)C))->_run_feature/*16*/)); r890error((((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T890*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T890*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_GE.is_pre_computable*/ int r890jvm_standard_branch_if_true(T890* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } int r890use_current(T890* C){ int R=0; /*IF*/{/*AT*/R=r431use_current(((T431*)((((T890*)C))->_arguments/*24*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T890*)C))->_target/*12*/)) { R=X496use_current((((T890*)C))->_run_feature/*16*/); } else { R=X662use_current((((T890*)C))->_target/*12*/); } /*FI*/return R; } void r890cpc_to_runnable(T890* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T890*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T890*)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((((T890*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T890*)C))->_target/*12*/,(((T890*)C))->_run_feature/*16*/); } void r890error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_GE.isa_dca_inline_argument*/ /*No:CALL_INFIX_GE.fatal_error*/ /*No:CALL_INFIX_GE.fz_bad_argument*/ /*No:CALL_INFIX_GE.arg1*/ int r890standard_compile_to_jvm_into(T890* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T890*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_GE.call_proc_call_c2jvm*/ void r890afd_check(T890* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T890*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T890*)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((((T890*)C))->_target/*12*/,(((T890*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T890*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T890*)C))->_arguments/*24*/))); } /*FI*/} T0*oBC817tmp_file_read=NULL; /*No:STD_OUTPUT.make*/ void r830append_file(T830* C,T0* a1){ char _c=0; r675connect_to(((T675*)(oBC817tmp_file_read)),a1); r675read_character(((T675*)(oBC817tmp_file_read))); while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) { _c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/; /*[IRF3.6put_character*/{T830* C1=C; char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ r675read_character(((T675*)(oBC817tmp_file_read))); } r675disconnect(((T675*)(oBC817tmp_file_read))); } /*No:STD_OUTPUT.flush*/ void r830put_string(T830* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { /*[IRF3.6put_character*/{T830* C1=C; char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; putc(b1,((FILE*)(stdout))); }/*]*/ _i=(_i)+(1); } } void r830put_integer(T830* C,int a1){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0); /*]*/ r2append_in(a1,oBC817tmp_string); r830put_string(C,oBC817tmp_string); } /*No:STD_OUTPUT.put_character*/ /*No:STD_OUTPUT.put_new_line*/ /*No:CALL_INFIX_TIMES.arguments*/ T0* r414add_comment(T414* 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 r414to_integer(T414* C){ int R=0; r414error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r414is_a(T414* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T414*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r414error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_TIMES.is_current*/ /*No:CALL_INFIX_TIMES.jvm_branch_if_false*/ /*No:CALL_INFIX_TIMES.static_value*/ void r414make(T414* 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,r414operator(),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; } r414make_call_1(C,a1,(((T414*)C))->_feature_name/*28*/,_eal); } /*No:CALL_INFIX_TIMES.nb_errors*/ /*No:CALL_INFIX_TIMES.feature_name*/ /*No:CALL_INFIX_TIMES.compile_to_jvm_assignment*/ /*No:CALL_INFIX_TIMES.fz_iinaiv*/ /*No:CALL_INFIX_TIMES.arg_count*/ /*No:CALL_INFIX_TIMES.jvm_branch_if_true*/ /*No:CALL_INFIX_TIMES.run_feature*/ /*No:CALL_INFIX_TIMES.start_position*/ void r414compile_to_jvm_old(T414* C){ X662compile_to_jvm_old((((T414*)C))->_target/*12*/); /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T414*)C))->_arguments/*24*/))); } /*FI*/} /*No:CALL_INFIX_TIMES.target*/ T0* r414to_runnable(T414* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T414*)C))->_current_type/*8*/)==((void*)(NULL))) { r414to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T414*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r414error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)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*)((((T414*)C))->_arguments/*24*/)),(((T414*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T414*)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*)((((T414*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r414twin(C); /*[IRF3.3set_current_type*/((((T414*)(((T414*)R))))->_current_type)=(NULL); /*]*/ R=r414to_runnable(((T414*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_TIMES.result_type*/ /*No:CALL_INFIX_TIMES.is_result*/ T0* r414twin(T414* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T414*)R)=*C; return R; } /*No:CALL_INFIX_TIMES.set_current_type*/ T0* r414operator(void){ T0* R=NULL; R=((T0*)ms38_473); return R; } int r414is_static(T414* C){ int R=0; /*IF*/if (X291is_integer((((T414*)C))->_result_type/*20*/)) { /*IF*/if ((X662is_static((((T414*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/))) { R=1; C->_static_value_mem=(X662static_value((((T414*)C))->_target/*12*/))*(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/)); } /*FI*/} /*FI*/return R; } void r414standard_compile_target_to_jvm(T414* C){ /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ X291jvm_check_class_invariant((((T414*)C))->_result_type/*20*/); } int r414compile_to_jvm_into(T414* C,T0* a1){ int R=0; R=r414standard_compile_to_jvm_into(C,a1); return R; } /*No:CALL_INFIX_TIMES.compile_target_to_jvm*/ /*No:CALL_INFIX_TIMES.fz_07*/ /*No:CALL_INFIX_TIMES.can_be_dropped*/ /*No:CALL_INFIX_TIMES.current_type*/ /*No:CALL_INFIX_TIMES.jvm_assign*/ /*No:CALL_INFIX_TIMES.static_value_mem*/ void r414make_call_1(T414* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_TIMES.is_manifest_string*/ /*No:CALL_INFIX_TIMES.is_void*/ int r414jvm_standard_branch_if_false(T414* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:CALL_INFIX_TIMES.compile_to_jvm*/ void r414to_runnable_0(T414* C,T0* a1){ C->_current_type=a1; r414cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T414*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T414*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T414*)C))->_run_feature/*16*/)); r414error((((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T414*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T414*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_TIMES.is_pre_computable*/ int r414jvm_standard_branch_if_true(T414* C){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } int r414use_current(T414* C){ int R=0; /*IF*/{/*AT*/R=r431use_current(((T431*)((((T414*)C))->_arguments/*24*/))); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T414*)C))->_target/*12*/)) { R=X496use_current((((T414*)C))->_run_feature/*16*/); } else { R=X662use_current((((T414*)C))->_target/*12*/); } /*FI*/return R; } void r414cpc_to_runnable(T414* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T414*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T414*)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((((T414*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T414*)C))->_target/*12*/,(((T414*)C))->_run_feature/*16*/); } /*No:CALL_INFIX_TIMES.us_muls*/ void r414error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_TIMES.isa_dca_inline_argument*/ /*No:CALL_INFIX_TIMES.fatal_error*/ /*No:CALL_INFIX_TIMES.fz_bad_argument*/ /*No:CALL_INFIX_TIMES.arg1*/ int r414standard_compile_to_jvm_into(T414* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T414*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_TIMES.call_proc_call_c2jvm*/ void r414afd_check(T414* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T414*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T414*)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((((T414*)C))->_target/*12*/,(((T414*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T414*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T414*)C))->_arguments/*24*/))); } /*FI*/} /*No:RUN_FEATURE_9.arguments*/ /*No:RUN_FEATURE_9.ucs_true*/ /*No:RUN_FEATURE_9.actuals_clients*/ T0* r904jvm_descriptor(T904* C){ T0* R=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0); /*]*/ /*[IRF3.4update_tmp_jvm_descriptor*/r904routine_update_tmp_jvm_descriptor(C); /*]*/ R=oBC496tmp_jvm_descriptor; return R; } /*No:RUN_FEATURE_9.ucs_in_computation*/ void r904routine_update_tmp_jvm_descriptor(T904* C){ T0* _rt=NULL; T0* _ct=NULL; r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50'); _ct=(((T904*)C))->_current_type/*4*/; X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor); /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) { r31jvm_descriptor_in(((T31*)((((T904*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor); } /*FI*/_rt=(((T904*)C))->_result_type/*24*/; /*IF*/if ((_rt)==((void*)(NULL))) { r7append(((T7*)(oBC496tmp_jvm_descriptor)),((T0*)ms153_470)); } else { _rt=X291run_type(_rt); r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\51'); X291jvm_descriptor_in(_rt,oBC496tmp_jvm_descriptor); } /*FI*/} void r904make(T904* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r904run_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); r904initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } /*No:RUN_FEATURE_9.name*/ int r904arg_count(T904* C){ int R=0; /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r904routine_afd_check(T904* C){ /*IF*/if (((((T904*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T904*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T904*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T904*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T904*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T904*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_9.local_vars*/ /*No:RUN_FEATURE_9.base_feature*/ T0* r904start_position(T904* C){ T0* R=NULL; R=X249start_position((((T904*)C))->_base_feature/*44*/); return R; } int r904jvm_max_locals(T904* C){ int R=0; R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/); /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/)))); } /*FI*//*IF*//*AF*//*AE*/ /*FI*//*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) { R=(R)+(X291jvm_stack_space((((T904*)C))->_result_type/*24*/)); } /*FI*/return R; } /*No:RUN_FEATURE_9.ensure_assertion*/ int r904jvm_result_offset(T904* C){ int R=0; R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/); /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/)))); } /*FI*//*IF*//*AF*//*AE*/ /*FI*/return R; } int r904is_exported_in(T904* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r904clients(C))),a1); return R; } /*No:RUN_FEATURE_9.compute_use_current*/ /*No:RUN_FEATURE_9.result_type*/ /*No:RUN_FEATURE_9.jvm_field_or_method*/ int r904jvm_argument_offset(T904* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/); R=(R)+(r31jvm_offset_of(((T31*)((((T904*)C))->_arguments/*20*/)),a1)); return R; } /*No:RUN_FEATURE_9.is_static*/ void r904add_client(T904* C,T0* a1){ int _i=0; /*IF*/if (((((T904*)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*)((((T904*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T904*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r904run_class(C))),a1); } /*No:RUN_FEATURE_9.require_assertion*/ /*No:RUN_FEATURE_9.use_current_state*/ /*No:RUN_FEATURE_9.can_be_dropped*/ /*No:RUN_FEATURE_9.mapping_jvm*/ /*No:RUN_FEATURE_9.current_type*/ T0* r904run_class(T904* C){ T0* R=NULL; R=X291run_class((((T904*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_9.static_value_mem*/ /*No:RUN_FEATURE_9.fz_19*/ /*No:RUN_FEATURE_9.ucs_not_computed*/ /*No:RUN_FEATURE_9.routine_body*/ void r904fall_down(T904* 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((((T904*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T904*)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,(((T904*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_9.ucs_false*/ /*No:RUN_FEATURE_9.is_pre_computable*/ T0* r904clients(T904* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T904*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T904*)C))->_current_type/*4*/); _bfbc=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_base_class/*4*/); /*IF*/if ((_bc)==((void*)(_bfbc))) { R=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_clients/*20*/); } else { R=r605clients_for(((T605*)_bc),(((T904*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T904*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r904use_current(T904* C){ int R=0; {int z1=(((T904*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.1compute_use_current*//*]*/ R=r904use_current(C); } else {R=1; }} return R; } /*No:RUN_FEATURE_9.jvm_define*/ int r904jvm_local_variable_offset(T904* C,T0* a1){ int R=0; R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/); /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/)))); } /*FI*/R=(R)+(r620jvm_offset_of(((T620*)(/*(IRF4.1local_vars*/NULL/*)*/)),a1)); return R; } /*No:RUN_FEATURE_9.clients_memory*/ void r904initialize(T904* C){ C->_arguments=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_arguments/*24*/); /*IF*/if ((((((T904*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T904*)C))->_arguments/*20*/)),(((T904*)C))->_current_type/*4*/); } /*FI*/C->_result_type=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_result_type/*12*/); /*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) { C->_result_type=X291to_runnable((((T904*)C))->_result_type/*24*/,(((T904*)C))->_current_type/*4*/); } /*FI*/} void r904afd_check(T904* C){ r904routine_afd_check(C); r604afd_check_deferred((T0*)C); } /*No:RUN_FEATURE_9.update_tmp_jvm_descriptor*/ T0* r936add_comment(T936* 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 r936to_integer(T936* C){ int R=0; r936error((((T936*)C))->_start_position/*12*/,((T0*)ms69_470)); return R; } int r936is_a(T936* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T209*)r936result_type()))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T936*)C))->_start_position/*12*/); r936error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:REAL_CONSTANT.is_current*/ /*No:REAL_CONSTANT.jvm_branch_if_false*/ /*No:REAL_CONSTANT.static_value*/ void r936make(T936* C,T0* a1,T0* a2){ C->_start_position=a1; C->_to_string=a2; } /*No:REAL_CONSTANT.to_string*/ /*No:REAL_CONSTANT.compile_to_jvm_assignment*/ /*No:REAL_CONSTANT.fz_iinaiv*/ /*No:REAL_CONSTANT.jvm_branch_if_true*/ /*No:REAL_CONSTANT.unary_minus*/ /*No:REAL_CONSTANT.start_position*/ /*No:REAL_CONSTANT.compile_to_jvm_old*/ T0* r936to_runnable(T936* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T936*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else { R=r936twin(C); /*[IRF3.3set_current_type*/((((T936*)(((T936*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } int fBC936result_type=0; T0*oBC936result_type=NULL; T0* r936result_type(void){ if (fBC936result_type==0){ T0* R=NULL; fBC936result_type=1; {T209*n=malloc(sizeof(*n)); *n=M209; r209make(n,NULL); R=(T0*)n; } oBC936result_type=R;} return oBC936result_type;} /*No:REAL_CONSTANT.is_result*/ T0* r936twin(T936* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T936*)R)=*C; return R; } /*No:REAL_CONSTANT.set_current_type*/ /*No:REAL_CONSTANT.is_static*/ int r936compile_to_jvm_into(T936* C,T0* a1){ int R=0; /*IF*/if (X291is_real(a1)) { r256opcode_push_as_float(((T256*)(oBC364code_attribute)),(((T936*)C))->_to_string/*16*/); R=1; } else if (X291is_double(a1)) { r256opcode_push_as_double(((T256*)(oBC364code_attribute)),(((T936*)C))->_to_string/*16*/); R=2; } else { R=r936standard_compile_to_jvm_into(C,a1); } /*FI*/return R; } /*No:REAL_CONSTANT.compile_target_to_jvm*/ /*No:REAL_CONSTANT.can_be_dropped*/ /*No:REAL_CONSTANT.current_type*/ /*No:REAL_CONSTANT.jvm_assign*/ /*No:REAL_CONSTANT.static_value_mem*/ /*No:REAL_CONSTANT.is_manifest_string*/ /*No:REAL_CONSTANT.is_void*/ /*No:REAL_CONSTANT.compile_to_jvm*/ /*No:REAL_CONSTANT.is_pre_computable*/ /*No:REAL_CONSTANT.use_current*/ void r936error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r936isa_dca_inline_argument(void){ int R=0; /*IF*//*AF*//*AE*/ /*FI*/return R; } int r936standard_compile_to_jvm_into(T936* C,T0* a1){ int R=0; /*[IRF3.6compile_to_jvm*/{T936* C1=C; r256opcode_push_as_float(((T256*)(oBC364code_attribute)),(((T936*)C1))->_to_string/*16*/); }/*]*/ R=X291jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T209*)r936result_type()))/*)*/,a1); return R; } /*No:REAL_CONSTANT.afd_check*/ int r627before(T627* C,T0* a1){ int R=0; /*IF*/if ((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)<(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/)) { R=1; } else if ((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/)) { R=(/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)<(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/); } /*FI*/return R; } /*No:POSITION.line*/ void r627make(T627* C,int a1,int a2){ C->_mem_line_column=((a1)*(1000))+(a2); C->_base_class_name=/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/; } void r627append_in(T627* C,T0* a1){ r7append(((T7*)a1),((T0*)ms11_627)); r2append_in(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/,a1); r7append(((T7*)a1),((T0*)ms12_627)); r2append_in(/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/,a1); r7append(((T7*)a1),((T0*)ms13_627)); r7append(((T7*)a1),r627path(C)); r7append(((T7*)a1),((T0*)ms137_470)); } T0* r627get_line(T627* C){ T0* R=NULL; int _i=0; T0* _p=NULL; _p=r627path(C); /*IF*/if ((_p)!=((void*)(NULL))) { r675connect_to(((T675*)(oBC364tmp_file_read)),_p); while (!((_i)==(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/))) { r675read_line(((T675*)(oBC364tmp_file_read))); _i=(_i)+(1); } R=oBC762last_string; r675disconnect(((T675*)(oBC364tmp_file_read))); } /*FI*/return R; } T0* r627path(T627* C){ T0* R=NULL; T0* _bc=NULL; T0* _bcn=NULL; _bcn=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { /*IF*/if (r604is_used(_bcn)) { _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/))); } else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) { /*IF*/if (((((T451*)((T451*)(/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/)==((void*)(_bcn))) { _bc=/*(IRF4.3current_class*/(((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*//*)*/; } /*FI*/} else { _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/))); } /*FI*//*IF*/if ((_bc)!=((void*)(NULL))) { R=(((T605*)((T605*)_bc)))->_path/*4*/; } /*FI*/} /*FI*/return R; } /*No:POSITION.column*/ void r627with(T627* C,int a1,int a2,T0* a3){ C->_mem_line_column=((a1)*(1000))+(a2); C->_base_class_name=a3; } /*No:POSITION.fz_03*/ int r627is_equal(T627* C,T0* a1){ int R=0; R=(((((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((((T627*)C))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T627*)((T627*)a1)))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)==((void*)((((T451*)((T451*)((((T627*)((T627*)a1)))->_base_class_name/*0*/))))->_to_string/*0*/))); return R; } void r627show(T627* C){ T0* _the_line=NULL; T0* _str=NULL; T0* _n=NULL; int _nb=0; int _c=0; _n=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/; r441put_string(((T441*)(oBC1std_error)),((T0*)ms3_627)); r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/); r441put_string(((T441*)(oBC1std_error)),((T0*)ms4_627)); r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/); r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_627)); r441put_string(((T441*)(oBC1std_error)),_n); _str=r627path(C); /*IF*/if ((_str)!=((void*)(NULL))) { r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_627)); r441put_string(((T441*)(oBC1std_error)),_str); /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\51'; putc(b1,((FILE*)(stderr))); }/*]*/ } /*FI*/r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_627)); _the_line=r627get_line(C); /*IF*/if ((_the_line)!=((void*)(NULL))) { _c=/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/; r441put_string(((T441*)(oBC1std_error)),_the_line); /*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ /*]*/ _nb=1; while (!((_nb)==(_c))) { /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_the_line)))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')) { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\11'; putc(b1,((FILE*)(stderr))); }/*]*/ } else { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\40'; putc(b1,((FILE*)(stderr))); }/*]*/ } /*FI*/_nb=(_nb)+(1); } r441put_string(((T441*)(oBC1std_error)),((T0*)ms8_627)); } else { r441put_string(((T441*)(oBC1std_error)),((T0*)ms9_627)); r441put_string(((T441*)(oBC1std_error)),_n); r441put_string(((T441*)(oBC1std_error)),((T0*)ms10_627)); } /*FI*/} T0* r627base_class(T627* C){ T0* R=NULL; /*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) { /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/))))->_count/*4*/)==(0)/*)*/) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_627); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r604is_used((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)) { R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/))); } else { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_627); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} else { R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/))); } /*FI*/return R; } /*No:POSITION.fatal_error*/ /*No:POSITION.mem_line_column*/ /*No:POSITION.base_class_name*/ void r627set_line_column(T627* C,int a1,int a2){ C->_mem_line_column=((a1)*(1000))+(a2); } /*No:BOOLEAN_REF.item*/