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"
- void r669gc_info_nb_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms59_291));
- r2append_in(r669id(C),a1);
- }
- /*No:TYPE_ANY.fz_14*/
- /*No:TYPE_ANY.is_bit*/
- void r669fatal_error_generic_list(T669* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_ANY.fz_new*/
- /*No:TYPE_ANY.fz_c_void_args*/
- /*No:TYPE_ANY.smallest_ancestor*/
- /*No:TYPE_ANY.fz_16*/
- void r669standard_gc_info_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms119_470));
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\42');
- r7append(((T7*)a1),r669run_time_mark());
- r7append(((T7*)a1),((T0*)ms144_470));
- r669gc_info_nb_in(C,a1);
- r7append(((T7*)a1),((T0*)ms148_470));
- r7append(((T7*)a1),((T0*)ms119_470));
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\42');
- r669gcmt_used_in(C,a1);
- r7append(((T7*)a1),((T0*)ms144_470));
- r669gcmt_used_in(C,a1);
- r7append(((T7*)a1),((T0*)ms148_470));
- r7append(((T7*)a1),((T0*)ms119_470));
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\42');
- r669gcmt_max_in(C,a1);
- r7append(((T7*)a1),((T0*)ms144_470));
- r669gcmt_max_in(C,a1);
- r7append(((T7*)a1),((T0*)ms148_470));
- }
- /*No:TYPE_ANY.is_boolean*/
- void r669standard_c_typedef(T669* C){
- int _mem_id=0;
- _mem_id=r669id(C);
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- /*IF*/if (r669need_c_struct(C)) {
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
- r7extend(((T7*)(oBC291tmp_string)),'S');
- r2append_in(_mem_id,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7extend(((T7*)(oBC291tmp_string)),'T');
- r2append_in(_mem_id,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- }
- /*AF*/ else {/*AT*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291tmp_string)),'\52');
- r7extend(((T7*)(oBC291tmp_string)),'T');
- r2append_in(_mem_id,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- }
- /*No:TYPE_ANY.is_double*/
- T0* r669run_class(T669* C){
- T0* R=NULL;
- R=r604run_class((T0*)C);
- return R;
- }
- void r669gcmt_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms54_291));
- r2append_in(r669id(C),a1);
- }
- T0* r669run_time_mark(void){
- T0* R=NULL;
- R=((T0*)ms1_473);
- return R;
- }
- /*No:TYPE_ANY.c_initialize*/
- void r669cast_to_ref(T669* C){
- X291cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
- }
- void r669gc_mark_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms107_470));
- r2append_in(r669id(C),a1);
- }
- int r669is_a_in(T669* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((r669written_mark())==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r669to_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* r669look_up_for(T669* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r669base_class(C))),a1,a2);
- return R;
- }
- /*No:TYPE_ANY.c_header_pass1*/
- /*No:TYPE_ANY.c_type_for_result_in*/
- /*No:TYPE_ANY.expanded_initializer*/
- /*No:TYPE_ANY.fz_int*/
- void r669gc_declare_h_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms105_470));
- r2append_in(r669id(C),a1);
- r7append(((T7*)a1),((T0*)ms60_291));
- r2append_in(r669id(C),a1);
- r7append(((T7*)a1),((T0*)ms61_291));
- }
- void r669standard_gc_define1(T669* C){
- int _rcid=0;
- T0* _rc=NULL;
- _rc=r669run_class(C);
- _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
- r7extend(((T7*)(oBC291tmp_string)),'B');
- r2append_in(_rcid,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
- r7extend(((T7*)(oBC291tmp_string)),'B');
- r2append_in(_rcid,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms13_291));
- r2append_in(_rcid,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms14_291));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\52');
- r7extend(((T7*)(oBC291tmp_string)),'\52');
- r669gcmt_in(C,oBC291tmp_string);
- r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string);
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r669gcmt_used_in(C,oBC291tmp_string);
- r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r669gcmt_max_in(C,oBC291tmp_string);
- r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'8');
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\52');
- r669gc_free_in(C,oBC291tmp_string);
- r324put_extern5(((T324*)(oBC364cpp)),oBC291tmp_string,((T0*)ms117_470));
- /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r669gc_info_nb_in(C,oBC291tmp_string);
- r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
- }
- /*FI*/}
- /*No:TYPE_ANY.fz_void*/
- /*No:TYPE_ANY.fz_dot*/
- /*No:TYPE_ANY.is_generic*/
- /*No:TYPE_ANY.used_as_reference*/
- /*No:TYPE_ANY.c_header_pass2*/
- /*No:TYPE_ANY.gc_define1*/
- int r669need_c_struct(T669* C){
- int R=0;
- /*IF*/if (r355is_tagged(((T355*)(r669run_class(C))))) {
- R=1;
- }
- else {
- R=(r355writable_attributes(((T355*)(r669run_class(C)))))!=((void*)(NULL));
- }
- /*FI*/return R;
- }
- /*No:TYPE_ANY.gc_info_in*/
- /*No:TYPE_ANY.is_reference*/
- void r669error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r669base_class(T669* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=(((T669*)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_ANY.call_gc_sweep_in*/
- /*No:TYPE_ANY.gc_define2*/
- /*No:TYPE_ANY.need_gc_mark_function*/
- void r669standard_gc_define2(T669* C){
- int _rcid=0;
- T0* _rc=NULL;
- _rc=r669run_class(C);
- _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
- r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291header)),'\40');
- r7append(((T7*)(oBC291header)),((T0*)ms109_470));
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\50');
- r7append(((T7*)(oBC291header)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7extend(((T7*)(oBC291header)),'b');
- r7extend(((T7*)(oBC291header)),'\54');
- r7append(((T7*)(oBC291header)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7extend(((T7*)(oBC291header)),'h');
- r7extend(((T7*)(oBC291header)),'\51');
- r7copy(((T7*)(oBC291body)),((T0*)ms15_291));
- /*[IRF3.6gc_if_marked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms64_291));
- }/*]*/
- /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms63_291));
- }/*]*/
- r7extend(((T7*)(oBC291body)),'\175');
- r7append(((T7*)(oBC291body)),((T0*)ms10_470));
- r7extend(((T7*)(oBC291body)),'\n');
- /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms65_291));
- }/*]*/
- r7append(((T7*)(oBC291body)),((T0*)ms16_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms17_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms18_291));
- /*IF*/if (r669need_c_struct(C)) {
- r7append(((T7*)(oBC291body)),((T0*)ms19_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms134_470));
- }
- /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms20_291));
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291header)),'\40');
- r7append(((T7*)(oBC291header)),((T0*)ms108_470));
- r2append_in(_rcid,oBC291header);
- r7append(((T7*)(oBC291header)),((T0*)ms97_470));
- r7copy(((T7*)(oBC291body)),((T0*)ms21_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms22_291));
- r669gcmt_in(C,oBC291body);
- r7extend(((T7*)(oBC291body)),'\53');
- r669gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms23_291));
- r669gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms24_291));
- r7append(((T7*)(oBC291body)),((T0*)ms25_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms26_291));
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291header)),'\40');
- r669gc_mark_in(C,oBC291header);
- r7extend(((T7*)(oBC291header)),'\50');
- r7extend(((T7*)(oBC291header)),'T');
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7extend(((T7*)(oBC291header)),'o');
- r7extend(((T7*)(oBC291header)),'\51');
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
- /*]*/
- r669gc_declare_h_in(C,oBC291body);
- /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms65_291));
- }/*]*/
- /*[IRF3.6gc_set_marked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms62_291));
- }/*]*/
- /*IF*/if (r355gc_mark_to_follow(((T355*)_rc))) {
- r355gc_mark_in(((T355*)_rc),oBC291body);
- }
- /*FI*/r7extend(((T7*)(oBC291body)),'\175');
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291header)),'\40');
- r669gc_align_mark_in(C,oBC291header);
- r7extend(((T7*)(oBC291header)),'\50');
- r7extend(((T7*)(oBC291header)),'T');
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7extend(((T7*)(oBC291header)),'o');
- r7extend(((T7*)(oBC291header)),'\54');
- r7append(((T7*)(oBC291header)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7extend(((T7*)(oBC291header)),'B');
- r7extend(((T7*)(oBC291header)),'\51');
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
- /*]*/
- r669gc_declare_h_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms27_291));
- r669gc_mark_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms28_291));
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC291header)),'\40');
- r7append(((T7*)(oBC291header)),((T0*)ms116_470));
- r2append_in(_rcid,oBC291header);
- r7append(((T7*)(oBC291header)),((T0*)ms97_470));
- r7copy(((T7*)(oBC291body)),((T0*)ms29_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms30_291));
- r669gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms31_291));
- /*IF*/if (r355is_tagged(((T355*)_rc))) {
- r7append(((T7*)(oBC291body)),((T0*)ms32_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms134_470));
- }
- /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms33_291));
- r669gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms34_291));
- r669gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms35_291));
- r669gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms36_291));
- r669gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms37_291));
- r669gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms38_291));
- r669gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms39_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms40_291));
- r7append(((T7*)(oBC291body)),((T0*)ms41_291));
- r669gc_align_mark_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms42_291));
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291header)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC291header)),'T');
- r2append_in(_rcid,oBC291header);
- r7extend(((T7*)(oBC291header)),'\52');
- r7append(((T7*)(oBC291header)),((T0*)ms115_470));
- r2append_in(_rcid,oBC291header);
- r7append(((T7*)(oBC291header)),((T0*)ms97_470));
- r7copy(((T7*)(oBC291body)),((T0*)ms105_470));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms43_291));
- /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
- r669gc_info_nb_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms44_291));
- }
- /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms46_291));
- r2append_in(r548threshold_start(_rcid),oBC291body);
- r7extend(((T7*)(oBC291body)),'\74');
- r669gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms47_291));
- r7append(((T7*)(oBC291body)),((T0*)ms89_470));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms48_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms49_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms50_291));
- r669gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms51_291));
- /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
- r7append(((T7*)b1),((T0*)ms63_291));
- }/*]*/
- r7append(((T7*)(oBC291body)),((T0*)ms52_291));
- r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
- }
- /*No:TYPE_ANY.is_any*/
- /*No:TYPE_ANY.to_reference*/
- /*No:TYPE_ANY.c_header_pass3*/
- /*No:TYPE_ANY.fz_new_pool*/
- /*No:TYPE_ANY.base_class_name*/
- /*No:TYPE_ANY.is_expanded*/
- void r669standard_call_gc_sweep_in(T669* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms108_470));
- r2append_in(r669id(C),a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- r7append(((T7*)a1),((T0*)ms134_470));
- }
- /*No:TYPE_ANY.gc_if_unmarked_in*/
- /*No:TYPE_ANY.is_basic_eiffel_expanded*/
- /*No:TYPE_ANY.is_none*/
- /*No:TYPE_ANY.to_expanded*/
- /*No:TYPE_ANY.is_integer*/
- /*No:TYPE_ANY.us_any*/
- void r669c_header_pass4(T669* C){
- /*IF*/if (r669need_c_struct(C)) {
- r669standard_c_struct(C);
- }
- /*FI*/}
- /*No:TYPE_ANY.fz_struct*/
- /*No:CALL_INFIX_FREEOP.arguments*/
- T0* r534add_comment(T534* 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 r534to_integer(T534* C){
- int R=0;
- r534error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r534is_a(T534* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T534*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r534error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_FREEOP.is_current*/
- void r534mapping_c_arg(T534* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T534*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- 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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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 {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_FREEOP.static_value*/
- void r534make(T534* C,T0* a1,T0* a2,T0* a3){
- T0* _eal=NULL;
- {T431*n=malloc(sizeof(*n));
- *n=M431;
- /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
- /*]*/
- _eal=(T0*)n;
- }
- r534make_call_1(C,a1,a2,_eal);
- }
- void r534mapping_c_target(T534* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T534*)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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- /*[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 {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T534* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*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_FREEOP.nb_errors*/
- /*No:CALL_INFIX_FREEOP.feature_name*/
- /*No:CALL_INFIX_FREEOP.fz_iinaiv*/
- /*No:CALL_INFIX_FREEOP.arg_count*/
- /*No:CALL_INFIX_FREEOP.dca_inline_argument*/
- /*No:CALL_INFIX_FREEOP.run_feature*/
- /*No:CALL_INFIX_FREEOP.call_proc_call_c2c*/
- /*No:CALL_INFIX_FREEOP.start_position*/
- /*No:CALL_INFIX_FREEOP.target*/
- /*No:CALL_INFIX_FREEOP.compile_to_c*/
- /*No:CALL_INFIX_FREEOP.c_simple*/
- T0* r534to_runnable(T534* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T534*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r534to_runnable_0(C,a1);
- _a=X431to_runnable((((T534*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r534error(X662start_position(r534arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T534*)C))->_arguments/*24*/,(((T534*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T534*)C))->_result_type/*20*/;
- if(NULL!=(_tla))switch(((T0*)_tla)->id) {
- case 239:
- break;
- default:
- _tla=NULL;
- };/*IF*/if ((_tla)!=((void*)(NULL))) {
- C->_result_type=X291run_type(X662result_type(r534arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r534twin(C);
- /*[IRF3.3set_current_type*/((((T534*)(((T534*)R))))->_current_type)=(NULL);
- /*]*/
- R=r534to_runnable(((T534*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_FREEOP.result_type*/
- /*No:CALL_INFIX_FREEOP.is_result*/
- T0* r534twin(T534* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T534*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_FREEOP.set_current_type*/
- /*No:CALL_INFIX_FREEOP.is_static*/
- int r534call_is_static(T534* C){
- int R=0;
- T0* _rf=NULL;
- T0* _running=NULL;
- T0* _rc=NULL;
- /*IF*/if (((((T534*)C))->_run_feature/*16*/)!=((void*)(NULL))) {
- _rc=X496run_class((((T534*)C))->_run_feature/*16*/);
- /*IF*/if ((_rc)!=((void*)(NULL))) {
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) {
- _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T534*)C))->_run_feature/*16*/);
- /*IF*/if (X496is_static(_rf)) {
- C->_static_value_mem=X496static_value_mem(_rf);
- R=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_FREEOP.fz_07*/
- /*No:CALL_INFIX_FREEOP.can_be_dropped*/
- /*No:CALL_INFIX_FREEOP.current_type*/
- void r534compile_to_c_old(T534* C){
- X662compile_to_c_old((((T534*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T534*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_FREEOP.static_value_mem*/
- void r534make_call_1(T534* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_FREEOP.is_manifest_string*/
- /*No:CALL_INFIX_FREEOP.is_void*/
- void r534to_runnable_0(T534* C,T0* a1){
- C->_current_type=a1;
- r534cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T534*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T534*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T534*)C))->_run_feature/*16*/));
- r534error((((T454*)((T454*)((((T534*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T534*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T534*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_FREEOP.is_pre_computable*/
- void r534cpc_to_runnable(T534* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T534*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T534*)C))->_target/*12*/));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/C->_target=_t;
- _rc=X291run_class(X662result_type((((T534*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T534*)C))->_target/*12*/,(((T534*)C))->_run_feature/*16*/);
- }
- int r534use_current(T534* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T534*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T534*)C))->_target/*12*/)) {
- R=X496use_current((((T534*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T534*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r534finalize(T534* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T534*)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 r534error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_FREEOP.isa_dca_inline_argument*/
- /*No:CALL_INFIX_FREEOP.fatal_error*/
- /*No:CALL_INFIX_FREEOP.fz_bad_argument*/
- T0* r534arg1(T534* C){
- T0* R=NULL;
- R=X431first((((T534*)C))->_arguments/*24*/);
- return R;
- }
- void r534afd_check(T534* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T534*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T534*)C))->_target/*12*/));
- /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_warning(((T683*)(oBC364eh)));
- r355set_at_run_time(((T355*)_rc));
- }
- else if ((r396count(((T396*)_running)))>(0)) {
- r576update((((T534*)C))->_target/*12*/,(((T534*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T534*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T534*)C))->_arguments/*24*/);
- }
- /*FI*/}
-
-