ftp.nice.ch/pub/next/developer/languages/eiffel/SmallEiffel.0.95.N.bs.tar.gz#/SmallEiffel/bin_c/compile_to_c3.c

This is compile_to_c3.c in view mode; [Download] [Up]

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.95)    --      FRANCE
-- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
-- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
-- CRIN (Centre de Recherche en Informatique de Nancy)
-- FRANCE 
*/
#include "compile_to_c.h"
void rT43put_semicolon(T43 *C){
XrT38put_string((C)->_current_out,(T0 *)ms808);
}
void rT43put_string_c(T43 *C,T0* a1){
int _i=0;
XrT38put_character((C)->_out_c,'\42');
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT43put_in_c_string(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
XrT38put_character((C)->_out_c,'\42');
}
void rT43put_target(T43 *C){
int _ivt_flag=0;
T0* _rf=NULL;
T0* _tt=NULL;
T0* _target=NULL;
{int iv1=rT55item((T55*)oRBC43stack_code,(C)->_top);
if (1004 == iv1) goto l16;
goto l17;
 l16: ;
_target=XrT81item(oRBC43stack_target,(C)->_top);
_tt=XrT58run_type(XrT68result_type(_target));
/*IF*/if (XrT68is_current(_target)) {
XrT38put_character((C)->_out_c,'C');
}
 else if (XrT58fast_mapping_c(_tt)) {
XrT68compile_to_c(_target);
}
else {
_ivt_flag=rT43call_invariant_start(C,_tt);
/*IF*/if (XrT58is_expanded(_tt)) {
rT43put_character(C,'\46');
XrT68compile_to_c(_target);
/*IF*/if (_ivt_flag) {
rT43call_invariant_end(C);
}
/*FI*/}
 else if (_ivt_flag) {
XrT38put_character((C)->_out_c,'\50');
XrT58mapping_cast(_tt);
XrT68compile_to_c(_target);
XrT38put_character((C)->_out_c,'\51');
rT43call_invariant_end(C);
}
else {
XrT68compile_to_c(_target);
}
/*FI*/}
/*FI*/goto l15;
 l17: ;
if (1007 == iv1) goto l18;
goto l19;
 l18: ;
rT43put_character(C,'n');
goto l15;
 l19: ;
if (1005 == iv1) goto l20;
goto l21;
 l20: ;
_target=XrT81item(oRBC43stack_target,(C)->_top);
_rf=XrT266item(oRBC43stack_rf,(C)->_top);
_tt=XrT262current_type(_rf);
/*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
XrT58mapping_cast(_tt);
XrT68compile_to_c(_target);
}
else {
_ivt_flag=rT43call_invariant_start(C,_tt);
rT43check_id(C,_target,XrT262id(_rf));
/*IF*/if (_ivt_flag) {
rT43call_invariant_end(C);
}
/*FI*/}
/*FI*/goto l15;
 l21: ;
if (1006 == iv1) goto l22;
goto l23;
 l22: ;
_rf=XrT266item(oRBC43stack_rf,(C)->_top);
(/*UT*/(void)(T270*)rT272item((T272*)oRBC43stack_switch,(C)->_top));
rT270put_target(_rf);
goto l15;
 l23: ;
if (1008 == iv1) goto l24;
goto l25;
 l24: ;
rT43put_character(C,'\46');
rT43put_local_name(C,rT34item((T34*)oRBC43stack_string,(C)->_top));
goto l15;
 l25: ;
if (1009 == iv1) goto l26;
goto l27;
 l26: ;
XrT38put_character((C)->_out_c,'\46');
_target=XrT81item(oRBC43stack_target,(C)->_top);
/*IF*/if (((int)_target)) {
XrT68compile_to_c(_target);
}
else {
XrT38put_string((C)->_out_c,rT34item((T34*)oRBC43stack_string,(C)->_top));
}
/*FI*/XrT38put_string((C)->_out_c,(T0 *)ms1187);
XrT38put_string((C)->_out_c,XrT67to_string(XrT262name(XrT266item(oRBC43stack_rf,(C)->_top))));
goto l15;
 l27: ;
if (1003 == iv1) goto l28;
goto l29;
 l28: ;
_target=XrT81item(oRBC43stack_target,(C)->_top);
rT43error_void_or_bad_type(C,_target);
goto l15;
 l29: ;
 l15: ;
}
}
void rT43print_strip(T43 *C){
/*IF*/if ((((T0 *)(T0 *)ms833)==((T0 *)rT43system_name()))||(((T0 *)(T0 *)ms830)==((T0 *)rT43system_name()))) {
/*(IRF3*/(((T7*)oRBC43tmp_string)->_count)=(0);
/*)*//*IF*/if (((T0 *)(T0 *)ms833)==((T0 *)rT43system_name())) {
rT7append((T7*)oRBC43tmp_string,(T0 *)ms1119);
}
else {
rT7append((T7*)oRBC43tmp_string,(T0 *)ms1120);
}
/*FI*//*IF*/if (!((C)->_output_name)) {
rT7append((T7*)oRBC43tmp_string,(T0 *)ms1121);
}
else {
rT7append((T7*)oRBC43tmp_string,(C)->_output_name);
}
/*FI*/rT43echo_make(C);
}
/*FI*/}
void rT43print_included(T43 *C){
int _i=0;
/*IF*/if (((int)(C)->_included)) {
rT41put_string((T41*)oRBC1std_output,(T0 *)ms884);
_i=((T34*)(C)->_included)->_lower;
while (!((_i)>(((T34*)(C)->_included)->_upper))) {
rT41put_string((T41*)oRBC1std_output,rT34item((T34*)(C)->_included,_i));
_i=(_i)+(1);
/*IF*/if ((_i)<=(((T34*)(C)->_included)->_upper)) {
rT41put_character((T41*)oRBC1std_output,'\54');
}
/*FI*/}
rT41put_string((T41*)oRBC1std_output,(T0 *)ms885);
}
/*FI*/}
void rT43print_count(/*C*/T0* a1,int a2){
/*IF*/if ((a2)>(0)) {
rT41put_string((T41*)oRBC1std_output,(T0 *)ms1038);
rT41put_string((T41*)oRBC1std_output,a1);
/*IF*/if ((a2)>(1)) {
rT41put_character((T41*)oRBC1std_output,'s');
}
/*FI*/rT41put_string((T41*)oRBC1std_output,(T0 *)ms1039);
rT41put_integer((T41*)oRBC1std_output,a2);
rT41put_string((T41*)oRBC1std_output,(T0 *)ms1040);
}
else {
rT41put_string((T41*)oRBC1std_output,(T0 *)ms1041);
rT41put_string((T41*)oRBC1std_output,a1);
rT41put_string((T41*)oRBC1std_output,(T0 *)ms1042);
}
/*FI*/}
int ofBC27system_name=0;
T0*oRBC27system_name;
T0* rT43system_name(/*C*/void){
if (ofBC27system_name==0){
T0* R=NULL;
int _i=0;
T0* _path=NULL;
ofBC27system_name=1;
_path=rT7twin((T7*)rT43small_eiffel_directory());
rT43add_directory(_path,(T0 *)ms826);
rT7append((T7*)_path,(T0 *)ms827);
/*IF*/if (!(rT43file_exists(_path))) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms828);
rT37put_string((T37*)oRBC1std_error,_path);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms829);
rT43die_with_code(1);
}
/*FI*/rT43open_read(rT43tmp_file_read(),_path);
rT42read_word((T42*)rT43tmp_file_read());
R=oRBC42last_string;
_i=rT34index_of((T34*)oRBC27system_list,R);
rT42disconnect((T42*)rT43tmp_file_read());
/*IF*/if ((_i)>(((T34*)oRBC27system_list)->_upper)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms835);
rT37put_string((T37*)oRBC1std_error,_path);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms836);
_i=1;
while (!((_i)>(((T34*)oRBC27system_list)->_upper))) {
rT37put_string((T37*)oRBC1std_error,rT34item((T34*)oRBC27system_list,_i));
rT37put_character((T37*)oRBC1std_error,'\12');
_i=(_i)+(1);
}
}
else {
R=rT34item((T34*)oRBC27system_list,_i);
}
/*FI*/oRBC27system_name=R;}
return oRBC27system_name;}
T0*oRBC27system_list;
void rT43pop(T43 *C){
C->_top=((C)->_top)-(1);
}
void rT43add_cecil(T43 *C,T0* a1){
/*IF*/if (!((C)->_cecil_list)) {
C->_cecil_list=ma(266,0,1,a1);
}
else {
/*IF*/if (XrT266fast_has((C)->_cecil_list,a1)) {
}
else {
XrT266add_last((C)->_cecil_list,a1);
}
/*FI*/}
/*FI*/}
void rT43add_c_library(T43 *C,T0* a1){
/*IF*/if (!((C)->_c_library_list)) {
C->_c_library_list=ma(34,0,1,a1);
}
else {
rT34add((T34*)(C)->_c_library_list,a1);
}
/*FI*/}
void rT43add_c_compiler_option(T43 *C,T0* a1){
/*IF*/if (!((C)->_c_compiler_options)) {
{T7 *n=((T7*)se_new(7));
rT7make(n,10);
C->_c_compiler_options=(T0 *)n;}
/*(IRF3*/(((T7*)(C)->_c_compiler_options)->_count)=(0);
/*)*/}
/*FI*/rT7append((T7*)(C)->_c_compiler_options,a1);
rT7extend((T7*)(C)->_c_compiler_options,'\40');
}
void rT43add_c_object(T43 *C,T0* a1){
/*IF*/if (!((C)->_c_object_list)) {
C->_c_object_list=ma(34,0,1,a1);
}
else {
rT34add((T34*)(C)->_c_object_list,a1);
}
/*FI*/}
void rT43add_directory(/*C*/T0* a1,T0* a2){
rT7append((T7*)a1,a2);
rT7extend((T7*)a1,rT43directory_separator());
}
void rT43add_first_include(T43 *C){
rT43put_banner((C)->_out_c);
XrT38put_string((C)->_out_c,(T0 *)ms531);
XrT38put_string((C)->_out_c,rT43path_h());
XrT38put_string((C)->_out_c,(T0 *)ms532);
}
void rT43cdef_id(T43 *C,T0* a1,int a2){
rT7copy((T7*)oRBC43tmp_string,(T0 *)ms563);
rT7append((T7*)oRBC43tmp_string,a1);
rT7append((T7*)oRBC43tmp_string,(T0 *)ms564);
rT2append_in(a2,oRBC43tmp_string);
rT7extend((T7*)oRBC43tmp_string,'\12');
XrT38put_string((C)->_out_h,oRBC43tmp_string);
}
void rT43cdef_t(T43 *C,T0* a1,int a2){
rT7copy((T7*)oRBC43tmp_string,(T0 *)ms560);
rT7append((T7*)oRBC43tmp_string,a1);
rT7append((T7*)oRBC43tmp_string,(T0 *)ms561);
rT2append_in(a2,oRBC43tmp_string);
rT7extend((T7*)oRBC43tmp_string,'\12');
XrT38put_string((C)->_out_h,oRBC43tmp_string);
}
int rT43add_manifest_string(T43 *C,T0* a1){
int R=0;
/*IF*/if (!((C)->_ms_list)) {
C->_ms_list=ma(151,0,1,a1);
}
else {
rT151add_last((T151*)(C)->_ms_list,a1);
}
/*FI*/R=((T151*)(C)->_ms_list)->_upper;
return R;
}
void rT43call_invariant_end(T43 *C){
XrT38put_character((C)->_out_c,'\51');
}
int rT43call_invariant_start(T43 *C,T0* a1){
int R=0;
T0* _rc=NULL;
_rc=XrT58run_class(XrT58run_type(a1));
/*IF*/if (((rT44invariant_check((T44*)oRBC27eiffel_run_control))&&(((T261*)_rc)->_at_run_time))&&(((int)((T261*)_rc)->_invariant_assertion))) {
XrT38put_string((C)->_out_c,(T0 *)ms1181);
XrT38put_integer((C)->_out_c,((T261*)_rc)->_id);
XrT38put_character((C)->_out_c,'\50');
R=1;
}
/*FI*/return R;
}
int ofBC27make_suffix=0;
T0*oRBC27make_suffix;
T0* rT43make_suffix(/*C*/void){
if (ofBC27make_suffix==0){
T0* R=NULL;
ofBC27make_suffix=1;
/*IF*/if (((T0 *)(T0 *)ms832)==((T0 *)rT43system_name())) {
R=(T0 *)ms1112;
}
 else if (((T0 *)(T0 *)ms833)==((T0 *)rT43system_name())) {
R=(T0 *)ms1113;
}
else {
R=(T0 *)ms1114;
}
/*FI*/oRBC27make_suffix=R;}
return oRBC27make_suffix;}
void rT43check_id(T43 *C,T0* a1,int a2){
/*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43put_string(C,(T0 *)ms1182);
rT43put_integer(C,a2);
rT43put_string(C,(T0 *)ms1183);
rT43put_integer(C,a2);
rT43put_character(C,'\54');
XrT68compile_to_c(a1);
rT43put_character(C,'\54');
rT43put_position(C,XrT68start_position(a1));
rT43put_string(C,(T0 *)ms1184);
C->_check_id_count=((C)->_check_id_count)+(1);
}
else {
XrT68compile_to_c(a1);
C->_direct_call_count=((C)->_direct_call_count)+(1);
}
/*FI*/}
void rT43echo_make(T43 *C){
XrT38put_string((C)->_out_make,oRBC43tmp_string);
XrT38put_character((C)->_out_make,'\12');
}
void rT43check_assertion(T43 *C,T0* a1){
int _static=0;
_static=XrT68is_static(a1);
/*IF*/if ((!(_static))||((XrT68static_value(a1))==(0))) {
rT43rs_push_position(C,'4',XrT68start_position(a1));
rT43put_string(C,(T0 *)ms787);
rT43put_string(C,(C)->_check_assertion_mode);
rT43put_character(C,'\50');
/*IF*/if (_static) {
C->_static_expression_count=((C)->_static_expression_count)+(1);
rT43put_character(C,'0');
}
else {
XrT68compile_to_c(a1);
}
/*FI*/rT43put_string(C,(T0 *)ms788);
}
/*FI*/}
T0*oRBC27eiffel_run_control;
int rT43file_exists(/*C*/T0* a1){
int R=0;
void * _p=0;
_p=rT7to_external((T7*)a1);
{FILE *f=fopen(((char*)_p),"r");
R=(f != NULL);
if (R) fclose(f);}
return R;
}
T0* rT159to_key(T159 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
void rT159make(T159 *C,T0* a1,T0* a2){
C->_to_string=a1;
C->_start_position=a2;
}
void rT270cpp_dicho(T270 *C,int a1,int a2,int a3){
int _exp_to_ref=0;
T0* _dyn_rf=NULL;
T0* _dyn_rc=NULL;
int _m=0;
/*IF*/if ((a1)==(a2)) {
_dyn_rc=rT264item((T264*)(C)->_switch,a1);
_dyn_rf=rT270dynamic(_dyn_rc,(C)->_static_rf);
/*IF*/if (a3) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1032);
_exp_to_ref=(XrT58is_expanded(XrT262result_type(_dyn_rf)))&&(XrT58is_reference(XrT262result_type((C)->_static_rf)));
/*IF*/if (_exp_to_ref) {
XrT58to_reference(XrT262result_type(_dyn_rf));
rT43put_character((T43*)oRBC27cpp,'\50');
}
/*FI*/}
/*FI*/rT43push_switch((T43*)oRBC27cpp,_dyn_rf,(T0 *)C);
XrT262mapping_c(_dyn_rf);
rT43pop((T43*)oRBC27cpp);
/*IF*/if (a3) {
/*IF*/if (_exp_to_ref) {
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\73');
}
/*FI*/}
else {
_m=((a1)+(a2))/(2);
_dyn_rc=rT264item((T264*)(C)->_switch,_m);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1033);
rT43put_integer((T43*)oRBC27cpp,((T261*)_dyn_rc)->_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1034);
rT270cpp_dicho(C,a1,_m,a3);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1035);
rT270cpp_dicho(C,(_m)+(1),a2,a3);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1036);
}
/*FI*/}
void rT270sort_running(/*C*/T0* a1){
int _moved=0;
int _buble=0;
int _max=0;
int _min=0;
_max=((T264*)a1)->_upper;
_min=((T264*)a1)->_lower;
_moved=1;
while (!(!(_moved))) {
_moved=0;
/*IF*/if (((_max)-(_min))>(0)) {
_buble=(_min)+(1);
while (!((_buble)>(_max))) {
/*IF*/if ((((T261*)rT264item((T264*)a1,(_buble)-(1)))->_id)>(((T261*)rT264item((T264*)a1,_buble))->_id)) {
rT264swap((T264*)a1,(_buble)-(1),_buble);
_moved=1;
}
/*FI*/_buble=(_buble)+(1);
}
_max=(_max)-(1);
}
/*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) {
_moved=0;
_buble=(_max)-(1);
while (!((_buble)<(_min))) {
/*IF*/if ((((T261*)rT264item((T264*)a1,_buble))->_id)>(((T261*)rT264item((T264*)a1,(_buble)+(1)))->_id)) {
rT264swap((T264*)a1,_buble,(_buble)+(1));
_moved=1;
}
/*FI*/_buble=(_buble)-(1);
}
_min=(_min)+(1);
}
/*FI*/}
}
T0*oRBC270ts;
void rT270fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
void rT270put_target(/*C*/T0* a1){
int _invariant_flag=0;
_invariant_flag=rT43call_invariant_start((T43*)oRBC27cpp,XrT262current_type(a1));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1185);
rT43put_integer((T43*)oRBC27cpp,XrT262id(a1));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1186);
/*IF*/if (_invariant_flag) {
rT43call_invariant_end((T43*)oRBC27cpp);
}
/*FI*/}
void rT270c_define(T270 *C){
int _i=0;
T0* _result_type=NULL;
T0* _t=NULL;
T0* _arguments=NULL;
int _boost=0;
_boost=rT44boost((T44*)oRBC27eiffel_run_control);
_arguments=XrT262arguments((C)->_static_rf);
_result_type=XrT262result_type((C)->_static_rf);
/*(IRF3*/(((T7*)oRBC270ts)->_count)=(0);
/*)*//*IF*/if (!(_result_type)) {
rT7append((T7*)oRBC270ts,(T0 *)ms1024);
}
else {
_result_type=XrT58run_type(_result_type);
XrT58c_type_in(_result_type,oRBC270ts);
}
/*FI*/rT7append((T7*)oRBC270ts,(T0 *)ms1025);
rT2append_in(XrT58id((C)->_target_type),oRBC270ts);
XrT67mapping_c_in((C)->_name,oRBC270ts);
/*IF*/if (_boost) {
rT7append((T7*)oRBC270ts,(T0 *)ms1026);
}
else {
rT7append((T7*)oRBC270ts,(T0 *)ms1027);
}
/*FI*//*IF*/if (((int)_arguments)) {
_i=1;
while (!((_i)>(rT92count((T92*)_arguments)))) {
rT7extend((T7*)oRBC270ts,'\54');
_t=XrT58run_type(rT92type((T92*)_arguments,_i));
XrT58c_type_in(_t,oRBC270ts);
rT7append((T7*)oRBC270ts,(T0 *)ms1028);
rT2append_in(_i,oRBC270ts);
_i=(_i)+(1);
}
}
/*FI*/rT7extend((T7*)oRBC270ts,'\51');
rT43put_c_heading((T43*)oRBC27cpp,oRBC270ts);
rT43swap_on_c((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1029);
rT270sort_running((C)->_switch);
/*IF*/if (_boost) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1030);
}
else {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1031);
}
/*FI*/rT270cpp_dicho(C,((T264*)(C)->_switch)->_lower,((T264*)(C)->_switch)->_upper,((int)_result_type));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1037);
}
void rT270put_arguments(T270 *C,T0* a1){
T0* _ft=NULL;
T0* _at=NULL;
int _i=0;
T0* _eal=NULL;
_eal=XrT262arguments((C)->_static_rf);
_i=1;
while (!((_i)>(rT92count((T92*)_eal)))) {
/*IF*/if ((_i)>(1)) {
rT43put_character((T43*)oRBC27cpp,'\54');
}
/*FI*/_at=XrT58run_type(rT92type((T92*)_eal,_i));
_ft=XrT58run_type(rT92type((T92*)a1,_i));
/*IF*/if (XrT58is_expanded(_ft)) {
/*IF*/if (XrT58is_expanded(_at)) {
rT43put_character((T43*)oRBC27cpp,'a');
rT43put_integer((T43*)oRBC27cpp,_i);
}
else {
/*IF*/if (XrT58fast_mapping_c(_ft)) {
rT43put_character((T43*)oRBC27cpp,'\50');
XrT58cast_to_ref(_ft);
rT43put_character((T43*)oRBC27cpp,'a');
rT43put_integer((T43*)oRBC27cpp,_i);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1413);
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(rT92type((T92*)a1,_i)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(rT92type((T92*)_eal,_i)));
rT270fatal_error((T0 *)ms1414);
}
/*FI*/}
/*FI*/}
 else if (XrT58is_expanded(_at)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(rT92type((T92*)a1,_i)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(rT92type((T92*)_eal,_i)));
rT270fatal_error((T0 *)ms1415);
}
else {
rT43put_character((T43*)oRBC27cpp,'a');
rT43put_integer((T43*)oRBC27cpp,_i);
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT270dynamic(/*C*/T0* a1,T0* a2){
T0* R=NULL;
T0* _static=NULL;
T0* _sta_name=NULL;
T0* _dyn_name=NULL;
_static=XrT262current_type(a2);
_sta_name=XrT262name(a2);
_dyn_name=rT50name_of((T50*)rT261base_class((T261*)a1),XrT58base_class(_static),_sta_name);
R=rT261get_feature((T261*)a1,_dyn_name);
return R;
}
void rT270make(T270 *C,T0* a1,T0* a2,T0* a3){
C->_target_type=a1;
C->_name=a2;
C->_switch=a3;
C->_static_rf=rT261get_feature((T261*)XrT58run_class((C)->_target_type),(C)->_name);
}
void rT45warning(T45 *C,T0* a1){
rT45append(a1);
rT45print_as_warning(C);
}
void rT45extend(/*C*/char a1){
rT7extend((T7*)oRBC45explanation,a1);
}
void rT45die_with_code(/*C*/int a1){
exit(a1);
}
void rT45fatal_error(/*C*/T0* a1){
rT7append((T7*)oRBC45explanation,a1);
/*(IRF3*/rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*//*(IRF3*/rsp();
rT45die_with_code(1);
/*)*/}
void rT45error(T45 *C,T0* a1){
rT45append(a1);
rT45print_as_error(C);
}
void rT45incr_nb_errors(T45 *C){
C->_nb_errors=((C)->_nb_errors)+(1);
/*IF*/if (((C)->_nb_errors)>=(10)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms431);
rT37put_integer((T37*)oRBC1std_error,10);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms432);
rT45die_with_code(1);
}
/*FI*/}
void rT45incr_nb_warnings(T45 *C){
C->_nb_warnings=((C)->_nb_warnings)+(1);
}
void rT45print_as_warning(T45 *C){
rT45do_print((T0 *)ms76);
rT45incr_nb_warnings(C);
}
void rT45print_as_error(T45 *C){
rT45do_print((T0 *)ms430);
rT45incr_nb_errors(C);
}
int ofBC45positions=0;
T0*oRBC45positions;
T0* rT45positions(/*C*/void){
if (ofBC45positions==0){
T0* R=NULL;
ofBC45positions=1;
{T47 *n=((T47*)se_new(47));
rT47make(n,1,5);
R=(T0 *)n;}
rT47clear((T47*)R);
oRBC45positions=R;}
return oRBC45positions;}
void rT45do_print(/*C*/T0* a1){
char _previous_cc=0;
char _cc=0;
int _cpt=0;
int _i=0;
rT37put_string((T37*)oRBC1std_error,(T0 *)ms37);
rT37put_string((T37*)oRBC1std_error,a1);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms38);
_i=1;
_cpt=(9)+(((T7*)a1)->_count);
while (!((_i)>(((T7*)oRBC45explanation)->_count))) {
_previous_cc=_cc;
_cc=rT7item((T7*)oRBC45explanation,_i);
_i=(_i)+(1);
/*IF*/if ((_cpt)>(60)) {
/*IF*/if ((_cc)==('\40')) {
rT37put_character((T37*)oRBC1std_error,'\12');
_cpt=0;
}
 else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) {
rT37put_character((T37*)oRBC1std_error,'\12');
rT37put_character((T37*)oRBC1std_error,_cc);
_cpt=1;
}
else {
rT37put_character((T37*)oRBC1std_error,_cc);
_cpt=(_cpt)+(1);
}
/*FI*/}
else {
rT37put_character((T37*)oRBC1std_error,_cc);
_cpt=(_cpt)+(1);
}
/*FI*/}
rT37put_character((T37*)oRBC1std_error,'\12');
_i=((T47*)rT45positions())->_lower;
while (!((_i)>(((T47*)rT45positions())->_upper))) {
rT46show((T46*)rT47item((T47*)rT45positions(),_i));
_i=(_i)+(1);
}
/*(IRF3*//*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
/*)*/rT47clear((T47*)rT45positions());
/*)*/rT37put_string((T37*)oRBC1std_error,(T0 *)ms429);
}
void rT45append(/*C*/T0* a1){
rT7append((T7*)oRBC45explanation,a1);
}
void rT45add_position(/*C*/T0* a1){
/*IF*/if (((int)a1)) {
/*IF*/if (!(rT47has((T47*)rT45positions(),a1))) {
rT47add_last((T47*)rT45positions(),a1);
}
/*FI*/}
/*FI*/}
T0*oRBC45explanation;
void rT45add_type(/*C*/T0* a1,T0* a2){
rT45append((T0 *)ms474);
/*IF*/if (XrT58is_run_type(a1)) {
rT45append(XrT58run_time_mark(a1));
}
else {
rT45append(XrT58written_mark(a1));
}
/*FI*/rT45append(a2);
rT45add_position(XrT58start_position(a1));
}
T0* rT144first_name(T144 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT144fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT144to_run_feature(T144 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT144error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT144fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT144fatal_error((T0 *)ms481);
}
int rT144is_merge_with(T144 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT144start_position(T144 *C){
T0* R=NULL;
R=XrT67start_position(rT144first_name(C));
return R;
}
void rT144collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT144add_into(T144 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT144try_to_undefine(T144 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT144start_position(C));
rT144error(XrT67start_position(a1),(T0 *)ms478);
rT144fe_undefine(a1,a2);
}
else {
R=rT144try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT144fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT144try_to_undefine_aux(T144 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT144start_position(C));
rT144error(XrT67start_position(a1),(T0 *)ms1532);
rT144fe_undefine(a1,a2);
return R;
}
int rT144can_hide(T144 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT144error(rT144start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT144start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT144base_class_name(T144 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT144value(T144 *C,int a1){
T0* R=NULL;
R=rT147item((T147*)(C)->_values,a1);
return R;
}
void rT144make_e_feature(T144 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT144make(T144 *C,T0* a1,T0* a2){
T0* _ic=NULL;
int _i=0;
rT144make_e_feature(C,a1,a2);
{T147 *n=((T147*)se_new(147));
rT147make(n,1,rT128count((T128*)(C)->_names));
C->_values=(T0 *)n;}
_i=1;
while (!((_i)>(((T147*)(C)->_values)->_upper))) {
{T80 *n=((T80*)se_new(80));
rT80make(n,rT52next_unique((T52*)oRBC27small_eiffel),NULL);
_ic=(T0 *)n;}
rT147put((T147*)(C)->_values,_ic,_i);
_i=(_i)+(1);
}
}
T0* rT148first_name(T148 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT148fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT148to_run_feature(T148 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT148error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT148fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT148fatal_error((T0 *)ms481);
}
int rT148is_merge_with(T148 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT148start_position(T148 *C){
T0* R=NULL;
R=XrT67start_position(rT148first_name(C));
return R;
}
void rT148collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT148add_into(T148 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT148try_to_undefine(T148 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT148start_position(C));
rT148error(XrT67start_position(a1),(T0 *)ms478);
rT148fe_undefine(a1,a2);
}
else {
R=rT148try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT148fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT148try_to_undefine_aux(T148 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT148start_position(C));
rT148error(XrT67start_position(a1),(T0 *)ms1532);
rT148fe_undefine(a1,a2);
return R;
}
int rT148can_hide(T148 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT148error(rT148start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT148start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT148base_class_name(T148 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT148value(T148 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT148make_e_feature(T148 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT148make(T148 *C,T0* a1,T0* a2,T0* a3){
rT148make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
T0* rT149first_name(T149 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT149fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT149to_run_feature(T149 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT149error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT149fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT149fatal_error((T0 *)ms481);
}
int rT149is_merge_with(T149 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT149start_position(T149 *C){
T0* R=NULL;
R=XrT67start_position(rT149first_name(C));
return R;
}
void rT149collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT149add_into(T149 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT149try_to_undefine(T149 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT149start_position(C));
rT149error(XrT67start_position(a1),(T0 *)ms478);
rT149fe_undefine(a1,a2);
}
else {
R=rT149try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT149fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT149try_to_undefine_aux(T149 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT149start_position(C));
rT149error(XrT67start_position(a1),(T0 *)ms1532);
rT149fe_undefine(a1,a2);
return R;
}
int rT149can_hide(T149 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT149error(rT149start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT149start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT149base_class_name(T149 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT149value(T149 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT149make_e_feature(T149 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT149make(T149 *C,T0* a1,T0* a2,T0* a3){
rT149make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
T0* rT150first_name(T150 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT150fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT150to_run_feature(T150 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT150error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT150fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT150fatal_error((T0 *)ms481);
}
int rT150is_merge_with(T150 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT150start_position(T150 *C){
T0* R=NULL;
R=XrT67start_position(rT150first_name(C));
return R;
}
void rT150collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT150add_into(T150 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT150try_to_undefine(T150 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT150start_position(C));
rT150error(XrT67start_position(a1),(T0 *)ms478);
rT150fe_undefine(a1,a2);
}
else {
R=rT150try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT150fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT150try_to_undefine_aux(T150 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT150start_position(C));
rT150error(XrT67start_position(a1),(T0 *)ms1532);
rT150fe_undefine(a1,a2);
return R;
}
int rT150can_hide(T150 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT150error(rT150start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT150start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT150base_class_name(T150 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT150value(T150 *C,int a1){
T0* R=NULL;
R=rT151item((T151*)(C)->_values,a1);
return R;
}
void rT150make_e_feature(T150 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT150make(T150 *C,T0* a1,T0* a2,T0* a3){
int _i=0;
rT150make_e_feature(C,a1,a2);
{T151 *n=((T151*)se_new(151));
rT151make(n,1,rT128count((T128*)(C)->_names));
C->_values=(T0 *)n;}
rT151put((T151*)(C)->_values,a3,1);
_i=2;
while (!((_i)>(((T151*)(C)->_values)->_upper))) {
rT151put((T151*)(C)->_values,rT76twin((T76*)a3),_i);
_i=(_i)+(1);
}
}
T0* rT152first_name(T152 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT152fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT152to_run_feature(T152 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT152error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT152fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT152fatal_error((T0 *)ms481);
}
int rT152is_merge_with(T152 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT152start_position(T152 *C){
T0* R=NULL;
R=XrT67start_position(rT152first_name(C));
return R;
}
void rT152collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT152add_into(T152 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT152try_to_undefine(T152 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT152start_position(C));
rT152error(XrT67start_position(a1),(T0 *)ms478);
rT152fe_undefine(a1,a2);
}
else {
R=rT152try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT152fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT152try_to_undefine_aux(T152 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT152start_position(C));
rT152error(XrT67start_position(a1),(T0 *)ms1532);
rT152fe_undefine(a1,a2);
return R;
}
int rT152can_hide(T152 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT152error(rT152start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT152start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT152base_class_name(T152 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT152value(T152 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT152make_e_feature(T152 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT152make(T152 *C,T0* a1,T0* a2,T0* a3){
rT152make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
T0* rT153first_name(T153 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT153fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT153to_run_feature(T153 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT153error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT153fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT153fatal_error((T0 *)ms481);
}
int rT153is_merge_with(T153 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT153start_position(T153 *C){
T0* R=NULL;
R=XrT67start_position(rT153first_name(C));
return R;
}
void rT153collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT153add_into(T153 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT153try_to_undefine(T153 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT153start_position(C));
rT153error(XrT67start_position(a1),(T0 *)ms478);
rT153fe_undefine(a1,a2);
}
else {
R=rT153try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT153fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT153try_to_undefine_aux(T153 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT153start_position(C));
rT153error(XrT67start_position(a1),(T0 *)ms1532);
rT153fe_undefine(a1,a2);
return R;
}
int rT153can_hide(T153 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT153error(rT153start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT153start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT153base_class_name(T153 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT153value(T153 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT153make_e_feature(T153 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT153make(T153 *C,T0* a1,T0* a2,T0* a3){
rT153make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
T0* rT154first_name(T154 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT154fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT154to_run_feature(T154 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT154error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT154fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT154fatal_error((T0 *)ms481);
}
int rT154is_merge_with(T154 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT154start_position(T154 *C){
T0* R=NULL;
R=XrT67start_position(rT154first_name(C));
return R;
}
void rT154collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT154add_into(T154 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT154try_to_undefine(T154 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT154start_position(C));
rT154error(XrT67start_position(a1),(T0 *)ms478);
rT154fe_undefine(a1,a2);
}
else {
R=rT154try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT154fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.