/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "pretty.h"
/*No:MEMO[COMMENT].item*/
/*No:MEMO[COMMENT].clear*/
/*No:MEMO[COMMENT].set_item*/
T0* r250at(T250* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r250has(C,a1);
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_has_mem/*24*/);
return R;
}
void r250expand(T250* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r396count(((T396*)((((T250*)C))->_store/*4*/)));
r429resize(((T429*)((((T250*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T250*)C))->_keys/*0*/)),1,(2)*(_old_size));
r396resize(((T396*)((((T250*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(((T250*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].free*/
void r250make(T250* C){
C->_modulus=(2)*(32);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T250*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,32);
C->_chain=(T0*)n;
}
{T396*n=malloc(sizeof(*n));
*n=M396;
r396make(n,1,32);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,32);
C->_keys=(T0*)n;
}
r250initialize(C);
}
T0* r250item(T250* C,int a1){
T0* R=NULL;
/*IF*/if (((((T250*)C))->_item_mem/*28*/)==(0)) {
r250first(C);
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
 else if (((((T250*)C))->_item_mem/*28*/)<=(a1)) {
while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
r250forth(C);
}
R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
C->_item_mem=0;
R=r250item(C,a1);
}
/*FI*/return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_i*/
void r250resize(T250* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T250*)C))->_buckets/*8*/);
r226make(((T226*)((((T250*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T250*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T250*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem_j*/
/*No:DICTIONARY[RUN_CLASS,STRING].item_mem*/
/*No:DICTIONARY[RUN_CLASS,STRING].chain*/
/*No:DICTIONARY[RUN_CLASS,STRING].keys*/
/*No:DICTIONARY[RUN_CLASS,STRING].buckets*/
int r250has(T250* C,T0* a1){
int R=0;
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T250*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T250*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[RUN_CLASS,STRING].Min_size*/
void r250forth(T250* C){
int _i=0;
/*IF*/if ((r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/))!=(0)) {
C->_item_mem_j=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/);
}
else {
_i=((((T250*)C))->_item_mem_i/*36*/)+(1);
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
}
/*FI*/C->_item_mem=((((T250*)C))->_item_mem/*28*/)+(1);
}
/*No:DICTIONARY[RUN_CLASS,STRING].store*/
void r250put(T250* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T250*)C))->_modulus/*20*/);
/*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T250*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T250*)C))->_count/*40*/)>=(r396count(((T396*)((((T250*)C))->_store/*4*/))))) {
r250expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T250*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T250*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_free/*16*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T250*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T250*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T250*)C))->_count/*40*/)+(1);
/*IF*/if (((((T250*)C))->_count/*40*/)>(((((T250*)C))->_modulus/*20*/)*(2))) {
r250resize(C,(2)*((((T250*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T250*)C))->_has_mem/*24*/;
((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[RUN_CLASS,STRING].modulus*/
/*No:DICTIONARY[RUN_CLASS,STRING].count*/
/*No:DICTIONARY[RUN_CLASS,STRING].has_mem*/
void r250first(T250* C){
int _i=0;
_i=0;
while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
C->_item_mem=1;
}
void r250initialize(T250* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0* r237at(T237* C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=r237has(C,a1);
R=r495item(((T495*)((((T237*)C))->_store/*4*/)),(((T237*)C))->_has_mem/*24*/);
return R;
}
void r237expand(T237* C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=r495count(((T495*)((((T237*)C))->_store/*4*/)));
r429resize(((T429*)((((T237*)C))->_chain/*12*/)),1,(2)*(_old_size));
r52resize(((T52*)((((T237*)C))->_keys/*0*/)),1,(2)*(_old_size));
r495resize(((T495*)((((T237*)C))->_store/*4*/)),1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(((T237*)C))->_free/*16*/;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_free=(_old_size)+(1);
}
/*No:DICTIONARY[E_FEATURE,STRING].free*/
void r237resize(T237* C,int a1){
int _p=0;
int _n=0;
int _i=0;
int _hash=0;
r226copy(((T226*)(oBC672tmp_buckets)),(((T237*)C))->_buckets/*8*/);
r226make(((T226*)((((T237*)C))->_buckets/*8*/)),a1);
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
_n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
while (!((_n)==(0))) {
_p=r429item(((T429*)((((T237*)C))->_chain/*12*/)),_n);
_hash=(r7hash_code(((T7*)(r52item(((T52*)((((T237*)C))->_keys/*0*/)),_n)))))%(a1);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=_n;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
/*]*/
_n=_p;
}
_i=(_i)+(1);
}
C->_modulus=a1;
C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].item_mem*/
/*No:DICTIONARY[E_FEATURE,STRING].chain*/
/*No:DICTIONARY[E_FEATURE,STRING].buckets*/
/*No:DICTIONARY[E_FEATURE,STRING].keys*/
int r237has(T237* C,T0* a1){
int R=0;
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T237*)C))->_modulus/*20*/)]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
}
/*FI*/R=((((T237*)C))->_has_mem/*24*/)!=(0);
return R;
}
/*No:DICTIONARY[E_FEATURE,STRING].Min_size*/
/*No:DICTIONARY[E_FEATURE,STRING].store*/
void r237with_capacity(T237* C,int a1){
int _i=0;
_i=32;
while (!((_i)>=(a1))) {
_i=(2)*(_i);
}
C->_modulus=(2)*(_i);
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,(((T237*)C))->_modulus/*20*/);
C->_buckets=(T0*)n;
}
{T429*n=malloc(sizeof(*n));
*n=M429;
r429make(n,1,_i);
C->_chain=(T0*)n;
}
{T495*n=malloc(sizeof(*n));
*n=M495;
r495make(n,1,_i);
C->_store=(T0*)n;
}
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,_i);
C->_keys=(T0*)n;
}
r237initialize(C);
}
void r237put(T237* C,T0* a1,T0* a2){
int _hash=0;
_hash=(r7hash_code(((T7*)a2)))%((((T237*)C))->_modulus/*20*/);
/*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
}
/*IF*/if (((((T237*)C))->_has_mem/*24*/)==(0)) {
/*IF*/if (((((T237*)C))->_count/*32*/)>=(r495count(((T495*)((((T237*)C))->_store/*4*/))))) {
r237expand(C);
}
/*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T237*)C))->_keys/*0*/));
T0* b1=a2;
int b2=(((T237*)C))->_free/*16*/;
((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_free/*16*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
C->_has_mem=(((T237*)C))->_free/*16*/;
C->_free=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_free/*16*/);
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T237*)C))->_has_mem/*24*/);
/*]*/
C->_count=((((T237*)C))->_count/*32*/)+(1);
/*IF*/if (((((T237*)C))->_count/*32*/)>(((((T237*)C))->_modulus/*20*/)*(2))) {
r237resize(C,(2)*((((T237*)C))->_modulus/*20*/));
}
/*FI*/}
/*FI*/}
else {
/*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
T0* b1=a1;
int b2=(((T237*)C))->_has_mem/*24*/;
((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/C->_item_mem=0;
}
/*No:DICTIONARY[E_FEATURE,STRING].modulus*/
/*No:DICTIONARY[E_FEATURE,STRING].count*/
/*No:DICTIONARY[E_FEATURE,STRING].has_mem*/
void r237initialize(T237* C){
int _i=0;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
_i=1;
while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=(_i)+(1);
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
/*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
int b1=0;
int b2=_i;
((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=0;
while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
/*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
/*]*/
_i=(_i)+(1);
}
}
T0*oBC364eh=NULL;
void r376check_creation_clause(T376* C,T0* a1){
/*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
/*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms2_334));
r376error((((T376*)C))->_start_position/*8*/,((T0*)ms3_334));
}
/*FI*/}
T0* r376add_comment(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r376check_created_type(T376* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type(a1);
/*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
}
 else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
r683add_type(_rt,((T0*)ms2_747));
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if (X291is_formal_generic(a1)) {
r683add_position((((T376*)C))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms5_747));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/r368set_at_run_time(((T368*)(X291run_class(_rt))));
}
/*No:CREATION_CALL_2.writable*/
void r376make(T376* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
}
/*No:CREATION_CALL_2.type*/
/*No:CREATION_CALL_2.start_position*/
T0* r376to_runnable(T376* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r376check_writable(C,a1);
r376check_explicit_type(C);
r376check_created_type(C,(((T376*)C))->_type/*16*/);
r376check_creation_clause(C,(((T376*)C))->_type/*16*/);
R=(T0*)C;
}
else {
{T376*n=malloc(sizeof(*n));
*n=M376;
r376make(n,(((T376*)C))->_start_position/*8*/,(((T376*)C))->_type/*16*/,(((T376*)C))->_writable/*12*/);
R=(T0*)n;
}
R=r376to_runnable(((T376*)R),a1);
}
/*FI*/return R;
}
void r376pretty_print(T376* C){
r238put_character(((T238*)(oBC364fmt)),'\41');
X291pretty_print((((T376*)C))->_type/*16*/);
r238put_character(((T238*)(oBC364fmt)),'\41');
X662pretty_print((((T376*)C))->_writable/*12*/);
/*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
r238put_character(((T238*)(oBC364fmt)),'\73');
}
/*FI*/}
T0*oBC364fmt=NULL;
T0* r376current_type(T376* C){
T0* R=NULL;
/*IF*/if (((((T376*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T376*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
T0*oBC364small_eiffel=NULL;
/*No:CREATION_CALL_2.run_compound*/
void r376check_explicit_type(T376* C){
T0* _t=NULL;
_t=X291to_runnable((((T376*)C))->_type/*16*/,r376current_type(C));
/*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
r683add_position(X291start_position((((T376*)C))->_type/*16*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_type=_t;
}
/*FI*//*IF*/if (!(X291is_a((((T376*)C))->_type/*16*/,X662result_type((((T376*)C))->_writable/*12*/)))) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
void r376check_writable(T376* C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=X662to_runnable((((T376*)C))->_writable/*12*/,r376current_type(C));
/*IF*/if ((_w)==((void*)(NULL))) {
r683add_position(X662start_position((((T376*)C))->_writable/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_writable=_w;
}
/*FI*/}
void r376error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CREATION_CALL_2.fatal_error*/
/*No:CREATION_CALL_2.end_mark_comment*/
/*No:E_REQUIRE.is_require_else*/
/*No:E_REQUIRE.empty*/
void r343from_runnable(T343* C,T0* a1){
C->_list=a1;
C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
}
void r343make(T343* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
T0* r343name(T343* C){
T0* R=NULL;
/*IF*/if ((((T343*)C))->_is_require_else/*16*/) {
R=((T0*)ms1_343);
}
else {
R=((T0*)ms2_343);
}
/*FI*/return R;
}
/*No:E_REQUIRE.set_header_comment*/
/*No:E_REQUIRE.start_position*/
void r343pretty_print(T343* C){
int _i=0;
r238indent(((T238*)(oBC364fmt)));
r238keyword(((T238*)(oBC364fmt)),r343name(C));
r238level_incr(((T238*)(oBC364fmt)));
/*IF*/if (((((T343*)C))->_header_comment/*4*/)!=((void*)(NULL))) {
r393pretty_print(((T393*)((((T343*)C))->_header_comment/*4*/)));
}
else {
r238indent(((T238*)(oBC364fmt)));
}
/*FI*//*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=1;
while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
/*IF*/if (r6_px_and(r238zen_mode(((T238*)(oBC364fmt))),(_i)==((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
/*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0);
/*]*/
}
else {
/*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(1);
/*]*/
}
/*FI*/r238indent(((T238*)(oBC364fmt)));
r348pretty_print(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
_i=(_i)+(1);
}
}
/*FI*/r238level_decr(((T238*)(oBC364fmt)));
r238indent(((T238*)(oBC364fmt)));
}
/*No:E_REQUIRE.list*/
/*No:E_REQUIRE.current_type*/
/*No:E_REQUIRE.header_comment*/
/*No:E_REQUIRE.set_require_else*/
T0*oBC364unique_string=NULL;
/*No:INFIX_NAME.set_is_frozen*/
void r454make(T454* C,T0* a1,T0* a2){
C->_to_string=r902item(a1);
C->_start_position=a2;
C->_to_key=r902for_infix((((T454*)C))->_to_string/*4*/);
}
/*No:INFIX_NAME.to_string*/
/*No:INFIX_NAME.start_position*/
void r454definition_pretty_print(T454* C){
r238keyword(((T238*)(oBC364fmt)),((T0*)ms23_470));
r238put_character(((T238*)(oBC364fmt)),'\42');
r238put_string(((T238*)(oBC364fmt)),(((T454*)C))->_to_string/*4*/);
r238put_character(((T238*)(oBC364fmt)),'\42');
}
/*No:INFIX_NAME.pretty_print*/
/*No:INFIX_NAME.to_key*/
/*No:INFIX_NAME.is_frozen*/
void r454undefine_in(T454* C,T0* a1){
/*IF*/if ((((T454*)C))->_is_frozen/*12*/) {
r454error((((T454*)C))->_start_position/*8*/,((T0*)ms1_776));
r605fatal_undefine(((T605*)a1),(T0*)C);
}
/*FI*/}
void r454error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r454origin_base_class(T454* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(((T454*)C))->_start_position/*8*/;
/*IF*/if ((_sp)!=((void*)(NULL))) {
R=r627base_class(((T627*)_sp));
}
/*FI*/return R;
}
/*No:INFIX_NAME.fz_infix*/
/*No:ONCE_PROCEDURE.arguments*/
T0* r134try_to_undefine(T134* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=r134try_to_undefine_aux(C,a1,a2);
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T134*)C))->_clients/*24*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
T0*oBC359assertion_collector=NULL;
/*No:ONCE_PROCEDURE.is_deferred*/
/*No:ONCE_PROCEDURE.fz_bad_assertion*/
T0* r134runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
int _i=0;
/*IF*/if (!(r608empty(((T608*)a1)))) {
R=r608twin(((T608*)a1));
_i=(((T608*)((T608*)R)))->_upper/*8*/;
while (!((_i)==(0))) {
r604push(((T604*)(oBC364small_eiffel)),a3);
_a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
/*IF*/if ((_a)==((void*)(NULL))) {
r134error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
}
else {
/*[IRF3.6put*/{T608* C1=((T608*)R);
T0* b1=_a;
int b2=_i;
((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI*/r604pop(((T604*)(oBC364small_eiffel)));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*No:ONCE_PROCEDURE.rescue_compound*/
void r134add_into(T134* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)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*)((((T134*)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:ONCE_PROCEDURE.end_comment*/
T0*oBC359header_comment_memory=NULL;
T0* r134try_to_undefine_aux(T134* C,T0* a1,T0* a2){
T0* R=NULL;
{T853*n=malloc(sizeof(*n));
*n=M853;
r853from_effective(n,a1,(((T134*)C))->_arguments/*28*/,(((T134*)C))->_require_assertion/*36*/,(((T134*)C))->_ensure_assertion/*40*/,a2);
R=(T0*)n;
}
return R;
}
void r134make(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r134make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1011;
}
/*No:ONCE_PROCEDURE.not_computed*/
/*No:ONCE_PROCEDURE.nb_errors*/
void r134pretty_print_one_name(T0* a1){
/*IF*/if (X776is_frozen(a1)) {
r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
}
/*FI*/X776definition_pretty_print(a1);
}
void r134make_routine(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
r134make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
/*No:ONCE_PROCEDURE.local_vars*/
void r134set_header_comment(T134* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
C->_end_comment=a1;
}
/*FI*/}
T0* r134start_position(T134* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r134to_run_feature(T134* C,T0* a1,T0* a2){
T0* R=NULL;
r134check_obsolete(C);
{T869*n=malloc(sizeof(*n));
*n=M869;
r869make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
/*No:ONCE_PROCEDURE.ensure_assertion*/
/*No:ONCE_PROCEDURE.code_require*/
T0* r134run_ensure(T0* a1){
T0* R=NULL;
T0* _r=NULL;
r608clear(((T608*)(oBC359assertion_collector)));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
}/*]*/
r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
_r=r134runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
/*IF*/if ((_r)!=((void*)(NULL))) {
{T633*n=malloc(sizeof(*n));
*n=M633;
r633from_runnable(n,_r);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
}/*]*/
}
/*FI*/return R;
}
T0* r134run_require(T0* a1){
T0* R=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
int _i=0;
r522clear(((T522*)(oBC359require_collector)));
r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
/*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
_i=1;
while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
_er=r522item(((T522*)(oBC359require_collector)),_i);
_hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
/*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
_r=r134runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
/*IF*/if ((_r)!=((void*)(NULL))) {
{T343*n=malloc(sizeof(*n));
*n=M343;
r343from_runnable(n,_r);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
/*]*/
/*IF*/if ((_ar)==((void*)(NULL))) {
_ar=se_ma522(1,_er);
}
else {
r522add_last(((T522*)_ar),_er);
}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
/*IF*/if ((_ar)!=((void*)(NULL))) {
{T541*n=malloc(sizeof(*n));
*n=M541;
/*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI*/}
/*FI*/return R;
}
/*No:ONCE_PROCEDURE.result_type*/
/*No:ONCE_PROCEDURE.fz_03*/
/*No:ONCE_PROCEDURE.fz_once*/
/*No:ONCE_PROCEDURE.em1*/
void r134pretty_print(T134* C){
T0* _fn=NULL;
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
/*]*/
r238indent(((T238*)(oBC364fmt)));
r134pretty_print_profile(C);
r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355));
/*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355));
r805pretty_print(((T805*)((((T134*)C))->_obsolete_mark/*32*/)));
}
/*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
/*IF*/if (((((T134*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
r393pretty_print(((T393*)((((T134*)C))->_header_comment/*16*/)));
}
/*FI*//*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r343pretty_print(((T343*)((((T134*)C))->_require_assertion/*36*/)));
}
/*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
r134pretty_print_routine_body(C);
/*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r633pretty_print(((T633*)((((T134*)C))->_ensure_assertion/*40*/)));
}
/*FI*//*IF*/if (((((T134*)C))->_rescue_compound/*44*/)!=((void*)(NULL))) {
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355));
r592pretty_print(((T592*)((((T134*)C))->_rescue_compound/*44*/)));
}
/*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355));
/*IF*/if ((((((T134*)C))->_end_comment/*48*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T134*)C))->_end_comment/*48*/)))))) {
r393pretty_print(((T393*)((((T134*)C))->_end_comment/*48*/)));
}
 else if (r238print_end_routine(((T238*)(oBC364fmt)))) {
r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355));
_fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
X776definition_pretty_print(_fn);
}
/*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
}
/*No:ONCE_PROCEDURE.obsolete_mark*/
/*No:ONCE_PROCEDURE.set_clients*/
/*No:ONCE_PROCEDURE.em2*/
/*No:ONCE_PROCEDURE.names*/
/*No:ONCE_PROCEDURE.require_assertion*/
/*No:ONCE_PROCEDURE.use_current_state*/
/*No:ONCE_PROCEDURE.code_ensure*/
void r134set_rescue_compound(T134* C,T0* a1){
/*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
r134error(r134start_position(C),((T0*)ms6_355));
}
/*FI*/C->_rescue_compound=a1;
}
void r134pretty_print_profile(T134* C){
r134pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r134pretty_print_arguments(C);
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
/*]*/
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
X291pretty_print((((T134*)C))->_result_type/*12*/);
}
/*FI*/}
void r134pretty_print_names(T134* C){
int _i=0;
_i=1;
r134pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
_i=(_i)+(1);
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
r134pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
_i=(_i)+(1);
}
}
int r134can_hide(T134* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms6_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms7_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T134*)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 (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r683add_position(r134start_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:ONCE_PROCEDURE.header_comment*/
/*No:ONCE_PROCEDURE.routine_body*/
int r134is_merge_with(T134* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
/*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms3_359));
}
 else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms4_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
/*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
r683add_position(X359start_position(a1));
r134error(r134start_position(C),((T0*)ms12_359));
}
/*FI*/}
/*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
return R;
}
/*No:ONCE_PROCEDURE.fz_dot*/
/*No:ONCE_PROCEDURE.set_ensure_assertion*/
/*No:ONCE_PROCEDURE.first_name*/
/*No:ONCE_PROCEDURE.pretty_print_once_or_do*/
/*No:ONCE_PROCEDURE.clients*/
void r134collect_for(T134* C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
/*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/))) {
r522add_last(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
/*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T134*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
/*]*/
r633add_into(((T633*)((((T134*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
}
/*FI*/}
/*FI*/}
void r134error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:ONCE_PROCEDURE.base_class*/
T0*oBC359require_collector=NULL;
void r134pretty_print_arguments(T134* C){
/*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
r31pretty_print(((T31*)((((T134*)C))->_arguments/*28*/)));
}
/*FI*/}
void r134pretty_print_routine_body(T134* C){
/*IF*/if (((((T134*)C))->_local_vars/*20*/)!=((void*)(NULL))) {
r620pretty_print(((T620*)((((T134*)C))->_local_vars/*20*/)));
}
/*FI*/r238indent(((T238*)(oBC364fmt)));
/*[IRF3.2pretty_print_once_or_do*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms35_470));
/*]*/
r238put_character(((T238*)(oBC364fmt)),'\40');
/*IF*/if (((((T134*)C))->_routine_body/*52*/)!=((void*)(NULL))) {
r592pretty_print(((T592*)((((T134*)C))->_routine_body/*52*/)));
}
/*FI*/}
void r134make_e_feature(T134* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void r134check_obsolete(T134* C){
/*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
/*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T134*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r134warning(r134start_position(C),((T0*)ms137_470));
}
/*FI*/}
/*FI*/}
void r134warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}
/*No:RUN_FEATURE_6.arguments*/
T0*oBC364run_control=NULL;
/*No:RUN_FEATURE_6.actuals_clients*/
void r868make(T868* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
r199put(((T199*)((((T368*)((T368*)(r868run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
r604incr_magic_count(((T604*)(oBC364small_eiffel)));
C->_use_current_state=1015;
r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
r868initialize(C);
r604pop(((T604*)(oBC364small_eiffel)));
}
/*No:RUN_FEATURE_6.name*/
int r868arg_count(T868* C){
int R=0;
/*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
}
/*FI*/return R;
}
/*No:RUN_FEATURE_6.local_vars*/
/*No:RUN_FEATURE_6.base_feature*/
/*No:RUN_FEATURE_6.start_position*/
/*No:RUN_FEATURE_6.ensure_assertion*/
int r868is_exported_in(T868* C,T0* a1){
int R=0;
R=r636gives_permission_to(((T636*)(r868clients(C))),a1);
return R;
}
/*No:RUN_FEATURE_6.result_type*/
T0*oBC364once_routine_pool=NULL;
void r868add_client(T868* C,T0* a1){
int _i=0;
/*IF*/if (((((T868*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
{T187*n=malloc(sizeof(*n));
*n=M187;
r187with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
}
else {
_i=r187fast_index_of(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
/*IF*/if ((_i)>((((T187*)((T187*)((((T868*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
}
/*FI*/}
/*FI*/r368add_client(((T368*)(r868run_class(C))),a1);
}
/*No:RUN_FEATURE_6.require_assertion*/
/*No:RUN_FEATURE_6.use_current_state*/
/*No:RUN_FEATURE_6.current_type*/
T0* r868run_class(T868* C){
T0* R=NULL;
R=X291run_class((((T868*)C))->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_6.ucs_not_computed*/
/*No:RUN_FEATURE_6.routine_body*/
T0* r868clients(T868* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*IF*/if (((((T868*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
_bc=X291base_class((((T868*)C))->_current_type/*4*/);
_bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/;
/*IF*/if ((_bc)==((void*)(_bfbc))) {
R=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_clients/*24*/;
}
else {
R=r605clients_for(((T605*)_bc),(((T868*)C))->_name/*16*/);
}
/*FI*/C->_clients_memory=R;
}
else {
R=(((T868*)C))->_clients_memory/*8*/;
}
/*FI*/return R;
}
/*No:RUN_FEATURE_6.fatal_error*/
/*No:RUN_FEATURE_6.clients_memory*/
void r868initialize(T868* C){
C->_arguments=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_arguments/*28*/;
/*IF*/if ((((((T868*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
C->_arguments=r31to_runnable(((T31*)((((T868*)C))->_arguments/*20*/)),(((T868*)C))->_current_type/*4*/);
}
/*FI*/C->_result_type=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_result_type/*12*/;
/*IF*/if (X291is_anchored((((T868*)C))->_result_type/*24*/)) {
r683add_position(X291start_position((((T868*)C))->_result_type/*24*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_868);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
 else if (X291is_formal_generic((((T868*)C))->_result_type/*24*/)) {
r683add_position(X291start_position((((T868*)C))->_result_type/*24*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_868);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_result_type=X291to_runnable((((T868*)C))->_result_type/*24*/,(((T868*)C))->_current_type/*4*/);
C->_local_vars=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
/*IF*/if ((((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
C->_local_vars=r620to_runnable(((T620*)((((T868*)C))->_local_vars/*48*/)),(((T868*)C))->_current_type/*4*/);
}
/*FI*/C->_routine_body=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
/*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
C->_routine_body=r592to_runnable(((T592*)((((T868*)C))->_routine_body/*32*/)),(((T868*)C))->_current_type/*4*/);
}
/*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
C->_require_assertion=r844run_require((T0*)C);
}
/*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
C->_ensure_assertion=r844run_ensure((T0*)C);
}
/*FI*/r916add_function((T0*)C);
}
void r916add_function(T0* a1){
r222add_last(((T222*)(oBC916function_list)),a1);
}
T0*oBC916function_list=NULL;
T0*oBC916procedure_list=NULL;
void r916add_procedure(T0* a1){
r185add_last(((T185*)(oBC916procedure_list)),a1);
}
/*No:CST_ATT_STRING.arguments*/
T0* r380try_to_undefine(T380* C,T0* a1,T0* a2){
T0* R=NULL;
X776undefine_in(a1,a2);
R=r380try_to_undefine_aux(C,a1,a2);
/*IF*/if ((R)!=((void*)(NULL))) {
/*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T380*)C))->_clients/*20*/);
/*]*/
}
else {
r605fatal_undefine(((T605*)a2),a1);
}
/*FI*/return R;
}
/*No:CST_ATT_STRING.is_deferred*/
void r380pretty_tail(T380* C){
r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
r805pretty_print(((T805*)(/*(IRF4.6value*/r381item(((T381*)((((T380*)C))->_values/*24*/)),1)/*)*/)));
}
void r380add_into(T380* C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
_fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)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*)((((T380*)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* r380try_to_undefine_aux(T380* C,T0* a1,T0* a2){
T0* R=NULL;
r683add_position(r380start_position(C));
r380error(X776start_position(a1),((T0*)ms1_308));
r605fatal_undefine(((T605*)a2),a1);
return R;
}
void r380make(T380* C,T0* a1,T0* a2,T0* a3){
T0* _ms=NULL;
int _i=0;
r380make_e_feature(C,a1,a2);
{T381*n=malloc(sizeof(*n));
*n=M381;
r381make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/);
C->_values=(T0*)n;
}
/*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
T0* b1=a3;
int b2=1;
((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
}/*]*/
_i=2;
while (!((_i)>((((T381*)((T381*)((((T380*)C))->_values/*24*/))))->_upper/*12*/))) {
{T805*n=malloc(sizeof(*n));
*n=M805;
r805from_manifest_string(n,a3,_i);
_ms=(T0*)n;
}
/*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
T0* b1=_ms;
int b2=_i;
((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
}
/*No:CST_ATT_STRING.nb_errors*/
void r380pretty_print_one_name(T0* a1){
/*IF*/if (X776is_frozen(a1)) {
r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
}
/*FI*/X776definition_pretty_print(a1);
}
/*No:CST_ATT_STRING.set_header_comment*/
/*No:CST_ATT_STRING.values*/
T0* r380start_position(T380* C){
T0* R=NULL;
R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
return R;
}
T0* r380to_run_feature(T380* 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_STRING.ensure_assertion*/
/*No:CST_ATT_STRING.code_require*/
/*No:CST_ATT_STRING.result_type*/
/*No:CST_ATT_STRING.em1*/
void r380pretty_print(T380* C){
r380pretty_print_profile(C);
r380pretty_tail(C);
r238put_character(((T238*)(oBC364fmt)),'\73');
/*IF*/if (((((T380*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
r238indent(((T238*)(oBC364fmt)));
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
/*]*/
r393pretty_print(((T393*)((((T380*)C))->_header_comment/*16*/)));
}
/*FI*/}
/*No:CST_ATT_STRING.set_clients*/
/*No:CST_ATT_STRING.em2*/
/*No:CST_ATT_STRING.require_assertion*/
/*No:CST_ATT_STRING.value*/
/*No:CST_ATT_STRING.names*/
void r380pretty_print_profile(T380* C){
r380pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
/*]*/
/*[IRF3.1pretty_print_arguments*//*]*/
/*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
/*]*/
/*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
X291pretty_print((((T380*)C))->_result_type/*12*/);
}
/*FI*/}
void r380pretty_print_names(T380* C){
int _i=0;
_i=1;
r380pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
_i=(_i)+(1);
while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
r380pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
_i=(_i)+(1);
}
}
int r380can_hide(T380* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r380error(r380start_position(C),((T0*)ms5_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r380error(r380start_position(C),((T0*)ms6_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T380*)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_STRING.header_comment*/
int r380is_merge_with(T380* C,T0* a1,T0* a2){
int R=0;
/*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
/*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
r683add_position(X359start_position(a1));
r380error(r380start_position(C),((T0*)ms2_359));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
/*IF*/{/*AT*/r683add_position(X359start_position(a1));
r380error(r380start_position(C),((T0*)ms3_359));
}
/*FI*/}
/*FI*//*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
/*IF*/if (!(X291is_a_in((((T380*)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_STRING.fz_dot*/
/*No:CST_ATT_STRING.first_name*/
/*No:CST_ATT_STRING.clients*/
void r380collect_for(int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*//*AF*//*AE*/
/*FI*/}
else {
/*IF*//*AF*//*AE*/
/*FI*/}
/*FI*/}
void r380error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CST_ATT_STRING.base_class*/
/*No:CST_ATT_STRING.pretty_print_arguments*/
void r380make_e_feature(T380* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}

