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_c.h"
- int r549id(T549* C){
- int R=0;
- R=(((T355*)((T355*)(r549run_class(C)))))->_id/*4*/;
- return R;
- }
- /*No:TYPE_BIT_1.n*/
- /*No:TYPE_BIT_1.nb*/
- /*No:TYPE_BIT_1.fz_bit_foo*/
- /*No:TYPE_BIT_1.has_creation*/
- /*No:TYPE_BIT_1.is_anchored*/
- int r549is_c_int(T549* C){
- int R=0;
- R=(1020)==(r549mapping_code(C));
- return R;
- }
- /*No:TYPE_BIT_1.is_array*/
- /*No:TYPE_BIT_1.fz_typedef*/
- int r549is_a(T549* C,T0* a1){
- int R=0;
- T0* _other_bit=NULL;
- /*IF*/if (X291is_bit(a1)) {
- _other_bit=a1;
- if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
- case 549: case 558:
- break;
- default:
- _other_bit=NULL;
- };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=(X609nb(_other_bit))) {
- R=1;
- }
- else {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms1_609));
- }
- /*FI*/}
- else {
- R=r605is_subclass_of(((T605*)(r549base_class(C))),X291base_class(a1));
- /*IF*/if (R) {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- else {
- r549used_as_reference(C);
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r549c_initialize_in(T549* C,T0* a1){
- int _i=0;
- /*IF*/if ((r549mapping_code(C))==(1021)) {
- r7extend(((T7*)a1),'\173');
- _i=r549nb_unsigned(C);
- while (!((_i)==(0))) {
- r7extend(((T7*)a1),'0');
- _i=(_i)-(1);
- /*IF*/if ((_i)>(0)) {
- r7extend(((T7*)a1),'\54');
- }
- /*FI*/}
- r7extend(((T7*)a1),'\175');
- }
- else {
- r7extend(((T7*)a1),'0');
- }
- /*FI*/}
- void r549c_type_for_argument_in(T549* C,T0* a1){
- r7extend(((T7*)a1),'T');
- r2append_in(r549id(C),a1);
- }
- /*No:TYPE_BIT_1.Cchar*/
- void r549set_run_time_mark(T549* C){
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
- r7append(((T7*)(oBC291tmp_string)),r2to_string(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/));
- C->_run_time_mark=r902item(oBC291tmp_string);
- }
- void r549gc_call_new_in(T549* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms115_470));
- r2append_in(r549id(C),a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- }
- /*No:TYPE_BIT_1.us_put_0*/
- /*No:TYPE_BIT_1.run_type*/
- /*No:TYPE_BIT_1.is_pointer*/
- /*No:TYPE_BIT_1.is_dummy_expanded*/
- /*No:TYPE_BIT_1.is_string*/
- int r549space_for_variable(T549* C){
- int R=0;
- R=(r549nb_unsigned(C))*(( (CHAR_BIT*sizeof(int)) )/( CHAR_BIT ));
- return R;
- }
- /*No:TYPE_BIT_1.is_like_feature*/
- /*No:TYPE_BIT_1.is_like_current*/
- /*No:TYPE_BIT_1.us_put_1*/
- void r549make(T549* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_n=a2;
- r549set_run_time_mark(C);
- C->_written_mark=(((T549*)C))->_run_time_mark/*12*/;
- }
- /*No:TYPE_BIT_1.Cint*/
- void r549mapping_cast(T549* C){
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC291tmp_string)),'\50');
- /*[IRF3.6c_type_for_target_in*/{T549* C1=C;
- T0* b1=oBC291tmp_string;
- r549c_type_for_argument_in(C1,b1);
- }/*]*/
- r7extend(((T7*)(oBC291tmp_string)),'\51');
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- }
- /*No:TYPE_BIT_1.start_position*/
- /*No:TYPE_BIT_1.c_type_for_target_in*/
- /*No:TYPE_BIT_1.fz_gc_mark*/
- /*No:TYPE_BIT_1.fz_inako*/
- /*No:TYPE_BIT_1.gc_initialize*/
- /*No:TYPE_BIT_1.fz_00*/
- /*No:TYPE_BIT_1.is_character*/
- /*No:TYPE_BIT_1.is_user_expanded*/
- /*No:TYPE_BIT_1.written_mark*/
- /*No:TYPE_BIT_1.is_run_type*/
- T0* r549to_runnable(T549* C,T0* a1){
- T0* R=NULL;
- R=(T0*)C;
- r549to_runnable_1_2(C);
- return R;
- }
- void r549c_type_for_external_in(T549* C,T0* a1){
- /*IF*//*AF*//*AE*/
- /*[IRF3.6c_type_for_result_in*/{T549* C1=C;
- T0* b1=a1;
- r549c_type_for_argument_in(C1,b1);
- }/*]*/
- /*FI*/}
- int r549is_c_char(T549* C){
- int R=0;
- R=(1019)==(r549mapping_code(C));
- return R;
- }
- T0* r549generic_list(T549* C){
- T0* R=NULL;
- r549fatal_error_generic_list(C);
- return R;
- }
- /*No:TYPE_BIT_1.is_formal_generic*/
- void r549demangling_in(T549* C,T0* a1){
- /*IF*//*AF*//*AE*/
- r7extend(((T7*)a1),'E');
- /*FI*/r7extend(((T7*)a1),'\40');
- r7append(((T7*)a1),(((T549*)C))->_run_time_mark/*12*/);
- }
- /*No:TYPE_BIT_1.is_real*/
- int r549nb_unsigned(T549* C){
- int R=0;
- int _ib=0;
- _ib= (CHAR_BIT*sizeof(int)) ;
- R=(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)/(_ib);
- /*IF*/if (((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)%(_ib))>(0)) {
- R=(R)+(1);
- }
- /*FI*/return R;
- }
- /*No:TYPE_BIT_1.is_bit*/
- void r549fatal_error_generic_list(T549* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- void r549to_runnable_1_2(T549* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rc=r549run_class(C);
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms105_473));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms106_473));
- }
- /*No:TYPE_BIT_1.fz_new*/
- /*No:TYPE_BIT_1.us_bit_n*/
- T0* r549smallest_ancestor(T549* C,T0* a1){
- T0* R=NULL;
- T0* _other_bit=NULL;
- _other_bit=a1;
- if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
- case 549: case 558:
- break;
- default:
- _other_bit=NULL;
- };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<(X609nb(_other_bit))) {
- R=(T0*)C;
- }
- else {
- R=a1;
- }
- /*FI*/return R;
- }
- /*No:TYPE_BIT_1.fz_unsigned*/
- /*No:TYPE_BIT_1.is_boolean*/
- /*No:TYPE_BIT_1.is_double*/
- T0* r549run_class(T549* C){
- T0* R=NULL;
- R=r604run_class((T0*)C);
- return R;
- }
- void r549c_initialize(T549* C){
- int _i=0;
- /*IF*/if ((r549mapping_code(C))==(1021)) {
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC291tmp_string)),'\173');
- _i=r549nb_unsigned(C);
- while (!((_i)==(0))) {
- r7extend(((T7*)(oBC291tmp_string)),'0');
- _i=(_i)-(1);
- /*IF*/if ((_i)>(0)) {
- r7extend(((T7*)(oBC291tmp_string)),'\54');
- }
- /*FI*/}
- r7extend(((T7*)(oBC291tmp_string)),'\175');
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- }
- else {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='0';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*No:TYPE_BIT_1.run_time_mark*/
- void r549cast_to_ref(T549* C){
- X609cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
- }
- void r549gc_mark_in(T549* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms107_470));
- r2append_in(r549id(C),a1);
- }
- int r549is_a_in(T549* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if (((((T549*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r549to_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* r549look_up_for(T549* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r549base_class(C))),a1,a2);
- return R;
- }
- void r549c_header_pass1(T549* C){
- int _mem_id=0;
- int _mc=0;
- _mc=r549mapping_code(C);
- _mem_id=r549id(C);
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
- {int z1=r549mapping_code(C);
-
- if((1019==z1)){
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms79_470));
- }
- else
- if((1020==z1)){
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
- }
- else {r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
- }}
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7extend(((T7*)(oBC291tmp_string)),'T');
- r2append_in(_mem_id,oBC291tmp_string);
- /*IF*/if ((r549mapping_code(C))==(1021)) {
- r7extend(((T7*)(oBC291tmp_string)),'\133');
- r2append_in(r549nb_unsigned(C),oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\135');
- }
- /*FI*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- }
- int r549is_c_unsigned_ptr(T549* C){
- int R=0;
- R=(1021)==(r549mapping_code(C));
- return R;
- }
- /*No:TYPE_BIT_1.c_type_for_result_in*/
- /*No:TYPE_BIT_1.expanded_initializer*/
- /*No:TYPE_BIT_1.Cuptr*/
- T0*oBC609mem_type_bit_ref=NULL;
- /*No:TYPE_BIT_1.fz_void*/
- /*No:TYPE_BIT_1.fz_dot*/
- /*No:TYPE_BIT_1.is_generic*/
- void r549used_as_reference(T549* C){
- T0* _rc=NULL;
- T0* _type_bit_ref=NULL;
- /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)) {
- }
- else {
- r226add_last(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/);
- {T963*n=malloc(sizeof(*n));
- *n=M963;
- r963make(n,(T0*)C);
- _type_bit_ref=(T0*)n;
- }
- r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
- _rc=r963run_class(((T963*)_type_bit_ref));
- r355set_at_run_time(((T355*)_rc));
- }
- /*FI*/}
- /*No:TYPE_BIT_1.c_header_pass2*/
- /*No:TYPE_BIT_1.gc_define1*/
- /*No:TYPE_BIT_1.need_c_struct*/
- /*No:TYPE_BIT_1.is_reference*/
- /*No:TYPE_BIT_1.gc_info_in*/
- T0* r549base_class(T549* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=r549base_class_name();
- /*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_BIT_1.call_gc_sweep_in*/
- int r549mapping_code(T549* C){
- int R=0;
- /*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=( CHAR_BIT )) {
- R=1019;
- }
- else if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=( (CHAR_BIT*sizeof(int)) )) {
- R=1020;
- }
- else {
- R=1021;
- }
- /*FI*/return R;
- }
- /*No:TYPE_BIT_1.gc_define2*/
- /*No:TYPE_BIT_1.need_gc_mark_function*/
- /*No:TYPE_BIT_1.fz_char*/
- /*No:TYPE_BIT_1.is_any*/
- void r549to_reference(T549* C){
- T0* _type_bit_ref=NULL;
- int _idx=0;
- _idx=r226fast_index_of(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/);
- _type_bit_ref=/*(IRF4.6item*/((((T41*)((T41*)(oBC609mem_type_bit_ref))))->_storage/*4*/)[_idx]/*)*/;
- r963to_reference(((T963*)_type_bit_ref));
- }
- /*No:TYPE_BIT_1.c_header_pass3*/
- int fBC609base_class_name=0;
- T0*oBC609base_class_name=NULL;
- T0* r549base_class_name(void){
- if (fBC609base_class_name==0){
- T0* R=NULL;
- fBC609base_class_name=1;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms4_473),NULL);
- R=(T0*)n;
- }
- oBC609base_class_name=R;}
- return oBC609base_class_name;}
- /*No:TYPE_BIT_1.is_expanded*/
- /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/
- /*No:TYPE_BIT_1.is_none*/
- /*No:TYPE_BIT_1.to_expanded*/
- /*No:TYPE_BIT_1.is_integer*/
- T0*oBC609mem_ref_nb=NULL;
- /*No:TYPE_BIT_1.c_header_pass4*/
- T0* r526add_comment(T526* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
- R=(T0*)C;
- }
- /*AF*/else {
- {T46*n=malloc(sizeof(*n));
- *n=M46;
- r46make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:E_RETRY.make*/
- /*No:E_RETRY.start_position*/
- /*No:E_RETRY.compile_to_c*/
- T0* r526to_runnable(T526* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T526*)C))->_run_compound/*4*/)==((void*)(NULL))) {
- C->_run_compound=a1;
- R=(T0*)C;
- }
- else if (((((T526*)C))->_run_compound/*4*/)==((void*)(a1))) {
- R=(T0*)C;
- }
- else {
- {T526*n=malloc(sizeof(*n));
- *n=M526;
- /*[IRF3.3make*/((((T526*)(n)))->_start_position)=((((T526*)C))->_start_position/*8*/);
- /*]*/
- R=(T0*)n;
- }
- R=r526to_runnable(((T526*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:E_RETRY.run_compound*/
- /*No:E_RETRY.is_pre_computable*/
- /*No:E_RETRY.use_current*/
- void r526error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:E_RETRY.end_mark_comment*/
- /*No:E_RETRY.afd_check*/
- /*No:CHECK_INVARIANT.fz_bad_assertion*/
- T0* r623runnable(T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _a=NULL;
- int _i=0;
- /*IF*/if (!(r608empty(((T608*)a1)))) {
- R=r608twin(((T608*)a1));
- _i=(((T608*)((T608*)R)))->_upper/*8*/;
- while (!((_i)==(0))) {
- r604push(((T604*)(oBC364small_eiffel)),a3);
- _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r623error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
- }
- else {
- /*[IRF3.6put*/{T608* C1=((T608*)R);
- T0* b1=_a;
- int b2=_i;
- ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
- }/*]*/
- }
- /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r623make(T623* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- /*No:CHECK_INVARIANT.nb_errors*/
- T0* r623check_assertion_mode(void){
- T0* R=NULL;
- R=((T0*)ms1_623);
- return R;
- }
- /*No:CHECK_INVARIANT.start_position*/
- void r623compile_to_c(T623* C){
- int _i=0;
- /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_596));
- /*]*/
- _i=1;
- while (!((_i)>((((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/))) {
- /*[IRF3.3set_check_assertion_mode*/((((T324*)(((T324*)(oBC364cpp)))))->_check_assertion_mode)=(r623check_assertion_mode());
- /*]*/
- r348compile_to_c(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
- _i=(_i)+(1);
- }
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_596));
- /*]*/
- }
- /*FI*/}
- T0* r623to_runnable(T623* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T623*)C))->_current_type/*12*/)==((void*)(NULL))) {
- C->_current_type=a1;
- /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
- C->_list=r623runnable((((T623*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel))));
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r623twin(C);
- /*[IRF3.3set_current_type*/((((T623*)(((T623*)R))))->_current_type)=(NULL);
- /*]*/
- R=r623to_runnable(((T623*)R),a1);
- }
- /*FI*/return R;
- }
- T0* r623twin(T623* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T623*)R)=*C;
- return R;
- }
- /*No:CHECK_INVARIANT.set_current_type*/
- /*No:CHECK_INVARIANT.list*/
- /*No:CHECK_INVARIANT.current_type*/
- /*No:CHECK_INVARIANT.header_comment*/
- int r623is_pre_computable(T623* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T623*)C))->_list/*8*/)==((void*)(NULL))) {
- R=1;
- }
- else {
- _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- R=r348is_pre_computable(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int r623use_current(T623* C){
- int R=0;
- int _i=0;
- /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((R)||((_i)==(0)))) {
- R=r348use_current(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- void r623error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- void r623afd_check(T623* C){
- int _i=0;
- /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
- _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
- while (!((_i)==(0))) {
- r348afd_check(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
- _i=(_i)-(1);
- }
- }
- /*FI*/}
- int r869id(T869* C){
- int R=0;
- R=X291id((((T869*)C))->_current_type/*4*/);
- return R;
- }
- /*No:RUN_FEATURE_5.arguments*/
- T0* r869once_mark(T869* C){
- T0* R=NULL;
- R=X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- return R;
- }
- /*No:RUN_FEATURE_5.ucs_true*/
- void r869once_flag(T869* C){
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
- /*]*/
- r869once_flag_in(C,oBC496c_code);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
- /*]*/
- }
- void r869c_define(T869* C){
- T0* _bfbc=NULL;
- _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
- /*IF*/if (!(r605once_flag(((T605*)_bfbc),r869once_mark(C)))) {
- r869once_boolean(C);
- }
- /*FI*/r869define_prototype(C);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_869));
- /*]*/
- r869once_flag(C);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_869));
- /*]*/
- r869define_opening(C);
- r869once_flag(C);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_869));
- /*]*/
- /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- r592compile_to_c(((T592*)((((T869*)C))->_routine_body/*32*/)));
- }
- /*FI*/r869define_closing(C);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_869));
- /*]*/
- }
- /*No:RUN_FEATURE_5.actuals_clients*/
- void r869once_flag_in(T869* C,T0* a1){
- r7extend(((T7*)a1),'f');
- r134mapping_c_name_in(((T134*)((((T869*)C))->_base_feature/*44*/)),a1);
- }
- void r869define_closing(T869* C){
- /*IF*/if (r869use_current(C)) {
- r324current_class_invariant(((T324*)(oBC364cpp)),(((T869*)C))->_current_type/*4*/);
- }
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633compile_to_c(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
- }
- /*FI*/}
- /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
- /*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324));
- /*]*/
- }/*]*/
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.ucs_in_computation*/
- void r869make(T869* C,T0* a1,T0* a2,T0* a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- r199put(((T199*)((((T355*)((T355*)(r869run_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);
- r869initialize(C);
- r604pop(((T604*)(oBC364small_eiffel)));
- }
- void r869std_compute_use_current(T869* C){
- /*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- /*IF*/if (r567use_current(((T567*)((((T869*)C))->_require_assertion/*28*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- /*IF*/if (r592use_current(((T592*)((((T869*)C))->_routine_body/*32*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
- /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- /*IF*/if (r633use_current(((T633*)((((T869*)C))->_ensure_assertion/*36*/)))) {
- C->_use_current_state=1004;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
- C->_use_current_state=1003;
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.name*/
- void r869mapping_name(T869* C){
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='r';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r869id(C));
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T869*)C))->_name/*16*/));
- /*]*/
- }
- int r869arg_count(T869* C){
- int R=0;
- /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
- }
- /*FI*/return R;
- }
- void r869routine_afd_check(T869* C){
- /*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- r567afd_check(((T567*)((((T869*)C))->_require_assertion/*28*/)));
- }
- /*FI*//*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- r592afd_check(((T592*)((((T869*)C))->_routine_body/*32*/)));
- }
- /*FI*//*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633afd_check(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.local_vars*/
- void r869default_mapping_procedure(T869* C){
- r869mapping_name(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r324put_target_as_target(((T324*)(oBC364cpp)));
- /*IF*/if ((r869arg_count(C))>(0)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\54';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r324put_arguments(((T324*)(oBC364cpp)));
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
- /*]*/
- }
- /*No:RUN_FEATURE_5.base_feature*/
- void r869define_opening(T869* C){
- T0* _t=NULL;
- int _i=0;
- /*IF*/if (((((T869*)C))->_result_type/*24*/)!=((void*)(NULL))) {
- _t=X291run_type((((T869*)C))->_result_type/*24*/);
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
- /*]*/
- X291c_type_for_result_in(_t,oBC496c_code);
- r7extend(((T7*)(oBC496c_code)),'\40');
- r7extend(((T7*)(oBC496c_code)),'R');
- r7extend(((T7*)(oBC496c_code)),'\75');
- X291c_initialize_in(_t,oBC496c_code);
- r7append(((T7*)(oBC496c_code)),((T0*)ms134_470));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
- /*]*/
- }
- /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
- r620compile_to_c(((T620*)((((T869*)C))->_local_vars/*48*/)));
- }
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
- r633compile_to_c_old(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
- r620initialize_expanded(((T620*)((((T869*)C))->_local_vars/*48*/)));
- }
- /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
- r324rs_link(((T324*)(oBC364cpp)),(T0*)C);
- /*IF*/if (r869use_current(C)) {
- /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp));
- T0* b1=(((T869*)C))->_current_type/*4*/;
- r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1);
- }/*]*/
- }
- /*FI*/_i=1;
- while (!((_i)>(r869arg_count(C)))) {
- _t=X291run_type(r31type(((T31*)((((T869*)C))->_arguments/*20*/)),_i));
- r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t);
- _i=(_i)+(1);
- }
- /*IF*/if (((((T869*)C))->_result_type/*24*/)!=((void*)(NULL))) {
- /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp));
- T0* b1=X291run_type((((T869*)C))->_result_type/*24*/);
- r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1);
- }/*]*/
- }
- /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/))) {
- r39c_trace(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/)),_i)/*)*/)));
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
- r567compile_to_c(((T567*)((((T869*)C))->_require_assertion/*28*/)));
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.start_position*/
- /*No:RUN_FEATURE_5.fz_00*/
- /*No:RUN_FEATURE_5.ensure_assertion*/
- int r869is_exported_in(T869* C,T0* a1){
- int R=0;
- R=r636gives_permission_to(((T636*)(r869clients(C))),a1);
- return R;
- }
- /*No:RUN_FEATURE_5.compute_use_current*/
- /*No:RUN_FEATURE_5.result_type*/
- /*No:RUN_FEATURE_5.is_static*/
- /*No:RUN_FEATURE_5.fz_14*/
- void r869add_client(T869* C,T0* a1){
- int _i=0;
- /*IF*/if (((((T869*)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*)((((T869*)C))->_actuals_clients/*12*/)),a1);
- }
- else {
- _i=r187fast_index_of(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
- /*IF*/if ((_i)>((((T187*)((T187*)((((T869*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
- r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
- }
- /*FI*/}
- /*FI*/r355add_client(((T355*)(r869run_class(C))),a1);
- }
- /*No:RUN_FEATURE_5.require_assertion*/
- /*No:RUN_FEATURE_5.use_current_state*/
- /*No:RUN_FEATURE_5.can_be_dropped*/
- /*No:RUN_FEATURE_5.current_type*/
- T0* r869run_class(T869* C){
- T0* R=NULL;
- R=X291run_class((((T869*)C))->_current_type/*4*/);
- return R;
- }
- /*No:RUN_FEATURE_5.static_value_mem*/
- void r869define_prototype(T869* C){
- int _mem_id=0;
- _mem_id=r869id(C);
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
- /*]*/
- /*IF*/if (((((T869*)C))->_result_type/*24*/)==((void*)(NULL))) {
- r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
- }
- else {
- X291c_type_for_result_in(X291run_type((((T869*)C))->_result_type/*24*/),oBC496c_code);
- }
- /*FI*/r7extend(((T7*)(oBC496c_code)),'\40');
- r7extend(((T7*)(oBC496c_code)),'r');
- r2append_in(_mem_id,oBC496c_code);
- X776mapping_c_in((((T869*)C))->_name/*16*/,oBC496c_code);
- r7extend(((T7*)(oBC496c_code)),'\50');
- /*IF*/if (r869use_current(C)) {
- X291c_type_for_target_in((((T869*)C))->_current_type/*4*/,oBC496c_code);
- r7extend(((T7*)(oBC496c_code)),'\40');
- r7extend(((T7*)(oBC496c_code)),'C');
- /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
- r7extend(((T7*)(oBC496c_code)),'\54');
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T869*)C))->_arguments/*20*/)==((void*)(NULL))) {
- /*IF*/if (!(r869use_current(C))) {
- r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
- }
- /*FI*/}
- else {
- r31compile_to_c_in(((T31*)((((T869*)C))->_arguments/*20*/)),oBC496c_code);
- }
- /*FI*/r7extend(((T7*)(oBC496c_code)),'\51');
- r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code);
- /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
- /*]*/
- }
- /*No:RUN_FEATURE_5.ucs_not_computed*/
- /*No:RUN_FEATURE_5.fz_int*/
- void r869fall_down(T869* 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((((T869*)C))->_current_type/*4*/);
- _running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
- /*IF*/if ((_running)!=((void*)(NULL))) {
- _current_bc=X291base_class((((T869*)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,(((T869*)C))->_name/*16*/);
- _rf=r355get_feature(((T355*)_sub_rc),_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.routine_body*/
- /*No:RUN_FEATURE_5.fz_void*/
- /*No:RUN_FEATURE_5.ucs_false*/
- /*No:RUN_FEATURE_5.is_pre_computable*/
- T0* r869clients(T869* C){
- T0* R=NULL;
- T0* _bfbc=NULL;
- T0* _bc=NULL;
- /*IF*/if (((((T869*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
- _bc=X291base_class((((T869*)C))->_current_type/*4*/);
- _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
- /*IF*/if ((_bc)==((void*)(_bfbc))) {
- R=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_clients/*24*/;
- }
- else {
- R=r605clients_for(((T605*)_bc),(((T869*)C))->_name/*16*/);
- }
- /*FI*/C->_clients_memory=R;
- }
- else {
- R=(((T869*)C))->_clients_memory/*8*/;
- }
- /*FI*/return R;
- }
- int r869use_current(T869* C){
- int R=0;
- {int z1=(((T869*)C))->_use_current_state/*40*/;
-
- if((1004==z1)){
- R=1;
- }
- else
- if((1003==z1)){
- }
- else
- if((1005==z1)){
- C->_use_current_state=1006;
- /*[IRF3.4compute_use_current*/r869std_compute_use_current(C);
- /*]*/
- R=r869use_current(C);
- }
- else {R=1;
- }}
- return R;
- }
- void r869mapping_c(T869* C){
- /*IF*/if (r869use_current(C)) {
- r869default_mapping_procedure(C);
- }
- else {
- /*IF*/if (r324target_cannot_be_dropped(((T324*)(oBC364cpp)))) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
- /*]*/
- }
- /*FI*/r869mapping_name(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*IF*/if ((r869arg_count(C))>(0)) {
- r324put_arguments(((T324*)(oBC364cpp)));
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
- /*]*/
- }
- /*FI*/}
- /*No:RUN_FEATURE_5.address_of*/
- void r869put_tag(T869* C){
- T0* _fn=NULL;
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\42';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
- X776cpp_put_infix_or_prefix(_fn);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn));
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496));
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/);
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\42';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*No:RUN_FEATURE_5.clients_memory*/
- void r869initialize(T869* C){
- C->_arguments=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_arguments/*28*/;
- /*IF*/if ((((((T869*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
- C->_arguments=r31to_runnable(((T31*)((((T869*)C))->_arguments/*20*/)),(((T869*)C))->_current_type/*4*/);
- }
- /*FI*/C->_local_vars=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
- /*IF*/if ((((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
- C->_local_vars=r620to_runnable(((T620*)((((T869*)C))->_local_vars/*48*/)),(((T869*)C))->_current_type/*4*/);
- }
- /*FI*/C->_routine_body=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
- /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
- C->_routine_body=r592to_runnable(((T592*)((((T869*)C))->_routine_body/*32*/)),(((T869*)C))->_current_type/*4*/);
- }
- /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
- C->_require_assertion=r134run_require((T0*)C);
- }
- /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
- C->_ensure_assertion=r134run_ensure((T0*)C);
- }
- /*FI*/r916add_procedure((T0*)C);
- }
- /*No:RUN_FEATURE_5.afd_check*/
- void r869once_boolean(T869* C){
- r7copy(((T7*)(oBC496c_code)),((T0*)ms111_470));
- r7extend(((T7*)(oBC496c_code)),'\40');
- r869once_flag_in(C,oBC496c_code);
- r324put_extern2(((T324*)(oBC364cpp)),oBC496c_code,'0');
- }
- /*No:CALL_INFIX_LT.arguments*/
- T0* r112add_comment(T112* 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 r112to_integer(T112* C){
- int R=0;
- r112error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r112is_a(T112* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T112*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r112error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_LT.is_current*/
- void r112mapping_c_arg(T112* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T112*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- r112compile_to_c(C);
- }
- else {
- X291to_expanded(_actual_type);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- else {
- /*IF*/if (X291is_reference(a1)) {
- X291to_reference(_actual_type);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- /*IF*/if (X291need_c_struct(a1)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\46';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- r112compile_to_c(C);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_LT.static_value*/
- void r112make(T112* 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,r112operator(),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;
- }
- r112make_call_1(C,a1,(((T112*)C))->_feature_name/*28*/,_eal);
- }
- void r112mapping_c_target(T112* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T112*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='T';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\52';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- X291to_expanded(_actual_type);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- else {
- /*IF*/if (X291is_reference(a1)) {
- X291to_reference(_actual_type);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- /*IF*/if (X291need_c_struct(a1)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\46';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- r112compile_to_c(C);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- r112compile_to_c(C);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (_flag) {
- /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*No:CALL_INFIX_LT.nb_errors*/
- /*No:CALL_INFIX_LT.feature_name*/
- /*No:CALL_INFIX_LT.fz_iinaiv*/
- /*No:CALL_INFIX_LT.arg_count*/
- /*No:CALL_INFIX_LT.dca_inline_argument*/
- /*No:CALL_INFIX_LT.run_feature*/
- /*No:CALL_INFIX_LT.call_proc_call_c2c*/
- /*No:CALL_INFIX_LT.start_position*/
- /*No:CALL_INFIX_LT.target*/
- void r112compile_to_c(T112* C){
- /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_character(X291run_type(X662result_type((((T112*)C))->_target/*12*/))))) {
- r112c2c_cast_op(C,((T0*)ms132_470),((T0*)ms36_473));
- }
- else {
- /*[IRF3.6call_proc_call_c2c*/{T112* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- }
- /*FI*/}
- /*No:CALL_INFIX_LT.c_simple*/
- T0* r112to_runnable(T112* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T112*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r112to_runnable_0(C,a1);
- _a=X431to_runnable((((T112*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r112error(X662start_position(r112arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T112*)C))->_arguments/*24*/,(((T112*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T112*)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(r112arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r112twin(C);
- /*[IRF3.3set_current_type*/((((T112*)(((T112*)R))))->_current_type)=(NULL);
- /*]*/
- R=r112to_runnable(((T112*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_LT.result_type*/
- /*No:CALL_INFIX_LT.is_result*/
- T0* r112twin(T112* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T112*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_LT.set_current_type*/
- T0* r112operator(void){
- T0* R=NULL;
- R=((T0*)ms36_473);
- return R;
- }
- int r112is_static(T112* C){
- int R=0;
- /*IF*/if (X291is_integer(X662result_type((((T112*)C))->_target/*12*/))) {
- /*IF*/if ((X662is_static((((T112*)C))->_target/*12*/))&&(X662is_static(r112arg1(C)))) {
- R=1;
- /*IF*/if ((X662static_value((((T112*)C))->_target/*12*/))<(X662static_value(r112arg1(C)))) {
- C->_static_value_mem=1;
- }
- else {
- C->_static_value_mem=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_LT.fz_07*/
- /*No:CALL_INFIX_LT.fz_unsigned*/
- /*No:CALL_INFIX_LT.can_be_dropped*/
- /*No:CALL_INFIX_LT.current_type*/
- void r112compile_to_c_old(T112* C){
- X662compile_to_c_old((((T112*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T112*)C))->_arguments/*24*/);
- }
- /*FI*/}
- void r112c2c_cast_op(T112* C,T0* a1,T0* a2){
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- X662compile_to_c((((T112*)C))->_target/*12*/);
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a2);
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\50';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- X662compile_to_c(r112arg1(C));
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*No:CALL_INFIX_LT.static_value_mem*/
- void r112make_call_1(T112* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_LT.is_manifest_string*/
- /*No:CALL_INFIX_LT.is_void*/
- void r112to_runnable_0(T112* C,T0* a1){
- C->_current_type=a1;
- r112cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T112*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T112*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T112*)C))->_run_feature/*16*/));
- r112error((((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T112*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T112*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_LT.is_pre_computable*/
- void r112cpc_to_runnable(T112* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T112*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T112*)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((((T112*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T112*)C))->_target/*12*/,(((T112*)C))->_run_feature/*16*/);
- }
- int r112use_current(T112* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T112*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T112*)C))->_target/*12*/)) {
- R=X496use_current((((T112*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T112*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r112finalize(T112* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T112*)C))->_run_feature/*16*/;
- _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
- /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
- _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
- C->_run_feature=_rf;
- }
- /*FI*/}
- void r112error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_LT.isa_dca_inline_argument*/
- /*No:CALL_INFIX_LT.fatal_error*/
- /*No:CALL_INFIX_LT.fz_bad_argument*/
- T0* r112arg1(T112* C){
- T0* R=NULL;
- R=X431first((((T112*)C))->_arguments/*24*/);
- return R;
- }
- /*No:CALL_INFIX_LT.us_lt*/
- void r112afd_check(T112* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T112*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T112*)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((((T112*)C))->_target/*12*/,(((T112*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T112*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T112*)C))->_arguments/*24*/);
- }
- /*FI*/}
- int r648id(T648* C){
- int R=0;
- R=(((T355*)((T355*)(r648run_class(C)))))->_id/*4*/;
- return R;
- }
- int r648has_creation(T648* C,T0* a1){
- int R=0;
- R=X291has_creation((((T648*)C))->_run_type/*8*/,a1);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.is_anchored*/
- int r648is_array(T648* C){
- int R=0;
- R=X291is_array((((T648*)C))->_run_type/*8*/);
- return R;
- }
- int r648is_a(T648* C,T0* a1){
- int R=0;
- R=X291is_a((((T648*)C))->_run_type/*8*/,a1);
- return R;
- }
- void r648c_initialize_in(T648* C,T0* a1){
- X291c_initialize_in((((T648*)C))->_run_type/*8*/,a1);
- }
- void r648c_type_for_argument_in(T648* C,T0* a1){
- X291c_type_for_argument_in((((T648*)C))->_run_type/*8*/,a1);
- }
- void r648gc_call_new_in(T648* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms115_470));
- r2append_in(r648id(C),a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- }
- int r648is_pointer(T648* C){
- int R=0;
- R=X291is_pointer((((T648*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.run_type*/
- int r648is_dummy_expanded(T648* C){
- int R=0;
- R=X291is_dummy_expanded((((T648*)C))->_run_type/*8*/);
- return R;
- }
- int r648is_string(T648* C){
- int R=0;
- R=X291is_string((((T648*)C))->_run_type/*8*/);
- return R;
- }
- int r648space_for_variable(T648* C){
- int R=0;
- R=X291space_for_variable((((T648*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.is_like_feature*/
- /*No:TYPE_LIKE_FEATURE.is_like_current*/
- T0* r648ultimate_run_type(T648* C,T0* a1){
- T0* R=NULL;
- T0* _t=NULL;
- _t=a1;
- while (!((_t)==((void*)(X291run_type(_t))))) {
- _t=X291run_type(_t);
- }
- /*IF*/if (((((T648*)C))->_run_type/*8*/)==((void*)(NULL))) {
- C->_run_type=_t;
- R=(T0*)C;
- }
- else {
- R=r648twin(C);
- /*[IRF3.3set_run_type*/((((T648*)(((T648*)R))))->_run_type)=(_t);
- /*]*/
- }
- /*FI*/return R;
- }
- void r648make(T648* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_like_what=a2;
- r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
- r7append(((T7*)(oBC646tmp_written_mark)),X776to_string((((T648*)C))->_like_what/*12*/));
- C->_written_mark=r902item(oBC646tmp_written_mark);
- }
- void r648anchor_cycle_start(T648* C){
- int _i=0;
- /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
- r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
- }
- else if (r907fast_has(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/)) {
- _i=0;
- while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
- r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
- _i=(_i)+(1);
- }
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- else {
- r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
- }
- /*FI*/}
- /*No:TYPE_LIKE_FEATURE.fz_bad_anchor*/
- void r648mapping_cast(T648* C){
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC291tmp_string)),'\50');
- r648c_type_for_target_in(C,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\51');
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- }
- /*No:TYPE_LIKE_FEATURE.start_position*/
- void r648c_type_for_target_in(T648* C,T0* a1){
- X291c_type_for_target_in((((T648*)C))->_run_type/*8*/,a1);
- }
- /*No:TYPE_LIKE_FEATURE.fz_gc_mark*/
- /*No:TYPE_LIKE_FEATURE.like_what*/
- void r648gc_initialize(T648* C){
- X291gc_initialize((((T648*)C))->_run_type/*8*/);
- }
- int r648is_character(T648* C){
- int R=0;
- R=X291is_character((((T648*)C))->_run_type/*8*/);
- return R;
- }
- int r648is_user_expanded(T648* C){
- int R=0;
- R=X291is_user_expanded((((T648*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.written_mark*/
- /*No:TYPE_LIKE_FEATURE.is_run_type*/
- T0* r648to_runnable(T648* C,T0* a1){
- T0* R=NULL;
- T0* _rc=NULL;
- T0* _f=NULL;
- T0* _t=NULL;
- r648anchor_cycle_start(C);
- _rc=X291run_class(a1);
- _f=X291look_up_for(a1,_rc,(((T648*)C))->_like_what/*12*/);
- /*IF*/if ((_f)==((void*)(NULL))) {
- r648error((((T648*)C))->_start_position/*4*/,((T0*)ms1_648));
- }
- else {
- _t=/*X359*/((T0*)(((T398*)((T398*)_f)))->_result_type/*12*/);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X359start_position(_f));
- r648error((((T648*)C))->_start_position/*4*/,((T0*)ms2_648));
- }
- else {
- _t=X291to_runnable(_t,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r648error((((T648*)C))->_start_position/*4*/,((T0*)ms54_470));
- }
- else {
- R=r648ultimate_run_type(C,X291run_type(_t));
- }
- /*FI*/}
- /*FI*/}
- /*FI*/r648anchor_cycle_end(C);
- return R;
- }
- void r648c_type_for_external_in(T648* C,T0* a1){
- /*IF*/if (r648is_reference(C)) {
- r7append(((T7*)a1),((T0*)ms133_470));
- r7extend(((T7*)a1),'\52');
- }
- else {
- r648c_type_for_result_in(C,a1);
- }
- /*FI*/}
- T0* r648generic_list(T648* C){
- T0* R=NULL;
- /*IF*/if (r648is_generic(C)) {
- R=X291generic_list((((T648*)C))->_run_type/*8*/);
- }
- else {
- r648fatal_error_generic_list(C);
- }
- /*FI*/return R;
- }
- /*No:TYPE_LIKE_FEATURE.is_formal_generic*/
- void r648demangling_in(T648* C,T0* a1){
- /*IF*/if (r648is_reference(C)) {
- r7extend(((T7*)a1),'R');
- }
- else {
- r7extend(((T7*)a1),'E');
- }
- /*FI*/r7extend(((T7*)a1),'\40');
- r7append(((T7*)a1),r648run_time_mark(C));
- }
- int r648is_real(T648* C){
- int R=0;
- R=X291is_real((((T648*)C))->_run_type/*8*/);
- return R;
- }
- T0* r648twin(T648* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T648*)R)=*C;
- return R;
- }
- int r648is_bit(T648* C){
- int R=0;
- R=X291is_bit((((T648*)C))->_run_type/*8*/);
- return R;
- }
- void r648fatal_error_generic_list(T648* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_LIKE_FEATURE.fz_new*/
- T0* r648smallest_ancestor(T648* C,T0* a1){
- T0* R=NULL;
- R=X291smallest_ancestor((((T648*)C))->_run_type/*8*/,a1);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.set_run_type*/
- int r648is_boolean(T648* C){
- int R=0;
- R=X291is_boolean((((T648*)C))->_run_type/*8*/);
- return R;
- }
- int r648is_double(T648* C){
- int R=0;
- R=X291is_double((((T648*)C))->_run_type/*8*/);
- return R;
- }
- T0* r648run_class(T648* C){
- T0* R=NULL;
- R=r604run_class((((T648*)C))->_run_type/*8*/);
- return R;
- }
- T0* r648run_time_mark(T648* C){
- T0* R=NULL;
- /*IF*/if (((((T648*)C))->_run_type/*8*/)!=((void*)(NULL))) {
- R=X291run_time_mark((((T648*)C))->_run_type/*8*/);
- }
- /*FI*/return R;
- }
- void r648c_initialize(T648* C){
- X291c_initialize((((T648*)C))->_run_type/*8*/);
- }
- void r648cast_to_ref(T648* C){
- X291cast_to_ref((((T648*)C))->_run_type/*8*/);
- }
- void r648gc_mark_in(T648* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms107_470));
- r2append_in(r648id(C),a1);
- }
- /*No:TYPE_LIKE_FEATURE.fz_cad*/
- int r648is_a_in(T648* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if (((((T648*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r648to_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* r648look_up_for(T648* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r648base_class(C))),a1,a2);
- return R;
- }
- void r648c_header_pass1(T648* C){
- X291c_header_pass1((((T648*)C))->_run_type/*8*/);
- }
- void r648c_type_for_result_in(T648* C,T0* a1){
- X291c_type_for_result_in((((T648*)C))->_run_type/*8*/,a1);
- }
- T0* r648expanded_initializer(T648* C){
- T0* R=NULL;
- R=X291expanded_initializer((((T648*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_FEATURE.fz_void*/
- /*No:TYPE_LIKE_FEATURE.fz_dot*/
-
-