home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / short29.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  42.0 KB  |  1,377 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9. void r284short(T284* C){
  10. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  11. /*[IRF3.6short_hook*/{T284* C1=C;
  12. r580a_class_name(((T580*)(oBC364short_print)),(((T284*)C1))->_base_class_name/*4*/);
  13. }/*]*/
  14. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  15. }
  16. int r284has_creation(T284* C,T0* a1){
  17. int R=0;
  18. r683add_position(X776start_position(a1));
  19. r284error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T284*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_284));
  20. return R;
  21. }
  22. /*No:TYPE_NONE.us_none*/
  23. /*No:TYPE_NONE.is_anchored*/
  24. /*No:TYPE_NONE.is_array*/
  25. /*No:TYPE_NONE.is_a*/
  26. /*No:TYPE_NONE.run_type*/
  27. /*No:TYPE_NONE.is_pointer*/
  28. /*No:TYPE_NONE.is_string*/
  29. /*No:TYPE_NONE.is_like_feature*/
  30. /*No:TYPE_NONE.is_like_current*/
  31. void r284make(T284* C,T0* a1){
  32. {T451*n=malloc(sizeof(*n));
  33. *n=M451;
  34. r451make(n,((T0*)ms19_473),a1);
  35. C->_base_class_name=(T0*)n;
  36. }
  37. }
  38. /*No:TYPE_NONE.start_position*/
  39. /*No:TYPE_NONE.is_character*/
  40. T0* r284written_mark(void){
  41. T0* R=NULL;
  42. R=((T0*)ms19_473);
  43. return R;
  44. }
  45. /*No:TYPE_NONE.is_run_type*/
  46. /*No:TYPE_NONE.to_runnable*/
  47. T0* r284generic_list(T284* C){
  48. T0* R=NULL;
  49. r284fatal_error_generic_list(C);
  50. return R;
  51. }
  52. /*No:TYPE_NONE.is_formal_generic*/
  53. /*No:TYPE_NONE.is_real*/
  54. /*No:TYPE_NONE.is_bit*/
  55. void r284fatal_error_generic_list(T284* C){
  56. r683add_type((T0*)C,((T0*)ms12_291));
  57. r683print_as_fatal_error(((T683*)(oBC364eh)));
  58. }
  59. T0* r284smallest_ancestor(T0* a1){
  60. T0* R=NULL;
  61. R=a1;
  62. return R;
  63. }
  64. /*No:TYPE_NONE.is_boolean*/
  65. /*No:TYPE_NONE.is_double*/
  66. /*No:TYPE_NONE.run_class*/
  67. T0* r284run_time_mark(void){
  68. T0* R=NULL;
  69. R=((T0*)ms19_473);
  70. return R;
  71. }
  72. int r284is_a_in(T284* C,T0* a1,T0* a2){
  73. int R=0;
  74. T0* _ct=NULL;
  75. T0* _t2=NULL;
  76. T0* _t1=NULL;
  77. /*IF*/if ((r284written_mark())==((void*)(X291written_mark(a1)))) {
  78. R=1;
  79. }
  80. else {
  81. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  82. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  83. _t2=X291to_runnable(a1,_ct);
  84. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  85. R=1;
  86. }
  87. else {
  88. R=X291is_a(_t1,_t2);
  89. }
  90. /*FI*/}
  91. /*FI*/return R;
  92. }
  93. T0* r284look_up_for(T284* C,T0* a1,T0* a2){
  94. T0* R=NULL;
  95. R=r605look_up_for(((T605*)(r284base_class(C))),a1,a2);
  96. return R;
  97. }
  98. /*No:TYPE_NONE.expanded_initializer*/
  99. /*No:TYPE_NONE.fz_dot*/
  100. /*No:TYPE_NONE.is_generic*/
  101. /*No:TYPE_NONE.used_as_reference*/
  102. /*No:TYPE_NONE.is_reference*/
  103. void r284error(T0* a1,T0* a2){
  104. r683add_position(a1);
  105. r683error(((T683*)(oBC364eh)),a2);
  106. }
  107. T0* r284base_class(T284* C){
  108. T0* R=NULL;
  109. T0* _bcn=NULL;
  110. _bcn=(((T284*)C))->_base_class_name/*4*/;
  111. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  112. R=r451base_class(((T451*)_bcn));
  113. }
  114. else {
  115. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  116. r7append(((T7*)(oBC683explanation)),b1);
  117. }/*]*/
  118. r683add_type((T0*)C,((T0*)ms67_470));
  119. r683print_as_fatal_error(((T683*)(oBC364eh)));
  120. }
  121. /*FI*/return R;
  122. }
  123. /*No:TYPE_NONE.short_hook*/
  124. /*No:TYPE_NONE.is_any*/
  125. /*No:TYPE_NONE.base_class_name*/
  126. /*No:TYPE_NONE.is_expanded*/
  127. /*No:TYPE_NONE.is_basic_eiffel_expanded*/
  128. /*No:TYPE_NONE.is_none*/
  129. /*No:TYPE_NONE.is_integer*/
  130. /*No:PROCEDURE.arguments*/
  131. T0* r297try_to_undefine(T297* C,T0* a1,T0* a2){
  132. T0* R=NULL;
  133. X776undefine_in(a1,a2);
  134. R=r297try_to_undefine_aux(C,a1,a2);
  135. /*IF*/if ((R)!=((void*)(NULL))) {
  136. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T297*)C))->_clients/*24*/);
  137. /*]*/
  138. }
  139. else {
  140. r605fatal_undefine(((T605*)a2),a1);
  141. }
  142. /*FI*/return R;
  143. }
  144. /*No:PROCEDURE.is_deferred*/
  145. /*No:PROCEDURE.fz_bad_assertion*/
  146. T0* r297runnable(T0* a1,T0* a2,T0* a3){
  147. T0* R=NULL;
  148. T0* _a=NULL;
  149. int _i=0;
  150. /*IF*/if (!(r608empty(((T608*)a1)))) {
  151. R=r608twin(((T608*)a1));
  152. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  153. while (!((_i)==(0))) {
  154. r604push(((T604*)(oBC364small_eiffel)),a3);
  155. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  156. /*IF*/if ((_a)==((void*)(NULL))) {
  157. r297error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  158. }
  159. else {
  160. /*[IRF3.6put*/{T608* C1=((T608*)R);
  161. T0* b1=_a;
  162. int b2=_i;
  163. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  164. }/*]*/
  165. }
  166. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  167. _i=(_i)-(1);
  168. }
  169. }
  170. /*FI*/return R;
  171. }
  172. /*No:PROCEDURE.rescue_compound*/
  173. void r297add_into(T297* C,T0* a1){
  174. T0* _fn=NULL;
  175. int _i=0;
  176. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  177. _i=1;
  178. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  179. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  180. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  181. _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)/*)*//*)*/);
  182. r683add_position(X776start_position(_fn));
  183. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  184. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  185. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  186. r7append(((T7*)(oBC683explanation)),b1);
  187. }/*]*/
  188. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  189. }
  190. else {
  191. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  192. }
  193. /*FI*/_i=(_i)+(1);
  194. }
  195. }
  196. /*No:PROCEDURE.end_comment*/
  197. T0* r297try_to_undefine_aux(T297* C,T0* a1,T0* a2){
  198. T0* R=NULL;
  199. {T853*n=malloc(sizeof(*n));
  200. *n=M853;
  201. r853from_effective(n,a1,(((T297*)C))->_arguments/*28*/,(((T297*)C))->_require_assertion/*36*/,(((T297*)C))->_ensure_assertion/*40*/,a2);
  202. R=(T0*)n;
  203. }
  204. return R;
  205. }
  206. void r297make(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  207. r297make_routine(C,a1,a2,a3,a4,a5);
  208. C->_local_vars=a6;
  209. C->_routine_body=a7;
  210. C->_use_current_state=1011;
  211. }
  212. /*No:PROCEDURE.not_computed*/
  213. /*No:PROCEDURE.nb_errors*/
  214. void r297make_routine(T297* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  215. r297make_e_feature(C,a1,NULL);
  216. C->_header_comment=a4;
  217. C->_arguments=a2;
  218. C->_obsolete_mark=a3;
  219. C->_require_assertion=a5;
  220. }
  221. /*No:PROCEDURE.local_vars*/
  222. void r297set_header_comment(T297* C,T0* a1){
  223. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  224. C->_end_comment=a1;
  225. }
  226. /*FI*/}
  227. T0* r297start_position(T297* C){
  228. T0* R=NULL;
  229. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T297*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  230. return R;
  231. }
  232. T0* r297to_run_feature(T297* C,T0* a1,T0* a2){
  233. T0* R=NULL;
  234. r297check_obsolete(C);
  235. {T845*n=malloc(sizeof(*n));
  236. *n=M845;
  237. r845make(n,a1,a2,(T0*)C);
  238. R=(T0*)n;
  239. }
  240. return R;
  241. }
  242. /*No:PROCEDURE.ensure_assertion*/
  243. /*No:PROCEDURE.code_require*/
  244. T0* r297run_ensure(T0* a1){
  245. T0* R=NULL;
  246. T0* _r=NULL;
  247. r608clear(((T608*)(oBC359assertion_collector)));
  248. /*[IRF3.3clear*/{T0* _default_item=NULL;
  249. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  250. }/*]*/
  251. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  252. _r=r297runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  253. /*IF*/if ((_r)!=((void*)(NULL))) {
  254. {T633*n=malloc(sizeof(*n));
  255. *n=M633;
  256. r633from_runnable(n,_r);
  257. R=(T0*)n;
  258. }
  259. /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
  260. /*]*/
  261. /*[IRF3.3clear*/{T0* _default_item=NULL;
  262. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  263. }/*]*/
  264. }
  265. /*FI*/return R;
  266. }
  267. T0* r297run_require(T0* a1){
  268. T0* R=NULL;
  269. T0* _ar=NULL;
  270. T0* _hc=NULL;
  271. T0* _er=NULL;
  272. T0* _r=NULL;
  273. int _i=0;
  274. r522clear(((T522*)(oBC359require_collector)));
  275. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  276. /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
  277. _i=1;
  278. while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
  279. _er=r522item(((T522*)(oBC359require_collector)),_i);
  280. _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
  281. /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
  282. _r=r297runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  283. /*IF*/if ((_r)!=((void*)(NULL))) {
  284. {T343*n=malloc(sizeof(*n));
  285. *n=M343;
  286. r343from_runnable(n,_r);
  287. _er=(T0*)n;
  288. }
  289. /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
  290. /*]*/
  291. /*IF*/if ((_ar)==((void*)(NULL))) {
  292. _ar=se_ma522(1,_er);
  293. }
  294. else {
  295. r522add_last(((T522*)_ar),_er);
  296. }
  297. /*FI*/}
  298. /*FI*/}
  299. /*FI*/_i=(_i)+(1);
  300. }
  301. /*IF*/if ((_ar)!=((void*)(NULL))) {
  302. {T541*n=malloc(sizeof(*n));
  303. *n=M541;
  304. /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar);
  305. /*]*/
  306. R=(T0*)n;
  307. }
  308. }
  309. /*FI*/}
  310. /*FI*/return R;
  311. }
  312. /*No:PROCEDURE.result_type*/
  313. /*No:PROCEDURE.fz_03*/
  314. /*No:PROCEDURE.em1*/
  315. /*No:PROCEDURE.obsolete_mark*/
  316. /*No:PROCEDURE.set_clients*/
  317. /*No:PROCEDURE.em2*/
  318. /*No:PROCEDURE.names*/
  319. /*No:PROCEDURE.require_assertion*/
  320. /*No:PROCEDURE.use_current_state*/
  321. /*No:PROCEDURE.code_ensure*/
  322. void r297set_rescue_compound(T297* C,T0* a1){
  323. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
  324. r297error(r297start_position(C),((T0*)ms6_355));
  325. }
  326. /*FI*/C->_rescue_compound=a1;
  327. }
  328. int r297can_hide(T297* C,T0* a1,T0* a2){
  329. int R=0;
  330. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  331. /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  332. r683add_position(X359start_position(a1));
  333. r297error(r297start_position(C),((T0*)ms5_359));
  334. }
  335. /*FI*/}
  336. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  337. /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  338. r683add_position(X359start_position(a1));
  339. r297error(r297start_position(C),((T0*)ms6_359));
  340. }
  341.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  342. r683add_position(X359start_position(a1));
  343. r297error(r297start_position(C),((T0*)ms7_359));
  344. }
  345. /*FI*/}
  346. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  347. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  348. /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  349. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  350. r7append(((T7*)(oBC683explanation)),b1);
  351. }/*]*/
  352. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  353. r7append(((T7*)(oBC683explanation)),b1);
  354. }/*]*/
  355. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  356. }
  357. /*FI*/}
  358. /*FI*/}
  359. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  360. /*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  361. /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  362. r683add_position(X359start_position(a1));
  363. r683add_position(r297start_position(C));
  364. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  365. r7append(((T7*)(oBC683explanation)),b1);
  366. }/*]*/
  367. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  368. r7append(((T7*)(oBC683explanation)),b1);
  369. }/*]*/
  370. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  371. }
  372. /*FI*/}
  373. /*FI*/}
  374. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  375. return R;
  376. }
  377. /*No:PROCEDURE.header_comment*/
  378. /*No:PROCEDURE.routine_body*/
  379. int r297is_merge_with(T297* C,T0* a1,T0* a2){
  380. int R=0;
  381. /*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  382. /*IF*/if ((((((T297*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  383. r683add_position(X359start_position(a1));
  384. r297error(r297start_position(C),((T0*)ms2_359));
  385. }
  386. /*FI*/}
  387. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  388. /*IF*/if ((((((T297*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  389. r683add_position(X359start_position(a1));
  390. r297error(r297start_position(C),((T0*)ms3_359));
  391. }
  392.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T297*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  393. r683add_position(X359start_position(a1));
  394. r297error(r297start_position(C),((T0*)ms4_359));
  395. }
  396. /*FI*/}
  397. /*FI*//*IF*/if (((((T297*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  398. /*IF*/if (!(X291is_a_in((((T297*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  399. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  400. }
  401. /*FI*/}
  402. /*FI*//*IF*/if (((((T297*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  403. /*IF*/if (!(r31is_a_in(((T31*)((((T297*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  404. r683add_position(X359start_position(a1));
  405. r297error(r297start_position(C),((T0*)ms12_359));
  406. }
  407. /*FI*/}
  408. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  409. return R;
  410. }
  411. /*No:PROCEDURE.fz_dot*/
  412. /*No:PROCEDURE.set_ensure_assertion*/
  413. /*No:PROCEDURE.first_name*/
  414. /*No:PROCEDURE.clients*/
  415. void r297collect_for(T297* C,int a1){
  416. /*IF*/if ((a1)==(1001)) {
  417. /*IF*/if (((((T297*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  418. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/))) {
  419. r522add_last(((T522*)(oBC359require_collector)),(((T297*)C))->_require_assertion/*36*/);
  420. }
  421. /*FI*/}
  422. /*FI*/}
  423. else {
  424. /*IF*/if (((((T297*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  425. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T297*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
  426. /*]*/
  427. r633add_into(((T633*)((((T297*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
  428. }
  429. /*FI*/}
  430. /*FI*/}
  431. void r297error(T0* a1,T0* a2){
  432. r683add_position(a1);
  433. r683error(((T683*)(oBC364eh)),a2);
  434. }
  435. /*No:PROCEDURE.base_class*/
  436. void r297make_e_feature(T297* C,T0* a1,T0* a2){
  437. C->_names=a1;
  438. C->_result_type=a2;
  439. }
  440. void r297check_obsolete(T297* C){
  441. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  442. /*IF*/if (((((T297*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  443. /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
  444. r7append(((T7*)(oBC683explanation)),b1);
  445. }/*]*/
  446. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T297*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/;
  447. r7append(((T7*)(oBC683explanation)),b1);
  448. }/*]*/
  449. r297warning(r297start_position(C),((T0*)ms137_470));
  450. }
  451. /*FI*/}
  452. /*FI*/}
  453. void r297warning(T0* a1,T0* a2){
  454. r683add_position(a1);
  455. r683warning(((T683*)(oBC364eh)),a2);
  456. }
  457. /*No:CST_ATT_REAL.arguments*/
  458. T0* r835try_to_undefine(T835* C,T0* a1,T0* a2){
  459. T0* R=NULL;
  460. X776undefine_in(a1,a2);
  461. R=r835try_to_undefine_aux(C,a1,a2);
  462. /*IF*/if ((R)!=((void*)(NULL))) {
  463. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T835*)C))->_clients/*20*/);
  464. /*]*/
  465. }
  466. else {
  467. r605fatal_undefine(((T605*)a2),a1);
  468. }
  469. /*FI*/return R;
  470. }
  471. /*No:CST_ATT_REAL.is_deferred*/
  472. void r835add_into(T835* C,T0* a1){
  473. T0* _fn=NULL;
  474. int _i=0;
  475. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  476. _i=1;
  477. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  478. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  479. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  480. _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)/*)*//*)*/);
  481. r683add_position(X776start_position(_fn));
  482. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  483. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  484. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  485. r7append(((T7*)(oBC683explanation)),b1);
  486. }/*]*/
  487. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  488. }
  489. else {
  490. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  491. }
  492. /*FI*/_i=(_i)+(1);
  493. }
  494. }
  495. T0* r835try_to_undefine_aux(T835* C,T0* a1,T0* a2){
  496. T0* R=NULL;
  497. r683add_position(r835start_position(C));
  498. r835error(X776start_position(a1),((T0*)ms1_308));
  499. r605fatal_undefine(((T605*)a2),a1);
  500. return R;
  501. }
  502. void r835make(T835* C,T0* a1,T0* a2,T0* a3){
  503. r835make_e_feature(C,a1,a2);
  504. C->_value_mem=a3;
  505. }
  506. /*No:CST_ATT_REAL.nb_errors*/
  507. /*No:CST_ATT_REAL.set_header_comment*/
  508. T0* r835start_position(T835* C){
  509. T0* R=NULL;
  510. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T835*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  511. return R;
  512. }
  513. T0* r835to_run_feature(T835* C,T0* a1,T0* a2){
  514. T0* R=NULL;
  515. T0* _rc=NULL;
  516. _rc=X291run_class(a1);
  517. R=r368at(((T368*)_rc),a2);
  518. if(NULL!=(R))switch(((T0*)R)->id) {
  519. case 808: 
  520. break;
  521. default:
  522. R=NULL;
  523. };/*IF*/if ((R)==((void*)(NULL))) {
  524. {T808*n=malloc(sizeof(*n));
  525. *n=M808;
  526. r808make(n,a1,a2,(T0*)C);
  527. R=(T0*)n;
  528. }
  529. }
  530. /*FI*/return R;
  531. }
  532. /*No:CST_ATT_REAL.ensure_assertion*/
  533. /*No:CST_ATT_REAL.code_require*/
  534. /*No:CST_ATT_REAL.result_type*/
  535. /*No:CST_ATT_REAL.em1*/
  536. /*No:CST_ATT_REAL.set_clients*/
  537. /*No:CST_ATT_REAL.em2*/
  538. /*No:CST_ATT_REAL.value*/
  539. /*No:CST_ATT_REAL.require_assertion*/
  540. /*No:CST_ATT_REAL.names*/
  541. /*No:CST_ATT_REAL.value_mem*/
  542. int r835can_hide(T835* C,T0* a1,T0* a2){
  543. int R=0;
  544. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  545. /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  546. r683add_position(X359start_position(a1));
  547. r835error(r835start_position(C),((T0*)ms5_359));
  548. }
  549. /*FI*/}
  550. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  551. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  552. r835error(r835start_position(C),((T0*)ms6_359));
  553. }
  554. /*FI*/}
  555. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  556. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  557. /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  558. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  559. r7append(((T7*)(oBC683explanation)),b1);
  560. }/*]*/
  561. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  562. r7append(((T7*)(oBC683explanation)),b1);
  563. }/*]*/
  564. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  565. }
  566. /*FI*/}
  567. /*FI*/}
  568. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  569. /*IF*//*AF*//*AE*/
  570. /*FI*/}
  571. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  572. return R;
  573. }
  574. /*No:CST_ATT_REAL.header_comment*/
  575. int r835is_merge_with(T835* C,T0* a1,T0* a2){
  576. int R=0;
  577. /*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  578. /*IF*/if ((((((T835*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  579. r683add_position(X359start_position(a1));
  580. r835error(r835start_position(C),((T0*)ms2_359));
  581. }
  582. /*FI*/}
  583. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  584. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  585. r835error(r835start_position(C),((T0*)ms3_359));
  586. }
  587. /*FI*/}
  588. /*FI*//*IF*/if (((((T835*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  589. /*IF*/if (!(X291is_a_in((((T835*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  590. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  591. }
  592. /*FI*/}
  593. /*FI*//*IF*//*AF*//*AE*/
  594. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  595. return R;
  596. }
  597. /*No:CST_ATT_REAL.fz_dot*/
  598. /*No:CST_ATT_REAL.first_name*/
  599. /*No:CST_ATT_REAL.clients*/
  600. void r835collect_for(int a1){
  601. /*IF*/if ((a1)==(1001)) {
  602. /*IF*//*AF*//*AE*/
  603. /*FI*/}
  604. else {
  605. /*IF*//*AF*//*AE*/
  606. /*FI*/}
  607. /*FI*/}
  608. void r835error(T0* a1,T0* a2){
  609. r683add_position(a1);
  610. r683error(((T683*)(oBC364eh)),a2);
  611. }
  612. /*No:CST_ATT_REAL.base_class*/
  613. void r835make_e_feature(T835* C,T0* a1,T0* a2){
  614. C->_names=a1;
  615. C->_result_type=a2;
  616. }
  617. /*No:PROC_CALL_N.arguments*/
  618. T0* r568add_comment(T568* C,T0* a1){
  619. T0* R=NULL;
  620. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  621. R=(T0*)C;
  622. }
  623. /*AF*/else {
  624. {T59*n=malloc(sizeof(*n));
  625. *n=M59;
  626. r59make(n,(T0*)C,a1);
  627. R=(T0*)n;
  628. }
  629. }
  630. /*FI*/return R;
  631. }
  632. /*No:PROC_CALL_N.fz_bad_arguments*/
  633. void r568make(T568* C,T0* a1,T0* a2,T0* a3){
  634. C->_target=a1;
  635. C->_feature_name=a2;
  636. C->_arguments=a3;
  637. }
  638. /*No:PROC_CALL_N.nb_errors*/
  639. /*No:PROC_CALL_N.feature_name*/
  640. /*No:PROC_CALL_N.arg_count*/
  641. /*No:PROC_CALL_N.run_feature*/
  642. /*No:PROC_CALL_N.set_run_compound*/
  643. T0* r568start_position(T568* C){
  644. T0* R=NULL;
  645. R=X776start_position((((T568*)C))->_feature_name/*12*/);
  646. return R;
  647. }
  648. /*No:PROC_CALL_N.target*/
  649. /*No:PROC_CALL_N.set_run_feature*/
  650. T0* r568to_runnable(T568* C,T0* a1){
  651. T0* R=NULL;
  652. T0* _a=NULL;
  653. /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  654. r568to_runnable_0(C,a1);
  655. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  656. _a=r431to_runnable(((T431*)((((T568*)C))->_arguments/*20*/)),r568current_type(C));
  657. /*IF*/if ((_a)==((void*)(NULL))) {
  658. r568error(r431start_position(((T431*)((((T568*)C))->_arguments/*20*/))),((T0*)ms56_470));
  659. }
  660. else {
  661. C->_arguments=_a;
  662. }
  663. /*FI*/}
  664. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  665. r431match_with(((T431*)((((T568*)C))->_arguments/*20*/)),(((T568*)C))->_run_feature/*16*/);
  666. }
  667. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  668. R=(T0*)C;
  669. }
  670. /*FI*/}
  671. else {
  672. {T568*n=malloc(sizeof(*n));
  673. *n=M568;
  674. r568make(n,(((T568*)C))->_target/*8*/,(((T568*)C))->_feature_name/*12*/,(((T568*)C))->_arguments/*20*/);
  675. R=(T0*)n;
  676. }
  677. R=r568to_runnable(((T568*)R),a1);
  678. }
  679. /*FI*/return R;
  680. }
  681. T0* r568current_type(T568* C){
  682. T0* R=NULL;
  683. /*IF*/if (((((T568*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  684. R=(((T592*)((T592*)((((T568*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  685. }
  686. /*FI*/return R;
  687. }
  688. /*No:PROC_CALL_N.run_compound*/
  689. void r568to_runnable_0(T568* C,T0* a1){
  690. C->_run_compound=a1;
  691. r568cpc_to_runnable(C,r568current_type(C));
  692. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T568*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  693. r683add_position(X496start_position((((T568*)C))->_run_feature/*16*/));
  694. r568error(X776start_position((((T568*)C))->_feature_name/*12*/),((T0*)ms1_173));
  695. }
  696. /*FI*/}
  697. void r568cpc_to_runnable(T568* C,T0* a1){
  698. T0* _rc=NULL;
  699. T0* _t=NULL;
  700. _t=X662to_runnable((((T568*)C))->_target/*8*/,a1);
  701. /*IF*/if ((_t)==((void*)(NULL))) {
  702. r683add_position(X662start_position((((T568*)C))->_target/*8*/));
  703. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  704. r683fatal_error(((T683*)(oBC364eh)),b1);
  705. }/*]*/
  706. }
  707. /*FI*/C->_target=_t;
  708. _rc=X291run_class(X662result_type((((T568*)C))->_target/*8*/));
  709. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  710. r576update((((T568*)C))->_target/*8*/,(((T568*)C))->_run_feature/*16*/);
  711. }
  712. void r568error(T0* a1,T0* a2){
  713. r683add_position(a1);
  714. r683error(((T683*)(oBC364eh)),a2);
  715. }
  716. /*No:PROC_CALL_N.fatal_error*/
  717. /*No:PROC_CALL_N.end_mark_comment*/
  718. T0* r568make_runnable(T568* C,T0* a1,T0* a2,T0* a3,T0* a4){
  719. T0* R=NULL;
  720. /*IF*/if (((((T568*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  721. R=(T0*)C;
  722. r568make(((T568*)R),a2,(((T568*)C))->_feature_name/*12*/,a3);
  723. C->_run_compound=a1;
  724. C->_run_feature=a4;
  725. }
  726. else {
  727. {T568*n=malloc(sizeof(*n));
  728. *n=M568;
  729. r568make(n,a2,(((T568*)C))->_feature_name/*12*/,a3);
  730. R=(T0*)n;
  731. }
  732. /*[IRF3.3set_run_compound*/((((T568*)(((T568*)R))))->_run_compound)=(a1);
  733. /*]*/
  734. /*[IRF3.3set_run_feature*/((((T568*)(((T568*)R))))->_run_feature)=(a4);
  735. /*]*/
  736. }
  737. /*FI*/return R;
  738. }
  739. void r362check_creation_clause(T362* C,T0* a1){
  740. /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
  741. /*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
  742. r7append(((T7*)(oBC683explanation)),b1);
  743. }/*]*/
  744. r683add_type(a1,((T0*)ms2_334));
  745. r362error((((T362*)C))->_start_position/*8*/,((T0*)ms3_334));
  746. }
  747. /*FI*/}
  748. T0* r362add_comment(T362* C,T0* a1){
  749. T0* R=NULL;
  750. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  751. R=(T0*)C;
  752. }
  753. /*AF*/else {
  754. {T59*n=malloc(sizeof(*n));
  755. *n=M59;
  756. r59make(n,(T0*)C,a1);
  757. R=(T0*)n;
  758. }
  759. }
  760. /*FI*/return R;
  761. }
  762. void r362check_created_type(T362* C,T0* a1){
  763. T0* _rt=NULL;
  764. _rt=X291run_type(a1);
  765. /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  766. }
  767.  else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
  768. r683add_type(_rt,((T0*)ms2_747));
  769. r683add_position((((T362*)C))->_start_position/*8*/);
  770. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
  771. r683fatal_error(((T683*)(oBC364eh)),b1);
  772. }/*]*/
  773. }
  774. /*FI*//*IF*/if (X291is_formal_generic(a1)) {
  775. r683add_position((((T362*)C))->_start_position/*8*/);
  776. /*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
  777. r7append(((T7*)(oBC683explanation)),b1);
  778. }/*]*/
  779. r683add_type(a1,((T0*)ms5_747));
  780. r683print_as_fatal_error(((T683*)(oBC364eh)));
  781. }
  782. /*FI*/r368set_at_run_time(((T368*)(X291run_class(_rt))));
  783. }
  784. /*No:CREATION_CALL_1.writable*/
  785. void r362make(T362* C,T0* a1,T0* a2){
  786. C->_start_position=a1;
  787. C->_writable=a2;
  788. }
  789. /*No:CREATION_CALL_1.start_position*/
  790. T0* r362to_runnable(T362* C,T0* a1){
  791. T0* R=NULL;
  792. T0* _t=NULL;
  793. /*IF*/if (((((T362*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  794. r362check_writable(C,a1);
  795. _t=X662result_type((((T362*)C))->_writable/*12*/);
  796. r362check_created_type(C,_t);
  797. r362check_creation_clause(C,_t);
  798. R=(T0*)C;
  799. }
  800. else {
  801. {T362*n=malloc(sizeof(*n));
  802. *n=M362;
  803. r362make(n,(((T362*)C))->_start_position/*8*/,(((T362*)C))->_writable/*12*/);
  804. R=(T0*)n;
  805. }
  806. R=r362to_runnable(((T362*)R),a1);
  807. }
  808. /*FI*/return R;
  809. }
  810. T0* r362current_type(T362* C){
  811. T0* R=NULL;
  812. /*IF*/if (((((T362*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  813. R=(((T592*)((T592*)((((T362*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  814. }
  815. /*FI*/return R;
  816. }
  817. /*No:CREATION_CALL_1.run_compound*/
  818. void r362check_writable(T362* C,T0* a1){
  819. T0* _w=NULL;
  820. C->_run_compound=a1;
  821. _w=X662to_runnable((((T362*)C))->_writable/*12*/,r362current_type(C));
  822. /*IF*/if ((_w)==((void*)(NULL))) {
  823. r683add_position(X662start_position((((T362*)C))->_writable/*12*/));
  824. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
  825. r683fatal_error(((T683*)(oBC364eh)),b1);
  826. }/*]*/
  827. }
  828. else {
  829. C->_writable=_w;
  830. }
  831. /*FI*/}
  832. void r362error(T0* a1,T0* a2){
  833. r683add_position(a1);
  834. r683error(((T683*)(oBC364eh)),a2);
  835. }
  836. /*No:CREATION_CALL_1.fatal_error*/
  837. /*No:CREATION_CALL_1.end_mark_comment*/
  838. void r620make(T620* C,T0* a1,T0* a2){
  839. int _actual_count=0;
  840. int _il=0;
  841. C->_start_position=a1;
  842. C->_list=a2;
  843. _il=1;
  844. while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) {
  845. _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il)));
  846. _il=(_il)+(1);
  847. }
  848. {T733*n=malloc(sizeof(*n));
  849. *n=M733;
  850. r733make(n,1,_actual_count);
  851. C->_flat_list=(T0*)n;
  852. }
  853. _il=1;
  854. while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) {
  855. X411append_in(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il),(T0*)C);
  856. _il=(_il)+(1);
  857. }
  858. }
  859. /*No:LOCAL_VAR_LIST.name*/
  860. /*No:LOCAL_VAR_LIST.nb_errors*/
  861. T0* r620type(T620* C,int a1){
  862. T0* R=NULL;
  863. R=(((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*20*/;
  864. return R;
  865. }
  866. /*No:LOCAL_VAR_LIST.start_position*/
  867. T0* r620to_runnable(T620* C,T0* a1){
  868. T0* R=NULL;
  869. T0* _n2=NULL;
  870. T0* _n1=NULL;
  871. int _i=0;
  872. /*IF*/if (((((T620*)C))->_current_type/*16*/)==((void*)(NULL))) {
  873. C->_current_type=a1;
  874. R=(T0*)C;
  875. _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/;
  876. while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  877. _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  878. _n2=r39to_runnable(((T39*)_n1),a1);
  879. /*IF*/if ((_n2)==((void*)(NULL))) {
  880. r620error((((T39*)((T39*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  881. }
  882.  else if ((_n1)!=((void*)(_n2))) {
  883. /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  884. T0* b1=_n2;
  885. int b2=_i;
  886. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  887. }/*]*/
  888. }
  889. /*FI*/r39name_clash(((T39*)_n2));
  890. _i=(_i)-(1);
  891. }
  892. }
  893. else {
  894. {T620*n=malloc(sizeof(*n));
  895. *n=M620;
  896. r620runnable_from_current(n,(T0*)C,a1);
  897. R=(T0*)n;
  898. }
  899. }
  900. /*FI*/return R;
  901. }
  902. /*No:LOCAL_VAR_LIST.em1*/
  903. /*No:LOCAL_VAR_LIST.list*/
  904. int r620rank_of(T620* C,T0* a1){
  905. int R=0;
  906. R=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  907. while (!(((R)==(0))||((a1)==((void*)((((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*8*/))))) {
  908. R=(R)-(1);
  909. }
  910. return R;
  911. }
  912. /*No:LOCAL_VAR_LIST.current_type*/
  913. void r620runnable_from_current(T620* C,T0* a1,T0* a2){
  914. T0* _n2=NULL;
  915. T0* _n1=NULL;
  916. int _i=0;
  917. C->_start_position=(((T620*)((T620*)a1)))->_start_position/*4*/;
  918. C->_list=(((T620*)((T620*)a1)))->_list/*8*/;
  919. C->_current_type=a2;
  920. C->_flat_list=r733twin(((T733*)((((T620*)((T620*)a1)))->_flat_list/*12*/)));
  921. _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/;
  922. while (!((_i)==(0))) {
  923. _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  924. _n2=r39to_runnable(((T39*)_n1),a2);
  925. /*IF*/if ((_n2)==((void*)(NULL))) {
  926. r620error((((T39*)((T39*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  927. }
  928. /*FI*//*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  929. T0* b1=_n2;
  930. int b2=_i;
  931. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  932. }/*]*/
  933. _i=(_i)-(1);
  934. }
  935. }
  936. void r620error(T0* a1,T0* a2){
  937. r683add_position(a1);
  938. r683error(((T683*)(oBC364eh)),a2);
  939. }
  940. void r620add_last(T620* C,T0* a1){
  941. T0* _n2=NULL;
  942. int _i=0;
  943. _i=1;
  944. while (!((r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) {
  945. _n2=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  946. /*IF*/if (((((T39*)((T39*)_n2)))->_to_string/*8*/)==((void*)((((T39*)((T39*)a1)))->_to_string/*8*/))) {
  947. r683add_position((((T39*)((T39*)a1)))->_start_position/*12*/);
  948. r683add_position((((T39*)((T39*)_n2)))->_start_position/*12*/);
  949. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535);
  950. r683fatal_error(((T683*)(oBC364eh)),b1);
  951. }/*]*/
  952. }
  953. /*FI*/_i=(_i)+(1);
  954. }
  955. /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  956. T0* b1=a1;
  957. int b2=_i;
  958. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  959. }/*]*/
  960. /*[IRF3.3set_rank*/((((T39*)(((T39*)a1))))->_rank)=(_i);
  961. /*]*/
  962. }
  963. /*No:LOCAL_VAR_LIST.count*/
  964. /*No:LOCAL_VAR_LIST.fatal_error*/
  965. /*No:LOCAL_VAR_LIST.flat_list*/
  966. /*No:TYPE_BIT_1.n*/
  967. /*No:TYPE_BIT_1.nb*/
  968. void r549short(T549* C){
  969. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  970. r549short_hook(C);
  971. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  972. }
  973. /*No:TYPE_BIT_1.fz_bit_foo*/
  974. /*No:TYPE_BIT_1.has_creation*/
  975. /*No:TYPE_BIT_1.is_anchored*/
  976. /*No:TYPE_BIT_1.is_array*/
  977. int r549is_a(T549* C,T0* a1){
  978. int R=0;
  979. T0* _other_bit=NULL;
  980. /*IF*/if (X291is_bit(a1)) {
  981. _other_bit=a1;
  982. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  983. case 549: case 558: 
  984. break;
  985. default:
  986. _other_bit=NULL;
  987. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<=(X609nb(_other_bit))) {
  988. R=1;
  989. }
  990. else {
  991. r683add_type((T0*)C,((T0*)ms71_470));
  992. r683add_type(a1,((T0*)ms1_609));
  993. }
  994. /*FI*/}
  995. else {
  996. R=r605is_subclass_of(((T605*)(r549base_class(C))),X291base_class(a1));
  997. /*IF*/if (R) {
  998. r683add_type((T0*)C,((T0*)ms71_470));
  999. r683add_type(a1,((T0*)ms67_470));
  1000. }
  1001. else {
  1002. r549used_as_reference(C);
  1003. }
  1004. /*FI*/}
  1005. /*FI*/return R;
  1006. }
  1007. void r549set_run_time_mark(T549* C){
  1008. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  1009. r7append(((T7*)(oBC291tmp_string)),r2to_string(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/));
  1010. C->_run_time_mark=r902item(oBC291tmp_string);
  1011. }
  1012. /*No:TYPE_BIT_1.us_put_0*/
  1013. /*No:TYPE_BIT_1.run_type*/
  1014. /*No:TYPE_BIT_1.is_pointer*/
  1015. /*No:TYPE_BIT_1.is_string*/
  1016. /*No:TYPE_BIT_1.is_like_feature*/
  1017. /*No:TYPE_BIT_1.is_like_current*/
  1018. /*No:TYPE_BIT_1.us_put_1*/
  1019. void r549make(T549* C,T0* a1,T0* a2){
  1020. C->_start_position=a1;
  1021. C->_n=a2;
  1022. r549set_run_time_mark(C);
  1023. C->_written_mark=(((T549*)C))->_run_time_mark/*12*/;
  1024. }
  1025. /*No:TYPE_BIT_1.start_position*/
  1026. /*No:TYPE_BIT_1.fz_inako*/
  1027. /*No:TYPE_BIT_1.is_character*/
  1028. /*No:TYPE_BIT_1.written_mark*/
  1029. /*No:TYPE_BIT_1.is_run_type*/
  1030. T0* r549to_runnable(T549* C,T0* a1){
  1031. T0* R=NULL;
  1032. R=(T0*)C;
  1033. r549to_runnable_1_2(C);
  1034. return R;
  1035. }
  1036. T0* r549generic_list(T549* C){
  1037. T0* R=NULL;
  1038. r549fatal_error_generic_list(C);
  1039. return R;
  1040. }
  1041. /*No:TYPE_BIT_1.is_formal_generic*/
  1042. /*No:TYPE_BIT_1.is_real*/
  1043. /*No:TYPE_BIT_1.is_bit*/
  1044. void r549fatal_error_generic_list(T549* C){
  1045. r683add_type((T0*)C,((T0*)ms12_291));
  1046. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1047. }
  1048. void r549to_runnable_1_2(T549* C){
  1049. T0* _rf=NULL;
  1050. T0* _rc=NULL;
  1051. _rc=r549run_class(C);
  1052. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms105_473));
  1053. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms106_473));
  1054. }
  1055. /*No:TYPE_BIT_1.us_bit_n*/
  1056. T0*oBC291tmp_string=NULL;
  1057. T0* r549smallest_ancestor(T549* C,T0* a1){
  1058. T0* R=NULL;
  1059. T0* _other_bit=NULL;
  1060. _other_bit=a1;
  1061. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  1062. case 549: case 558: 
  1063. break;
  1064. default:
  1065. _other_bit=NULL;
  1066. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<(X609nb(_other_bit))) {
  1067. R=(T0*)C;
  1068. }
  1069. else {
  1070. R=a1;
  1071. }
  1072. /*FI*/return R;
  1073. }
  1074. /*No:TYPE_BIT_1.is_boolean*/
  1075. /*No:TYPE_BIT_1.is_double*/
  1076. T0* r549run_class(T549* C){
  1077. T0* R=NULL;
  1078. R=r604run_class((T0*)C);
  1079. return R;
  1080. }
  1081. /*No:TYPE_BIT_1.run_time_mark*/
  1082. int r549is_a_in(T549* C,T0* a1,T0* a2){
  1083. int R=0;
  1084. T0* _ct=NULL;
  1085. T0* _t2=NULL;
  1086. T0* _t1=NULL;
  1087. /*IF*/if (((((T549*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  1088. R=1;
  1089. }
  1090. else {
  1091. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  1092. _t1=r549to_runnable(C,_ct);
  1093. _t2=X291to_runnable(a1,_ct);
  1094. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  1095. R=1;
  1096. }
  1097. else {
  1098. R=X291is_a(_t1,_t2);
  1099. }
  1100. /*FI*/}
  1101. /*FI*/return R;
  1102. }
  1103. T0* r549look_up_for(T549* C,T0* a1,T0* a2){
  1104. T0* R=NULL;
  1105. R=r605look_up_for(((T605*)(r549base_class(C))),a1,a2);
  1106. return R;
  1107. }
  1108. /*No:TYPE_BIT_1.expanded_initializer*/
  1109. T0*oBC609mem_type_bit_ref=NULL;
  1110. /*No:TYPE_BIT_1.fz_dot*/
  1111. /*No:TYPE_BIT_1.is_generic*/
  1112. void r549used_as_reference(T549* C){
  1113. T0* _rc=NULL;
  1114. T0* _type_bit_ref=NULL;
  1115. /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)) {
  1116. }
  1117. else {
  1118. r226add_last(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/);
  1119. {T963*n=malloc(sizeof(*n));
  1120. *n=M963;
  1121. r963make(n,(T0*)C);
  1122. _type_bit_ref=(T0*)n;
  1123. }
  1124. r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
  1125. _rc=r963run_class(((T963*)_type_bit_ref));
  1126. r368set_at_run_time(((T368*)_rc));
  1127. }
  1128. /*FI*/}
  1129. /*No:TYPE_BIT_1.is_reference*/
  1130. T0* r549base_class(T549* C){
  1131. T0* R=NULL;
  1132. T0* _bcn=NULL;
  1133. _bcn=r549base_class_name();
  1134. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  1135. R=r451base_class(((T451*)_bcn));
  1136. }
  1137. else {
  1138. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  1139. r7append(((T7*)(oBC683explanation)),b1);
  1140. }/*]*/
  1141. r683add_type((T0*)C,((T0*)ms67_470));
  1142. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1143. }
  1144. /*FI*/return R;
  1145. }
  1146. void r549short_hook(T549* C){
  1147. r580a_class_name(((T580*)(oBC364short_print)),r549base_class_name());
  1148. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_549),((T0*)ms2_549));
  1149. r580a_integer((((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*/);
  1150. }
  1151. /*No:TYPE_BIT_1.is_any*/
  1152. int fBC609base_class_name=0;
  1153. T0*oBC609base_class_name=NULL;
  1154. T0* r549base_class_name(void){
  1155. if (fBC609base_class_name==0){
  1156. T0* R=NULL;
  1157. fBC609base_class_name=1;
  1158. {T451*n=malloc(sizeof(*n));
  1159. *n=M451;
  1160. r451make(n,((T0*)ms4_473),NULL);
  1161. R=(T0*)n;
  1162. }
  1163. oBC609base_class_name=R;}
  1164. return oBC609base_class_name;}
  1165. /*No:TYPE_BIT_1.is_expanded*/
  1166. /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/
  1167. /*No:TYPE_BIT_1.is_none*/
  1168. /*No:TYPE_BIT_1.is_integer*/
  1169. T0*oBC609mem_ref_nb=NULL;
  1170. T0* r526add_comment(T526* C,T0* a1){
  1171. T0* R=NULL;
  1172. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1173. R=(T0*)C;
  1174. }
  1175. /*AF*/else {
  1176. {T59*n=malloc(sizeof(*n));
  1177. *n=M59;
  1178. r59make(n,(T0*)C,a1);
  1179. R=(T0*)n;
  1180. }
  1181. }
  1182. /*FI*/return R;
  1183. }
  1184. /*No:E_RETRY.make*/
  1185. /*No:E_RETRY.start_position*/
  1186. T0* r526to_runnable(T526* C,T0* a1){
  1187. T0* R=NULL;
  1188. /*IF*/if (((((T526*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1189. C->_run_compound=a1;
  1190. R=(T0*)C;
  1191. }
  1192.  else if (((((T526*)C))->_run_compound/*4*/)==((void*)(a1))) {
  1193. R=(T0*)C;
  1194. }
  1195. else {
  1196. {T526*n=malloc(sizeof(*n));
  1197. *n=M526;
  1198. /*[IRF3.3make*/((((T526*)(n)))->_start_position)=((((T526*)C))->_start_position/*8*/);
  1199. /*]*/
  1200. R=(T0*)n;
  1201. }
  1202. R=r526to_runnable(((T526*)R),a1);
  1203. }
  1204. /*FI*/return R;
  1205. }
  1206. /*No:E_RETRY.run_compound*/
  1207. /*No:E_RETRY.end_mark_comment*/
  1208. /*No:CHECK_INVARIANT.fz_bad_assertion*/
  1209. T0* r623runnable(T0* a1,T0* a2,T0* a3){
  1210. T0* R=NULL;
  1211. T0* _a=NULL;
  1212. int _i=0;
  1213. /*IF*/if (!(r608empty(((T608*)a1)))) {
  1214. R=r608twin(((T608*)a1));
  1215. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  1216. while (!((_i)==(0))) {
  1217. r604push(((T604*)(oBC364small_eiffel)),a3);
  1218. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  1219. /*IF*/if ((_a)==((void*)(NULL))) {
  1220. r623error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  1221. }
  1222. else {
  1223. /*[IRF3.6put*/{T608* C1=((T608*)R);
  1224. T0* b1=_a;
  1225. int b2=_i;
  1226. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  1227. }/*]*/
  1228. }
  1229. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  1230. _i=(_i)-(1);
  1231. }
  1232. }
  1233. /*FI*/return R;
  1234. }
  1235. void r623make(T623* C,T0* a1,T0* a2,T0* a3){
  1236. C->_start_position=a1;
  1237. C->_header_comment=a2;
  1238. C->_list=a3;
  1239. }
  1240. /*No:CHECK_INVARIANT.nb_errors*/
  1241. /*No:CHECK_INVARIANT.start_position*/
  1242. T0* r623to_runnable(T623* C,T0* a1){
  1243. T0* R=NULL;
  1244. /*IF*/if (((((T623*)C))->_current_type/*12*/)==((void*)(NULL))) {
  1245. C->_current_type=a1;
  1246. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  1247. C->_list=r623runnable((((T623*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel))));
  1248. }
  1249. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1250. R=(T0*)C;
  1251. }
  1252. /*FI*/}
  1253. else {
  1254. R=r623twin(C);
  1255. /*[IRF3.3set_current_type*/((((T623*)(((T623*)R))))->_current_type)=(NULL);
  1256. /*]*/
  1257. R=r623to_runnable(((T623*)R),a1);
  1258. }
  1259. /*FI*/return R;
  1260. }
  1261. T0* r623twin(T623* C){
  1262. T0* R=NULL;
  1263. R=malloc(sizeof(*C));
  1264. *((T623*)R)=*C;
  1265. return R;
  1266. }
  1267. /*No:CHECK_INVARIANT.set_current_type*/
  1268. /*No:CHECK_INVARIANT.list*/
  1269. /*No:CHECK_INVARIANT.current_type*/
  1270. /*No:CHECK_INVARIANT.header_comment*/
  1271. void r623error(T0* a1,T0* a2){
  1272. r683add_position(a1);
  1273. r683error(((T683*)(oBC364eh)),a2);
  1274. }
  1275. /*No:RUN_FEATURE_5.arguments*/
  1276. /*No:RUN_FEATURE_5.actuals_clients*/
  1277. void r869make(T869* C,T0* a1,T0* a2,T0* a3){
  1278. C->_current_type=a1;
  1279. C->_name=a2;
  1280. C->_base_feature=a3;
  1281. r199put(((T199*)((((T368*)((T368*)(r869run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  1282. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  1283. C->_use_current_state=1015;
  1284. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  1285. r869initialize(C);
  1286. r604pop(((T604*)(oBC364small_eiffel)));
  1287. }
  1288. /*No:RUN_FEATURE_5.name*/
  1289. int r869arg_count(T869* C){
  1290. int R=0;
  1291. /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1292. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  1293. }
  1294. /*FI*/return R;
  1295. }
  1296. /*No:RUN_FEATURE_5.local_vars*/
  1297. /*No:RUN_FEATURE_5.base_feature*/
  1298. /*No:RUN_FEATURE_5.start_position*/
  1299. /*No:RUN_FEATURE_5.ensure_assertion*/
  1300. int r869is_exported_in(T869* C,T0* a1){
  1301. int R=0;
  1302. R=r636gives_permission_to(((T636*)(r869clients(C))),a1);
  1303. return R;
  1304. }
  1305. /*No:RUN_FEATURE_5.result_type*/
  1306. void r869add_client(T869* C,T0* a1){
  1307. int _i=0;
  1308. /*IF*/if (((((T869*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  1309. {T187*n=malloc(sizeof(*n));
  1310. *n=M187;
  1311. r187with_capacity(n,4);
  1312. C->_actuals_clients=(T0*)n;
  1313. }
  1314. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  1315. }
  1316. else {
  1317. _i=r187fast_index_of(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  1318. /*IF*/if ((_i)>((((T187*)((T187*)((((T869*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  1319. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  1320. }
  1321. /*FI*/}
  1322. /*FI*/r368add_client(((T368*)(r869run_class(C))),a1);
  1323. }
  1324. /*No:RUN_FEATURE_5.require_assertion*/
  1325. /*No:RUN_FEATURE_5.use_current_state*/
  1326. /*No:RUN_FEATURE_5.current_type*/
  1327. T0* r869run_class(T869* C){
  1328. T0* R=NULL;
  1329. R=X291run_class((((T869*)C))->_current_type/*4*/);
  1330. return R;
  1331. }
  1332. /*No:RUN_FEATURE_5.ucs_not_computed*/
  1333. /*No:RUN_FEATURE_5.routine_body*/
  1334. T0* r869clients(T869* C){
  1335. T0* R=NULL;
  1336. T0* _bfbc=NULL;
  1337. T0* _bc=NULL;
  1338. /*IF*/if (((((T869*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  1339. _bc=X291base_class((((T869*)C))->_current_type/*4*/);
  1340. _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  1341. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  1342. R=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_clients/*24*/;
  1343. }
  1344. else {
  1345. R=r605clients_for(((T605*)_bc),(((T869*)C))->_name/*16*/);
  1346. }
  1347. /*FI*/C->_clients_memory=R;
  1348. }
  1349. else {
  1350. R=(((T869*)C))->_clients_memory/*8*/;
  1351. }
  1352. /*FI*/return R;
  1353. }
  1354. /*No:RUN_FEATURE_5.clients_memory*/
  1355. void r869initialize(T869* C){
  1356. C->_arguments=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_arguments/*28*/;
  1357. /*IF*/if ((((((T869*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1358. C->_arguments=r31to_runnable(((T31*)((((T869*)C))->_arguments/*20*/)),(((T869*)C))->_current_type/*4*/);
  1359. }
  1360. /*FI*/C->_local_vars=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
  1361. /*IF*/if ((((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1362. C->_local_vars=r620to_runnable(((T620*)((((T869*)C))->_local_vars/*48*/)),(((T869*)C))->_current_type/*4*/);
  1363. }
  1364. /*FI*/C->_routine_body=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
  1365. /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  1366. C->_routine_body=r592to_runnable(((T592*)((((T869*)C))->_routine_body/*32*/)),(((T869*)C))->_current_type/*4*/);
  1367. }
  1368. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  1369. C->_require_assertion=r134run_require((T0*)C);
  1370. }
  1371. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  1372. C->_ensure_assertion=r134run_ensure((T0*)C);
  1373. }
  1374. /*FI*/r916add_procedure((T0*)C);
  1375. }
  1376.  
  1377.