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 "pretty.h"
- void r953make(T953* C,T0* a1){
- int _i2=0;
- int _i=0;
- C->_list=a1;
- _i=(((T855*)((T855*)a1)))->_upper/*8*/;
- while (!((_i)==(0))) {
- _i2=r953index_of(C,r855item(((T855*)a1),_i));
- /*IF*/if ((_i2)!=(_i)) {
- r683add_position(X776start_position(r855item(((T855*)a1),_i2)));
- r683add_position(X776start_position(r855item(((T855*)a1),_i)));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_953);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*No:FEATURE_NAME_LIST.item*/
- void r953pretty_print(T953* C){
- int _icount=0;
- int _i=0;
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) {
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
- /*]*/
- X776definition_pretty_print(r855item(((T855*)((((T953*)C))->_list/*0*/)),_i));
- _i=(_i)+(1);
- _icount=(_icount)+(1);
- /*IF*/if ((_i)<=(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/)) {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_953));
- /*IF*/if ((_icount)>(4)) {
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
- /*]*/
- r238indent(((T238*)(oBC364fmt)));
- _icount=0;
- }
- /*FI*/}
- /*FI*/}
- }
- /*No:FEATURE_NAME_LIST.list*/
- int r953has(T953* C,T0* a1){
- int R=0;
- R=(r953index_of(C,a1))>(0);
- return R;
- }
- /*No:FEATURE_NAME_LIST.count*/
- /*No:FEATURE_NAME_LIST.fatal_error*/
- int r953index_of(T953* C,T0* a1){
- int R=0;
- T0* _fn_key=NULL;
- _fn_key=X776to_key(a1);
- R=(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*/;
- while (!(((R)==(0))||((_fn_key)==((void*)(X776to_key(/*(IRF4.6item*/r855item(((T855*)((((T953*)C))->_list/*0*/)),R)/*)*/)))))) {
- R=(R)-(1);
- }
- return R;
- }
- /*No:IFTHEN.fz_is_not_boolean*/
- void r809make(T809* C,T0* a1,T0* a2){
- C->_expression=a1;
- C->_then_compound=a2;
- }
- /*No:IFTHEN.nb_errors*/
- /*No:IFTHEN.expression*/
- T0* r809to_runnable(T809* C,T0* a1){
- T0* R=NULL;
- T0* _t=NULL;
- T0* _tc=NULL;
- T0* _e=NULL;
- /*IF*/if (((((T809*)C))->_run_compound/*8*/)==((void*)(NULL))) {
- C->_run_compound=a1;
- _e=X662to_runnable((((T809*)C))->_expression/*0*/,/*(IRF4.6current_type*/(((T592*)((T592*)((((T809*)C))->_run_compound/*8*/))))->_current_type/*4*//*)*/);
- /*IF*/if ((_e)==((void*)(NULL))) {
- r809error(X662start_position((((T809*)C))->_expression/*0*/),((T0*)ms8_809));
- }
- else {
- C->_expression=_e;
- _t=X662result_type((((T809*)C))->_expression/*0*/);
- /*IF*/if (!(X291is_boolean(_t))) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms9_809);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type(X662result_type((((T809*)C))->_expression/*0*/),((T0*)ms73_470));
- r683add_position(X662start_position((((T809*)C))->_expression/*0*/));
- r683print_as_error(((T683*)(oBC364eh)));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T809*)C))->_then_compound/*4*/)!=((void*)(NULL))) {
- _tc=r592to_runnable(((T592*)((((T809*)C))->_then_compound/*4*/)),/*(IRF4.6current_type*/(((T592*)((T592*)((((T809*)C))->_run_compound/*8*/))))->_current_type/*4*//*)*/);
- /*IF*/if ((_tc)!=((void*)(NULL))) {
- C->_then_compound=_tc;
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- {T809*n=malloc(sizeof(*n));
- *n=M809;
- r809make(n,(((T809*)C))->_expression/*0*/,(((T809*)C))->_then_compound/*4*/);
- R=(T0*)n;
- }
- R=r809to_runnable(((T809*)R),a1);
- }
- /*FI*/return R;
- }
- void r809pretty_print(T809* C){
- r238level_incr(((T238*)(oBC364fmt)));
- /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0);
- /*]*/
- X662pretty_print((((T809*)C))->_expression/*0*/);
- r238level_decr(((T238*)(oBC364fmt)));
- r238keyword(((T238*)(oBC364fmt)),((T0*)ms7_809));
- r238indent(((T238*)(oBC364fmt)));
- /*IF*/if (((((T809*)C))->_then_compound/*4*/)!=((void*)(NULL))) {
- r592pretty_print(((T592*)((((T809*)C))->_then_compound/*4*/)));
- }
- /*FI*/}
- /*No:IFTHEN.then_compound*/
- /*No:IFTHEN.current_type*/
- /*No:IFTHEN.run_compound*/
- void r809error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CST_ATT_INTEGER.arguments*/
- T0* r689try_to_undefine(T689* C,T0* a1,T0* a2){
- T0* R=NULL;
- X776undefine_in(a1,a2);
- R=r689try_to_undefine_aux(C,a1,a2);
- /*IF*/if ((R)!=((void*)(NULL))) {
- /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T689*)C))->_clients/*20*/);
- /*]*/
- }
- else {
- r605fatal_undefine(((T605*)a2),a1);
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_INTEGER.is_deferred*/
- void r689pretty_tail(T689* C){
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
- /*[IRF3.6pretty_print*/{T342* C1=((T342*)(/*(IRF4.3value*/(((T689*)C))->_value_mem/*24*//*)*/));
- r238put_string(((T238*)(oBC364fmt)),/*(IRF4.6to_string*/r2to_string(((int)((((T342*)C1))->_value/*12*/)))/*)*/);
- }/*]*/
- }
- void r689add_into(T689* C,T0* a1){
- T0* _fn=NULL;
- int _i=0;
- C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
- /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
- _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- r683add_position(X776start_position(_fn));
- r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
- r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
- /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
- }
- else {
- r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0* r689try_to_undefine_aux(T689* C,T0* a1,T0* a2){
- T0* R=NULL;
- r683add_position(r689start_position(C));
- r689error(X776start_position(a1),((T0*)ms1_308));
- r605fatal_undefine(((T605*)a2),a1);
- return R;
- }
- void r689make(T689* C,T0* a1,T0* a2,T0* a3){
- r689make_e_feature(C,a1,a2);
- C->_value_mem=a3;
- }
- /*No:CST_ATT_INTEGER.nb_errors*/
- void r689pretty_print_one_name(T0* a1){
- /*IF*/if (X776is_frozen(a1)) {
- r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
- }
- /*FI*/X776definition_pretty_print(a1);
- }
- /*No:CST_ATT_INTEGER.set_header_comment*/
- T0* r689start_position(T689* C){
- T0* R=NULL;
- R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- return R;
- }
- T0* r689to_run_feature(T689* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(a1);
- R=r368at(((T368*)_rc),a2);
- if(NULL!=(R))switch(((T0*)R)->id) {
- case 808:
- break;
- default:
- R=NULL;
- };/*IF*/if ((R)==((void*)(NULL))) {
- {T808*n=malloc(sizeof(*n));
- *n=M808;
- r808make(n,a1,a2,(T0*)C);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_INTEGER.ensure_assertion*/
- /*No:CST_ATT_INTEGER.code_require*/
- /*No:CST_ATT_INTEGER.result_type*/
- /*No:CST_ATT_INTEGER.em1*/
- void r689pretty_print(T689* C){
- r689pretty_print_profile(C);
- r689pretty_tail(C);
- r238put_character(((T238*)(oBC364fmt)),'\73');
- /*IF*/if (((((T689*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
- /*]*/
- r238indent(((T238*)(oBC364fmt)));
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
- /*]*/
- r393pretty_print(((T393*)((((T689*)C))->_header_comment/*16*/)));
- }
- /*FI*/}
- /*No:CST_ATT_INTEGER.set_clients*/
- /*No:CST_ATT_INTEGER.em2*/
- /*No:CST_ATT_INTEGER.require_assertion*/
- /*No:CST_ATT_INTEGER.value*/
- /*No:CST_ATT_INTEGER.names*/
- /*No:CST_ATT_INTEGER.value_mem*/
- void r689pretty_print_profile(T689* C){
- r689pretty_print_names(C);
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
- /*]*/
- /*[IRF3.1pretty_print_arguments*//*]*/
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
- /*]*/
- /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
- X291pretty_print((((T689*)C))->_result_type/*12*/);
- }
- /*FI*/}
- void r689pretty_print_names(T689* C){
- int _i=0;
- _i=1;
- r689pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
- _i=(_i)+(1);
- while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
- r689pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T689*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
- _i=(_i)+(1);
- }
- }
- int r689can_hide(T689* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T689*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r689error(r689start_position(C),((T0*)ms5_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r689error(r689start_position(C),((T0*)ms6_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T689*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
- return R;
- }
- /*No:CST_ATT_INTEGER.header_comment*/
- int r689is_merge_with(T689* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T689*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r689error(r689start_position(C),((T0*)ms2_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r689error(r689start_position(C),((T0*)ms3_359));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T689*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T689*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
- r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
- }
- /*FI*/}
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
- return R;
- }
- /*No:CST_ATT_INTEGER.fz_dot*/
- /*No:CST_ATT_INTEGER.first_name*/
- /*No:CST_ATT_INTEGER.clients*/
- void r689collect_for(int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- else {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*FI*/}
- void r689error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CST_ATT_INTEGER.base_class*/
- /*No:CST_ATT_INTEGER.pretty_print_arguments*/
- void r689make_e_feature(T689* C,T0* a1,T0* a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- /*No:BASE_CLASS.fz_is_invalid*/
- /*No:BASE_CLASS.set_end_comment*/
- /*No:BASE_CLASS.id*/
- void r605add_feature_clause(T605* C,T0* a1){
- /*IF*/if (((((T605*)C))->_feature_clause_list/*48*/)==((void*)(NULL))) {
- {T913*n=malloc(sizeof(*n));
- *n=M913;
- /*[IRF3.3make*/((((T913*)(n)))->_list)=(se_ma764(1,a1));
- /*]*/
- C->_feature_clause_list=(T0*)n;
- }
- }
- else {
- /*[IRF3.5add_last*/r764add_last(((T764*)((((T913*)((T913*)((((T605*)C))->_feature_clause_list/*48*/))))->_list/*0*/)),a1);
- /*]*/
- }
- /*FI*/}
- void r605set_parent_list(T605* C,T0* a1,T0* a2,T0* a3){
- {T673*n=malloc(sizeof(*n));
- *n=M673;
- r673make(n,(T0*)C,a1,a2,a3);
- C->_parent_list=(T0*)n;
- }
- }
- /*No:BASE_CLASS.is_deferred*/
- int r605has_creation(T605* C,T0* a1){
- int R=0;
- T0* _cn=NULL;
- T0* _bc=NULL;
- T0* _cc=NULL;
- /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)==((void*)(NULL))) {
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms7_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_position(X776start_position(a1));
- r683print_as_error(((T683*)(oBC364eh)));
- }
- else {
- _cc=r378get_clause(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1);
- /*IF*/if ((_cc)==((void*)(NULL))) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms8_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r605error(X776start_position(a1),((T0*)ms67_470));
- }
- else {
- R=1;
- _bc=X776origin_base_class(a1);
- /*IF*/if ((_bc)!=((void*)(NULL))) {
- _cn=(((T605*)((T605*)_bc)))->_base_class_name/*24*/;
- R=r636gives_permission_to(((T636*)((((T583*)((T583*)_cc)))->_clients/*4*/)),_cn);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (!(R)) {
- r605error(X776start_position(a1),((T0*)ms9_605));
- }
- /*FI*/return R;
- }
- void r605add_creation_clause(T605* C,T0* a1){
- /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)==((void*)(NULL))) {
- {T378*n=malloc(sizeof(*n));
- *n=M378;
- /*[IRF3.3make*/((((T378*)(n)))->_list)=(se_ma235(1,a1));
- /*]*/
- C->_creation_clause_list=(T0*)n;
- }
- }
- else {
- /*[IRF3.5add_last*/r235add_last(((T235*)((((T378*)((T378*)((((T605*)C))->_creation_clause_list/*44*/))))->_list/*0*/)),a1);
- /*]*/
- }
- /*FI*/}
- /*No:BASE_CLASS.us_copy*/
- /*No:BASE_CLASS.feature_clause_list*/
- void r605get_started(T605* C){
- C->_id=r410item(((T410*)(r605id_provider())),(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/);
- /*IF*/if (((((T605*)C))->_feature_clause_list/*48*/)!=((void*)(NULL))) {
- r913get_started(((T913*)((((T605*)C))->_feature_clause_list/*48*/)),(((T605*)C))->_feature_dictionary/*60*/);
- }
- /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- r673get_started(((T673*)((((T605*)C))->_parent_list/*40*/)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_end_comment/*56*/)!=((void*)(NULL))) {
- r393good_end(((T393*)((((T605*)C))->_end_comment/*56*/)),(((T605*)C))->_base_class_name/*24*/);
- }
- /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- r863clear(((T863*)(oBC605visited)));
- r863add_last(((T863*)(oBC605visited)),(T0*)C);
- r673inherit_cycle_check(((T673*)((((T605*)C))->_parent_list/*40*/)));
- }
- /*FI*//*IF*/if (((r590all_check(((T590*)(oBC364run_control))))&&((((T605*)C))->_is_deferred/*16*/))&&(((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL)))) {
- r683add_position((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_start_position/*4*/);
- r605warning(r378start_position(((T378*)((((T605*)C))->_creation_clause_list/*44*/))),((T0*)ms6_605));
- }
- /*FI*/}
- /*No:BASE_CLASS.fz_end*/
- int r605is_subclass_of(T605* C,T0* a1){
- int R=0;
- /*IF*/if (r863fast_has(((T863*)((((T605*)C))->_isom/*64*/)),a1)) {
- R=1;
- }
- else {
- /*IF*/if (r605is_any(((T605*)a1))) {
- R=1;
- }
- else {
- r863clear(((T863*)(oBC605visited)));
- R=r605is_subclass_of_aux(C,a1);
- }
- /*FI*//*IF*/if (R) {
- r863add_last(((T863*)((((T605*)C))->_isom/*64*/)),a1);
- }
- /*FI*/}
- /*FI*/return R;
- }
- int fBC364class_any=0;
- T0*oBC364class_any=NULL;
- T0* r605class_any(void){
- if (fBC364class_any==0){
- T0* R=NULL;
- fBC364class_any=1;
- R=r605class_with(((T0*)ms1_473));
- oBC364class_any=R;}
- return oBC364class_any;}
- int r605has_feature(T605* C,T0* a1){
- int R=0;
- r446make(((T446*)(r605mem_fn())),a1,NULL);
- R=r605has(C,r605mem_fn());
- return R;
- }
- int fBC605mem_fn=0;
- T0*oBC605mem_fn=NULL;
- T0* r605mem_fn(void){
- if (fBC605mem_fn==0){
- T0* R=NULL;
- fBC605mem_fn=1;
- {T446*n=malloc(sizeof(*n));
- *n=M446;
- r446make(n,((T0*)ms27_605),NULL);
- R=(T0*)n;
- }
- oBC605mem_fn=R;}
- return oBC605mem_fn;}
- int r605is_subclass_of_aux(T605* C,T0* a1){
- int R=0;
- /*IF*/if (r863fast_has(((T863*)(oBC605visited)),(T0*)C)) {
- }
- else {
- r863add_last(((T863*)(oBC605visited)),(T0*)C);
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- R=r673has_parent(((T673*)((((T605*)C))->_parent_list/*40*/)),a1);
- }
- else if (!(r863fast_has(((T863*)(oBC605visited)),r605class_any()))) {
- R=r605is_subclass_of_aux(((T605*)(r605class_any())),a1);
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:BASE_CLASS.end_comment*/
- void r605add_index_clause(T605* C,T0* a1){
- /*IF*/if (((((T605*)C))->_index_list/*8*/)==((void*)(NULL))) {
- {T688*n=malloc(sizeof(*n));
- *n=M688;
- /*[IRF3.3make*/((((T688*)(n)))->_list)=(se_ma848(1,a1));
- /*]*/
- C->_index_list=(T0*)n;
- }
- }
- else {
- r848add_last(((T848*)((((T688*)((T688*)((((T605*)C))->_index_list/*8*/))))->_list/*0*/)),a1);
- }
- /*FI*/}
- /*No:BASE_CLASS.obsolete_type_string*/
- T0* r605class_with(T0* a1){
- T0* R=NULL;
- R=r604get_class(a1);
- return R;
- }
- /*No:BASE_CLASS.has_creation_clause*/
- void r605make(T605* C){
- {T863*n=malloc(sizeof(*n));
- *n=M863;
- r863with_capacity(n,6,1);
- C->_isom=(T0*)n;
- }
- C->_path=r902item((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/);
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make_unknown(n);
- C->_base_class_name=(T0*)n;
- }
- {T237*n=malloc(sizeof(*n));
- *n=M237;
- r237with_capacity(n,32);
- C->_feature_dictionary=(T0*)n;
- }
- }
- /*No:BASE_CLASS.parent_list*/
- /*No:BASE_CLASS.error_vtec1*/
- /*No:BASE_CLASS.path*/
- /*No:BASE_CLASS.next_parent_for*/
- void r605check_expanded_with(T605* C,T0* a1){
- T0* _rf=NULL;
- /*IF*/if ((((T605*)C))->_is_deferred/*16*/) {
- r683add_type(a1,((T0*)ms72_470));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*//*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL))) {
- r378check_expanded_with(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1);
- }
- /*FI*/_rf=r605expanded_initializer(C,a1);
- }
- /*No:BASE_CLASS.isom*/
- /*No:BASE_CLASS.first_parent_for*/
- /*No:BASE_CLASS.index_list*/
- /*No:BASE_CLASS.set_heading_comment1*/
- void r605inherit_cycle_check(T605* C){
- int _i=0;
- r863add_last(((T863*)(oBC605visited)),(T0*)C);
- /*IF*/if ((r863first(((T863*)(oBC605visited))))==((void*)(C))) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms19_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- _i=1;
- while (!((_i)>((((T863*)((T863*)(oBC605visited))))->_upper/*8*/))) {
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)(r863item(((T863*)(oBC605visited)),_i)))))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*IF*/if ((_i)<((((T863*)((T863*)(oBC605visited))))->_upper/*8*/)) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms20_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- }
- /*FI*/_i=(_i)+(1);
- }
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms21_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- r673inherit_cycle_check(((T673*)((((T605*)C))->_parent_list/*40*/)));
- }
- /*FI*/}
- T0* r605new_name_of(T605* C,T0* a1,T0* a2){
- T0* R=NULL;
- /*IF*/if ((C)==((void*)(a1))) {
- R=a2;
- }
- else {
- R=r605up_to_original(((T605*)a1),(T0*)C,a2);
- /*IF*/if ((R)==((void*)(NULL))) {
- r683add_position(X776start_position(a2));
- /*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a2);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms2_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms3_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r605set_is_expanded(T605* C){
- /*IF*/if ((((T605*)C))->_is_deferred/*16*/) {
- /*[IRF3.6error_vtec1*/{T605* C1=C;
- r605error((((T451*)((T451*)((((T605*)C1))->_base_class_name/*24*/))))->_start_position/*4*/,((T0*)ms33_605));
- }/*]*/
- }
- /*FI*/C->_is_expanded=1;
- }
- int r605super_has(T605* C,T0* a1){
- int R=0;
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- /*IF*/if (r605is_general(C)) {
- R=0;
- }
- else {
- R=r605has(((T605*)(r605class_any())),a1);
- }
- /*FI*/}
- else {
- R=r673has(((T673*)((((T605*)C))->_parent_list/*40*/)),a1);
- }
- /*FI*/return R;
- }
- void r605pretty_print(T605* C){
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
- /*]*/
- /*IF*/if (((((T605*)C))->_index_list/*8*/)!=((void*)(NULL))) {
- r688pretty_print(((T688*)((((T605*)C))->_index_list/*8*/)));
- r238indent(((T238*)(oBC364fmt)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_heading_comment1/*12*/)!=((void*)(NULL))) {
- r393pretty_print(((T393*)((((T605*)C))->_heading_comment1/*12*/)));
- r238indent(((T238*)(oBC364fmt)));
- }
- /*FI*//*IF*/if ((((T605*)C))->_is_deferred/*16*/) {
- r238keyword(((T238*)(oBC364fmt)),((T0*)ms29_605));
- }
- else if ((((T605*)C))->_is_expanded/*20*/) {
- r238keyword(((T238*)(oBC364fmt)),((T0*)ms14_470));
- }
- /*FI*/r238keyword(((T238*)(oBC364fmt)),((T0*)ms30_605));
- /*[IRF3.6pretty_print*/{T451* C1=((T451*)((((T605*)C))->_base_class_name/*24*/));
- r238put_string(((T238*)(oBC364fmt)),(((T451*)C1))->_to_string/*0*/);
- }/*]*/
- /*IF*/if (/*(IRF4.7is_generic*/((((T605*)C))->_formal_generic_list/*28*/)!=(NULL)/*)*/) {
- r881pretty_print(((T881*)((((T605*)C))->_formal_generic_list/*28*/)));
- }
- /*FI*/r238indent(((T238*)(oBC364fmt)));
- /*IF*/if (((((T605*)C))->_obsolete_type_string/*36*/)!=((void*)(NULL))) {
- r238keyword(((T238*)(oBC364fmt)),((T0*)ms31_605));
- r805pretty_print(((T805*)((((T605*)C))->_obsolete_type_string/*36*/)));
- }
- /*FI*/r238indent(((T238*)(oBC364fmt)));
- /*IF*/if (((((T605*)C))->_heading_comment2/*32*/)!=((void*)(NULL))) {
- r393pretty_print(((T393*)((((T605*)C))->_heading_comment2/*32*/)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- r673pretty_print(((T673*)((((T605*)C))->_parent_list/*40*/)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL))) {
- r378pretty_print(((T378*)((((T605*)C))->_creation_clause_list/*44*/)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_feature_clause_list/*48*/)!=((void*)(NULL))) {
- r913pretty_print(((T913*)((((T605*)C))->_feature_clause_list/*48*/)));
- }
- /*FI*//*IF*/if (((((T605*)C))->_invariant_assertion/*52*/)!=((void*)(NULL))) {
- r699pretty_print(((T699*)((((T605*)C))->_invariant_assertion/*52*/)));
- }
- /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
- /*]*/
- /*IF*/if (r238zen_mode(((T238*)(oBC364fmt)))) {
- r238skip(((T238*)(oBC364fmt)),0);
- }
- else {
- r238skip(((T238*)(oBC364fmt)),1);
- }
- /*FI*/r238keyword(((T238*)(oBC364fmt)),((T0*)ms12_470));
- /*IF*/if ((((((T605*)C))->_end_comment/*56*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T605*)C))->_end_comment/*56*/)))))) {
- r393pretty_print(((T393*)((((T605*)C))->_end_comment/*56*/)));
- }
- else if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms32_605));
- r238put_string(((T238*)(oBC364fmt)),(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/);
- }
- /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
- }
- T0* r605up_to_original(T605* C,T0* a1,T0* a2){
- T0* R=NULL;
- /*IF*/if (r605proper_has(C,a2)) {
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- R=r605new_name_of_original(((T605*)a1),(T0*)C,a2);
- }
- else {
- R=r673up_to_original(((T673*)((((T605*)C))->_parent_list/*40*/)),a1,a2);
- /*IF*/if ((R)==((void*)(NULL))) {
- R=r605new_name_of_original(((T605*)a1),(T0*)C,a2);
- }
- /*FI*/}
- /*FI*/}
- else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- R=r673up_to_original(((T673*)((((T605*)C))->_parent_list/*40*/)),a1,a2);
- }
- else if (r605is_general(C)) {
- }
- else {
- R=r605up_to_original(((T605*)(r605class_any())),a1,a2);
- }
- /*FI*/return R;
- }
- void r605collect_invariant(T605* C,T0* a1){
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- r673collect_invariant(((T673*)((((T605*)C))->_parent_list/*40*/)),a1);
- }
- /*FI*//*IF*/if (((((T605*)C))->_invariant_assertion/*52*/)!=((void*)(NULL))) {
- /*[IRF3.6collect_invariant*/{T0* b1=(((T605*)C))->_invariant_assertion/*52*/;
- r699add_into(((T699*)b1),oBC368ci_collector);
- }/*]*/
- }
- /*FI*/}
- /*No:BASE_CLASS.set_heading_comment2*/
- int r605has(T605* C,T0* a1){
- int R=0;
- /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1))) {
- R=1;
- }
- else {
- R=r605super_has(C,a1);
- }
- /*FI*/return R;
- }
- int fBC364id_provider=0;
- T0*oBC364id_provider=NULL;
- T0* r605id_provider(void){
- if (fBC364id_provider==0){
- T0* R=NULL;
- fBC364id_provider=1;
- {T410*n=malloc(sizeof(*n));
- *n=M410;
- r410make(n);
- R=(T0*)n;
- }
- oBC364id_provider=R;}
- return oBC364id_provider;}
- T0* r605run_class(T605* C){
- T0* R=NULL;
- T0* _type=NULL;
- T0* _name=NULL;
- T0* _rcd=NULL;
- _name=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- /*IF*/if ((!((((T605*)C))->_is_deferred/*16*/))&&(!(/*(IRF4.7is_generic*/((((T605*)C))->_formal_generic_list/*28*/)!=(NULL)/*)*/))) {
- _rcd=oBC604run_class_dictionary;
- /*IF*/if (r250has(((T250*)_rcd),_name)) {
- R=r250at(((T250*)_rcd),_name);
- }
- else {
- {T657*n=malloc(sizeof(*n));
- *n=M657;
- /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=((((T605*)C))->_base_class_name/*24*/);
- /*]*/
- _type=(T0*)n;
- }
- R=r657run_class(((T657*)_type));
- }
- /*FI*/}
- else {
- r605error(NULL,((T0*)ms18_605));
- }
- /*FI*/return R;
- }
- /*No:BASE_CLASS.fz_09*/
- int r605has_redefine(T605* C,T0* a1){
- int R=0;
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- R=r673has_redefine(((T673*)((((T605*)C))->_parent_list/*40*/)),a1);
- }
- /*FI*/return R;
- }
- T0* r605look_up_for(T605* C,T0* a1,T0* a2){
- T0* R=NULL;
- int _i=0;
- T0* _super_fn=NULL;
- T0* _fnl=NULL;
- T0* _cst_att=NULL;
- T0* _fn_key=NULL;
- T0* _super=NULL;
- _fn_key=X776to_key(a2);
- /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key)) {
- R=r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key);
- _super=r605super_look_up_for(C,a1,a2);
- /*IF*/if ((_super)!=((void*)(NULL))) {
- _cst_att=_super;
- if(NULL!=(_cst_att))switch(((T0*)_cst_att)->id) {
- case 380: case 588: case 398: case 689: case 554: case 580: case 835: case 118:
- break;
- default:
- _cst_att=NULL;
- };/*IF*/if ((_cst_att)!=((void*)(NULL))) {
- r683add_position(X359start_position(_super));
- r683add_position(X359start_position(R));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms22_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_fnl=/*X359*/((T0*)(((T398*)((T398*)_super)))->_names/*8*/);
- _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)_fnl)))->_list/*0*/))))->_upper/*8*//*)*/;
- while (!((_i)<(1))) {
- _super_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)_fnl)))->_list/*0*/)),_i)/*)*/;
- /*IF*/if (X776is_frozen(_super_fn)) {
- /*IF*/if ((X776to_key(_super_fn))==((void*)(_fn_key))) {
- r683add_position(X776start_position(_super_fn));
- r683add_position(X359start_position(R));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms23_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- /*IF*/if (!(X359can_hide(R,_super,a1))) {
- r683add_position(X359start_position(_super));
- r683add_position(X359start_position(R));
- /*[IRF3.6append*/{T0* b1=((T0*)ms24_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_warning(((T683*)(oBC364eh)));
- }
- /*FI*//*IF*/if (X359is_deferred(_super)) {
- }
- else if (r605has_redefine(C,a2)) {
- }
- else {
- r683add_position(X359start_position(R));
- r683add_position(X359start_position(_super));
- /*[IRF3.6append*/{T0* b1=((T0*)ms25_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms26_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_error(((T683*)(oBC364eh)));
- }
- /*FI*/}
- /*FI*/}
- else {
- R=r605super_look_up_for(C,a1,a2);
- }
- /*FI*/return R;
- }
- T0* r605get_copy(T605* C){
- T0* R=NULL;
- R=r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),((T0*)ms64_473));
- return R;
- }
- T0* r605expanded_initializer(T605* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T605*)C))->_creation_clause_list/*44*/)!=((void*)(NULL))) {
- R=r378expanded_initializer(((T378*)((((T605*)C))->_creation_clause_list/*44*/)),a1);
- }
- /*FI*/return R;
- }
- void r605fatal_undefine(T605* C,T0* a1){
- /*[IRF3.6append*/{T0* b1=((T0*)ms34_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms35_605);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_605);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- T0* r605super_look_up_for(T605* C,T0* a1,T0* a2){
- T0* R=NULL;
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- /*IF*/if (r605is_general(C)) {
- R=NULL;
- }
- else {
- R=r605look_up_for(((T605*)(r605class_any())),a1,a2);
- }
- /*FI*/}
- else {
- R=r673look_up_for(((T673*)((((T605*)C))->_parent_list/*40*/)),a1,a2);
- }
- /*FI*/return R;
- }
- /*No:BASE_CLASS.invariant_assertion*/
- void r605set_invariant(T605* C,T0* a1,T0* a2,T0* a3){
- /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) {
- {T699*n=malloc(sizeof(*n));
- *n=M699;
- r699make(n,a1,a2,a3);
- C->_invariant_assertion=(T0*)n;
- }
- }
- /*FI*/}
- /*No:BASE_CLASS.fz_dot*/
- /*No:BASE_CLASS.set_formal_generic_list*/
- T0* r605clients_for(T605* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (r605proper_has(C,a1)) {
- R=X359clients(r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1)));
- }
- else if (r605is_general(C)) {
- }
- else if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- R=r605clients_for(((T605*)(r605class_any())),a1);
- }
- else {
- R=r673clients_for(((T673*)((((T605*)C))->_parent_list/*40*/)),a1);
- }
- /*FI*/return R;
- }
- /*No:BASE_CLASS.is_generic*/
- T0*oBC605going_up_trace=NULL;
- /*No:BASE_CLASS.heading_comment1*/
- void r605set_is_deferred(T605* C){
- /*IF*/if ((((T605*)C))->_is_expanded/*20*/) {
- /*[IRF3.6error_vtec1*/{T605* C1=C;
- r605error((((T451*)((T451*)((((T605*)C1))->_base_class_name/*24*/))))->_start_position/*4*/,((T0*)ms33_605));
- }/*]*/
- }
- /*FI*/C->_is_deferred=1;
- }
- int r605proper_has(T605* C,T0* a1){
- int R=0;
- R=r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),X776to_key(a1));
- return R;
- }
- T0* r605going_up(T605* C,T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- R=r605going_up(((T605*)(r605class_any())),a1,a2,a3);
- }
- else {
- R=r673going_up(((T673*)((((T605*)C))->_parent_list/*40*/)),a1,a2,a3);
- }
- /*FI*/return R;
- }
- /*No:BASE_CLASS.set_obsolete_type_string*/
- /*No:BASE_CLASS.formal_generic_list*/
- void r605collect_for(T605* C,int a1,T0* a2){
- T0* _fn_key=NULL;
- _fn_key=X776to_key(a2);
- /*IF*/if (r237has(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key)) {
- X359collect_for(r237at(((T237*)((((T605*)C))->_feature_dictionary/*60*/)),_fn_key),a1);
- }
- /*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- /*IF*/if (r605is_general(C)) {
- }
- else {
- r605collect_for(((T605*)(r605class_any())),a1,a2);
- }
- /*FI*/}
- else {
- r673collect_for(((T673*)((((T605*)C))->_parent_list/*40*/)),a1,a2);
- }
- /*FI*/}
- int r605is_a_vncg(T605* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
- R=r673is_a_vncg(((T673*)((((T605*)C))->_parent_list/*40*/)),X291run_type(a1),X291run_type(a2));
- }
- /*FI*/return R;
- }
- void r605error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:BASE_CLASS.fatal_error*/
- int r605is_any(T605* C){
- int R=0;
- R=(((T0*)ms1_473))==((void*)((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/));
- return R;
- }
- /*No:BASE_CLASS.heading_comment2*/
- int r605is_general(T605* C){
- int R=0;
- R=(((T0*)ms14_473))==((void*)((((T451*)((T451*)((((T605*)C))->_base_class_name/*24*/))))->_to_string/*0*/));
- return R;
- }
- /*No:BASE_CLASS.feature_dictionary*/
- T0* r605new_name_of_original(T605* C,T0* a1,T0* a2){
- T0* R=NULL;
- /*IF*/if ((C)==((void*)(a1))) {
- R=a2;
- }
- else if (r605is_general(C)) {
- R=a2;
- }
- else {
- /*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
- R=r605new_name_of(((T605*)(r605class_any())),a1,a2);
- }
- else {
- /*[IRF3.3clear*/((((T854*)(((T854*)(oBC605going_up_trace)))))->_upper)=(-(1));
- /*]*/
- R=r673going_up(((T673*)((((T605*)C))->_parent_list/*40*/)),oBC605going_up_trace,a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0*oBC605visited=NULL;
- /*No:BASE_CLASS.base_class_name*/
- /*No:BASE_CLASS.is_expanded*/
- /*No:BASE_CLASS.fz_expanded*/
- /*No:BASE_CLASS.creation_clause_list*/
- /*No:BASE_CLASS.us_any*/
- /*No:BASE_CLASS.us_general*/
- void r605warning(T0* a1,T0* a2){
- r683add_position(a1);
- r683warning(((T683*)(oBC364eh)),a2);
- }
- int r958has_creation(T958* C,T0* a1){
- int R=0;
- R=X291has_creation((((T958*)C))->_run_type/*8*/,a1);
- return R;
- }
- /*No:TYPE_LIKE_CURRENT.is_anchored*/
- int r958is_array(T958* C){
- int R=0;
- R=X291is_array((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_a(T958* C,T0* a1){
- int R=0;
- R=X291is_a((((T958*)C))->_run_type/*8*/,a1);
- return R;
- }
- int r958is_pointer(T958* C){
- int R=0;
- R=X291is_pointer((((T958*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_CURRENT.run_type*/
- int r958is_string(T958* C){
- int R=0;
- R=X291is_string((((T958*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_CURRENT.is_like_feature*/
- /*No:TYPE_LIKE_CURRENT.is_like_current*/
- void r958make(T958* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_like_what=a2;
- if(NULL!=(C->_like_what))switch(((T0*)C->_like_what)->id) {
- case 358:
- break;
- default:
- C->_like_what=NULL;
- };}
- /*No:TYPE_LIKE_CURRENT.us_like_current*/
- /*No:TYPE_LIKE_CURRENT.start_position*/
- /*No:TYPE_LIKE_CURRENT.like_what*/
- int r958is_character(T958* C){
- int R=0;
- R=X291is_character((((T958*)C))->_run_type/*8*/);
- return R;
- }
- T0* r958written_mark(void){
- T0* R=NULL;
- R=((T0*)ms145_473);
- return R;
- }
- T0* r958to_runnable(T958* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T958*)C))->_run_type/*8*/)==((void*)(NULL))) {
- C->_run_type=X291run_type(a1);
- R=(T0*)C;
- }
- else {
- {T958*n=malloc(sizeof(*n));
- *n=M958;
- r958make(n,(((T958*)C))->_start_position/*4*/,(((T958*)C))->_like_what/*12*/);
- R=(T0*)n;
- }
- R=r958to_runnable(((T958*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:TYPE_LIKE_CURRENT.is_run_type*/
- /*No:TYPE_LIKE_CURRENT.is_formal_generic*/
- T0* r958generic_list(T958* C){
- T0* R=NULL;
- /*IF*/if (r958is_generic(C)) {
- R=X291generic_list((((T958*)C))->_run_type/*8*/);
- }
- else {
- r958fatal_error_generic_list(C);
- }
- /*FI*/return R;
- }
- int r958is_real(T958* C){
- int R=0;
- R=X291is_real((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_bit(T958* C){
- int R=0;
- R=X291is_bit((((T958*)C))->_run_type/*8*/);
- return R;
- }
- void r958fatal_error_generic_list(T958* C){
- r683add_type((T0*)C,((T0*)ms12_291));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:TYPE_LIKE_CURRENT.pretty_print*/
- T0* r958smallest_ancestor(T958* C,T0* a1){
- T0* R=NULL;
- R=X291smallest_ancestor((((T958*)C))->_run_type/*8*/,a1);
- return R;
- }
- int r958is_boolean(T958* C){
- int R=0;
- R=X291is_boolean((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_double(T958* C){
- int R=0;
- R=X291is_double((((T958*)C))->_run_type/*8*/);
- return R;
- }
- T0* r958run_class(T958* C){
- T0* R=NULL;
- R=r604run_class((((T958*)C))->_run_type/*8*/);
- return R;
- }
- T0* r958run_time_mark(T958* C){
- T0* R=NULL;
- /*IF*/if (((((T958*)C))->_run_type/*8*/)!=((void*)(NULL))) {
- R=X291run_time_mark((((T958*)C))->_run_type/*8*/);
- }
- /*FI*/return R;
- }
- int r958is_a_in(T958* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((r958written_mark())==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
- _t1=r958to_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* r958look_up_for(T958* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r958base_class(C))),a1,a2);
- return R;
- }
- T0* r958expanded_initializer(T958* C){
- T0* R=NULL;
- R=X291expanded_initializer((((T958*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_CURRENT.fz_dot*/
- int r958is_generic(T958* C){
- int R=0;
- R=X291is_generic((((T958*)C))->_run_type/*8*/);
- return R;
- }
- /*No:TYPE_LIKE_CURRENT.used_as_reference*/
- int r958is_reference(T958* C){
- int R=0;
- R=X291is_reference((((T958*)C))->_run_type/*8*/);
- return R;
- }
- T0* r958base_class(T958* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=r958base_class_name(C);
- /*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;
- }
- int r958is_any(T958* C){
- int R=0;
- R=X291is_any((((T958*)C))->_run_type/*8*/);
- return R;
- }
- T0* r958base_class_name(T958* C){
- T0* R=NULL;
- R=X291base_class_name((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_expanded(T958* C){
- int R=0;
- R=X291is_expanded((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_basic_eiffel_expanded(T958* C){
- int R=0;
- R=X291is_basic_eiffel_expanded((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_none(T958* C){
- int R=0;
- R=X291is_none((((T958*)C))->_run_type/*8*/);
- return R;
- }
- int r958is_integer(T958* C){
- int R=0;
- R=X291is_integer((((T958*)C))->_run_type/*8*/);
- return R;
- }
- /*No:ECHO.make*/
- /*No:ECHO.verbose*/
- T0*oBC1std_error=NULL;
- T0*oBC1std_output=NULL;
- void r306sfr_connect(T306* C,T0* a1,T0* a2){
- r306put_string(C,((T0*)ms3_306));
- r306put_string(C,a2);
- r306put_string(C,((T0*)ms4_306));
- r675connect_to(((T675*)a1),a2);
- }
- void r306put_string(T306* C,T0* a1){
- /*IF*/if ((((T306*)C))->_verbose/*0*/) {
- r830put_string(((T830*)(oBC1std_output)),a1);
- /*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output));
- fflush(stdout);
- }/*]*/
- }
- /*FI*/}
- void r306put_integer(T306* C,int a1){
- /*IF*/if ((((T306*)C))->_verbose/*0*/) {
- r830put_integer(((T830*)(oBC1std_output)),a1);
- /*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output));
- fflush(stdout);
- }/*]*/
- }
- /*FI*/}
- void r306w_put_string(T0* a1){
- r441put_string(((T441*)(oBC1std_error)),a1);
- /*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error));
- fflush(stderr);
- }/*]*/
- }
- void r306put_character(T306* C,char a1){
- /*IF*/if ((((T306*)C))->_verbose/*0*/) {
- /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
- char b1=a1;
- putc(b1,((FILE*)(stdout)));
- }/*]*/
- /*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output));
- fflush(stdout);
- }/*]*/
- }
- /*FI*/}
- void r306w_put_character(char a1){
- /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
- char b1=a1;
- putc(b1,((FILE*)(stderr)));
- }/*]*/
- /*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error));
- fflush(stderr);
- }/*]*/
- }
- void r306w_put_integer(int a1){
- r441put_integer(((T441*)(oBC1std_error)),a1);
- /*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error));
- fflush(stderr);
- }/*]*/
- }
- T0* r368at(T368* C,T0* a1){
- T0* R=NULL;
- T0* _to_key=NULL;
- _to_key=X776to_key(a1);
- /*IF*/if (r199has(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),_to_key)) {
- R=r199at(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),_to_key);
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.id*/
- T0* r368get_or_fatal_error(T368* C,T0* a1){
- T0* R=NULL;
- R=r368get_feature(C,a1);
- /*IF*/if ((R)==((void*)(NULL))) {
- r683add_position(X776start_position(a1));
- /*[IRF3.6append*/{T0* b1=((T0*)ms6_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type((((T368*)C))->_current_type/*0*/,((T0*)ms67_470));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.fz_bad_assertion*/
- /*No:RUN_CLASS.running*/
- T0* r368runnable(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))) {
- r368error(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 r368set_at_run_time(T368* C){
- int _i=0;
- T0* _rc=NULL;
- T0* _rcd=NULL;
- /*IF*/if (!((((T368*)C))->_at_run_time/*8*/)) {
- C->_at_run_time=1;
- C->_compile_to_c_done=0;
- r368add_running(C,(T0*)C);
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- /*IF*/if (X291is_reference((((T368*)C))->_current_type/*0*/)) {
- _rcd=oBC604run_class_dictionary;
- _i=1;
- while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
- _rc=r250item(((T250*)_rcd),_i);
- /*IF*/if (r368is_a(C,_rc)) {
- r368add_running(((T368*)_rc),(T0*)C);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*/}
- /*FI*/}
- int r368is_a(T368* C,T0* a1){
- int R=0;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if ((a1)==((void*)(C))) {
- R=1;
- }
- else {
- _t1=(((T368*)C))->_current_type/*0*/;
- _t2=(((T368*)((T368*)a1)))->_current_type/*0*/;
- /*IF*/if ((X291is_basic_eiffel_expanded(_t1))&&(X291is_basic_eiffel_expanded(_t2))) {
- }
- else {
- R=X291is_a(_t1,_t2);
- /*IF*/if (!(R)) {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:RUN_CLASS.actuals_clients*/
- /*No:RUN_CLASS.at_run_time*/
- T0* r368get_rf(T368* C,T0* a1){
- T0* R=NULL;
- T0* _tfg=NULL;
- T0* _constraint=NULL;
- T0* _trt=NULL;
- T0* _wbc2=NULL;
- T0* _wbc=NULL;
- T0* _fn2=NULL;
- T0* _fn1=NULL;
- int _is_current=0;
- T0* _target=NULL;
- _target=/*X135*/((T0*)(((T121*)((T121*)a1)))->_target/*8*/);
- _trt=X662result_type(_target);
- _is_current=X662is_current(_target);
- _fn1=X135feature_name(a1);
- _wbc=r627base_class(((T627*)(X776start_position(_fn1))));
- /*IF*/if ((_is_current)||(X291is_like_current(_trt))) {
- _fn2=r605new_name_of(((T605*)(X291base_class(_trt))),_wbc,_fn1);
- /*IF*/if ((_fn2)!=((void*)(_fn1))) {
- r683add_position(X776start_position(_fn1));
- R=r368get_or_fatal_error(C,_fn2);
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- else {
- R=r368get_or_fatal_error(C,_fn1);
- }
- /*FI*/}
- else if (X291is_formal_generic(_trt)) {
- _tfg=_trt;
- if(NULL!=(_tfg))switch(((T0*)_tfg)->id) {
- case 283:
- break;
- default:
- _tfg=NULL;
- };_constraint=r283constraint(((T283*)_tfg));
- /*IF*/if ((_constraint)==((void*)(NULL))) {
- R=r368get_or_fatal_error(C,_fn1);
- }
- else if (!(X291is_a(_trt,_constraint))) {
- r683print_as_error(((T683*)(oBC364eh)));
- r683add_position(X776start_position(X135feature_name(a1)));
- /*[IRF3.6append*/{T0* b1=((T0*)ms3_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- else {
- _wbc2=r627base_class(((T627*)(X291start_position(_constraint))));
- /*IF*/if (((_wbc2)==((void*)(_wbc)))||(r605is_subclass_of(((T605*)_wbc),_wbc2))) {
- _fn2=r605new_name_of(((T605*)(X291base_class(_trt))),X291base_class(_constraint),_fn1);
- R=r368get_or_fatal_error(C,_fn2);
- }
- else {
- R=r368get_or_fatal_error(C,_fn1);
- }
- /*FI*/}
- /*FI*/}
- else {
- R=r368get_or_fatal_error(C,_fn1);
- }
- /*FI*/X496add_client(R,(T0*)C);
- /*IF*/if ((((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&(!(_is_current)))&&(!(X496is_exported_in(R,(((T605*)((T605*)_wbc)))->_base_class_name/*24*/)))) {
- r683add_position(X496start_position(R));
- /*[IRF3.6append*/{T0* b1=((T0*)ms4_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(_fn1);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r368error(X776start_position(X135feature_name(a1)),((T0*)ms5_368));
- }
- /*FI*/return R;
- }
- T0* r368get_feature(T368* C,T0* a1){
- T0* R=NULL;
- T0* _bc=NULL;
- T0* _fn_key=NULL;
- T0* _f=NULL;
- _fn_key=X776to_key(a1);
- /*IF*/if (r199has(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),_fn_key)) {
- R=r199at(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),_fn_key);
- }
- else {
- _bc=r368base_class(C);
- _f=r605look_up_for(((T605*)_bc),(T0*)C,a1);
- /*IF*/if ((_f)==((void*)(NULL))) {
- r368efnf(C,_bc,a1);
- }
- else {
- R=X359to_run_feature(_f,(((T368*)C))->_current_type/*0*/,a1);
- /*IF*/if ((R)!=((void*)(NULL))) {
- r368store_feature(C,R);
- }
- else {
- r368efnf(C,_bc,a1);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- T0* r368class_with(T0* a1){
- T0* R=NULL;
- R=r604get_class(a1);
- return R;
- }
- void r368efnf(T368* C,T0* a1,T0* a2){
- /*[IRF3.6append*/{T0* b1=((T0*)ms9_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)C))->_current_type/*0*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms10_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a2);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms11_368);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r368error(X776start_position(a2),((T0*)ms67_470));
- }
- void r368make(T368* C,T0* a1){
- int _i=0;
- T0* _r=NULL;
- T0* _rc=NULL;
- T0* _rcd=NULL;
- T0* _run_string=NULL;
- C->_compile_to_c_done=1;
- C->_current_type=a1;
- {T187*n=malloc(sizeof(*n));
- *n=M187;
- r187with_capacity(n,16);
- C->_actuals_clients=(T0*)n;
- }
- _run_string=X291run_time_mark(a1);
- C->_id=r410item(((T410*)(r368id_provider())),_run_string);
- /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_is_ready/*0*/) {
- r368warning(NULL,((T0*)ms1_368));
- }
- /*FI*//*IF*/if (r250has(((T250*)(oBC604run_class_dictionary)),_run_string)) {
- r368warning(NULL,((T0*)ms2_368));
- }
- /*FI*/r250put(((T250*)(oBC604run_class_dictionary)),(T0*)C,_run_string);
- {T199*n=malloc(sizeof(*n));
- *n=M199;
- r199with_capacity(n,64);
- C->_feature_dictionary=(T0*)n;
- }
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- /*IF*/if (X291is_expanded(a1)) {
- r368set_at_run_time(C);
- r605check_expanded_with(((T605*)(X291base_class(a1))),a1);
- }
- else {
- _rcd=oBC604run_class_dictionary;
- _i=1;
- while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
- _rc=r250item(((T250*)_rcd),_i);
- /*IF*/if ((((((T368*)((T368*)_rc)))->_at_run_time/*8*/)&&(X291is_reference((((T368*)((T368*)_rc)))->_current_type/*0*/)))&&(r368is_a(((T368*)_rc),(T0*)C))) {
- r368add_running(C,_rc);
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- /*FI*//*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
- r608clear(((T608*)(oBC368ci_collector)));
- r605collect_invariant(((T605*)(r368base_class(C))),(T0*)C);
- _r=r368runnable(oBC368ci_collector,(((T368*)C))->_current_type/*0*/,NULL);
- /*IF*/if ((_r)!=((void*)(NULL))) {
- {T699*n=malloc(sizeof(*n));
- *n=M699;
- r699from_runnable(n,_r);
- C->_invariant_assertion=(T0*)n;
- }
- }
- /*FI*/}
- /*FI*/}
- /*No:RUN_CLASS.nb_errors*/
- void r368store_feature(T368* C,T0* a1){
- T0* _rf_key=NULL;
- _rf_key=X776to_key(/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
- /*IF*/if (r199has(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),_rf_key)) {
- }
- else {
- r199put(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),a1,_rf_key);
- r604incr_magic_count(((T604*)(oBC364small_eiffel)));
- }
- /*FI*/}
- /*No:RUN_CLASS.compile_to_c_done*/
- T0*oBC368ci_collector=NULL;
- void r368add_running(T368* C,T0* a1){
- /*IF*/if (((((T368*)C))->_running/*12*/)==((void*)(NULL))) {
- C->_running=se_ma396(1,a1);
- }
- else {
- /*IF*/if (!(r396fast_has(((T396*)((((T368*)C))->_running/*12*/)),a1))) {
- r396add_last(((T396*)((((T368*)C))->_running/*12*/)),a1);
- }
- /*FI*/}
- /*FI*/}
- void r368add_client(T368* C,T0* a1){
- int _i=0;
- _i=r187fast_index_of(((T187*)((((T368*)C))->_actuals_clients/*28*/)),a1);
- /*IF*/if ((_i)>((((T187*)((T187*)((((T368*)C))->_actuals_clients/*28*/))))->_upper/*8*/)) {
- r187add_last(((T187*)((((T368*)C))->_actuals_clients/*28*/)),a1);
- }
- /*FI*/}
- /*No:RUN_CLASS.collect_invariant*/
- T0* r368get_feature_with(T368* C,T0* a1){
- T0* R=NULL;
- T0* _sfn=NULL;
- /*IF*/if (r199has(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),a1)) {
- R=r199at(((T199*)((((T368*)C))->_feature_dictionary/*24*/)),a1);
- }
- else {
- {T446*n=malloc(sizeof(*n));
- *n=M446;
- r446make(n,a1,NULL);
- _sfn=(T0*)n;
- }
- R=r368get_feature(C,_sfn);
- }
- /*FI*/return R;
- }
- T0* r368id_provider(void){
- if (fBC364id_provider==0){
- T0* R=NULL;
- fBC364id_provider=1;
- {T410*n=malloc(sizeof(*n));
- *n=M410;
- r410make(n);
- R=(T0*)n;
- }
- oBC364id_provider=R;}
- return oBC364id_provider;}
- /*No:RUN_CLASS.current_type*/
- T0* r368get_copy(T368* C){
- T0* R=NULL;
- R=r368get_rf_with(C,/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r605get_copy(((T605*)(r368class_general())))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
- return R;
- }
- /*No:RUN_CLASS.invariant_assertion*/
- /*No:RUN_CLASS.fz_dot*/
- int fBC364class_general=0;
- T0*oBC364class_general=NULL;
- T0* r368class_general(void){
- if (fBC364class_general==0){
- T0* R=NULL;
- fBC364class_general=1;
- R=r368class_with(((T0*)ms14_473));
- oBC364class_general=R;}
- return oBC364class_general;}
- void r368error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r368base_class(T368* C){
- T0* R=NULL;
- R=X291base_class((((T368*)C))->_current_type/*0*/);
- return R;
- }
- /*No:RUN_CLASS.feature_dictionary*/
- T0* r368get_rf_with(T368* C,T0* a1){
- T0* R=NULL;
- T0* _wbc=NULL;
- T0* _fn2=NULL;
- _wbc=r627base_class(((T627*)(X776start_position(a1))));
- _fn2=r605new_name_of(((T605*)(r368base_class(C))),_wbc,a1);
- /*IF*/if ((_fn2)!=((void*)(a1))) {
- r683add_position(X776start_position(a1));
- R=r368get_or_fatal_error(C,_fn2);
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- else {
- R=r368get_or_fatal_error(C,_fn2);
- }
- /*FI*/return R;
- }
- /*No:RUN_CLASS.us_general*/
- void r368warning(T0* a1,T0* a2){
- r683add_position(a1);
- r683warning(((T683*)(oBC364eh)),a2);
- }
- int r636gives_permission_to_any(T636* C){
- int R=0;
- /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) {
- R=1;
- }
- else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) {
- }
- else {
- R=r33gives_permission_to_any(((T33*)((((T636*)C))->_list/*4*/)));
- }
- /*FI*/return R;
- }
- void r636merge(T636* C,T0* a1,T0* a2,T0* a3){
- C->_start_position=a1;
- {T33*n=malloc(sizeof(*n));
- *n=M33;
- r33merge(n,a2,a3);
- C->_list=(T0*)n;
- }
- }
- void r636make(T636* C,T0* a1,T0* a2){
- C->_start_position=a1;
- /*IF*/if ((a2)!=((void*)(NULL))) {
- {T33*n=malloc(sizeof(*n));
- *n=M33;
- r33make(n,a2);
- C->_list=(T0*)n;
- }
- }
- /*FI*/}
- /*No:CLIENT_LIST.start_position*/
- /*No:CLIENT_LIST.is_omitted*/
- int r636gives_permission_to(T636* C,T0* a1){
- int R=0;
- /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) {
- R=1;
- }
- else if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) {
- }
- else {
- R=r33gives_permission_to(((T33*)((((T636*)C))->_list/*4*/)),a1);
- }
- /*FI*//*IF*/if (!(R)) {
- r683add_position((((T636*)C))->_start_position/*0*/);
- /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/;
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=((T0*)ms4_636);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- }
- /*FI*/return R;
- }
- void r636pretty_print(T636* C){
- /*IF*/if (/*(IRF4.7is_omitted*/((((T636*)C))->_start_position/*0*/)==(NULL)/*)*/) {
- /*IF*/if (r238zen_mode(((T238*)(oBC364fmt)))) {
- }
- else {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_636));
- }
- /*FI*/}
- else {
- /*IF*/if (((((T636*)C))->_list/*4*/)==((void*)(NULL))) {
- /*IF*/if (r238zen_mode(((T238*)(oBC364fmt)))) {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_636));
- }
- else {
- r238put_string(((T238*)(oBC364fmt)),((T0*)ms3_636));
- }
- /*FI*/}
- else {
- r238put_character(((T238*)(oBC364fmt)),'\173');
- /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
- /*]*/
- r33pretty_print(((T33*)((((T636*)C))->_list/*4*/)));
- r238put_character(((T238*)(oBC364fmt)),'\175');
- }
- /*FI*/}
- /*FI*/}
- /*No:CLIENT_LIST.list*/
- /*No:CLIENT_LIST.omitted*/
-
-