home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- void rT239make(T239 *C,T0 * a1,T0 * a2){
- C->_comment=a2;
- C->_expression=a1;
- }
- T0 * rT238to_runnable(T238 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!(XrT68current_type((C)->_expression))) {
- C->_expression=XrT68to_runnable((C)->_expression,a1);
- R=(T0 *)C;
- }
- else {
- R=rT238clone(C,(T0 *)C);
- /*(IRF3*/(((T238*)R)->_expression)=(XrT68to_runnable((C)->_expression,a1));
- /*)*/}
- /*FI*/return R;
- }
- int rT238use_current(T238 *C){
- int R=0;
- R=XrT68use_current((C)->_expression);
- return R;
- }
- T0* rT238clone(T238 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT238copy(T238 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT238make(T238 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_comment=a3;
- C->_tag=a1;
- C->_expression=a2;
- }
- T0* rT236runnable(T236 *C,T0* a1,T0 * a2,T0 * a3){
- T0* R=NULL;
- T0 * _a=NULL;
- int _i=0;
- /*IF*/if (!(rT158empty((T158*)a1))) {
- R=rT236clone(C,a1);
- _i=1;
- while (!((_i)>(((T158*)R)->_upper))) {
- rT52push((T52*)oRBC27small_eiffel,a3);
- _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
- /*IF*/if (!(_a)) {
- rT236error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms477);
- }
- else {
- rT158put((T158*)R,_a,_i);
- }
- /*FI*/rT52pop((T52*)oRBC27small_eiffel);
- _i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- T0 * rT236to_runnable(T236 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- /*IF*/if (((int)(C)->_list)) {
- C->_list=rT236runnable(C,(C)->_list,a1,rT52top_rf((T52*)oRBC27small_eiffel));
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- R=rT236clone(C,(T0 *)C);
- /*(IRF3*/(((T236*)R)->_current_type)=(NULL);
- /*)*/R=rT236to_runnable((T236*)R,a1);
- }
- /*FI*/return R;
- }
- void rT236error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- int rT236use_current(T236 *C){
- int R=0;
- int _i=0;
- /*IF*/if (((int)(C)->_list)) {
- _i=((T158*)(C)->_list)->_upper;
- while (!((R)||((_i)==(0)))) {
- R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i));
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- T0* rT236clone(T236 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT236compile_to_c(T236 *C){
- int _i=0;
- /*(IRF3*/(((T40*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms1305/*)*/);
- /*)*//*IF*/if (((int)(C)->_list)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms775);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms1305/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms776);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms1305/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms777);
- _i=1;
- while (!((_i)>(((T158*)(C)->_list)->_upper))) {
- rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i));
- _i=(_i)+(1);
- }
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms783);
- rT40put_string((T40*)oRBC27cpp,/*(IRF4*/(T0 *)ms1305/*)*/);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms784);
- }
- /*FI*/}
- void rT236copy(T236 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT236make(T236 *C,T0 * a1,T0 * a2,T0* a3){
- C->_start_position=a1;
- C->_header_comment=a2;
- C->_list=a3;
- }
- void rT38put_integer(T38 *C,int a1){
- /*(IRF3*/(((T7*)(T0 *)ms44)->_count)=(0);
- /*)*/rT2append_in(a1,(T0 *)ms44);
- rT38put_string(C,(T0 *)ms44);
- }
- void rT38die_with_code(T38 *C,int a1){
- exit(a1);
- }
- void rT38put_string(T38 *C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>(((T7*)a1)->_count))) {
- rT38put_character(C,rT7_ix64((T7*)a1,_i));
- _i=(_i)+(1);
- }
- }
- int rT38is_connected(T38 *C){
- int R=0;
- R=((int)(C)->_path);
- return R;
- }
- void rT38crash(T38 *C){
- rsp();
- rT38die_with_code(C,1);
- }
- void rT38disconnect(T38 *C){
- int _err=0;
- _err=fclose((C)->_output_stream);
- C->_path=NULL;
- C->_output_stream=stdout;
- }
- void rT38connect_to(T38 *C,T0* a1){
- C->_mode=(T0 *)ms527;
- C->_output_stream=rT38fopen(C,a1,(C)->_mode);
- /*IF*/{/*AT*/C->_path=a1;
- }
- /*FI*/}
- void rT38append_file(T38 *C,T0* a1){
- char _c='\0';
- rT39connect_to((T39*)rT38tmp_file_read(),a1);
- rT39read_character((T39*)rT38tmp_file_read());
- while (!(rT39end_of_input((T39*)rT38tmp_file_read()))) {
- _c=rT39last_character((T39*)rT38tmp_file_read());
- rT38put_character(C,_c);
- rT39read_character((T39*)rT38tmp_file_read());
- }
- rT39disconnect((T39*)rT38tmp_file_read());
- }
- int ofBC34tmp_file_read=0;
- T0*oRBC34tmp_file_read;
- T0 * rT38tmp_file_read(/*C*/void){
- T0 * R=NULL;
- if (ofBC34tmp_file_read==0){
- ofBC34tmp_file_read=1;
- {T39 *n=((T39*)new(39));
- /*(IRF3*/((n)->_mode)=((T0 *)ms26);
- /*)*/R=(T0 *)n;}
- oRBC34tmp_file_read=R;}
- return oRBC34tmp_file_read;}
- void * rT38fopen(T38 *C,T0* a1,T0* a2){
- void * R=NULL;
- rT7extend((T7*)a1,'\0');
- rT7extend((T7*)a2,'\0');
- R=(T0 *)fopen(((Tstring *)a1)->_storage,((Tstring *)a2)->_storage);
- rT7remove_last((T7*)a1,1);
- rT7remove_last((T7*)a2,1);
- return R;
- }
- void rT38copy(T38 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT38put_character(T38 *C,char a1){
- char _err='\0';
- _err=fputc(a1,(C)->_output_stream);
- /*IF*/if ((_err)!=(a1)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms1);
- rT38crash(C);
- }
- /*FI*/}
- void rT38make(T38 *C){
- C->_output_stream=stdout;
- }
- void rT283address_of(T283 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1525);
- rT40put_string((T40*)oRBC27cpp,XrT67to_string((C)->_name));
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- void rT283compute_use_current(T283 *C){
- C->_use_current_state=1018;
- }
- void rT283error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT283add_clients(T283 *C,T0 * a1){
- int _i=0;
- /*IF*/if (!((C)->_actuals_clients)) {
- C->_actuals_clients=ma(263,0,1,a1);
- }
- else {
- _i=((T263*)(C)->_actuals_clients)->_lower;
- while (!(((_i)>(((T263*)(C)->_actuals_clients)->_upper))||(((T0 *)rT263item((T263*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
- _i=(_i)+(1);
- }
- /*IF*/if ((_i)>(((T263*)(C)->_actuals_clients)->_upper)) {
- rT263add_last((T263*)(C)->_actuals_clients,a1);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT283clients(T283 *C){
- T0 * R=NULL;
- T0 * _bfbc=NULL;
- T0 * _bc=NULL;
- _bc=XrT58base_class((C)->_current_type);
- _bfbc=((T256*)(C)->_base_feature)->_base_class;
- /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
- R=((T256*)(C)->_base_feature)->_clients;
- }
- else {
- /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_name));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT256start_position((T256*)(C)->_base_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1122);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
- rT283error(NULL,(T0 *)ms1123);
- }
- /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
- }
- /*FI*/return R;
- }
- int rT283id(T283 *C){
- int R=0;
- R=XrT58id((C)->_current_type);
- return R;
- }
- T0 * rT283start_position(T283 *C){
- T0 * R=NULL;
- R=rT256start_position((T256*)(C)->_base_feature);
- return R;
- }
- int rT283use_current(T283 *C){
- int R=0;
- {int iv1=(C)->_use_current_state;
- if (1018 == iv1) goto l38;
- goto l39;
- l38: ;
- R=1;
- goto l37;
- l39: ;
- if (1017 == iv1) goto l40;
- goto l41;
- l40: ;
- goto l37;
- l41: ;
- if (1019 == iv1) goto l42;
- goto l43;
- l42: ;
- C->_use_current_state=1020;
- rT283compute_use_current(C);
- R=rT283use_current(C);
- goto l37;
- l43: ;
- if (1020 == iv1) goto l44;
- goto l45;
- l44: ;
- R=1;
- goto l37;
- l45: ;
- l37: ;
- }
- return R;
- }
- int rT283can_be_dropped(T283 *C){
- int R=0;
- R=(!((C)->_require_assertion))&&(!((C)->_ensure_assertion));
- return R;
- }
- void rT283mapping_c(T283 *C){
- /*IF*/if (XrT58fast_mapping_c((C)->_current_type)) {
- rT40put_target((T40*)oRBC27cpp);
- }
- else {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1594);
- rT40put_string((T40*)oRBC27cpp,XrT67to_string((C)->_name));
- }
- /*FI*/}
- void rT283mapping_name(T283 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1189);
- rT40put_integer((T40*)oRBC27cpp,rT283id(C));
- XrT67mapping_c((C)->_name);
- }
- T0 * rT283run_class(T283 *C){
- T0 * R=NULL;
- R=XrT58run_class((C)->_current_type);
- return R;
- }
- int rT283is_exported_in(T283 *C,T0 * a1){
- int R=0;
- R=rT123gives_permission_to((T123*)rT283clients(C),a1);
- return R;
- }
- void rT283copy(T283 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT283arg_count(T283 *C){
- int R=0;
- /*IF*/if (((int)(C)->_arguments)) {
- R=rT92count((T92*)(C)->_arguments);
- }
- /*FI*/return R;
- }
- void rT283initialize(T283 *C){
- C->_result_type=XrT58to_runnable(((T256*)(C)->_base_feature)->_result_type,(C)->_current_type);
- }
- void rT283fall_down(T283 *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=XrT58run_class((C)->_current_type);
- _running=((T260*)_current_rc)->_running;
- /*IF*/if (((int)_running)) {
- _current_bc=XrT58base_class((C)->_current_type);
- _i=((T263*)_running)->_lower;
- while (!((_i)>(((T263*)_running)->_upper))) {
- _sub_rc=rT263item((T263*)_running,_i);
- /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
- _sub_bc=XrT58base_class(((T260*)_sub_rc)->_current_type);
- _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
- _rf=rT260get_feature((T260*)_sub_rc,_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT283make(T283 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- rT264put((T264*)((T260*)rT283run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- C->_use_current_state=1019;
- rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
- rT283initialize(C);
- rT52pop((T52*)oRBC27small_eiffel);
- }
- void rT282address_of(T282 *C){
- rT282mapping_name(C);
- }
- void rT282warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- void rT282once_flag(T282 *C){
- rT40put_character((T40*)oRBC27cpp,'o');
- rT40put_character((T40*)oRBC27cpp,'f');
- rT254mapping_c_name((T254*)(C)->_base_feature);
- }
- void rT282once_boolean(T282 *C){
- rT40swap_on_h((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1527);
- rT282once_flag(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1528);
- rT40swap_on_c((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1529);
- rT282once_flag(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1530);
- }
- void rT282compute_use_current(T282 *C){
- rT282std_compute_use_current(C);
- }
- void rT282define_closing(T282 *C){
- /*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157compile_to_c((T157*)(C)->_ensure_assertion);
- }
- /*FI*/}
- /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40rs_unlink((T40*)oRBC27cpp);
- }
- /*FI*/}
- T0*oRBC261dos;
- void rT282define_opening(T282 *C){
- T0 * _t=NULL;
- int _i=0;
- /*IF*/if (((int)(C)->_result_type)) {
- _t=XrT58run_type((C)->_result_type);
- /*(IRF3*/(((T7*)oRBC261dos)->_count)=(0);
- /*)*/XrT58c_type_in(_t,oRBC261dos);
- rT40put_string((T40*)oRBC27cpp,oRBC261dos);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1365);
- XrT58c_initialize(_t);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1367);
- }
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- rT139compile_to_c((T139*)(C)->_local_vars);
- }
- /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157compile_to_c_old((T157*)(C)->_ensure_assertion);
- }
- /*FI*/}
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- rT139initialize_expanded((T139*)(C)->_local_vars);
- }
- /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40rs_link((T40*)oRBC27cpp,(T0 *)C);
- /*IF*/if (rT282use_current(C)) {
- rT40rs_push_current((T40*)oRBC27cpp,(C)->_current_type);
- }
- /*FI*/_i=1;
- while (!((_i)>(rT282arg_count(C)))) {
- _t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i));
- rT40rs_push_argument((T40*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t);
- _i=(_i)+(1);
- }
- /*IF*/if (((int)(C)->_result_type)) {
- rT40rs_push_result((T40*)oRBC27cpp,XrT58run_type((C)->_result_type));
- }
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- _i=1;
- while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) {
- _t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i));
- rT40rs_push_local((T40*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t);
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- rT267compile_to_c((T267*)(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- void rT282define_prototype(T282 *C){
- int _mem_id=0;
- T0 * _t=NULL;
- T0 * _fn=NULL;
- _mem_id=rT282id(C);
- /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1352);
- rT40put_integer((T40*)oRBC27cpp,_mem_id);
- XrT67mapping_c((C)->_name);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1353);
- _fn=rT254first_name((T254*)(C)->_base_feature);
- /*IF*/if (XrT67is_infix_name(_fn)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1354);
- }
- else if (XrT67is_prefix_name(_fn)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1355);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,XrT67to_string(_fn));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1356);
- rT40put_string((T40*)oRBC27cpp,((T48*)rT254base_class_name((T254*)(C)->_base_feature))->_to_string);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1357);
- rT40swap_on_h((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1358);
- rT40put_integer((T40*)oRBC27cpp,_mem_id);
- XrT67mapping_c((C)->_name);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1359);
- }
- /*FI*//*(IRF3*/(((T7*)oRBC261dps)->_count)=(0);
- /*)*//*IF*/if (!((C)->_result_type)) {
- rT7append((T7*)oRBC261dps,(T0 *)ms1360);
- }
- else {
- _t=XrT58run_type((C)->_result_type);
- XrT58c_type_in(_t,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\40');
- }
- /*FI*/rT7append((T7*)oRBC261dps,(T0 *)ms1361);
- rT2append_in(_mem_id,oRBC261dps);
- XrT67mapping_c_in((C)->_name,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\50');
- /*IF*/if (rT282use_current(C)) {
- rT7extend((T7*)oRBC261dps,'T');
- rT2append_in(_mem_id,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\40');
- /*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) {
- rT7extend((T7*)oRBC261dps,'\52');
- }
- /*FI*/rT7extend((T7*)oRBC261dps,'C');
- /*IF*/if (((int)(C)->_arguments)) {
- rT7extend((T7*)oRBC261dps,'\54');
- }
- /*FI*/}
- else {
- rT7append((T7*)oRBC261dps,(T0 *)ms1362);
- }
- /*FI*//*IF*/if (!((C)->_arguments)) {
- /*IF*/if (!(rT282use_current(C))) {
- rT7append((T7*)oRBC261dps,(T0 *)ms1363);
- }
- /*FI*/}
- else {
- rT92compile_to_c_in((T92*)(C)->_arguments,oRBC261dps);
- }
- /*FI*/rT7extend((T7*)oRBC261dps,'\51');
- rT40put_c_heading((T40*)oRBC27cpp,oRBC261dps);
- rT40swap_on_c((T40*)oRBC27cpp);
- }
- T0*oRBC261dps;
- void rT282error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT282add_clients(T282 *C,T0 * a1){
- int _i=0;
- /*IF*/if (!((C)->_actuals_clients)) {
- C->_actuals_clients=ma(263,0,1,a1);
- }
- else {
- _i=((T263*)(C)->_actuals_clients)->_lower;
- while (!(((_i)>(((T263*)(C)->_actuals_clients)->_upper))||(((T0 *)rT263item((T263*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
- _i=(_i)+(1);
- }
- /*IF*/if ((_i)>(((T263*)(C)->_actuals_clients)->_upper)) {
- rT263add_last((T263*)(C)->_actuals_clients,a1);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT282clients(T282 *C){
- T0 * R=NULL;
- T0 * _bfbc=NULL;
- T0 * _bc=NULL;
- _bc=XrT58base_class((C)->_current_type);
- _bfbc=((T254*)(C)->_base_feature)->_base_class;
- /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
- R=((T254*)(C)->_base_feature)->_clients;
- }
- else {
- /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_name));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT254start_position((T254*)(C)->_base_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1122);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
- rT282error(NULL,(T0 *)ms1123);
- }
- /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
- }
- /*FI*/return R;
- }
- void rT282std_compute_use_current(T282 *C){
- /*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (rT267use_current((T267*)(C)->_require_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_routine_body)) {
- /*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- /*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- C->_use_current_state=1017;
- }
- /*FI*/}
- int rT282id(T282 *C){
- int R=0;
- R=XrT58id((C)->_current_type);
- return R;
- }
- T0 * rT282start_position(T282 *C){
- T0 * R=NULL;
- R=rT254start_position((T254*)(C)->_base_feature);
- return R;
- }
- int rT282use_current(T282 *C){
- int R=0;
- {int iv1=(C)->_use_current_state;
- if (1018 == iv1) goto l47;
- goto l48;
- l47: ;
- R=1;
- goto l46;
- l48: ;
- if (1017 == iv1) goto l49;
- goto l50;
- l49: ;
- goto l46;
- l50: ;
- if (1019 == iv1) goto l51;
- goto l52;
- l51: ;
- C->_use_current_state=1020;
- rT282compute_use_current(C);
- R=rT282use_current(C);
- goto l46;
- l52: ;
- if (1020 == iv1) goto l53;
- goto l54;
- l53: ;
- R=1;
- goto l46;
- l54: ;
- l46: ;
- }
- return R;
- }
- void rT282c_define(T282 *C){
- T0 * _bfbc=NULL;
- _bfbc=((T254*)(C)->_base_feature)->_base_class;
- /*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) {
- rT282once_boolean(C);
- rT50set_already_defined((T50*)_bfbc,(C)->_name);
- }
- /*FI*/rT282define_prototype(C);
- rT282define_opening(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1531);
- rT282once_flag(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1532);
- rT282once_flag(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1533);
- /*IF*/if (((int)(C)->_routine_body)) {
- rT140compile_to_c((T140*)(C)->_routine_body);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1534);
- rT282define_closing(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1535);
- }
- int rT282can_be_dropped(T282 *C){
- int R=0;
- rT282warning(rT282start_position(C),(T0 *)ms1554);
- return R;
- }
- void rT282mapping_c(T282 *C){
- int _tcbd=0;
- /*IF*/if (rT282use_current(C)) {
- rT282mapping_name(C);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- /*IF*/if ((rT282arg_count(C))>(0)) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1592);
- }
- else {
- _tcbd=rT40target_cannot_be_dropped((T40*)oRBC27cpp);
- rT282mapping_name(C);
- rT40put_character((T40*)oRBC27cpp,'\50');
- /*IF*/if ((rT282arg_count(C))>(0)) {
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1593);
- }
- /*FI*/}
- void rT282mapping_name(T282 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1189);
- rT40put_integer((T40*)oRBC27cpp,rT282id(C));
- XrT67mapping_c((C)->_name);
- }
- T0 * rT282run_class(T282 *C){
- T0 * R=NULL;
- R=XrT58run_class((C)->_current_type);
- return R;
- }
- int rT282is_exported_in(T282 *C,T0 * a1){
- int R=0;
- R=rT123gives_permission_to((T123*)rT282clients(C),a1);
- return R;
- }
- void rT282copy(T282 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT282arg_count(T282 *C){
- int R=0;
- /*IF*/if (((int)(C)->_arguments)) {
- R=rT92count((T92*)(C)->_arguments);
- }
- /*FI*/return R;
- }
- void rT282initialize(T282 *C){
- C->_arguments=((T254*)(C)->_base_feature)->_arguments;
- /*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
- C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
- }
- /*FI*/C->_local_vars=((T254*)(C)->_base_feature)->_local_vars;
- /*IF*/if ((((int)(C)->_local_vars))&&((rT139count((T139*)(C)->_local_vars))>(0))) {
- C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type);
- }
- /*FI*/C->_routine_body=((T254*)(C)->_base_feature)->_routine_body;
- /*IF*/if (((int)(C)->_routine_body)) {
- C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type);
- }
- /*FI*/}
- void rT282fall_down(T282 *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=XrT58run_class((C)->_current_type);
- _running=((T260*)_current_rc)->_running;
- /*IF*/if (((int)_running)) {
- _current_bc=XrT58base_class((C)->_current_type);
- _i=((T263*)_running)->_lower;
- while (!((_i)>(((T263*)_running)->_upper))) {
- _sub_rc=rT263item((T263*)_running,_i);
- /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
- _sub_bc=XrT58base_class(((T260*)_sub_rc)->_current_type);
- _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
- _rf=rT260get_feature((T260*)_sub_rc,_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT282make(T282 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- rT264put((T264*)((T260*)rT282run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- C->_use_current_state=1019;
- rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
- rT282initialize(C);
- rT52pop((T52*)oRBC27small_eiffel);
- }
- void rT281address_of(T281 *C){
- rT281mapping_name(C);
- }
- void rT281warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- int rT281is_static(T281 *C){
- int R=0;
- C->_static_value_mem=-(7);
- /*IF*/if (rT281isa_in_line(C)) {
- R=((C)->_static_value_mem)!=(-(7));
- }
- /*FI*/return R;
- }
- void rT281compute_use_current(T281 *C){
- rT281std_compute_use_current(C);
- }
- int rT281isa_in_line(T281 *C){
- int R=0;
- T0 * _expression=NULL;
- T0 * _a=NULL;
- /*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((rT281arg_count(C))==(0))&&(!((C)->_local_vars))) {
- /*IF*/if (!((C)->_routine_body)) {
- C->_static_value_mem=0;
- R=1;
- }
- else if ((rT140count((T140*)(C)->_routine_body))==(1)) {
- _a=rT140first((T140*)(C)->_routine_body);
- if ((int)_a) switch (((T0 *)_a)->id) {
- case 248:
- break;
- default:
- _a = NULL;
- };/*IF*/if (((int)_a)) {
- _expression=((T248*)_a)->_left_side;
- /*IF*/if (XrT68is_result(_expression)) {
- _expression=((T248*)_a)->_right_side;
- R=!(XrT68use_current(_expression));
- /*IF*/if (R) {
- /*IF*/if (XrT68is_static(_expression)) {
- C->_static_value_mem=XrT68static_value(_expression);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- void rT281define_closing(T281 *C){
- /*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157compile_to_c((T157*)(C)->_ensure_assertion);
- }
- /*FI*/}
- /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40rs_unlink((T40*)oRBC27cpp);
- }
- /*FI*/}
- void rT281define_opening(T281 *C){
- T0 * _t=NULL;
- int _i=0;
- /*IF*/if (((int)(C)->_result_type)) {
- _t=XrT58run_type((C)->_result_type);
- /*(IRF3*/(((T7*)oRBC261dos)->_count)=(0);
- /*)*/XrT58c_type_in(_t,oRBC261dos);
- rT40put_string((T40*)oRBC27cpp,oRBC261dos);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1365);
- XrT58c_initialize(_t);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1367);
- }
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- rT139compile_to_c((T139*)(C)->_local_vars);
- }
- /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157compile_to_c_old((T157*)(C)->_ensure_assertion);
- }
- /*FI*/}
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- rT139initialize_expanded((T139*)(C)->_local_vars);
- }
- /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40rs_link((T40*)oRBC27cpp,(T0 *)C);
- /*IF*/if (rT281use_current(C)) {
- rT40rs_push_current((T40*)oRBC27cpp,(C)->_current_type);
- }
- /*FI*/_i=1;
- while (!((_i)>(rT281arg_count(C)))) {
- _t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i));
- rT40rs_push_argument((T40*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t);
- _i=(_i)+(1);
- }
- /*IF*/if (((int)(C)->_result_type)) {
- rT40rs_push_result((T40*)oRBC27cpp,XrT58run_type((C)->_result_type));
- }
- /*FI*//*IF*/if (((int)(C)->_local_vars)) {
- _i=1;
- while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) {
- _t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i));
- rT40rs_push_local((T40*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t);
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- rT267compile_to_c((T267*)(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- void rT281define_prototype(T281 *C){
- int _mem_id=0;
- T0 * _t=NULL;
- T0 * _fn=NULL;
- _mem_id=rT281id(C);
- /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1352);
- rT40put_integer((T40*)oRBC27cpp,_mem_id);
- XrT67mapping_c((C)->_name);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1353);
- _fn=rT252first_name((T252*)(C)->_base_feature);
- /*IF*/if (XrT67is_infix_name(_fn)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1354);
- }
- else if (XrT67is_prefix_name(_fn)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1355);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,XrT67to_string(_fn));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1356);
- rT40put_string((T40*)oRBC27cpp,((T48*)rT252base_class_name((T252*)(C)->_base_feature))->_to_string);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1357);
- rT40swap_on_h((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1358);
- rT40put_integer((T40*)oRBC27cpp,_mem_id);
- XrT67mapping_c((C)->_name);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1359);
- }
- /*FI*//*(IRF3*/(((T7*)oRBC261dps)->_count)=(0);
- /*)*//*IF*/if (!((C)->_result_type)) {
- rT7append((T7*)oRBC261dps,(T0 *)ms1360);
- }
- else {
- _t=XrT58run_type((C)->_result_type);
- XrT58c_type_in(_t,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\40');
- }
- /*FI*/rT7append((T7*)oRBC261dps,(T0 *)ms1361);
- rT2append_in(_mem_id,oRBC261dps);
- XrT67mapping_c_in((C)->_name,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\50');
- /*IF*/if (rT281use_current(C)) {
- rT7extend((T7*)oRBC261dps,'T');
- rT2append_in(_mem_id,oRBC261dps);
- rT7extend((T7*)oRBC261dps,'\40');
- /*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) {
- rT7extend((T7*)oRBC261dps,'\52');
- }
- /*FI*/rT7extend((T7*)oRBC261dps,'C');
- /*IF*/if (((int)(C)->_arguments)) {
- rT7extend((T7*)oRBC261dps,'\54');
- }
- /*FI*/}
- else {
- rT7append((T7*)oRBC261dps,(T0 *)ms1362);
- }
- /*FI*//*IF*/if (!((C)->_arguments)) {
- /*IF*/if (!(rT281use_current(C))) {
- rT7append((T7*)oRBC261dps,(T0 *)ms1363);
- }
- /*FI*/}
- else {
- rT92compile_to_c_in((T92*)(C)->_arguments,oRBC261dps);
- }
- /*FI*/rT7extend((T7*)oRBC261dps,'\51');
- rT40put_c_heading((T40*)oRBC27cpp,oRBC261dps);
- rT40swap_on_c((T40*)oRBC27cpp);
- }
- void rT281error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT281in_line(T281 *C){
- int _tcbd=0;
- T0 * _e=NULL;
- T0 * _a=NULL;
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1589);
- _tcbd=rT40target_cannot_be_dropped((T40*)oRBC27cpp);
- /*IF*/if (!((C)->_routine_body)) {
- XrT58c_initialize(XrT58run_type((C)->_result_type));
- }
- else {
- _a=rT140first((T140*)(C)->_routine_body);
- if ((int)_a) switch (((T0 *)_a)->id) {
- case 248:
- break;
- default:
- _a = NULL;
- };_e=((T248*)_a)->_right_side;
- /*IF*/if (XrT68is_manifest_string(_e)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1590);
- }
- /*FI*/XrT68compile_to_c(_e);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1591);
- /*IF*/if (_tcbd) {
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- void rT281add_clients(T281 *C,T0 * a1){
- int _i=0;
- /*IF*/if (!((C)->_actuals_clients)) {
- C->_actuals_clients=ma(263,0,1,a1);
- }
- else {
- _i=((T263*)(C)->_actuals_clients)->_lower;
- while (!(((_i)>(((T263*)(C)->_actuals_clients)->_upper))||(((T0 *)rT263item((T263*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
- _i=(_i)+(1);
- }
- /*IF*/if ((_i)>(((T263*)(C)->_actuals_clients)->_upper)) {
- rT263add_last((T263*)(C)->_actuals_clients,a1);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT281clients(T281 *C){
- T0 * R=NULL;
- T0 * _bfbc=NULL;
- T0 * _bc=NULL;
- _bc=XrT58base_class((C)->_current_type);
- _bfbc=((T252*)(C)->_base_feature)->_base_class;
- /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
- R=((T252*)(C)->_base_feature)->_clients;
- }
- else {
- /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_name));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT252start_position((T252*)(C)->_base_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1122);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
- rT281error(NULL,(T0 *)ms1123);
- }
- /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
- }
- /*FI*/return R;
- }
- void rT281std_compute_use_current(T281 *C){
- /*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (rT267use_current((T267*)(C)->_require_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_routine_body)) {
- /*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- /*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- C->_use_current_state=1017;
- }
- /*FI*/}
- int rT281id(T281 *C){
- int R=0;
- R=XrT58id((C)->_current_type);
- return R;
- }
- T0 * rT281start_position(T281 *C){
- T0 * R=NULL;
- R=rT252start_position((T252*)(C)->_base_feature);
- return R;
- }
- int rT281use_current(T281 *C){
- int R=0;
- {int iv1=(C)->_use_current_state;
- if (1018 == iv1) goto l56;
- goto l57;
- l56: ;
- R=1;
- goto l55;
- l57: ;
- if (1017 == iv1) goto l58;
- goto l59;
- l58: ;
- goto l55;
- l59: ;
- if (1019 == iv1) goto l60;
- goto l61;
- l60: ;
- C->_use_current_state=1020;
- rT281compute_use_current(C);
- R=rT281use_current(C);
- goto l55;
- l61: ;
- if (1020 == iv1) goto l62;
- goto l63;
- l62: ;
- R=1;
- goto l55;
- l63: ;
- l55: ;
- }
- return R;
- }
- void rT281c_define(T281 *C){
- /*IF*/if (rT281isa_in_line(C)) {
- rT40incr_inlined_function_count((T40*)oRBC27cpp);
- }
- else {
- /*IF*/if (rT281use_current(C)) {
- rT40incr_function_count((T40*)oRBC27cpp);
- }
- else {
- rT40incr_real_function_count((T40*)oRBC27cpp);
- }
- /*FI*/rT281define_prototype(C);
- rT281define_opening(C);
- /*IF*/if (((int)(C)->_routine_body)) {
- rT140compile_to_c((T140*)(C)->_routine_body);
- }
- /*FI*/rT281define_closing(C);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1526);
- }
- /*FI*/}
- int rT281can_be_dropped(T281 *C){
- int R=0;
- R=((((!((C)->_arguments))&&(!((C)->_local_vars)))&&(!((C)->_require_assertion)))&&(!((C)->_ensure_assertion)))&&(!((C)->_rescue_compound));
- /*IF*/if (R) {
- /*IF*/if (((int)(C)->_routine_body)) {
- /*IF*/if ((rT140count((T140*)(C)->_routine_body))==(1)) {
- R=0;
- rT281warning(rT281start_position(C),(T0 *)ms1553);
- }
- else {
- R=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- void rT281mapping_c(T281 *C){
- int _tcbd=0;
- /*IF*/if (rT281isa_in_line(C)) {
- rT281in_line(C);
- }
- else if (rT281use_current(C)) {
- rT281mapping_name(C);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- /*IF*/if ((rT281arg_count(C))>(0)) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- _tcbd=rT40target_cannot_be_dropped((T40*)oRBC27cpp);
- rT281mapping_name(C);
- rT40put_character((T40*)oRBC27cpp,'\50');
- /*IF*/if ((rT281arg_count(C))>(0)) {
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\51');
- /*IF*/if (_tcbd) {
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- /*FI*/}
- void rT281mapping_name(T281 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1189);
- rT40put_integer((T40*)oRBC27cpp,rT281id(C));
- XrT67mapping_c((C)->_name);
- }
- T0 * rT281run_class(T281 *C){
- T0 * R=NULL;
- R=XrT58run_class((C)->_current_type);
- return R;
- }
- int rT281is_exported_in(T281 *C,T0 * a1){
- int R=0;
- R=rT123gives_permission_to((T123*)rT281clients(C),a1);
- return R;
- }
- void rT281copy(T281 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT281arg_count(T281 *C){
- int R=0;
- /*IF*/if (((int)(C)->_arguments)) {
- R=rT92count((T92*)(C)->_arguments);
- }
- /*FI*/return R;
- }
- void rT281initialize(T281 *C){
- C->_arguments=((T252*)(C)->_base_feature)->_arguments;
- /*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
- C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
- }
- /*FI*/C->_result_type=XrT58to_runnable(((T252*)(C)->_base_feature)->_result_type,(C)->_current_type);
- C->_local_vars=((T252*)(C)->_base_feature)->_local_vars;
- /*IF*/if ((((int)(C)->_local_vars))&&((rT139count((T139*)(C)->_local_vars))>(0))) {
- C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type);
- }
- /*FI*/C->_routine_body=((T252*)(C)->_base_feature)->_routine_body;
- /*IF*/if (((int)(C)->_routine_body)) {
- C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type);
- }
- /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
- C->_require_assertion=rT252run_require((T252*)(C)->_base_feature,(T0 *)C);
- }
- /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
- C->_ensure_assertion=rT252run_ensure((T252*)(C)->_base_feature,(T0 *)C);
- }
- /*FI*/}
- void rT281fall_down(T281 *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=XrT58run_class((C)->_current_type);
- _running=((T260*)_current_rc)->_running;
- /*IF*/if (((int)_running)) {
- _current_bc=XrT58base_class((C)->_current_type);
- _i=((T263*)_running)->_lower;
- while (!((_i)>(((T263*)_running)->_upper))) {
- _sub_rc=rT263item((T263*)_running,_i);
- /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
- _sub_bc=XrT58base_class(((T260*)_sub_rc)->_current_type);
- _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
- _rf=rT260get_feature((T260*)_sub_rc,_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT281make(T281 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- rT264put((T264*)((T260*)rT281run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- C->_use_current_state=1019;
- rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
- rT281initialize(C);
- rT52pop((T52*)oRBC27small_eiffel);
- }
- void rT280address_of(T280 *C){
- rT280mapping_name(C);
- }
- T0* rT280to_c_numeric_operator(/*C*/T0* a1){
- T0* R=NULL;
- /*IF*/if (rT7is_equal(ms1561,a1)) {
- R=(T0 *)ms1562;
- }
- else if (rT7is_equal(ms1563,a1)) {
- R=(T0 *)ms97;
- }
- else {
- R=a1;
- }
- /*FI*/return R;
- }
- T0* rT280to_c_logical_operator(/*C*/T0* a1){
- T0* R=NULL;
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms84,a1)) {
- R=(T0 *)ms1575;
- }
- else if (rT7is_equal((T7*)(T0 *)ms108,a1)) {
- R=(T0 *)ms1576;
- }
- else if (rT7is_equal((T7*)(T0 *)ms106,a1)) {
- R=(T0 *)ms1577;
- }
- else if (rT7is_equal((T7*)(T0 *)ms105,a1)) {
- R=(T0 *)ms1578;
- }
- else if (rT7is_equal((T7*)(T0 *)ms103,a1)) {
- R=(T0 *)ms1579;
- }
- else {
- R=a1;
- }
- /*FI*/return R;
- }
- T0 * rT280clients(T280 *C){
- T0 * R=NULL;
- T0 * _bfbc=NULL;
- T0 * _bc=NULL;
- _bc=XrT58base_class((C)->_current_type);
- _bfbc=((T212*)(C)->_base_feature)->_base_class;
- /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
- R=((T212*)(C)->_base_feature)->_clients;
- }
- else {
- /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_name));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT212start_position((T212*)(C)->_base_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1122);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
- rT280error(NULL,(T0 *)ms1123);
- }
- /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
- }
- /*FI*/return R;
- }
- int rT280id(T280 *C){
- int R=0;
- R=XrT58id((C)->_current_type);
- return R;
- }
- void rT280std_compute_use_current(T280 *C){
- /*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (rT267use_current((T267*)(C)->_require_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_routine_body)) {
- /*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- /*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- C->_use_current_state=1017;
- }
- /*FI*/}
- int rT280use_current(T280 *C){
- int R=0;
- {int iv1=(C)->_use_current_state;
- if (1018 == iv1) goto l65;
- goto l66;
- l65: ;
- R=1;
- goto l64;
- l66: ;
- if (1017 == iv1) goto l67;
- goto l68;
- l67: ;
- goto l64;
- l68: ;
- if (1019 == iv1) goto l69;
- goto l70;
- l69: ;
- C->_use_current_state=1020;
- rT280compute_use_current(C);
- R=rT280use_current(C);
- goto l64;
- l70: ;
- if (1020 == iv1) goto l71;
- goto l72;
- l71: ;
- R=1;
- goto l64;
- l72: ;
- l64: ;
- }
- return R;
- }
- T0 * rT280run_class(T280 *C){
- T0 * R=NULL;
- R=XrT58run_class((C)->_current_type);
- return R;
- }
- void rT280mapping_name(T280 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1189);
- rT40put_integer((T40*)oRBC27cpp,rT280id(C));
- XrT67mapping_c((C)->_name);
- }
- void rT280mapping_c(T280 *C){
- /*IF*/if (rT212is_cse((T212*)(C)->_base_feature)) {
- rT280mapping_cse(C);
- }
- else if (rT212is_c((T212*)(C)->_base_feature)) {
- rT40put_string((T40*)oRBC27cpp,((T212*)(C)->_base_feature)->_external_name);
- rT40put_character((T40*)oRBC27cpp,'\50');
- /*IF*/if ((rT280arg_count(C))>(0)) {
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,((T212*)(C)->_base_feature)->_external_name);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- /*IF*/if ((rT280arg_count(C))>(0)) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- void rT280mapping_cse(T280 *C){
- T0* _n=NULL;
- T0* _bcn=NULL;
- _bcn=((T48*)((T50*)((T212*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms184,_bcn)) {
- rT280mapping_cse_general(C);
- }
- else if (XrT58is_integer((C)->_current_type)) {
- rT280mapping_cse_integer(C);
- }
- else if (XrT58is_real((C)->_current_type)) {
- rT280mapping_cse_real(C);
- }
- else if (XrT58is_double((C)->_current_type)) {
- rT280mapping_cse_double(C);
- }
- else if (XrT58is_boolean((C)->_current_type)) {
- rT280mapping_cse_boolean(C);
- }
- else if (XrT58is_character((C)->_current_type)) {
- rT280mapping_cse_character(C);
- }
- else if (rT7is_equal(ms1581,_n)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1582);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1583);
- }
- else if ((rT7is_equal(ms1584,_n))||(rT7is_equal(ms1585,_n))) {
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else if (((rT7is_equal(ms1586,_n))||(rT7is_equal(ms1587,_n)))||(rT7is_equal(ms1588,_n))) {
- rT40put_string((T40*)oRBC27cpp,_n);
- }
- /*FI*/}
- void rT280mapping_cse_general(T280 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1517,_n)) {
- rT40put_string((T40*)oRBC27cpp,_n);
- }
- else if (rT7is_equal((T7*)(T0 *)ms1516,_n)) {
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\133');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1560);
- }
- else if (rT7is_equal((T7*)(T0 *)ms1162,_n)) {
- rT40put_generating_type((T40*)oRBC27cpp,(C)->_current_type);
- }
- else if (rT7is_equal((T7*)(T0 *)ms1178,_n)) {
- rT40put_generator((T40*)oRBC27cpp,(C)->_current_type);
- }
- /*FI*/}
- void rT280mapping_cse_integer(T280 *C){
- T0* _n=NULL;
- _n=rT280to_c_numeric_operator(XrT67to_string((C)->_name));
- /*IF*/if ((rT280arg_count(C))==(1)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else if (rT7is_equal(ms1564,XrT67to_string((C)->_name))) {
- rT40put_target((T40*)oRBC27cpp);
- }
- else {
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- void rT280mapping_cse_real(T280 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- _n=rT280to_c_numeric_operator(_n);
- /*IF*/if ((rT280arg_count(C))==(1)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- void rT280mapping_cse_double(T280 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal(ms1565,_n)) {
- rT40include((T40*)oRBC27cpp,(T0 *)ms537);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1566);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\54');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else if (rT7is_equal(ms1567,_n)) {
- rT40include((T40*)oRBC27cpp,(T0 *)ms537);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1568);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else if (rT7is_equal(ms1569,_n)) {
- rT40include((T40*)oRBC27cpp,(T0 *)ms537);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1570);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else if (rT7is_equal(ms1571,_n)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1572);
- rT40put_target((T40*)oRBC27cpp);
- }
- else {
- _n=rT280to_c_numeric_operator(_n);
- /*IF*/if ((rT280arg_count(C))==(1)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- /*FI*/}
- void rT280mapping_cse_boolean(T280 *C){
- T0* _n=NULL;
- T0* _c_operator=NULL;
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms102,_n)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1573);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1574);
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- _c_operator=rT280to_c_logical_operator(_n);
- /*IF*/if ((rT280arg_count(C))==(1)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- rT40put_string((T40*)oRBC27cpp,_c_operator);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,_c_operator);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- /*FI*/}
- void rT280mapping_cse_character(T280 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- /*IF*/if ((rT280arg_count(C))==(1)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- rT40put_string((T40*)oRBC27cpp,_n);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_arguments((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1580);
- rT40put_target((T40*)oRBC27cpp);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/}
- int rT280is_exported_in(T280 *C,T0 * a1){
- int R=0;
- R=rT123gives_permission_to((T123*)rT280clients(C),a1);
- return R;
- }
- void rT280initialize(T280 *C){
- T0* _n=NULL;
- C->_arguments=((T212*)(C)->_base_feature)->_arguments;
- /*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
- C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
- }
- /*FI*/C->_result_type=XrT58to_runnable(((T212*)(C)->_base_feature)->_result_type,(C)->_current_type);
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1516,_n)) {
- /*(IRF3*/(((T40*)oRBC27cpp)->_environment_used)=(1);
- /*)*/}
- else if (rT7is_equal((T7*)(T0 *)ms1517,_n)) {
- /*(IRF3*/(((T40*)oRBC27cpp)->_environment_used)=(1);
- /*)*/}
- /*FI*/}
- void rT280make(T280 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- rT264put((T264*)((T260*)rT280run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- C->_use_current_state=1019;
- rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
- rT280initialize(C);
- rT52pop((T52*)oRBC27small_eiffel);
- }
- void rT280warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- int rT280is_static(T280 *C){
- int R=0;
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms1109,XrT67to_string((C)->_name))) {
- R=1;
- /*IF*/if (XrT58is_expanded((C)->_current_type)) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- void rT280compute_use_current(T280 *C){
- /*IF*/if (rT212use_current((T212*)(C)->_base_feature)) {
- C->_use_current_state=1018;
- }
- else {
- rT280std_compute_use_current(C);
- }
- /*FI*/}
- void rT280error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT280add_clients(T280 *C,T0 * a1){
- int _i=0;
- /*IF*/if (!((C)->_actuals_clients)) {
- C->_actuals_clients=ma(263,0,1,a1);
- }
- else {
- _i=((T263*)(C)->_actuals_clients)->_lower;
- while (!(((_i)>(((T263*)(C)->_actuals_clients)->_upper))||(((T0 *)rT263item((T263*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
- _i=(_i)+(1);
- }
- /*IF*/if ((_i)>(((T263*)(C)->_actuals_clients)->_upper)) {
- rT263add_last((T263*)(C)->_actuals_clients,a1);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT280start_position(T280 *C){
- T0 * R=NULL;
- R=rT212start_position((T212*)(C)->_base_feature);
- return R;
- }
- int rT280can_be_dropped(T280 *C){
- int R=0;
- rT280warning(rT280start_position(C),(T0 *)ms1552);
- return R;
- }
- void rT280copy(T280 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT280arg_count(T280 *C){
- int R=0;
- /*IF*/if (((int)(C)->_arguments)) {
- R=rT92count((T92*)(C)->_arguments);
- }
- /*FI*/return R;
- }
- void rT280fall_down(T280 *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=XrT58run_class((C)->_current_type);
- _running=((T260*)_current_rc)->_running;
- /*IF*/if (((int)_running)) {
- _current_bc=XrT58base_class((C)->_current_type);
- _i=((T263*)_running)->_lower;
- while (!((_i)>(((T263*)_running)->_upper))) {
- _sub_rc=rT263item((T263*)_running,_i);
- /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
- _sub_bc=XrT58base_class(((T260*)_sub_rc)->_current_type);
- _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
- _rf=rT260get_feature((T260*)_sub_rc,_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT279address_of(T279 *C){
- rT279mapping_name(C);
- }
- void rT279warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- void rT279compute_use_current(T279 *C){
- /*IF*/if (rT211use_current((T211*)(C)->_base_feature)) {
- C->_use_current_state=1018;
- }
- else {
- rT279std_compute_use_current(C);
- }
- /*FI*/}
- void rT279error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT279add_clients(T279 *C,T0 * a1){
- int _i=0;
- /*IF*/if (!((C)->_actuals_clients)) {
- C->_actuals_clients=ma(263,0,1,a1);
- }
- else {
- _i=((T263*)(C)->_actuals_clients)->_lower;
- while (!(((_i)>(((T263*)(C)->_actuals_clients)->_upper))||(((T0 *)rT263item((T263*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
- _i=(_i)+(1);
- }
- /*IF*/if ((_i)>(((T263*)(C)->_actuals_clients)->_upper)) {
- rT263add_last((T263*)(C)->_actuals_clients,a1);
- }
- /*FI*/}
- /*FI*/}
- T0 * rT279clients(T279 *C){
- T0 * R=NULL;
- T0 * _bfbc=NULL;
- T0 * _bc=NULL;
- _bc=XrT58base_class((C)->_current_type);
- _bfbc=((T211*)(C)->_base_feature)->_base_class;
- /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
- R=((T211*)(C)->_base_feature)->_clients;
- }
- else {
- /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position((C)->_name));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT211start_position((T211*)(C)->_base_feature));
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1122);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
- rT279error(NULL,(T0 *)ms1123);
- }
- /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
- }
- /*FI*/return R;
- }
- void rT279std_compute_use_current(T279 *C){
- /*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (rT267use_current((T267*)(C)->_require_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_routine_body)) {
- /*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- /*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
- C->_use_current_state=1018;
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
- C->_use_current_state=1017;
- }
- /*FI*/}
- int rT279id(T279 *C){
- int R=0;
- R=XrT58id((C)->_current_type);
- return R;
- }
- T0 * rT279start_position(T279 *C){
- T0 * R=NULL;
- R=rT211start_position((T211*)(C)->_base_feature);
- return R;
- }
- int rT279use_current(T279 *C){
- int R=0;
- {int iv1=(C)->_use_current_state;
- if (1018 == iv1) goto l74;
- goto l75;
- l74: ;
- R=1;
- goto l73;
- l75: ;
- if (1017 == iv1) goto l76;
- goto l77;
- l76: ;
- goto l73;
- l77: ;
- if (1019 == iv1) goto l78;
- goto l79;
- l78: ;
- C->_use_current_state=1020;
- rT279compute_use_current(C);
- R=rT279use_current(C);
- goto l73;
- l79: ;
- if (1020 == iv1) goto l80;
- goto l81;
- l80: ;
- R=1;
- goto l73;
- l81: ;
- l73: ;
- }
- return R;
- }
- int rT279can_be_dropped(T279 *C){
- int R=0;
- rT279warning(rT279start_position(C),(T0 *)ms1551);
- return R;
- }
- void rT279mapping_cse_general(T279 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- /*IF*/if (rT7is_equal(ms1556,_n)) {
- rT40put_c_inline_c((T40*)oRBC27cpp);
- }
- else if (rT7is_equal(ms1557,_n)) {
- rT40put_c_inline_h((T40*)oRBC27cpp);
- }
- /*FI*/}
- void rT279mapping_c(T279 *C){
- T0* _bcn=NULL;
- /*IF*/if (rT211is_cse((T211*)(C)->_base_feature)) {
- _bcn=((T48*)((T50*)((T211*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
- /*IF*/if (rT7is_equal((T7*)(T0 *)ms184,_bcn)) {
- rT279mapping_cse_general(C);
- }
- /*FI*/}
- else if (rT211is_c((T211*)(C)->_base_feature)) {
- rT40put_string((T40*)oRBC27cpp,((T211*)(C)->_base_feature)->_external_name);
- rT40put_character((T40*)oRBC27cpp,'\50');
- /*IF*/if ((rT279arg_count(C))>(0)) {
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1558);
- }
- else {
- rT40put_string((T40*)oRBC27cpp,((T211*)(C)->_base_feature)->_external_name);
- rT40put_character((T40*)oRBC27cpp,'\50');
- rT40put_target((T40*)oRBC27cpp);
- /*IF*/if ((rT279arg_count(C))>(0)) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- rT40put_arguments((T40*)oRBC27cpp);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1559);
- }
- /*FI*/}
- void rT279mapping_name(T279 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1189);
- rT40put_integer((T40*)oRBC27cpp,rT279id(C));
- XrT67mapping_c((C)->_name);
- }
- T0 * rT279run_class(T279 *C){
- T0 * R=NULL;
- R=XrT58run_class((C)->_current_type);
- return R;
- }
- int rT279is_exported_in(T279 *C,T0 * a1){
- int R=0;
- R=rT123gives_permission_to((T123*)rT279clients(C),a1);
- return R;
- }
- void rT279copy(T279 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT279arg_count(T279 *C){
- int R=0;
- /*IF*/if (((int)(C)->_arguments)) {
- R=rT92count((T92*)(C)->_arguments);
- }
- /*FI*/return R;
- }
- void rT279initialize(T279 *C){
- T0* _n=NULL;
- _n=XrT67to_string((C)->_name);
- C->_arguments=((T211*)(C)->_base_feature)->_arguments;
- /*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
- C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
- }
- /*FI*/}
- void rT279fall_down(T279 *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=XrT58run_class((C)->_current_type);
- _running=((T260*)_current_rc)->_running;
- /*IF*/if (((int)_running)) {
- _current_bc=XrT58base_class((C)->_current_type);
- _i=((T263*)_running)->_lower;
- while (!((_i)>(((T263*)_running)->_upper))) {
- _sub_rc=rT263item((T263*)_running,_i);
- /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
- _sub_bc=XrT58base_class(((T260*)_sub_rc)->_current_type);
- _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
- _rf=rT260get_feature((T260*)_sub_rc,_sub_name);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- void rT279make(T279 *C,T0 * a1,T0 * a2,T0 * a3){
- C->_current_type=a1;
- C->_name=a2;
- C->_base_feature=a3;
- rT264put((T264*)((T260*)rT279run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
- rT52incr_magic_count((T52*)oRBC27small_eiffel);
- C->_use_current_state=1019;
- rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
- rT279initialize(C);
- rT52pop((T52*)oRBC27small_eiffel);
- }
- void rT278address_of(T278 *C){
- rT278fatal_error_is_deferred(C);
- }
- void rT278compute_use_current(T278 *C){
- rT278fatal_error_is_deferred(C);
- }
- void rT278fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
-