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"
- void r390make(T390* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_writable=a2;
- C->_call=a3;
- }
- T0* r390run_args(T390* C){
- T0* R=NULL;
- R=X173arguments((((T390*)C))->_call/*20*/);
- return R;
- }
- /*No:CREATION_CALL_3.us_string*/
- int r390arg_count(T390* C){
- int R=0;
- /*IF*/if (((((T390*)C))->_call/*20*/)!=((void*)(NULL))) {
- R=X173arg_count((((T390*)C))->_call/*20*/);
- }
- /*FI*/return R;
- }
- /*No:CREATION_CALL_3.call*/
- /*No:CREATION_CALL_3.run_feature*/
- /*No:CREATION_CALL_3.start_position*/
- /*No:CREATION_CALL_3.us_blank*/
- T0* r390to_runnable(T390* C,T0* a1){
- T0* R=NULL;
- T0* _t=NULL;
- /*IF*/if (((((T390*)C))->_run_compound/*4*/)==((void*)(NULL))) {
- r390check_writable(C,a1);
- _t=X662result_type((((T390*)C))->_writable/*12*/);
- r390check_created_type(C,_t);
- r390check_creation_clause(C,_t);
- R=(T0*)C;
- }
- else {
- {T390*n=malloc(sizeof(*n));
- *n=M390;
- r390make(n,(((T390*)C))->_start_position/*8*/,(((T390*)C))->_writable/*12*/,(((T390*)C))->_call/*20*/);
- R=(T0*)n;
- }
- R=r390to_runnable(((T390*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CREATION_CALL_3.us_std_file_read*/
- /*No:CREATION_CALL_3.fz_03*/
- /*No:CREATION_CALL_3.us_make*/
- T0*oBC394make_precomputable=NULL;
- T0* r390current_type(T390* C){
- T0* R=NULL;
- /*IF*/if (((((T390*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
- R=(((T592*)((T592*)((((T390*)C))->_run_compound/*4*/))))->_current_type/*4*/;
- }
- /*FI*/return R;
- }
- /*No:CREATION_CALL_3.fz_09*/
- /*No:CREATION_CALL_3.run_compound*/
- /*No:CREATION_CALL_3.compile_to_jvm0*/
- void r390compile_to_jvm(T390* C){
- T0* _t=NULL;
- T0* _w=NULL;
- _w=(((T390*)C))->_writable/*12*/;
- _t=X291run_type(X662result_type(_w));
- /*[IRF3.6compile_to_jvm0*/{T0* b1=_t;
- r355jvm_push_default(((T355*)(X291run_class(b1))));
- }/*]*/
- r228inside_new(((T228*)(oBC364jvm)),(((T390*)C))->_run_feature/*16*/,(((T390*)C))->_call/*20*/);
- X291jvm_check_class_invariant(_t);
- X662jvm_assign(_w);
- }
- /*No:CREATION_CALL_3.fz_dot*/
- int r390is_pre_computable(T390* C){
- int R=0;
- T0* _rfctbcn=NULL;
- T0* _rfn=NULL;
- T0* _rfct=NULL;
- /*IF*/if (X662is_result((((T390*)C))->_writable/*12*/)) {
- /*IF*/if ((r390run_args(C))==((void*)(NULL))) {
- R=1;
- }
- else {
- R=r431is_pre_computable(((T431*)(r390run_args(C))));
- }
- /*FI*//*IF*/if (R) {
- /*IF*/if (X496is_pre_computable((((T390*)C))->_run_feature/*16*/)) {
- R=1;
- }
- else {
- _rfct=/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_current_type/*4*/);
- _rfctbcn=(((T451*)((T451*)((((T605*)((T605*)(X291base_class(_rfct)))))->_base_class_name/*24*/))))->_to_string/*0*/;
- _rfn=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_name/*16*/));
- /*IF*/if ((((T0*)ms89_473))==((void*)(_rfn))) {
- R=r52has(((T52*)(oBC394make_precomputable)),_rfctbcn);
- }
- else if ((((T0*)ms51_473))==((void*)(_rfn))) {
- R=(((T0*)ms25_473))==((void*)(_rfctbcn));
- }
- else if ((((T0*)ms141_473))==((void*)(_rfn))) {
- /*IF*/if ((((T0*)ms2_473))==((void*)(_rfctbcn))) {
- R=1;
- }
- else if ((((T0*)ms13_473))==((void*)(_rfctbcn))) {
- R=1;
- }
- else if ((((T0*)ms10_473))==((void*)(_rfctbcn))) {
- R=1;
- }
- else {
- R=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- int r390use_current(T390* C){
- int R=0;
- /*IF*/if ((r390run_args(C))!=((void*)(NULL))) {
- R=r431use_current(((T431*)(r390run_args(C))));
- }
- /*FI*/R=(R)||(X662use_current((((T390*)C))->_writable/*12*/));
- return R;
- }
- void r390check_writable(T390* C,T0* a1){
- T0* _w=NULL;
- C->_run_compound=a1;
- _w=X662to_runnable((((T390*)C))->_writable/*12*/,r390current_type(C));
- /*IF*/if ((_w)==((void*)(NULL))) {
- r683add_position(X662start_position((((T390*)C))->_writable/*12*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- else {
- C->_writable=_w;
- }
- /*FI*/}
- void r390error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CREATION_CALL_3.fatal_error*/
- /*No:CREATION_CALL_3.end_mark_comment*/
- /*No:CREATION_CALL_3.us_fixed_array*/
- void r390afd_check(T390* C){
- /*IF*/if ((r390arg_count(C))>(0)) {
- r431afd_check(((T431*)(r390run_args(C))));
- }
- /*FI*/}
- void r699add_into(T699* C,T0* a1){
- T0* _a=NULL;
- int _i=0;
- /*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) {
- _a=r608item(((T608*)((((T699*)C))->_list/*8*/)),_i);
- /*IF*/if (!(r608fast_has(((T608*)a1),_a))) {
- r608add_last(((T608*)a1),_a);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void r699from_runnable(T699* C,T0* a1){
- C->_list=a1;
- C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
- }
- void r699make(T699* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- /*No:CLASS_INVARIANT.start_position*/
- /*No:CLASS_INVARIANT.list*/
- /*No:CLASS_INVARIANT.current_type*/
- /*No:CLASS_INVARIANT.header_comment*/
- void r699compile_to_jvm(T699* C,int a1){
- T0* _ca=NULL;
- int _i=0;
- int _point_true=0;
- /*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) {
- _ca=oBC364code_attribute;
- r256check_opening(((T256*)_ca));
- /*IF*/if (a1) {
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),_i))),1);
- _i=(_i)+(1);
- }
- }
- else {
- /*[IRF3.3clear*/((((T226*)(((T226*)(oBC596points_false)))))->_upper)=(-(1));
- /*]*/
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) {
- r348compile_to_jvm(((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),_i))),0);
- r226add_last(((T226*)(oBC596points_false)),r256opcode_ifeq(((T256*)_ca)));
- _i=(_i)+(1);
- }
- /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
- /*]*/
- _point_true=r256opcode_goto(((T256*)_ca));
- r256resolve_with(oBC596points_false);
- /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
- /*]*/
- r256resolve_u2_branch(_point_true);
- }
- /*FI*/r256check_closing(((T256*)_ca));
- }
- /*FI*/}
- /*No:RUN_FEATURE_7.arguments*/
- /*No:RUN_FEATURE_7.ucs_true*/
- /*No:RUN_FEATURE_7.us_copy*/
- void r906routine_mapping_jvm(T906* C){
- int _stack_level=0;
- int _idx=0;
- T0* _ct=NULL;
- T0* _rt=NULL;
- _ct=(((T906*)C))->_current_type/*4*/;
- r228push_target_as_target(((T228*)(oBC364jvm)));
- _stack_level=-((1)+(r228push_arguments(((T228*)(oBC364jvm)))));
- _rt=(((T906*)C))->_result_type/*24*/;
- /*IF*/if ((_rt)!=((void*)(NULL))) {
- _stack_level=(_stack_level)+(X291jvm_stack_space(_rt));
- }
- /*FI*/_idx=r95idx_methodref(((T95*)(oBC364constant_pool)),(T0*)C);
- r355jvm_invoke(((T355*)(X291run_class(_ct))),_idx,_stack_level);
- }
- /*No:RUN_FEATURE_7.actuals_clients*/
- T0* r906jvm_descriptor(T906* C){
- T0* R=NULL;
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0);
- /*]*/
- /*[IRF3.4update_tmp_jvm_descriptor*/r906routine_update_tmp_jvm_descriptor(C);
- /*]*/
- R=oBC496tmp_jvm_descriptor;
- return R;
- }
- void r906method_info_start(T906* C){
- int _flags=0;
- _flags=X291jvm_method_flags((((T906*)C))->_current_type/*4*/);
- r506start(((T506*)(oBC364method_info)),_flags,X776to_key((((T906*)C))->_name/*16*/),r906jvm_descriptor(C));
- }
- /*No:RUN_FEATURE_7.ucs_in_computation*/
- void r906routine_update_tmp_jvm_descriptor(T906* C){
- T0* _rt=NULL;
- T0* _ct=NULL;
- r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50');
- _ct=(((T906*)C))->_current_type/*4*/;
- X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor);
- /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- r31jvm_descriptor_in(((T31*)((((T906*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor);
- }
- /*FI*/_rt=(((T906*)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 r906make(T906* C,T0* a1,T0* a2,T0* a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- r199put(((T199*)((((T355*)((T355*)(r906run_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);
- r906initialize(C);
- r604pop(((T604*)(oBC364small_eiffel)));
- }
- void r906std_compute_use_current(T906* C){
- /*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- /*IF*/if (r567use_current(((T567*)((((T906*)C))->_require_assertion/*28*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- /*IF*/if (r592use_current(((T592*)((((T906*)C))->_routine_body/*32*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- /*IF*/if (r633use_current(((T633*)((((T906*)C))->_ensure_assertion/*36*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
- C->_use_current_state=1003;
- }
- /*FI*/}
- /*No:RUN_FEATURE_7.name*/
- int r906arg_count(T906* C){
- int R=0;
- /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
- }
- /*FI*/return R;
- }
- void r906routine_afd_check(T906* C){
- /*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- r567afd_check(((T567*)((((T906*)C))->_require_assertion/*28*/)));
- }
- /*FI*//*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- r592afd_check(((T592*)((((T906*)C))->_routine_body/*32*/)));
- }
- /*FI*//*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633afd_check(((T633*)((((T906*)C))->_ensure_assertion/*36*/)));
- }
- /*FI*/}
- /*No:RUN_FEATURE_7.local_vars*/
- void r906jvm_opening(T906* C){
- r906method_info_start(C);
- r906jvm_define_opening(C);
- }
- /*No:RUN_FEATURE_7.base_feature*/
- /*No:RUN_FEATURE_7.start_position*/
- int r906jvm_max_locals(T906* C){
- int R=0;
- R=X291jvm_stack_space((((T906*)C))->_current_type/*4*/);
- /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- R=(R)+(r31jvm_stack_space(((T31*)((((T906*)C))->_arguments/*20*/))));
- }
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*//*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) {
- R=(R)+(X291jvm_stack_space((((T906*)C))->_result_type/*24*/));
- }
- /*FI*/return R;
- }
- int r906jvm_result_offset(T906* C){
- int R=0;
- R=X291jvm_stack_space((((T906*)C))->_current_type/*4*/);
- /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- R=(R)+(r31jvm_stack_space(((T31*)((((T906*)C))->_arguments/*20*/))));
- }
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*/return R;
- }
- /*No:RUN_FEATURE_7.ensure_assertion*/
- int r906is_exported_in(T906* C,T0* a1){
- int R=0;
- R=r636gives_permission_to(((T636*)(r906clients(C))),a1);
- return R;
- }
- void r906jvm_define_opening(T906* C){
- T0* _t=NULL;
- /*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) {
- _t=X291run_type((((T906*)C))->_result_type/*24*/);
- X291jvm_initialize_local(_t,r906jvm_result_offset(C));
- }
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633compile_to_jvm_old(((T633*)((((T906*)C))->_ensure_assertion/*36*/)));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- r567compile_to_jvm(((T567*)((((T906*)C))->_require_assertion/*28*/)));
- }
- /*FI*/}
- void r906compute_use_current(T906* C){
- /*IF*/if (r883use_current(((T883*)((((T906*)C))->_base_feature/*44*/)))) {
- C->_use_current_state=1004;
- }
- else {
- r906std_compute_use_current(C);
- }
- /*FI*/}
- /*No:RUN_FEATURE_7.result_type*/
- void r906jvm_field_or_method(T906* C){
- T0* _bcn=NULL;
- T0* _native=NULL;
- _native=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_native/*48*/;
- _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/;
- X845jvm_add_method_for_procedure(_native,(T0*)C,_bcn,X776to_string((((T906*)C))->_name/*16*/));
- }
- int r906jvm_argument_offset(T906* C,T0* a1){
- int R=0;
- R=X291jvm_stack_space((((T906*)C))->_current_type/*4*/);
- R=(R)+(r31jvm_offset_of(((T31*)((((T906*)C))->_arguments/*20*/)),a1));
- return R;
- }
- /*No:RUN_FEATURE_7.is_static*/
- void r906add_client(T906* C,T0* a1){
- int _i=0;
- /*IF*/if (((((T906*)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*)((((T906*)C))->_actuals_clients/*12*/)),a1);
- }
- else {
- _i=r187fast_index_of(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1);
- /*IF*/if ((_i)>((((T187*)((T187*)((((T906*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
- r187add_last(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1);
- }
- /*FI*/}
- /*FI*/r355add_client(((T355*)(r906run_class(C))),a1);
- }
- /*No:RUN_FEATURE_7.require_assertion*/
- /*No:RUN_FEATURE_7.use_current_state*/
- /*No:RUN_FEATURE_7.can_be_dropped*/
- void r906jvm_define_closing(T906* C){
- /*IF*/if (r906use_current(C)) {
- }
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633compile_to_jvm(((T633*)((((T906*)C))->_ensure_assertion/*36*/)),1);
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) {
- X291jvm_push_local((((T906*)C))->_result_type/*24*/,r906jvm_result_offset(C));
- }
- /*FI*/}
- void r906mapping_jvm(T906* C){
- T0* _bcn=NULL;
- T0* _native=NULL;
- T0* _bf=NULL;
- _bf=(((T906*)C))->_base_feature/*44*/;
- _native=(((T883*)((T883*)_bf)))->_native/*48*/;
- _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/;
- X845jvm_mapping_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
- }
- /*No:RUN_FEATURE_7.current_type*/
- T0* r906run_class(T906* C){
- T0* R=NULL;
- R=X291run_class((((T906*)C))->_current_type/*4*/);
- return R;
- }
- /*No:RUN_FEATURE_7.static_value_mem*/
- /*No:RUN_FEATURE_7.fz_19*/
- /*No:RUN_FEATURE_7.ucs_not_computed*/
- /*No:RUN_FEATURE_7.routine_body*/
- void r906fall_down(T906* 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((((T906*)C))->_current_type/*4*/);
- _running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
- /*IF*/if ((_running)!=((void*)(NULL))) {
- _current_bc=X291base_class((((T906*)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,(((T906*)C))->_name/*16*/);
- _rf=r355get_feature(((T355*)_sub_rc),_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- /*No:RUN_FEATURE_7.ucs_false*/
- /*No:RUN_FEATURE_7.is_pre_computable*/
- T0* r906clients(T906* C){
- T0* R=NULL;
- T0* _bfbc=NULL;
- T0* _bc=NULL;
- /*IF*/if (((((T906*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
- _bc=X291base_class((((T906*)C))->_current_type/*4*/);
- _bfbc=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/;
- /*IF*/if ((_bc)==((void*)(_bfbc))) {
- R=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_clients/*20*/;
- }
- else {
- R=r605clients_for(((T605*)_bc),(((T906*)C))->_name/*16*/);
- }
- /*FI*/C->_clients_memory=R;
- }
- else {
- R=(((T906*)C))->_clients_memory/*8*/;
- }
- /*FI*/return R;
- }
- int r906use_current(T906* C){
- int R=0;
- {int z1=(((T906*)C))->_use_current_state/*40*/;
-
- if((1004==z1)){
- R=1;
- }
- else
- if((1003==z1)){
- }
- else
- if((1005==z1)){
- C->_use_current_state=1006;
- r906compute_use_current(C);
- R=r906use_current(C);
- }
- else {R=1;
- }}
- return R;
- }
- void r906jvm_define(T906* C){
- T0* _bcn=NULL;
- T0* _native=NULL;
- T0* _bf=NULL;
- _bf=(((T906*)C))->_base_feature/*44*/;
- _native=(((T883*)((T883*)_bf)))->_native/*48*/;
- _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/;
- X845jvm_define_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
- }
- int r906jvm_local_variable_offset(T906* C,T0* a1){
- int R=0;
- R=X291jvm_stack_space((((T906*)C))->_current_type/*4*/);
- /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- R=(R)+(r31jvm_stack_space(((T31*)((((T906*)C))->_arguments/*20*/))));
- }
- /*FI*/R=(R)+(r620jvm_offset_of(((T620*)(/*(IRF4.1local_vars*/NULL/*)*/)),a1));
- return R;
- }
- /*No:RUN_FEATURE_7.clients_memory*/
- void r906initialize(T906* C){
- C->_arguments=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_arguments/*24*/;
- /*IF*/if ((((((T906*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
- C->_arguments=r31to_runnable(((T31*)((((T906*)C))->_arguments/*20*/)),(((T906*)C))->_current_type/*4*/);
- }
- /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T0*)ms64_473))==((void*)(X776to_string((((T906*)C))->_name/*16*/))))&&(X291is_expanded((((T906*)C))->_current_type/*4*/))) {
- }
- else {
- C->_require_assertion=r883run_require((T0*)C);
- }
- /*FI*/}
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- C->_ensure_assertion=r883run_ensure((T0*)C);
- }
- /*FI*/}
- void r906jvm_closing(T906* C){
- r906jvm_define_closing(C);
- /*[IRF3.2opcode_return*//*[IRF3.6add_u1*/{int b1=177;
- r226add_last(((T226*)(oBC256code)),b1);
- }/*]*/
- /*]*/
- r506finish(((T506*)(oBC364method_info)));
- }
- /*No:RUN_FEATURE_7.afd_check*/
- /*No:RUN_FEATURE_7.update_tmp_jvm_descriptor*/
- T0* r349to_runnable_integer(T349* C,T0* a1){
- T0* R=NULL;
- T0* _e=NULL;
- /*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) {
- C->_e_when=a1;
- _e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
- /*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_integer(X662result_type(_e)))) {
- C->_expression=_e;
- C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/);
- r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C);
- }
- else {
- r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms60_470));
- }
- /*FI*/R=(T0*)C;
- }
- else {
- {T349*n=malloc(sizeof(*n));
- *n=M349;
- /*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/);
- /*]*/
- R=(T0*)n;
- }
- R=r349to_runnable_integer(((T349*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:WHEN_ITEM_1.make*/
- /*No:WHEN_ITEM_1.expression*/
- T0* r349start_position(T349* C){
- T0* R=NULL;
- R=X662start_position((((T349*)C))->_expression/*8*/);
- return R;
- }
- /*No:WHEN_ITEM_1.clear_e_when*/
- /*No:WHEN_ITEM_1.expression_value*/
- /*No:WHEN_ITEM_1.fz_bcv*/
- T0* r349twin(T349* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T349*)R)=*C;
- return R;
- }
- /*No:WHEN_ITEM_1.current_type*/
- /*No:WHEN_ITEM_1.fz_biv*/
- void r349error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r349to_runnable_character(T349* C,T0* a1){
- T0* R=NULL;
- T0* _e=NULL;
- /*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) {
- C->_e_when=a1;
- _e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
- /*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_character(X662result_type(_e)))) {
- C->_expression=_e;
- C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/);
- r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C);
- }
- else {
- r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms58_470));
- }
- /*FI*/R=(T0*)C;
- }
- else {
- {T349*n=malloc(sizeof(*n));
- *n=M349;
- /*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/);
- /*]*/
- R=(T0*)n;
- }
- R=r349to_runnable_character(((T349*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:WHEN_ITEM_1.e_when*/
- /*No:TYPE_NATIVE_ARRAY.us_put*/
- int r933id(T933* C){
- int R=0;
- R=(((T355*)((T355*)(r933run_class(C)))))->_id/*4*/;
- return R;
- }
- void r933jvm_target_descriptor_in(T933* C,T0* a1){
- r7extend(((T7*)a1),'\133');
- X291jvm_descriptor_in(r701item(((T701*)((((T933*)C))->_generic_list/*8*/)),1),a1);
- }
- /*No:TYPE_NATIVE_ARRAY.jvm_if_x_eq*/
- /*No:TYPE_NATIVE_ARRAY.has_creation*/
- /*No:TYPE_NATIVE_ARRAY.is_anchored*/
- /*No:TYPE_NATIVE_ARRAY.is_array*/
- int r933is_a(T933* C,T0* a1){
- int R=0;
- R=(r933run_time_mark(C))==((void*)(X291run_time_mark(a1)));
- /*IF*/if (!(R)) {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- /*FI*/return R;
- }
- T0*oBC933tmp_str=NULL;
- /*No:TYPE_NATIVE_ARRAY.jvm_to_reference*/
- /*No:TYPE_NATIVE_ARRAY.is_pointer*/
- /*No:TYPE_NATIVE_ARRAY.run_type*/
- /*No:TYPE_NATIVE_ARRAY.is_dummy_expanded*/
- int r933jvm_push_default(void){
- int R=0;
- /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1);
- /*]*/
- R=1;
- return R;
- }
- /*No:TYPE_NATIVE_ARRAY.is_string*/
- /*No:TYPE_NATIVE_ARRAY.is_like_feature*/
- /*No:TYPE_NATIVE_ARRAY.is_like_current*/
- void r933make(T933* C,T0* a1,T0* a2){
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms18_473),a1);
- C->_base_class_name=(T0*)n;
- }
- C->_generic_list=se_ma701(1,a2);
- r7copy(((T7*)(oBC933tmp_str)),((T0*)ms18_473));
- r7extend(((T7*)(oBC933tmp_str)),'\133');
- r7append(((T7*)(oBC933tmp_str)),X291written_mark(a2));
- r7extend(((T7*)(oBC933tmp_str)),'\135');
- C->_written_mark=r902item(oBC933tmp_str);
- }
- /*No:TYPE_NATIVE_ARRAY.nb_errors*/
- /*No:TYPE_NATIVE_ARRAY.us_item*/
- int fBC364type_any=0;
- T0*oBC364type_any=NULL;
- T0* r933type_any(void){
- if (fBC364type_any==0){
- T0* R=NULL;
- fBC364type_any=1;
- {T669*n=malloc(sizeof(*n));
- *n=M669;
- r669make(n,NULL);
- R=(T0*)n;
- }
- oBC364type_any=R;}
- return oBC364type_any;}
- /*No:TYPE_NATIVE_ARRAY.jvm_return_code*/
- /*No:TYPE_NATIVE_ARRAY.jvm_xnewarray*/
- void r933jvm_descriptor_in(T933* C,T0* a1){
- r7extend(((T7*)a1),'\133');
- X291jvm_descriptor_in(r701item(((T701*)((((T933*)C))->_generic_list/*8*/)),1),a1);
- }
- /*No:TYPE_NATIVE_ARRAY.start_position*/
- /*No:TYPE_NATIVE_ARRAY.fz_inako*/
- /*No:TYPE_NATIVE_ARRAY.is_user_expanded*/
- /*No:TYPE_NATIVE_ARRAY.is_character*/
- /*No:TYPE_NATIVE_ARRAY.written_mark*/
- T0* r933to_runnable(T933* C,T0* a1){
- T0* R=NULL;
- T0* _rc=NULL;
- T0* _rt=NULL;
- T0* _elt2=NULL;
- T0* _elt1=NULL;
- /*IF*/if (((((T933*)C))->_run_type/*16*/)==((void*)(C))) {
- R=(T0*)C;
- }
- else {
- _elt1=r701item(((T701*)((((T933*)C))->_generic_list/*8*/)),1);
- _elt2=X291to_runnable(_elt1,a1);
- /*IF*/if (((_elt2)==((void*)(NULL)))||(!(X291is_run_type(_elt2)))) {
- /*IF*/if ((_elt2)!=((void*)(NULL))) {
- r683add_position(X291start_position(_elt2));
- }
- /*FI*/r933error(X291start_position(_elt1),((T0*)ms59_470));
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _elt2=X291run_type(_elt2);
- /*IF*/if (((((T933*)C))->_run_type/*16*/)==((void*)(NULL))) {
- R=(T0*)C;
- /*IF*/if ((_elt2)==((void*)(_elt1))) {
- C->_run_type=(T0*)C;
- r933load_basic_features(C);
- }
- else {
- {T933*n=malloc(sizeof(*n));
- *n=M933;
- r933make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T933*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
- C->_run_type=(T0*)n;
- }
- r933load_basic_features(((T933*)((((T933*)C))->_run_type/*16*/)));
- }
- /*FI*/}
- else {
- R=r933twin(C);
- {T933*n=malloc(sizeof(*n));
- *n=M933;
- r933make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T933*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
- _rt=(T0*)n;
- }
- /*[IRF3.3set_run_type*/((((T933*)(((T933*)R))))->_run_type)=(_rt);
- /*]*/
- r933load_basic_features(((T933*)_rt));
- }
- /*FI*/}
- /*FI*/}
- /*FI*/_rc=r933run_class(((T933*)R));
- r355set_at_run_time(((T355*)_rc));
- return R;
- }
- int r933is_run_type(T933* C){
- int R=0;
- T0* _t=NULL;
- /*IF*/if (((((T933*)C))->_run_type/*16*/)!=((void*)(NULL))) {
- R=1;
- }
- else {
- _t=r701item(((T701*)((((T933*)C))->_generic_list/*8*/)),1);
- /*IF*/if ((X291is_run_type(_t))&&((X291run_type(_t))==((void*)(_t)))) {
- C->_run_type=(T0*)C;
- r933load_basic_features(C);
- R=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:TYPE_NATIVE_ARRAY.is_formal_generic*/
- /*No:TYPE_NATIVE_ARRAY.generic_list*/
- /*No:TYPE_NATIVE_ARRAY.is_real*/
- T0* r933twin(T933* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T933*)R)=*C;
- return R;
- }
- /*No:TYPE_NATIVE_ARRAY.is_bit*/
- /*No:TYPE_NATIVE_ARRAY.jvm_check_class_invariant*/
- /*No:TYPE_NATIVE_ARRAY.jvm_xaload*/
- T0* r933smallest_ancestor(T933* C,T0* a1){
- T0* R=NULL;
- T0* _rto=NULL;
- _rto=X291run_type(a1);
- /*IF*/if (X291is_a(_rto,(((T933*)C))->_run_type/*16*/)) {
- R=_rto;
- }
- else if (r933is_a(((T933*)((((T933*)C))->_run_type/*16*/)),_rto)) {
- R=(((T933*)C))->_run_type/*16*/;
- }
- else {
- R=r933type_any();
- }
- /*FI*//*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- return R;
- }
- /*No:TYPE_NATIVE_ARRAY.set_run_type*/
- /*No:TYPE_NATIVE_ARRAY.is_boolean*/
- /*No:TYPE_NATIVE_ARRAY.is_double*/
- int r933jvm_stack_space(void){
- int R=0;
- /*IF*//*AF*//*AE*/
- R=1;
- /*FI*/return R;
- }
- T0* r933run_class(T933* C){
- T0* R=NULL;
- /*IF*/if (r933is_run_type(C)) {
- R=r604run_class((((T933*)C))->_run_type/*16*/);
- }
- /*FI*/return R;
- }
- T0* r933run_time_mark(T933* C){
- T0* R=NULL;
- /*IF*/if (r933is_run_type(C)) {
- R=(((T933*)((T933*)((((T933*)C))->_run_type/*16*/))))->_written_mark/*12*/;
- }
- /*FI*/return R;
- }
- int r933is_a_in(T933* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if (((((T933*)C))->_written_mark/*12*/)==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r933to_runnable(C,_ct);
- _t2=X291to_runnable(a1,_ct);
- /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
- R=1;
- }
- else {
- R=X291is_a(_t1,_t2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0* r933look_up_for(T933* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r933base_class(C))),a1,a2);
- return R;
- }
- /*No:TYPE_NATIVE_ARRAY.jvm_convert_to*/
- /*No:TYPE_NATIVE_ARRAY.expanded_initializer*/
- /*No:TYPE_NATIVE_ARRAY.jvm_if_x_ne*/
- /*No:TYPE_NATIVE_ARRAY.fz_dot*/
- /*No:TYPE_NATIVE_ARRAY.is_generic*/
- /*No:TYPE_NATIVE_ARRAY.fz_bga*/
- /*No:TYPE_NATIVE_ARRAY.jvm_write_local*/
- void r933jvm_initialize_local(int a1){
- /*[IRF3.4opcode_aconst_null*/r256opcode(((T256*)(oBC364code_attribute)),1,1);
- /*]*/
- /*[IRF3.6jvm_write_local*/{int b1=a1;
- r256opcode_astore(((T256*)(oBC364code_attribute)),b1);
- }/*]*/
- }
- /*No:TYPE_NATIVE_ARRAY.used_as_reference*/
- /*No:TYPE_NATIVE_ARRAY.is_reference*/
- void r933error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- void r933load_basic_features(T933* C){
- T0* _rc=NULL;
- T0* _rf=NULL;
- T0* _elt_type=NULL;
- _rc=r933run_class(C);
- r355set_at_run_time(((T355*)_rc));
- _elt_type=r701item(((T701*)((((T933*)C))->_generic_list/*8*/)),1);
- /*IF*/if (X291is_expanded(_elt_type)) {
- r355set_at_run_time(((T355*)(X291run_class(_elt_type))));
- }
- /*FI*/_rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms104_473));
- /*IF*/if ((X291expanded_initializer(_elt_type))!=((void*)(NULL))) {
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms57_473));
- }
- /*FI*/}
- T0* r933base_class(T933* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=(((T933*)C))->_base_class_name/*4*/;
- /*IF*/if ((_bcn)!=((void*)(NULL))) {
- R=r451base_class(((T451*)_bcn));
- }
- else {
- /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type((T0*)C,((T0*)ms67_470));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*FI*/return R;
- }
- /*No:TYPE_NATIVE_ARRAY.jvm_xastore*/
- /*No:TYPE_NATIVE_ARRAY.is_any*/
- /*No:TYPE_NATIVE_ARRAY.us_clear_all*/
- /*No:TYPE_NATIVE_ARRAY.jvm_method_flags*/
- /*No:TYPE_NATIVE_ARRAY.base_class_name*/
- /*No:TYPE_NATIVE_ARRAY.jvm_push_local*/
- /*No:TYPE_NATIVE_ARRAY.us_native_array*/
- /*No:TYPE_NATIVE_ARRAY.is_expanded*/
- /*No:TYPE_NATIVE_ARRAY.is_basic_eiffel_expanded*/
- /*No:TYPE_NATIVE_ARRAY.is_none*/
- /*No:TYPE_NATIVE_ARRAY.is_integer*/
- void r933make_runnable(T933* C,T0* a1,T0* a2){
- r933make(C,a1,a2);
- C->_run_type=(T0*)C;
- }
- T0* r886add_comment(T886* 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 r886to_integer(T886* C){
- int R=0;
- r886error((((T886*)C))->_start_position/*16*/,((T0*)ms69_470));
- return R;
- }
- int r886is_a(T886* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T886*)C))->_result_type/*24*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T886*)C))->_start_position/*16*/);
- r886error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:ARGUMENT_NAME2.is_current*/
- int r886jvm_branch_if_false(T886* C){
- int R=0;
- r886compile_to_jvm(C);
- R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:ARGUMENT_NAME2.static_value*/
- /*No:ARGUMENT_NAME2.to_string*/
- /*No:ARGUMENT_NAME2.compile_to_jvm_assignment*/
- /*No:ARGUMENT_NAME2.fz_iinaiv*/
- int r886jvm_branch_if_true(T886* C){
- int R=0;
- r886compile_to_jvm(C);
- R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:ARGUMENT_NAME2.set_result_type*/
- /*No:ARGUMENT_NAME2.start_position*/
- /*No:ARGUMENT_NAME2.compile_to_jvm_old*/
- T0* r886to_runnable(T886* C,T0* a1){
- T0* R=NULL;
- T0* _rt=NULL;
- T0* _rf=NULL;
- _rf=r604top_rf(((T604*)(oBC364small_eiffel)));
- _rt=r31type(((T31*)(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/))),(((T886*)C))->_rank/*20*/);
- /*IF*/if (((((T886*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- C->_result_type=_rt;
- R=(T0*)C;
- }
- else {
- {T886*n=malloc(sizeof(*n));
- *n=M886;
- r886make_runnable(n,(T0*)C,a1,_rt);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:ARGUMENT_NAME2.set_rank*/
- /*No:ARGUMENT_NAME2.rank*/
- /*No:ARGUMENT_NAME2.result_type*/
- /*No:ARGUMENT_NAME2.is_result*/
- /*No:ARGUMENT_NAME2.is_static*/
- void r886standard_compile_target_to_jvm(T886* C){
- r886compile_to_jvm(C);
- X291jvm_check_class_invariant((((T886*)C))->_result_type/*24*/);
- }
- int r886compile_to_jvm_into(T886* C,T0* a1){
- int R=0;
- R=r886standard_compile_to_jvm_into(C,a1);
- return R;
- }
- /*No:ARGUMENT_NAME2.compile_target_to_jvm*/
- /*No:ARGUMENT_NAME2.can_be_dropped*/
- /*No:ARGUMENT_NAME2.current_type*/
- /*No:ARGUMENT_NAME2.jvm_assign*/
- /*No:ARGUMENT_NAME2.static_value_mem*/
- /*No:ARGUMENT_NAME2.is_manifest_string*/
- void r886refer_to(T886* C,T0* a1,T0* a2,int a3){
- T0* _declaration_name=NULL;
- C->_start_position=a1;
- C->_rank=a3;
- _declaration_name=/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)a2)))->_flat_list/*12*/)),a3)/*)*/;
- C->_to_string=(((T873*)((T873*)_declaration_name)))->_to_string/*12*/;
- C->_result_type=(((T873*)((T873*)_declaration_name)))->_result_type/*24*/;
- }
- /*No:ARGUMENT_NAME2.is_void*/
- void r886compile_to_jvm(T886* C){
- int _jvm_offset=0;
- _jvm_offset=r228argument_offset_of(((T228*)(oBC364jvm)),(T0*)C);
- X291jvm_push_local(X291run_type((((T886*)C))->_result_type/*24*/),_jvm_offset);
- }
- /*No:ARGUMENT_NAME2.is_pre_computable*/
- /*No:ARGUMENT_NAME2.use_current*/
- void r886error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:ARGUMENT_NAME2.isa_dca_inline_argument*/
- int r886standard_compile_to_jvm_into(T886* C,T0* a1){
- int R=0;
- r886compile_to_jvm(C);
- R=X291jvm_convert_to(X291run_type((((T886*)C))->_result_type/*24*/),a1);
- return R;
- }
- /*No:ARGUMENT_NAME2.afd_check*/
- void r886make_runnable(T886* C,T0* a1,T0* a2,T0* a3){
- *((T886*)(C))=*((T886*)(a1));
- C->_current_type=a2;
- C->_result_type=a3;
- }
- T0* r446add_comment(T446* 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 r446to_integer(T446* C){
- int R=0;
- r446error((((T446*)C))->_start_position/*20*/,((T0*)ms69_470));
- return R;
- }
- /*No:SIMPLE_FEATURE_NAME.set_is_frozen*/
- int r446is_a(T446* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type(/*(IRF4.6result_type*/(((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_result_type/*24*//*)*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position((((T446*)C))->_start_position/*20*/);
- r446error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:SIMPLE_FEATURE_NAME.is_current*/
- int r446jvm_branch_if_false(T446* C){
- int R=0;
- r446compile_to_jvm(C);
- R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
- return R;
- }
- /*No:SIMPLE_FEATURE_NAME.static_value*/
- void r446make(T446* C,T0* a1,T0* a2){
- C->_to_string=r902item(a1);
- C->_start_position=a2;
- }
- /*No:SIMPLE_FEATURE_NAME.nb_errors*/
- /*No:SIMPLE_FEATURE_NAME.to_string*/
- void r446compile_to_jvm_assignment(T446* C,T0* a1){
- T0* _rt=NULL;
- T0* _rf=NULL;
- int _idx=0;
- int _space=0;
- _rf=(((T446*)C))->_run_feature_2/*24*/;
- _rt=X291run_type(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_result_type/*24*/));
- /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)(oBC364code_attribute)),42,1);
- /*]*/
- _space=X662compile_to_jvm_into((((T629*)((T629*)a1)))->_right_side/*12*/,_rt);
- _idx=r95idx_fieldref(((T95*)(oBC364constant_pool)),_rf);
- _space=-((_space)+(1));
- r256opcode_putfield(((T256*)(oBC364code_attribute)),_idx,_space);
- }
- /*No:SIMPLE_FEATURE_NAME.fz_iinaiv*/
- int r446jvm_branch_if_true(T446* C){
- int R=0;
- r446compile_to_jvm(C);
- R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
- return R;
- }
- T0* r446run_feature(T446* C,T0* a1){
- T0* R=NULL;
- R=r355get_feature(((T355*)(X291run_class(a1))),(T0*)C);
- return R;
- }
- /*No:SIMPLE_FEATURE_NAME.start_position*/
- /*No:SIMPLE_FEATURE_NAME.compile_to_jvm_old*/
- /*No:SIMPLE_FEATURE_NAME.fz_jvm_error*/
- T0* r446to_runnable(T446* C,T0* a1){
- T0* R=NULL;
- T0* _new_name=NULL;
- T0* _rf=NULL;
- T0* _wbc=NULL;
- /*IF*/if (((((T446*)C))->_current_type/*12*/)==((void*)(NULL))) {
- C->_current_type=a1;
- _wbc=r627base_class(((T627*)((((T446*)C))->_start_position/*20*/)));
- _new_name=r605new_name_of(((T605*)(X291base_class(a1))),_wbc,(T0*)C);
- _rf=r355get_feature(((T355*)(X291run_class((((T446*)C))->_current_type/*12*/))),_new_name);
- /*IF*/if ((_rf)==((void*)(NULL))) {
- r446error((((T446*)C))->_start_position/*20*/,((T0*)ms2_446));
- }
- else {
- C->_run_feature_2=_rf;
- if(NULL!=(C->_run_feature_2))switch(((T0*)C->_run_feature_2)->id) {
- case 820:
- break;
- default:
- C->_run_feature_2=NULL;
- };/*IF*/if (((((T446*)C))->_run_feature_2/*24*/)==((void*)(NULL))) {
- r683add_position(X496start_position(_rf));
- r446error((((T446*)C))->_start_position/*20*/,((T0*)ms3_446));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- else {
- r446error((((T446*)C))->_start_position/*20*/,((T0*)ms4_446));
- }
- /*FI*/}
- else if ((a1)==((void*)((((T446*)C))->_current_type/*12*/))) {
- R=(T0*)C;
- }
- else {
- {T446*n=malloc(sizeof(*n));
- *n=M446;
- r446make(n,(((T446*)C))->_to_string/*16*/,(((T446*)C))->_start_position/*20*/);
- R=(T0*)n;
- }
- R=r446to_runnable(((T446*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:SIMPLE_FEATURE_NAME.run_feature_2*/
- /*No:SIMPLE_FEATURE_NAME.result_type*/
- /*No:SIMPLE_FEATURE_NAME.is_result*/
- /*No:SIMPLE_FEATURE_NAME.is_static*/
- int r446compile_to_jvm_into(T446* C,T0* a1){
- int R=0;
- R=r446standard_compile_to_jvm_into(C,a1);
- return R;
- }
- void r446compile_target_to_jvm(T446* C){
- r683add_position((((T446*)C))->_start_position/*20*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms76_470);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- int r446can_be_dropped(T446* C){
- int R=0;
- r683add_position((((T446*)C))->_start_position/*20*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_446);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- return R;
- }
- /*No:SIMPLE_FEATURE_NAME.current_type*/
- void r446jvm_assign(T446* C){
- T0* _rf=NULL;
- int _idx=0;
- int _space=0;
- /*[IRF3.4opcode_aload_0*/r256opcode(((T256*)(oBC364code_attribute)),42,1);
- /*]*/
- /*[IRF3.4opcode_swap*/r256opcode(((T256*)(oBC364code_attribute)),95,0);
- /*]*/
- _rf=(((T446*)C))->_run_feature_2/*24*/;
- _idx=r95idx_fieldref(((T95*)(oBC364constant_pool)),_rf);
- _space=-((X291jvm_stack_space(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_result_type/*24*/)))+(1));
- r256opcode_putfield(((T256*)(oBC364code_attribute)),_idx,_space);
- }
- /*No:SIMPLE_FEATURE_NAME.to_key*/
- /*No:SIMPLE_FEATURE_NAME.static_value_mem*/
- /*No:SIMPLE_FEATURE_NAME.is_manifest_string*/
- /*No:SIMPLE_FEATURE_NAME.is_frozen*/
- /*No:SIMPLE_FEATURE_NAME.is_void*/
- void r446undefine_in(T446* C,T0* a1){
- /*IF*/if ((((T446*)C))->_is_frozen/*4*/) {
- r446error((((T446*)C))->_start_position/*20*/,((T0*)ms1_776));
- r605fatal_undefine(((T605*)a1),(T0*)C);
- }
- /*FI*/}
- void r446compile_to_jvm(T446* C){
- r683add_position((((T446*)C))->_start_position/*20*/);
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms76_470);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*No:SIMPLE_FEATURE_NAME.is_pre_computable*/
- /*No:SIMPLE_FEATURE_NAME.use_current*/
- void r446error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:SIMPLE_FEATURE_NAME.isa_dca_inline_argument*/
- /*No:SIMPLE_FEATURE_NAME.fatal_error*/
- int r446standard_compile_to_jvm_into(T446* C,T0* a1){
- int R=0;
- r446compile_to_jvm(C);
- R=X291jvm_convert_to(X291run_type(/*(IRF4.6result_type*/(((T820*)((T820*)((((T446*)C))->_run_feature_2/*24*/))))->_result_type/*24*//*)*/),a1);
- return R;
- }
- T0* r446origin_base_class(T446* C){
- T0* R=NULL;
- T0* _sp=NULL;
- _sp=(((T446*)C))->_start_position/*20*/;
- /*IF*/if ((_sp)!=((void*)(NULL))) {
- R=r627base_class(((T627*)_sp));
- }
- /*FI*/return R;
- }
- /*No:SIMPLE_FEATURE_NAME.afd_check*/
- /*No:CST_ATT_UNIQUE.arguments*/
- T0* r398try_to_undefine(T398* C,T0* a1,T0* a2){
- T0* R=NULL;
- X776undefine_in(a1,a2);
- R=r398try_to_undefine_aux(C,a1,a2);
- /*IF*/if ((R)!=((void*)(NULL))) {
- /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T398*)C))->_clients/*20*/);
- /*]*/
- }
- else {
- r605fatal_undefine(((T605*)a2),a1);
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_UNIQUE.is_deferred*/
- void r398add_into(T398* C,T0* a1){
- T0* _fn=NULL;
- int _i=0;
- C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)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*)((((T398*)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* r398try_to_undefine_aux(T398* C,T0* a1,T0* a2){
- T0* R=NULL;
- r683add_position(r398start_position(C));
- r398error(X776start_position(a1),((T0*)ms1_321));
- r605fatal_undefine(((T605*)a2),a1);
- return R;
- }
- void r398make(T398* C,T0* a1,T0* a2){
- T0* _ic=NULL;
- int _i=0;
- r398make_e_feature(C,a1,a2);
- {T28*n=malloc(sizeof(*n));
- *n=M28;
- r28make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/);
- C->_values=(T0*)n;
- }
- _i=1;
- while (!((_i)>((((T28*)((T28*)((((T398*)C))->_values/*24*/))))->_upper/*12*/))) {
- {T342*n=malloc(sizeof(*n));
- *n=M342;
- r342make(n,r604next_unique(((T604*)(oBC364small_eiffel))),NULL);
- _ic=(T0*)n;
- }
- /*[IRF3.6put*/{T28* C1=((T28*)((((T398*)C))->_values/*24*/));
- T0* b1=_ic;
- int b2=_i;
- ((((T28*)C1))->_storage/*4*/)[(b2)-((((T28*)C1))->_lower/*16*/)]=(b1);
- }/*]*/
- _i=(_i)+(1);
- }
- }
- /*No:CST_ATT_UNIQUE.nb_errors*/
- /*No:CST_ATT_UNIQUE.set_header_comment*/
- /*No:CST_ATT_UNIQUE.values*/
- T0* r398start_position(T398* C){
- T0* R=NULL;
- R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- return R;
- }
- T0* r398to_run_feature(T398* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(a1);
- R=r355at(((T355*)_rc),a2);
- if(NULL!=(R))switch(((T0*)R)->id) {
- case 808:
- break;
- default:
- R=NULL;
- };/*IF*/if ((R)==((void*)(NULL))) {
- {T808*n=malloc(sizeof(*n));
- *n=M808;
- r808make(n,a1,a2,(T0*)C);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_UNIQUE.ensure_assertion*/
- /*No:CST_ATT_UNIQUE.code_require*/
- /*No:CST_ATT_UNIQUE.result_type*/
- /*No:CST_ATT_UNIQUE.em1*/
- /*No:CST_ATT_UNIQUE.set_clients*/
- /*No:CST_ATT_UNIQUE.em2*/
- /*No:CST_ATT_UNIQUE.value*/
- /*No:CST_ATT_UNIQUE.require_assertion*/
- /*No:CST_ATT_UNIQUE.names*/
- int r398can_hide(T398* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T398*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r398error(r398start_position(C),((T0*)ms5_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r398error(r398start_position(C),((T0*)ms6_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T398*)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:CST_ATT_UNIQUE.header_comment*/
- int r398is_merge_with(T398* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T398*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r398error(r398start_position(C),((T0*)ms2_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r398error(r398start_position(C),((T0*)ms3_359));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T398*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T398*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
- r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
- }
- /*FI*/}
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
- return R;
- }
- /*No:CST_ATT_UNIQUE.fz_dot*/
- /*No:CST_ATT_UNIQUE.first_name*/
- /*No:CST_ATT_UNIQUE.clients*/
- void r398collect_for(int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- else {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*FI*/}
- void r398error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CST_ATT_UNIQUE.base_class*/
- void r398make_e_feature(T398* C,T0* a1,T0* a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- /*No:INSTRUCTION_WITH_COMMENT.add_comment*/
- void r46make(T46* C,T0* a1,T0* a2){
- C->_instruction=a1;
- C->_comment=a2;
- }
- /*No:INSTRUCTION_WITH_COMMENT.instruction*/
- T0* r46start_position(T46* C){
- T0* R=NULL;
- R=X465start_position((((T46*)C))->_instruction/*8*/);
- return R;
- }
- /*No:INSTRUCTION_WITH_COMMENT.comment*/
- T0* r46to_runnable(T46* C,T0* a1){
- T0* R=NULL;
- T0* _ri=NULL;
- /*IF*/if (((((T46*)C))->_run_compound/*4*/)==((void*)(NULL))) {
- C->_run_compound=a1;
- _ri=X465to_runnable((((T46*)C))->_instruction/*8*/,a1);
- /*IF*/if ((_ri)==((void*)(NULL))) {
- r46error(X465start_position((((T46*)C))->_instruction/*8*/),((T0*)ms1_46));
- }
- else {
- C->_instruction=_ri;
- R=(T0*)C;
- }
- /*FI*/}
- else {
- {T46*n=malloc(sizeof(*n));
- *n=M46;
- r46make(n,(((T46*)C))->_instruction/*8*/,(((T46*)C))->_comment/*12*/);
- R=(T0*)n;
- }
- R=r46to_runnable(((T46*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:INSTRUCTION_WITH_COMMENT.run_compound*/
- void r46compile_to_jvm(T46* C){
- X465compile_to_jvm((((T46*)C))->_instruction/*8*/);
- }
- int r46is_pre_computable(T46* C){
- int R=0;
- R=X465is_pre_computable((((T46*)C))->_instruction/*8*/);
- return R;
- }
- int r46use_current(T46* C){
- int R=0;
- R=X465use_current((((T46*)C))->_instruction/*8*/);
- return R;
- }
- void r46error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:INSTRUCTION_WITH_COMMENT.end_mark_comment*/
- void r46afd_check(T46* C){
- X465afd_check((((T46*)C))->_instruction/*8*/);
- }
-
-