/*
-- 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 "short.h"
void r180short(T180* C){
r580a_prefix_name(((T580*)(oBC364short_print)),(((T180*)C))->_feature_name/*20*/);
/*IF*/if ((X662precedence((((T180*)C))->_target/*8*/))<(11)) {
X662bracketed_short((((T180*)C))->_target/*8*/);
}
else {
X662short((((T180*)C))->_target/*8*/);
}
/*FI*/}
T0* r180add_comment(T180* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r180to_integer(T180* C){
int R=0;
T0* _rf1=NULL;
_rf1=(((T180*)C))->_run_feature/*12*/;
if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
case 808: 
break;
default:
_rf1=NULL;
};/*IF*/if ((_rf1)==((void*)(NULL))) {
r180error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
}
else {
R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*44*/);
}
/*FI*/return R;
}
void r180bracketed_short(T180* C){
r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
r180short(C);
r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
}
int r180is_a(T180* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T180*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/);
r180error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_PREFIX_NOT.is_current*/
void r180make(T180* C,T0* a1,T0* a2){
{T406*n=malloc(sizeof(*n));
*n=M406;
r406make(n,r180operator(),a1);
C->_feature_name=(T0*)n;
}
r180make_call0(C,a2,(((T180*)C))->_feature_name/*20*/);
}
/*No:CALL_PREFIX_NOT.nb_errors*/
/*No:CALL_PREFIX_NOT.feature_name*/
/*No:CALL_PREFIX_NOT.fz_iinaiv*/
/*No:CALL_PREFIX_NOT.run_feature*/
/*No:CALL_PREFIX_NOT.start_position*/
/*No:CALL_PREFIX_NOT.target*/
/*No:CALL_PREFIX_NOT.precedence*/
T0* r180to_runnable(T180* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T180*)C))->_current_type/*4*/)==((void*)(NULL))) {
r180to_runnable_0(C,a1);
/*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T180*)C))->_run_feature/*12*/))>(0))) {
r683add_position((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/);
r180error(X496start_position((((T180*)C))->_run_feature/*12*/),((T0*)ms1_752));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r180twin(C);
/*[IRF3.3set_current_type*/((((T180*)(((T180*)R))))->_current_type)=(NULL);
/*]*/
R=r180to_runnable(((T180*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_PREFIX_NOT.result_type*/
T0* r180twin(T180* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T180*)R)=*C;
return R;
}
/*No:CALL_PREFIX_NOT.set_current_type*/
T0* r180operator(void){
T0* R=NULL;
R=((T0*)ms40_473);
return R;
}
/*No:CALL_PREFIX_NOT.current_type*/
/*No:CALL_PREFIX_NOT.is_manifest_string*/
/*No:CALL_PREFIX_NOT.is_void*/
void r180to_runnable_0(T180* C,T0* a1){
C->_current_type=a1;
r180cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T180*)C))->_run_feature/*12*/))))->_result_type/*24*/);
/*IF*/if (((((T180*)C))->_result_type/*16*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T180*)C))->_run_feature/*12*/));
r180error((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/,((T0*)ms1_295));
}
 else if (X291is_like_current((((T180*)C))->_result_type/*16*/)) {
C->_result_type=X662result_type((((T180*)C))->_target/*8*/);
}
/*FI*/}
void r180cpc_to_runnable(T180* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T180*)C))->_target/*8*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T180*)C))->_target/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T180*)C))->_target/*8*/));
C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
r576update((((T180*)C))->_target/*8*/,(((T180*)C))->_run_feature/*12*/);
}
/*No:CALL_PREFIX_NOT.us_not*/
void r180make_call0(T180* C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}
void r180error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_PREFIX_NOT.fatal_error*/
void r180short_target(T180* C){
r180bracketed_short(C);
/*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
}/*]*/
}
void r158make(T158* C,T0* a1,T0* a2,T0* a3){
C->_comment=a3;
C->_tag=a1;
C->_expression=a2;
}
/*No:LOOP_VARIANT_2.nb_errors*/
/*No:LOOP_VARIANT_2.expression*/
T0* r158start_position(T158* C){
T0* R=NULL;
R=X662start_position((((T158*)C))->_expression/*8*/);
return R;
}
/*No:LOOP_VARIANT_2.comment*/
T0* r158to_runnable(T158* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (((((T158*)C))->_current_type/*12*/)==((void*)(NULL))) {
C->_current_type=a1;
_e=X662to_runnable((((T158*)C))->_expression/*8*/,a1);
/*IF*/if ((_e)==((void*)(NULL))) {
r158error(r158start_position(C),((T0*)ms1_856));
}
else {
C->_expression=_e;
/*IF*/if (!(X291is_integer(X662result_type((((T158*)C))->_expression/*8*/)))) {
r158error(X662start_position((((T158*)C))->_expression/*8*/),((T0*)ms2_856));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r158twin(C);
/*[IRF3.3set_current_type*/((((T158*)(((T158*)R))))->_current_type)=(NULL);
/*]*/
R=r158to_runnable(((T158*)R),a1);
}
/*FI*/return R;
}
T0* r158twin(T158* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T158*)R)=*C;
return R;
}
/*No:LOOP_VARIANT_2.set_current_type*/
/*No:LOOP_VARIANT_2.tag*/
/*No:LOOP_VARIANT_2.current_type*/
void r158error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:DEFERRED_FUNCTION.arguments*/
T0* r649try_to_undefine(T649* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T649*)C))->_clients/*20*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
/*No:DEFERRED_FUNCTION.is_deferred*/
/*No:DEFERRED_FUNCTION.rescue_compound*/
void r649add_into(T649* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)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*)((((T649*)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);
}
}
/*No:DEFERRED_FUNCTION.end_comment*/
/*No:DEFERRED_FUNCTION.try_to_undefine_aux*/
void r649make(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
r649make_routine(C,a1,a2,a4,a5,a6);
C->_result_type=a3;
}
/*No:DEFERRED_FUNCTION.nb_errors*/
void r649make_routine(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
r649make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void r649set_header_comment(T649* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
C->_end_comment=a1;
}
/*FI*/}
T0* r649start_position(T649* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r649to_run_feature(T649* C,T0* a1,T0* a2){
T0* R=NULL;
r649check_obsolete(C);
{T904*n=malloc(sizeof(*n));
*n=M904;
r904make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
/*No:DEFERRED_FUNCTION.ensure_assertion*/
/*No:DEFERRED_FUNCTION.code_require*/
/*No:DEFERRED_FUNCTION.result_type*/
/*No:DEFERRED_FUNCTION.fz_03*/
/*No:DEFERRED_FUNCTION.em1*/
/*No:DEFERRED_FUNCTION.obsolete_mark*/
/*No:DEFERRED_FUNCTION.em2*/
/*No:DEFERRED_FUNCTION.set_clients*/
/*No:DEFERRED_FUNCTION.names*/
/*No:DEFERRED_FUNCTION.require_assertion*/
void r649from_effective(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
{T953*n=malloc(sizeof(*n));
*n=M953;
r953make(n,se_ma855(1,a1));
C->_names=(T0*)n;
}
r649make(C,(((T649*)C))->_names/*8*/,a2,a3,NULL,NULL,a4);
/*[IRF3.3set_ensure_assertion*/((((T649*)(C)))->_ensure_assertion)=(a5);
/*]*/
C->_base_class=a6;
}
void r649set_rescue_compound(T649* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) {
r649error(r649start_position(C),((T0*)ms6_355));
}
/*FI*/C->_rescue_compound=a1;
}
int r649can_hide(T649* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms6_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms7_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T649*)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*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r683add_position(r649start_position(C));
/*[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*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:DEFERRED_FUNCTION.header_comment*/
int r649is_merge_with(T649* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms3_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms4_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T649*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r649error(r649start_position(C),((T0*)ms12_359));
}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:DEFERRED_FUNCTION.fz_dot*/
/*No:DEFERRED_FUNCTION.set_ensure_assertion*/
/*No:DEFERRED_FUNCTION.first_name*/
/*No:DEFERRED_FUNCTION.clients*/
void r649collect_for(T649* C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((((T649*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
/*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/))) {
r522add_last(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((((T649*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
/*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T649*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/);
/*]*/
r633add_into(((T633*)((((T649*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector);
}
/*FI*/}
/*FI*/}
void r649error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:DEFERRED_FUNCTION.base_class*/
void r649make_e_feature(T649* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void r649check_obsolete(T649* C){
/*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
/*IF*/if (((((T649*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T649*)C))->_obsolete_mark/*28*/))))->_to_string/*12*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r649warning(r649start_position(C),((T0*)ms137_470));
}
/*FI*/}
/*FI*/}
void r649warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}
void r953short(T953* C){
int _i=0;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) {
X776short(r855item(((T855*)((((T953*)C))->_list/*0*/)),_i));
_i=(_i)+(1);
/*IF*/if ((_i)<=(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/)) {
r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_953),((T0*)ms4_953));
}
/*FI*/}
}
int r953for_short(T953* C,T0* a1,int a2,T0* a3,int a4,T0* a5,T0* a6){
int R=0;
T0* _rf=NULL;
T0* _fn=NULL;
int _i=0;
R=a2;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=r855item(((T855*)((((T953*)C))->_list/*0*/)),_i);
_rf=r368get_rf_with(((T368*)a6),_fn);
/*IF*/if (!(X321fast_has(a5,_rf))) {
X321add_last(a5,_rf);
/*IF*/if (!(a4)) {
/*IF*/if (!(a2)) {
R=1;
r153do_heading_for_short(((T153*)a1),a3);
}
/*FI*/r580a_run_feature(((T580*)(oBC364short_print)),_rf);
}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
return R;
}
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*/
/*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*/
void r953short_for_creation(T953* C){
int _i=0;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)C))->_list/*0*/))))->_upper/*8*//*)*/))) {
r580a_feature(((T580*)(oBC364short_print)),r855item(((T855*)((((T953*)C))->_list/*0*/)),_i));
_i=(_i)+(1);
}
}
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;
}
/*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 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*/
/*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*/
/*No:CST_ATT_INTEGER.set_clients*/
/*No:CST_ATT_INTEGER.em2*/
/*No:CST_ATT_INTEGER.value*/
/*No:CST_ATT_INTEGER.require_assertion*/
/*No:CST_ATT_INTEGER.names*/
/*No:CST_ATT_INTEGER.value_mem*/
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*/
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){
{T686*n=malloc(sizeof(*n));
*n=M686;
r686make(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))) {
r686get_started(((T686*)((((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);
r686inherit_cycle_check(((T686*)((((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*/}
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=r686has_parent(((T686*)((((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 r605up_to_any_in(T605* C,T0* a1){
/*IF*/if (r605is_general(C)) {
}
else {
/*IF*/if (!(r654fast_has(((T654*)a1),(T0*)C))) {
r654add_last(((T654*)a1),(T0*)C);
}
/*FI*//*IF*/if (((((T605*)C))->_parent_list/*40*/)==((void*)(NULL))) {
/*IF*/if (!(r654fast_has(((T654*)a1),r605class_any()))) {
r654add_last(((T654*)a1),r605class_any());
}
/*FI*/}
else {
r686up_to_any_in(((T686*)((((T605*)C))->_parent_list/*40*/)),a1);
}
/*FI*/}
/*FI*/}
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*/
void r605header_comment_for(T605* C,T0* a1){
T0* _ia=NULL;
_ia=(((T605*)C))->_invariant_assertion/*52*/;
/*IF*/if (((_ia)!=((void*)(NULL)))&&(((((T673*)((T673*)_ia)))->_header_comment/*4*/)!=((void*)(NULL)))) {
/*[IRF3.3set_header_comment*/((((T673*)(((T673*)a1))))->_header_comment)=((((T673*)((T673*)_ia)))->_header_comment/*4*/);
/*]*/
}
 else if (((((T605*)C))->_parent_list/*40*/)!=((void*)(NULL))) {
r686header_comment_for(((T686*)((((T605*)C))->_parent_list/*40*/)),a1);
}
/*FI*/}
/*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))) {
r686inherit_cycle_check(((T686*)((((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=r686has(((T686*)((((T605*)C))->_parent_list/*40*/)),a1);
}
/*FI*/return R;
}
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=r686up_to_original(((T686*)((((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=r686up_to_original(((T686*)((((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))) {
r686collect_invariant(((T686*)((((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*/;
r673add_into(((T673*)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=r686has_redefine(((T686*)((((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 593: 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=r686look_up_for(((T686*)((((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)))) {
{T673*n=malloc(sizeof(*n));
*n=M673;
r673make(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=r686clients_for(((T686*)((((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=r686going_up(((T686*)((((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 {
r686collect_for(((T686*)((((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=r686is_a_vncg(((T686*)((((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=r686going_up(((T686*)((((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.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);
}
/*No:TYPE_LIKE_CURRENT.short*/
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_current*/
/*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;
}
/*No:TYPE_LIKE_CURRENT.is_run_type*/
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;
}
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;
}
/*No:TYPE_LIKE_CURRENT.is_formal_generic*/
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)));
}
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;
}
/*No:TYPE_LIKE_CURRENT.short_hook*/
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;
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*/}

