home *** CD-ROM | disk | FTP | other *** search
- /*
- -- 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"
- T0* r534to_runnable(T534* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T534*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r534to_runnable_0(C,a1);
- _a=r431to_runnable(((T431*)((((T534*)C))->_arguments/*24*/)),a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r534error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)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*)((((T534*)C))->_arguments/*24*/)),(((T534*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T534*)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*)((((T534*)C))->_arguments/*24*/)))/*)*/));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r534twin(C);
- /*[IRF3.3set_current_type*/((((T534*)(((T534*)R))))->_current_type)=(NULL);
- /*]*/
- R=r534to_runnable(((T534*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_FREEOP.result_type*/
- /*No:CALL_INFIX_FREEOP.is_result*/
- T0* r534twin(T534* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T534*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_FREEOP.set_current_type*/
- /*No:CALL_INFIX_FREEOP.is_static*/
- void r534standard_compile_target_to_jvm(T534* C){
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T534* C1=C;
- r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
- }/*]*/
- /*]*/
- X291jvm_check_class_invariant((((T534*)C))->_result_type/*20*/);
- }
- int r534compile_to_jvm_into(T534* C,T0* a1){
- int R=0;
- R=r534standard_compile_to_jvm_into(C,a1);
- return R;
- }
- /*No:CALL_INFIX_FREEOP.compile_target_to_jvm*/
- int r534call_is_static(T534* C){
- int R=0;
- T0* _rf=NULL;
- T0* _running=NULL;
- T0* _rc=NULL;
- /*IF*/if (((((T534*)C))->_run_feature/*16*/)!=((void*)(NULL))) {
- _rc=X496run_class((((T534*)C))->_run_feature/*16*/);
- /*IF*/if ((_rc)!=((void*)(NULL))) {
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) {
- _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T534*)C))->_run_feature/*16*/);
- /*IF*/if (X496is_static(_rf)) {
- C->_static_value_mem=X496static_value_mem(_rf);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_FREEOP.fz_07*/
- /*No:CALL_INFIX_FREEOP.can_be_dropped*/
- /*No:CALL_INFIX_FREEOP.current_type*/
- /*No:CALL_INFIX_FREEOP.jvm_assign*/
- /*No:CALL_INFIX_FREEOP.static_value_mem*/
- void r534make_call_1(T534* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_FREEOP.is_manifest_string*/
- /*No:CALL_INFIX_FREEOP.is_void*/
- int r534jvm_standard_branch_if_false(T534* C){
- int R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T534* C1=C;
- r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
- }/*]*/
- /*]*/
- R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:CALL_INFIX_FREEOP.compile_to_jvm*/
- void r534to_runnable_0(T534* C,T0* a1){
- C->_current_type=a1;
- r534cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T534*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T534*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T534*)C))->_run_feature/*16*/));
- r534error((((T454*)((T454*)((((T534*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T534*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T534*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_FREEOP.is_pre_computable*/
- int r534jvm_standard_branch_if_true(T534* C){
- int R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T534* C1=C;
- r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
- }/*]*/
- /*]*/
- R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
- return R;
- }
- int r534use_current(T534* C){
- int R=0;
- /*IF*/{/*AT*/R=r431use_current(((T431*)((((T534*)C))->_arguments/*24*/)));
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T534*)C))->_target/*12*/)) {
- R=X496use_current((((T534*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T534*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r534cpc_to_runnable(T534* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T534*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T534*)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((((T534*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T534*)C))->_target/*12*/,(((T534*)C))->_run_feature/*16*/);
- }
- void r534error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_FREEOP.isa_dca_inline_argument*/
- /*No:CALL_INFIX_FREEOP.fatal_error*/
- /*No:CALL_INFIX_FREEOP.fz_bad_argument*/
- /*No:CALL_INFIX_FREEOP.arg1*/
- int r534standard_compile_to_jvm_into(T534* C,T0* a1){
- int R=0;
- /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T534* C1=C;
- r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
- }/*]*/
- /*]*/
- R=X291jvm_convert_to(X291run_type((((T534*)C))->_result_type/*20*/),a1);
- return R;
- }
- /*No:CALL_INFIX_FREEOP.call_proc_call_c2jvm*/
- void r534afd_check(T534* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T534*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T534*)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((((T534*)C))->_target/*12*/,(((T534*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T534*)C))->_target/*12*/);
- /*IF*/{/*AT*/r431afd_check(((T431*)((((T534*)C))->_arguments/*24*/)));
- }
- /*FI*/}
-
-