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" int r90standard_compile_to_jvm_into(T90* C,T0* a1){ int R=0; /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T90* C1=C; r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1); }/*]*/ /*]*/ R=X291jvm_convert_to(X291run_type((((T90*)C))->_result_type/*20*/),a1); return R; } /*No:CALL_INFIX_IMPLIES.call_proc_call_c2jvm*/ void r90afd_check(T90* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T90*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T90*)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((((T90*)C))->_target/*12*/,(((T90*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T90*)C))->_target/*12*/); /*IF*/{/*AT*/r431afd_check(((T431*)((((T90*)C))->_arguments/*24*/))); } /*FI*/} T0* r715add_comment(T715* 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 r715to_integer(T715* C){ int R=0; r715error((((T715*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r715is_a(T715* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T715*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T715*)C))->_start_position/*16*/); r715error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_RESULT.is_current*/ int r715jvm_branch_if_false(T715* C){ int R=0; r715compile_to_jvm(C); R=r256opcode_ifeq(((T256*)(oBC364code_attribute))); return R; } /*No:E_RESULT.static_value*/ void r715make(T715* C,T0* a1){ C->_to_string=((T0*)ms146_473); C->_start_position=a1; } /*No:E_RESULT.to_string*/ void r715compile_to_jvm_assignment(T715* C,T0* a1){ int _jvm_offset=0; int _space=0; _jvm_offset=r228result_offset(((T228*)(oBC364jvm))); _space=X662compile_to_jvm_into((((T629*)((T629*)a1)))->_right_side/*12*/,X291run_type((((T715*)C))->_result_type/*20*/)); X291jvm_write_local(X291run_type((((T715*)C))->_result_type/*20*/),_jvm_offset); } /*No:E_RESULT.fz_iinaiv*/ int r715jvm_branch_if_true(T715* C){ int R=0; r715compile_to_jvm(C); R=r256opcode_ifne(((T256*)(oBC364code_attribute))); return R; } /*No:E_RESULT.start_position*/ /*No:E_RESULT.compile_to_jvm_old*/ T0* r715to_runnable(T715* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T715*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=/*X496*/((T0*)(((T832*)((T832*)(r604top_rf(((T604*)(oBC364small_eiffel)))))))->_result_type/*24*/); R=(T0*)C; } else { {T715*n=malloc(sizeof(*n)); *n=M715; r715make(n,(((T715*)C))->_start_position/*16*/); R=(T0*)n; } R=r715to_runnable(((T715*)R),a1); } /*FI*/return R; } /*No:E_RESULT.result_type*/ /*No:E_RESULT.is_result*/ /*No:E_RESULT.is_static*/ void r715standard_compile_target_to_jvm(T715* C){ r715compile_to_jvm(C); X291jvm_check_class_invariant((((T715*)C))->_result_type/*20*/); } int r715compile_to_jvm_into(T715* C,T0* a1){ int R=0; R=r715standard_compile_to_jvm_into(C,a1); return R; } /*No:E_RESULT.compile_target_to_jvm*/ /*No:E_RESULT.us_result*/ /*No:E_RESULT.can_be_dropped*/ /*No:E_RESULT.current_type*/ void r715jvm_assign(T715* C){ int _jvm_offset=0; _jvm_offset=r228result_offset(((T228*)(oBC364jvm))); X291jvm_write_local(X291run_type((((T715*)C))->_result_type/*20*/),_jvm_offset); } /*No:E_RESULT.static_value_mem*/ /*No:E_RESULT.is_manifest_string*/ /*No:E_RESULT.is_void*/ void r715compile_to_jvm(T715* C){ int _jvm_offset=0; _jvm_offset=r228result_offset(((T228*)(oBC364jvm))); X291jvm_push_local(X291run_type((((T715*)C))->_result_type/*20*/),_jvm_offset); } /*No:E_RESULT.is_pre_computable*/ /*No:E_RESULT.use_current*/ void r715error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_RESULT.isa_dca_inline_argument*/ int r715standard_compile_to_jvm_into(T715* C,T0* a1){ int R=0; r715compile_to_jvm(C); R=X291jvm_convert_to(X291run_type((((T715*)C))->_result_type/*20*/),a1); return R; } /*No:E_RESULT.afd_check*/ /*No:CREATION_CLAUSE_LIST.make*/ T0* r391start_position(T391* C){ T0* R=NULL; R=(((T583*)((T583*)(r235first(((T235*)((((T391*)C))->_list/*0*/)))))))->_start_position/*0*/; return R; } void r391check_expanded_with(T391* C,T0* a1){ /*IF*/if (((((T235*)((T235*)((((T391*)C))->_list/*0*/))))->_upper/*8*/)>(1)) { r683add_type(a1,((T0*)ms65_470)); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T391*)C))->_list/*0*/)),1)))))->_start_position/*0*/); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T391*)C))->_list/*0*/)),2)))))->_start_position/*0*/); /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ /*]*/ } /*FI*/r583check_expanded_with(((T583*)(r235item(((T235*)((((T391*)C))->_list/*0*/)),1))),a1); } T0* r391get_clause(T391* C,T0* a1){ T0* R=NULL; int _i=0; _i=1; while (!(((_i)>((((T235*)((T235*)((((T391*)C))->_list/*0*/))))->_upper/*8*/))||(r583has(((T583*)(r235item(((T235*)((((T391*)C))->_list/*0*/)),_i))),a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)<=((((T235*)((T235*)((((T391*)C))->_list/*0*/))))->_upper/*8*/)) { R=r235item(((T235*)((((T391*)C))->_list/*0*/)),_i); } /*FI*/return R; } /*No:CREATION_CLAUSE_LIST.list*/ T0* r391expanded_initializer(T391* C,T0* a1){ T0* R=NULL; R=r583expanded_initializer(((T583*)(r235item(((T235*)((((T391*)C))->_list/*0*/)),1))),a1); return R; } /*No:CREATION_CLAUSE_LIST.fz_cbe*/ /*No:CREATION_CLAUSE_LIST.fatal_error_vtec_2*/ /*No:CREATION_CLAUSE_LIST.add_last*/ /*No:CREATION_CLAUSE_LIST.fatal_error*/ /*No:RUN_REQUIRE.make*/ /*No:RUN_REQUIRE.list*/ void r567compile_to_jvm(T567* C){ T0* _ca=NULL; int _i=0; /*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { _ca=oBC364code_attribute; /*IF*/if (((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)==(1)) { r343compile_to_jvm(((T343*)(r522first(((T522*)((((T567*)C))->_list/*0*/))))),1); } else { /*[IRF3.3clear*/((((T226*)(((T226*)(oBC567points1)))))->_upper)=(-(1)); /*]*/ _i=1; while (!((_i)>(((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)-(1)))) { r343compile_to_jvm(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i))),0); r226add_last(((T226*)(oBC567points1)),r256opcode_ifne(((T256*)_ca))); _i=(_i)+(1); } r343compile_to_jvm(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i))),1); r256resolve_with(oBC567points1); } /*FI*/} /*FI*/} int r567use_current(T567* C){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)))) { R=r343use_current(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i)))); _i=(_i)+(1); } return R; } void r567afd_check(T567* C){ int _i=0; _i=(((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { r343afd_check(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i)))); _i=(_i)-(1); } } T0*oBC567points1=NULL;