home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c43.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  54.2 KB  |  1,798 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 "compile_to_c.h"
  9. int r549id(T549* C){
  10. int R=0;
  11. R=(((T355*)((T355*)(r549run_class(C)))))->_id/*4*/;
  12. return R;
  13. }
  14. /*No:TYPE_BIT_1.n*/
  15. /*No:TYPE_BIT_1.nb*/
  16. /*No:TYPE_BIT_1.fz_bit_foo*/
  17. /*No:TYPE_BIT_1.has_creation*/
  18. /*No:TYPE_BIT_1.is_anchored*/
  19. int r549is_c_int(T549* C){
  20. int R=0;
  21. R=(1020)==(r549mapping_code(C));
  22. return R;
  23. }
  24. /*No:TYPE_BIT_1.is_array*/
  25. /*No:TYPE_BIT_1.fz_typedef*/
  26. int r549is_a(T549* C,T0* a1){
  27. int R=0;
  28. T0* _other_bit=NULL;
  29. /*IF*/if (X291is_bit(a1)) {
  30. _other_bit=a1;
  31. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  32. case 549: case 558: 
  33. break;
  34. default:
  35. _other_bit=NULL;
  36. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=(X609nb(_other_bit))) {
  37. R=1;
  38. }
  39. else {
  40. r683add_type((T0*)C,((T0*)ms71_470));
  41. r683add_type(a1,((T0*)ms1_609));
  42. }
  43. /*FI*/}
  44. else {
  45. R=r605is_subclass_of(((T605*)(r549base_class(C))),X291base_class(a1));
  46. /*IF*/if (R) {
  47. r683add_type((T0*)C,((T0*)ms71_470));
  48. r683add_type(a1,((T0*)ms67_470));
  49. }
  50. else {
  51. r549used_as_reference(C);
  52. }
  53. /*FI*/}
  54. /*FI*/return R;
  55. }
  56. void r549c_initialize_in(T549* C,T0* a1){
  57. int _i=0;
  58. /*IF*/if ((r549mapping_code(C))==(1021)) {
  59. r7extend(((T7*)a1),'\173');
  60. _i=r549nb_unsigned(C);
  61. while (!((_i)==(0))) {
  62. r7extend(((T7*)a1),'0');
  63. _i=(_i)-(1);
  64. /*IF*/if ((_i)>(0)) {
  65. r7extend(((T7*)a1),'\54');
  66. }
  67. /*FI*/}
  68. r7extend(((T7*)a1),'\175');
  69. }
  70. else {
  71. r7extend(((T7*)a1),'0');
  72. }
  73. /*FI*/}
  74. void r549c_type_for_argument_in(T549* C,T0* a1){
  75. r7extend(((T7*)a1),'T');
  76. r2append_in(r549id(C),a1);
  77. }
  78. /*No:TYPE_BIT_1.Cchar*/
  79. void r549set_run_time_mark(T549* C){
  80. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  81. r7append(((T7*)(oBC291tmp_string)),r2to_string(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/));
  82. C->_run_time_mark=r902item(oBC291tmp_string);
  83. }
  84. void r549gc_call_new_in(T549* C,T0* a1){
  85. r7append(((T7*)a1),((T0*)ms115_470));
  86. r2append_in(r549id(C),a1);
  87. r7extend(((T7*)a1),'\50');
  88. r7extend(((T7*)a1),'\51');
  89. }
  90. /*No:TYPE_BIT_1.us_put_0*/
  91. /*No:TYPE_BIT_1.run_type*/
  92. /*No:TYPE_BIT_1.is_pointer*/
  93. /*No:TYPE_BIT_1.is_dummy_expanded*/
  94. /*No:TYPE_BIT_1.is_string*/
  95. int r549space_for_variable(T549* C){
  96. int R=0;
  97. R=(r549nb_unsigned(C))*(( (CHAR_BIT*sizeof(int)) )/( CHAR_BIT ));
  98. return R;
  99. }
  100. /*No:TYPE_BIT_1.is_like_feature*/
  101. /*No:TYPE_BIT_1.is_like_current*/
  102. /*No:TYPE_BIT_1.us_put_1*/
  103. void r549make(T549* C,T0* a1,T0* a2){
  104. C->_start_position=a1;
  105. C->_n=a2;
  106. r549set_run_time_mark(C);
  107. C->_written_mark=(((T549*)C))->_run_time_mark/*12*/;
  108. }
  109. /*No:TYPE_BIT_1.Cint*/
  110. void r549mapping_cast(T549* C){
  111. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  112. /*]*/
  113. r7extend(((T7*)(oBC291tmp_string)),'\50');
  114. /*[IRF3.6c_type_for_target_in*/{T549* C1=C;
  115. T0* b1=oBC291tmp_string;
  116. r549c_type_for_argument_in(C1,b1);
  117. }/*]*/
  118. r7extend(((T7*)(oBC291tmp_string)),'\51');
  119. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  120. /*]*/
  121. }
  122. /*No:TYPE_BIT_1.start_position*/
  123. /*No:TYPE_BIT_1.c_type_for_target_in*/
  124. /*No:TYPE_BIT_1.fz_gc_mark*/
  125. /*No:TYPE_BIT_1.fz_inako*/
  126. /*No:TYPE_BIT_1.gc_initialize*/
  127. /*No:TYPE_BIT_1.fz_00*/
  128. /*No:TYPE_BIT_1.is_character*/
  129. /*No:TYPE_BIT_1.is_user_expanded*/
  130. /*No:TYPE_BIT_1.written_mark*/
  131. /*No:TYPE_BIT_1.is_run_type*/
  132. T0* r549to_runnable(T549* C,T0* a1){
  133. T0* R=NULL;
  134. R=(T0*)C;
  135. r549to_runnable_1_2(C);
  136. return R;
  137. }
  138. void r549c_type_for_external_in(T549* C,T0* a1){
  139. /*IF*//*AF*//*AE*/
  140. /*[IRF3.6c_type_for_result_in*/{T549* C1=C;
  141. T0* b1=a1;
  142. r549c_type_for_argument_in(C1,b1);
  143. }/*]*/
  144. /*FI*/}
  145. int r549is_c_char(T549* C){
  146. int R=0;
  147. R=(1019)==(r549mapping_code(C));
  148. return R;
  149. }
  150. T0* r549generic_list(T549* C){
  151. T0* R=NULL;
  152. r549fatal_error_generic_list(C);
  153. return R;
  154. }
  155. /*No:TYPE_BIT_1.is_formal_generic*/
  156. void r549demangling_in(T549* C,T0* a1){
  157. /*IF*//*AF*//*AE*/
  158. r7extend(((T7*)a1),'E');
  159. /*FI*/r7extend(((T7*)a1),'\40');
  160. r7append(((T7*)a1),(((T549*)C))->_run_time_mark/*12*/);
  161. }
  162. /*No:TYPE_BIT_1.is_real*/
  163. int r549nb_unsigned(T549* C){
  164. int R=0;
  165. int _ib=0;
  166. _ib= (CHAR_BIT*sizeof(int)) ;
  167. R=(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)/(_ib);
  168. /*IF*/if (((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)%(_ib))>(0)) {
  169. R=(R)+(1);
  170. }
  171. /*FI*/return R;
  172. }
  173. /*No:TYPE_BIT_1.is_bit*/
  174. void r549fatal_error_generic_list(T549* C){
  175. r683add_type((T0*)C,((T0*)ms12_291));
  176. r683print_as_fatal_error(((T683*)(oBC364eh)));
  177. }
  178. void r549to_runnable_1_2(T549* C){
  179. T0* _rf=NULL;
  180. T0* _rc=NULL;
  181. _rc=r549run_class(C);
  182. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms105_473));
  183. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms106_473));
  184. }
  185. /*No:TYPE_BIT_1.fz_new*/
  186. /*No:TYPE_BIT_1.us_bit_n*/
  187. T0* r549smallest_ancestor(T549* C,T0* a1){
  188. T0* R=NULL;
  189. T0* _other_bit=NULL;
  190. _other_bit=a1;
  191. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  192. case 549: case 558: 
  193. break;
  194. default:
  195. _other_bit=NULL;
  196. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<(X609nb(_other_bit))) {
  197. R=(T0*)C;
  198. }
  199. else {
  200. R=a1;
  201. }
  202. /*FI*/return R;
  203. }
  204. /*No:TYPE_BIT_1.fz_unsigned*/
  205. /*No:TYPE_BIT_1.is_boolean*/
  206. /*No:TYPE_BIT_1.is_double*/
  207. T0* r549run_class(T549* C){
  208. T0* R=NULL;
  209. R=r604run_class((T0*)C);
  210. return R;
  211. }
  212. void r549c_initialize(T549* C){
  213. int _i=0;
  214. /*IF*/if ((r549mapping_code(C))==(1021)) {
  215. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  216. /*]*/
  217. r7extend(((T7*)(oBC291tmp_string)),'\173');
  218. _i=r549nb_unsigned(C);
  219. while (!((_i)==(0))) {
  220. r7extend(((T7*)(oBC291tmp_string)),'0');
  221. _i=(_i)-(1);
  222. /*IF*/if ((_i)>(0)) {
  223. r7extend(((T7*)(oBC291tmp_string)),'\54');
  224. }
  225. /*FI*/}
  226. r7extend(((T7*)(oBC291tmp_string)),'\175');
  227. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  228. /*]*/
  229. }
  230. else {
  231. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  232. char b1='0';
  233. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  234. }/*]*/
  235. /*]*/
  236. }
  237. /*FI*/}
  238. /*No:TYPE_BIT_1.run_time_mark*/
  239. void r549cast_to_ref(T549* C){
  240. X609cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  241. }
  242. void r549gc_mark_in(T549* C,T0* a1){
  243. r7append(((T7*)a1),((T0*)ms107_470));
  244. r2append_in(r549id(C),a1);
  245. }
  246. int r549is_a_in(T549* C,T0* a1,T0* a2){
  247. int R=0;
  248. T0* _ct=NULL;
  249. T0* _t2=NULL;
  250. T0* _t1=NULL;
  251. /*IF*/if (((((T549*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  252. R=1;
  253. }
  254. else {
  255. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  256. _t1=r549to_runnable(C,_ct);
  257. _t2=X291to_runnable(a1,_ct);
  258. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  259. R=1;
  260. }
  261. else {
  262. R=X291is_a(_t1,_t2);
  263. }
  264. /*FI*/}
  265. /*FI*/return R;
  266. }
  267. T0* r549look_up_for(T549* C,T0* a1,T0* a2){
  268. T0* R=NULL;
  269. R=r605look_up_for(((T605*)(r549base_class(C))),a1,a2);
  270. return R;
  271. }
  272. void r549c_header_pass1(T549* C){
  273. int _mem_id=0;
  274. int _mc=0;
  275. _mc=r549mapping_code(C);
  276. _mem_id=r549id(C);
  277. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
  278. {int z1=r549mapping_code(C);
  279.  
  280. if((1019==z1)){
  281. r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
  282. r7extend(((T7*)(oBC291tmp_string)),'\40');
  283. r7append(((T7*)(oBC291tmp_string)),((T0*)ms79_470));
  284. }
  285.  else 
  286. if((1020==z1)){
  287. r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
  288. }
  289.  else {r7append(((T7*)(oBC291tmp_string)),((T0*)ms132_470));
  290. }}
  291. r7extend(((T7*)(oBC291tmp_string)),'\40');
  292. r7extend(((T7*)(oBC291tmp_string)),'T');
  293. r2append_in(_mem_id,oBC291tmp_string);
  294. /*IF*/if ((r549mapping_code(C))==(1021)) {
  295. r7extend(((T7*)(oBC291tmp_string)),'\133');
  296. r2append_in(r549nb_unsigned(C),oBC291tmp_string);
  297. r7extend(((T7*)(oBC291tmp_string)),'\135');
  298. }
  299. /*FI*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  300. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  301. /*]*/
  302. }
  303. int r549is_c_unsigned_ptr(T549* C){
  304. int R=0;
  305. R=(1021)==(r549mapping_code(C));
  306. return R;
  307. }
  308. /*No:TYPE_BIT_1.c_type_for_result_in*/
  309. /*No:TYPE_BIT_1.expanded_initializer*/
  310. /*No:TYPE_BIT_1.Cuptr*/
  311. T0*oBC609mem_type_bit_ref=NULL;
  312. /*No:TYPE_BIT_1.fz_void*/
  313. /*No:TYPE_BIT_1.fz_dot*/
  314. /*No:TYPE_BIT_1.is_generic*/
  315. void r549used_as_reference(T549* C){
  316. T0* _rc=NULL;
  317. T0* _type_bit_ref=NULL;
  318. /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)) {
  319. }
  320. else {
  321. r226add_last(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/);
  322. {T963*n=malloc(sizeof(*n));
  323. *n=M963;
  324. r963make(n,(T0*)C);
  325. _type_bit_ref=(T0*)n;
  326. }
  327. r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
  328. _rc=r963run_class(((T963*)_type_bit_ref));
  329. r355set_at_run_time(((T355*)_rc));
  330. }
  331. /*FI*/}
  332. /*No:TYPE_BIT_1.c_header_pass2*/
  333. /*No:TYPE_BIT_1.gc_define1*/
  334. /*No:TYPE_BIT_1.need_c_struct*/
  335. /*No:TYPE_BIT_1.is_reference*/
  336. /*No:TYPE_BIT_1.gc_info_in*/
  337. T0* r549base_class(T549* C){
  338. T0* R=NULL;
  339. T0* _bcn=NULL;
  340. _bcn=r549base_class_name();
  341. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  342. R=r451base_class(((T451*)_bcn));
  343. }
  344. else {
  345. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  346. r7append(((T7*)(oBC683explanation)),b1);
  347. }/*]*/
  348. r683add_type((T0*)C,((T0*)ms67_470));
  349. r683print_as_fatal_error(((T683*)(oBC364eh)));
  350. }
  351. /*FI*/return R;
  352. }
  353. /*No:TYPE_BIT_1.call_gc_sweep_in*/
  354. int r549mapping_code(T549* C){
  355. int R=0;
  356. /*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=( CHAR_BIT )) {
  357. R=1019;
  358. }
  359.  else if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/)<=( (CHAR_BIT*sizeof(int)) )) {
  360. R=1020;
  361. }
  362. else {
  363. R=1021;
  364. }
  365. /*FI*/return R;
  366. }
  367. /*No:TYPE_BIT_1.gc_define2*/
  368. /*No:TYPE_BIT_1.need_gc_mark_function*/
  369. /*No:TYPE_BIT_1.fz_char*/
  370. /*No:TYPE_BIT_1.is_any*/
  371. void r549to_reference(T549* C){
  372. T0* _type_bit_ref=NULL;
  373. int _idx=0;
  374. _idx=r226fast_index_of(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*16*//*)*/);
  375. _type_bit_ref=/*(IRF4.6item*/((((T41*)((T41*)(oBC609mem_type_bit_ref))))->_storage/*4*/)[_idx]/*)*/;
  376. r963to_reference(((T963*)_type_bit_ref));
  377. }
  378. /*No:TYPE_BIT_1.c_header_pass3*/
  379. int fBC609base_class_name=0;
  380. T0*oBC609base_class_name=NULL;
  381. T0* r549base_class_name(void){
  382. if (fBC609base_class_name==0){
  383. T0* R=NULL;
  384. fBC609base_class_name=1;
  385. {T451*n=malloc(sizeof(*n));
  386. *n=M451;
  387. r451make(n,((T0*)ms4_473),NULL);
  388. R=(T0*)n;
  389. }
  390. oBC609base_class_name=R;}
  391. return oBC609base_class_name;}
  392. /*No:TYPE_BIT_1.is_expanded*/
  393. /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/
  394. /*No:TYPE_BIT_1.is_none*/
  395. /*No:TYPE_BIT_1.to_expanded*/
  396. /*No:TYPE_BIT_1.is_integer*/
  397. T0*oBC609mem_ref_nb=NULL;
  398. /*No:TYPE_BIT_1.c_header_pass4*/
  399. T0* r526add_comment(T526* C,T0* a1){
  400. T0* R=NULL;
  401. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  402. R=(T0*)C;
  403. }
  404. /*AF*/else {
  405. {T46*n=malloc(sizeof(*n));
  406. *n=M46;
  407. r46make(n,(T0*)C,a1);
  408. R=(T0*)n;
  409. }
  410. }
  411. /*FI*/return R;
  412. }
  413. /*No:E_RETRY.make*/
  414. /*No:E_RETRY.start_position*/
  415. /*No:E_RETRY.compile_to_c*/
  416. T0* r526to_runnable(T526* C,T0* a1){
  417. T0* R=NULL;
  418. /*IF*/if (((((T526*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  419. C->_run_compound=a1;
  420. R=(T0*)C;
  421. }
  422.  else if (((((T526*)C))->_run_compound/*4*/)==((void*)(a1))) {
  423. R=(T0*)C;
  424. }
  425. else {
  426. {T526*n=malloc(sizeof(*n));
  427. *n=M526;
  428. /*[IRF3.3make*/((((T526*)(n)))->_start_position)=((((T526*)C))->_start_position/*8*/);
  429. /*]*/
  430. R=(T0*)n;
  431. }
  432. R=r526to_runnable(((T526*)R),a1);
  433. }
  434. /*FI*/return R;
  435. }
  436. /*No:E_RETRY.run_compound*/
  437. /*No:E_RETRY.is_pre_computable*/
  438. /*No:E_RETRY.use_current*/
  439. void r526error(T0* a1,T0* a2){
  440. r683add_position(a1);
  441. r683error(((T683*)(oBC364eh)),a2);
  442. }
  443. /*No:E_RETRY.end_mark_comment*/
  444. /*No:E_RETRY.afd_check*/
  445. /*No:CHECK_INVARIANT.fz_bad_assertion*/
  446. T0* r623runnable(T0* a1,T0* a2,T0* a3){
  447. T0* R=NULL;
  448. T0* _a=NULL;
  449. int _i=0;
  450. /*IF*/if (!(r608empty(((T608*)a1)))) {
  451. R=r608twin(((T608*)a1));
  452. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  453. while (!((_i)==(0))) {
  454. r604push(((T604*)(oBC364small_eiffel)),a3);
  455. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  456. /*IF*/if ((_a)==((void*)(NULL))) {
  457. r623error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  458. }
  459. else {
  460. /*[IRF3.6put*/{T608* C1=((T608*)R);
  461. T0* b1=_a;
  462. int b2=_i;
  463. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  464. }/*]*/
  465. }
  466. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  467. _i=(_i)-(1);
  468. }
  469. }
  470. /*FI*/return R;
  471. }
  472. void r623make(T623* C,T0* a1,T0* a2,T0* a3){
  473. C->_start_position=a1;
  474. C->_header_comment=a2;
  475. C->_list=a3;
  476. }
  477. /*No:CHECK_INVARIANT.nb_errors*/
  478. T0* r623check_assertion_mode(void){
  479. T0* R=NULL;
  480. R=((T0*)ms1_623);
  481. return R;
  482. }
  483. /*No:CHECK_INVARIANT.start_position*/
  484. void r623compile_to_c(T623* C){
  485. int _i=0;
  486. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  487. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_596));
  488. /*]*/
  489. _i=1;
  490. while (!((_i)>((((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/))) {
  491. /*[IRF3.3set_check_assertion_mode*/((((T324*)(((T324*)(oBC364cpp)))))->_check_assertion_mode)=(r623check_assertion_mode());
  492. /*]*/
  493. r348compile_to_c(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
  494. _i=(_i)+(1);
  495. }
  496. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_596));
  497. /*]*/
  498. }
  499. /*FI*/}
  500. T0* r623to_runnable(T623* C,T0* a1){
  501. T0* R=NULL;
  502. /*IF*/if (((((T623*)C))->_current_type/*12*/)==((void*)(NULL))) {
  503. C->_current_type=a1;
  504. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  505. C->_list=r623runnable((((T623*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel))));
  506. }
  507. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  508. R=(T0*)C;
  509. }
  510. /*FI*/}
  511. else {
  512. R=r623twin(C);
  513. /*[IRF3.3set_current_type*/((((T623*)(((T623*)R))))->_current_type)=(NULL);
  514. /*]*/
  515. R=r623to_runnable(((T623*)R),a1);
  516. }
  517. /*FI*/return R;
  518. }
  519. T0* r623twin(T623* C){
  520. T0* R=NULL;
  521. R=malloc(sizeof(*C));
  522. *((T623*)R)=*C;
  523. return R;
  524. }
  525. /*No:CHECK_INVARIANT.set_current_type*/
  526. /*No:CHECK_INVARIANT.list*/
  527. /*No:CHECK_INVARIANT.current_type*/
  528. /*No:CHECK_INVARIANT.header_comment*/
  529. int r623is_pre_computable(T623* C){
  530. int R=0;
  531. int _i=0;
  532. /*IF*/if (((((T623*)C))->_list/*8*/)==((void*)(NULL))) {
  533. R=1;
  534. }
  535. else {
  536. _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
  537. R=1;
  538. while (!((!(R))||((_i)==(0)))) {
  539. R=r348is_pre_computable(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
  540. _i=(_i)-(1);
  541. }
  542. }
  543. /*FI*/return R;
  544. }
  545. int r623use_current(T623* C){
  546. int R=0;
  547. int _i=0;
  548. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  549. _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
  550. while (!((R)||((_i)==(0)))) {
  551. R=r348use_current(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
  552. _i=(_i)-(1);
  553. }
  554. }
  555. /*FI*/return R;
  556. }
  557. void r623error(T0* a1,T0* a2){
  558. r683add_position(a1);
  559. r683error(((T683*)(oBC364eh)),a2);
  560. }
  561. void r623afd_check(T623* C){
  562. int _i=0;
  563. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  564. _i=(((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/;
  565. while (!((_i)==(0))) {
  566. r348afd_check(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
  567. _i=(_i)-(1);
  568. }
  569. }
  570. /*FI*/}
  571. int r869id(T869* C){
  572. int R=0;
  573. R=X291id((((T869*)C))->_current_type/*4*/);
  574. return R;
  575. }
  576. /*No:RUN_FEATURE_5.arguments*/
  577. T0* r869once_mark(T869* C){
  578. T0* R=NULL;
  579. R=X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  580. return R;
  581. }
  582. /*No:RUN_FEATURE_5.ucs_true*/
  583. void r869once_flag(T869* C){
  584. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
  585. /*]*/
  586. r869once_flag_in(C,oBC496c_code);
  587. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
  588. /*]*/
  589. }
  590. void r869c_define(T869* C){
  591. T0* _bfbc=NULL;
  592. _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  593. /*IF*/if (!(r605once_flag(((T605*)_bfbc),r869once_mark(C)))) {
  594. r869once_boolean(C);
  595. }
  596. /*FI*/r869define_prototype(C);
  597. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_869));
  598. /*]*/
  599. r869once_flag(C);
  600. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_869));
  601. /*]*/
  602. r869define_opening(C);
  603. r869once_flag(C);
  604. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_869));
  605. /*]*/
  606. /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  607. r592compile_to_c(((T592*)((((T869*)C))->_routine_body/*32*/)));
  608. }
  609. /*FI*/r869define_closing(C);
  610. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_869));
  611. /*]*/
  612. }
  613. /*No:RUN_FEATURE_5.actuals_clients*/
  614. void r869once_flag_in(T869* C,T0* a1){
  615. r7extend(((T7*)a1),'f');
  616. r134mapping_c_name_in(((T134*)((((T869*)C))->_base_feature/*44*/)),a1);
  617. }
  618. void r869define_closing(T869* C){
  619. /*IF*/if (r869use_current(C)) {
  620. r324current_class_invariant(((T324*)(oBC364cpp)),(((T869*)C))->_current_type/*4*/);
  621. }
  622. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  623. /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  624. r633compile_to_c(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
  625. }
  626. /*FI*/}
  627. /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
  628. /*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp));
  629. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324));
  630. /*]*/
  631. }/*]*/
  632. }
  633. /*FI*/}
  634. /*No:RUN_FEATURE_5.ucs_in_computation*/
  635. void r869make(T869* C,T0* a1,T0* a2,T0* a3){
  636. C->_current_type=a1;
  637. C->_name=a2;
  638. C->_base_feature=a3;
  639. r199put(((T199*)((((T355*)((T355*)(r869run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  640. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  641. C->_use_current_state=1005;
  642. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  643. r869initialize(C);
  644. r604pop(((T604*)(oBC364small_eiffel)));
  645. }
  646. void r869std_compute_use_current(T869* C){
  647. /*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
  648. /*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
  649. /*IF*/if (r567use_current(((T567*)((((T869*)C))->_require_assertion/*28*/)))) {
  650. C->_use_current_state=1004;
  651. }
  652. /*FI*/}
  653. /*FI*/}
  654. /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
  655. /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  656. /*IF*/if (r592use_current(((T592*)((((T869*)C))->_routine_body/*32*/)))) {
  657. C->_use_current_state=1004;
  658. }
  659. /*FI*/}
  660. /*FI*/}
  661. /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
  662. /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  663. /*IF*/if (r633use_current(((T633*)((((T869*)C))->_ensure_assertion/*36*/)))) {
  664. C->_use_current_state=1004;
  665. }
  666. /*FI*/}
  667. /*FI*/}
  668. /*FI*//*IF*/if (((((T869*)C))->_use_current_state/*40*/)==(1006)) {
  669. C->_use_current_state=1003;
  670. }
  671. /*FI*/}
  672. /*No:RUN_FEATURE_5.name*/
  673. void r869mapping_name(T869* C){
  674. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  675. char b1='r';
  676. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  677. }/*]*/
  678. /*]*/
  679. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r869id(C));
  680. /*]*/
  681. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T869*)C))->_name/*16*/));
  682. /*]*/
  683. }
  684. int r869arg_count(T869* C){
  685. int R=0;
  686. /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  687. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  688. }
  689. /*FI*/return R;
  690. }
  691. void r869routine_afd_check(T869* C){
  692. /*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
  693. r567afd_check(((T567*)((((T869*)C))->_require_assertion/*28*/)));
  694. }
  695. /*FI*//*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  696. r592afd_check(((T592*)((((T869*)C))->_routine_body/*32*/)));
  697. }
  698. /*FI*//*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  699. r633afd_check(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
  700. }
  701. /*FI*/}
  702. /*No:RUN_FEATURE_5.local_vars*/
  703. void r869default_mapping_procedure(T869* C){
  704. r869mapping_name(C);
  705. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  706. char b1='\50';
  707. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  708. }/*]*/
  709. /*]*/
  710. r324put_target_as_target(((T324*)(oBC364cpp)));
  711. /*IF*/if ((r869arg_count(C))>(0)) {
  712. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  713. char b1='\54';
  714. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  715. }/*]*/
  716. /*]*/
  717. r324put_arguments(((T324*)(oBC364cpp)));
  718. }
  719. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
  720. /*]*/
  721. }
  722. /*No:RUN_FEATURE_5.base_feature*/
  723. void r869define_opening(T869* C){
  724. T0* _t=NULL;
  725. int _i=0;
  726. /*IF*/if (((((T869*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  727. _t=X291run_type((((T869*)C))->_result_type/*24*/);
  728. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
  729. /*]*/
  730. X291c_type_for_result_in(_t,oBC496c_code);
  731. r7extend(((T7*)(oBC496c_code)),'\40');
  732. r7extend(((T7*)(oBC496c_code)),'R');
  733. r7extend(((T7*)(oBC496c_code)),'\75');
  734. X291c_initialize_in(_t,oBC496c_code);
  735. r7append(((T7*)(oBC496c_code)),((T0*)ms134_470));
  736. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
  737. /*]*/
  738. }
  739. /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
  740. r620compile_to_c(((T620*)((((T869*)C))->_local_vars/*48*/)));
  741. }
  742. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  743. /*IF*/if (((((T869*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  744. r633compile_to_c_old(((T633*)((((T869*)C))->_ensure_assertion/*36*/)));
  745. }
  746. /*FI*/}
  747. /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
  748. r620initialize_expanded(((T620*)((((T869*)C))->_local_vars/*48*/)));
  749. }
  750. /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
  751. r324rs_link(((T324*)(oBC364cpp)),(T0*)C);
  752. /*IF*/if (r869use_current(C)) {
  753. /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp));
  754. T0* b1=(((T869*)C))->_current_type/*4*/;
  755. r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1);
  756. }/*]*/
  757. }
  758. /*FI*/_i=1;
  759. while (!((_i)>(r869arg_count(C)))) {
  760. _t=X291run_type(r31type(((T31*)((((T869*)C))->_arguments/*20*/)),_i));
  761. r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t);
  762. _i=(_i)+(1);
  763. }
  764. /*IF*/if (((((T869*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  765. /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp));
  766. T0* b1=X291run_type((((T869*)C))->_result_type/*24*/);
  767. r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1);
  768. }/*]*/
  769. }
  770. /*FI*//*IF*/if (((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL))) {
  771. _i=1;
  772. while (!((_i)>(/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/))) {
  773. r39c_trace(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/)),_i)/*)*/)));
  774. _i=(_i)+(1);
  775. }
  776. }
  777. /*FI*/}
  778. /*FI*//*IF*/if (((((T869*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
  779. r567compile_to_c(((T567*)((((T869*)C))->_require_assertion/*28*/)));
  780. }
  781. /*FI*/}
  782. /*No:RUN_FEATURE_5.start_position*/
  783. /*No:RUN_FEATURE_5.fz_00*/
  784. /*No:RUN_FEATURE_5.ensure_assertion*/
  785. int r869is_exported_in(T869* C,T0* a1){
  786. int R=0;
  787. R=r636gives_permission_to(((T636*)(r869clients(C))),a1);
  788. return R;
  789. }
  790. /*No:RUN_FEATURE_5.compute_use_current*/
  791. /*No:RUN_FEATURE_5.result_type*/
  792. /*No:RUN_FEATURE_5.is_static*/
  793. /*No:RUN_FEATURE_5.fz_14*/
  794. void r869add_client(T869* C,T0* a1){
  795. int _i=0;
  796. /*IF*/if (((((T869*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  797. {T187*n=malloc(sizeof(*n));
  798. *n=M187;
  799. r187with_capacity(n,4);
  800. C->_actuals_clients=(T0*)n;
  801. }
  802. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  803. }
  804. else {
  805. _i=r187fast_index_of(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  806. /*IF*/if ((_i)>((((T187*)((T187*)((((T869*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  807. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  808. }
  809. /*FI*/}
  810. /*FI*/r355add_client(((T355*)(r869run_class(C))),a1);
  811. }
  812. /*No:RUN_FEATURE_5.require_assertion*/
  813. /*No:RUN_FEATURE_5.use_current_state*/
  814. /*No:RUN_FEATURE_5.can_be_dropped*/
  815. /*No:RUN_FEATURE_5.current_type*/
  816. T0* r869run_class(T869* C){
  817. T0* R=NULL;
  818. R=X291run_class((((T869*)C))->_current_type/*4*/);
  819. return R;
  820. }
  821. /*No:RUN_FEATURE_5.static_value_mem*/
  822. void r869define_prototype(T869* C){
  823. int _mem_id=0;
  824. _mem_id=r869id(C);
  825. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
  826. /*]*/
  827. /*IF*/if (((((T869*)C))->_result_type/*24*/)==((void*)(NULL))) {
  828. r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
  829. }
  830. else {
  831. X291c_type_for_result_in(X291run_type((((T869*)C))->_result_type/*24*/),oBC496c_code);
  832. }
  833. /*FI*/r7extend(((T7*)(oBC496c_code)),'\40');
  834. r7extend(((T7*)(oBC496c_code)),'r');
  835. r2append_in(_mem_id,oBC496c_code);
  836. X776mapping_c_in((((T869*)C))->_name/*16*/,oBC496c_code);
  837. r7extend(((T7*)(oBC496c_code)),'\50');
  838. /*IF*/if (r869use_current(C)) {
  839. X291c_type_for_target_in((((T869*)C))->_current_type/*4*/,oBC496c_code);
  840. r7extend(((T7*)(oBC496c_code)),'\40');
  841. r7extend(((T7*)(oBC496c_code)),'C');
  842. /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  843. r7extend(((T7*)(oBC496c_code)),'\54');
  844. }
  845. /*FI*/}
  846. /*FI*//*IF*/if (((((T869*)C))->_arguments/*20*/)==((void*)(NULL))) {
  847. /*IF*/if (!(r869use_current(C))) {
  848. r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
  849. }
  850. /*FI*/}
  851. else {
  852. r31compile_to_c_in(((T31*)((((T869*)C))->_arguments/*20*/)),oBC496c_code);
  853. }
  854. /*FI*/r7extend(((T7*)(oBC496c_code)),'\51');
  855. r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code);
  856. /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
  857. /*]*/
  858. }
  859. /*No:RUN_FEATURE_5.ucs_not_computed*/
  860. /*No:RUN_FEATURE_5.fz_int*/
  861. void r869fall_down(T869* C){
  862. T0* _rf=NULL;
  863. T0* _sub_name=NULL;
  864. T0* _sub_bc=NULL;
  865. T0* _current_bc=NULL;
  866. T0* _sub_rc=NULL;
  867. T0* _current_rc=NULL;
  868. int _i=0;
  869. T0* _running=NULL;
  870. _current_rc=X291run_class((((T869*)C))->_current_type/*4*/);
  871. _running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
  872. /*IF*/if ((_running)!=((void*)(NULL))) {
  873. _current_bc=X291base_class((((T869*)C))->_current_type/*4*/);
  874. _i=(((T396*)((T396*)_running)))->_lower/*12*/;
  875. while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
  876. _sub_rc=r396item(((T396*)_running),_i);
  877. /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
  878. _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
  879. _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T869*)C))->_name/*16*/);
  880. _rf=r355get_feature(((T355*)_sub_rc),_sub_name);
  881. }
  882. /*FI*/_i=(_i)+(1);
  883. }
  884. }
  885. /*FI*/}
  886. /*No:RUN_FEATURE_5.routine_body*/
  887. /*No:RUN_FEATURE_5.fz_void*/
  888. /*No:RUN_FEATURE_5.ucs_false*/
  889. /*No:RUN_FEATURE_5.is_pre_computable*/
  890. T0* r869clients(T869* C){
  891. T0* R=NULL;
  892. T0* _bfbc=NULL;
  893. T0* _bc=NULL;
  894. /*IF*/if (((((T869*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  895. _bc=X291base_class((((T869*)C))->_current_type/*4*/);
  896. _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  897. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  898. R=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_clients/*24*/;
  899. }
  900. else {
  901. R=r605clients_for(((T605*)_bc),(((T869*)C))->_name/*16*/);
  902. }
  903. /*FI*/C->_clients_memory=R;
  904. }
  905. else {
  906. R=(((T869*)C))->_clients_memory/*8*/;
  907. }
  908. /*FI*/return R;
  909. }
  910. int r869use_current(T869* C){
  911. int R=0;
  912. {int z1=(((T869*)C))->_use_current_state/*40*/;
  913.  
  914. if((1004==z1)){
  915. R=1;
  916. }
  917.  else 
  918. if((1003==z1)){
  919. }
  920.  else 
  921. if((1005==z1)){
  922. C->_use_current_state=1006;
  923. /*[IRF3.4compute_use_current*/r869std_compute_use_current(C);
  924. /*]*/
  925. R=r869use_current(C);
  926. }
  927.  else {R=1;
  928. }}
  929. return R;
  930. }
  931. void r869mapping_c(T869* C){
  932. /*IF*/if (r869use_current(C)) {
  933. r869default_mapping_procedure(C);
  934. }
  935. else {
  936. /*IF*/if (r324target_cannot_be_dropped(((T324*)(oBC364cpp)))) {
  937. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
  938. /*]*/
  939. }
  940. /*FI*/r869mapping_name(C);
  941. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  942. char b1='\50';
  943. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  944. }/*]*/
  945. /*]*/
  946. /*IF*/if ((r869arg_count(C))>(0)) {
  947. r324put_arguments(((T324*)(oBC364cpp)));
  948. }
  949. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
  950. /*]*/
  951. }
  952. /*FI*/}
  953. /*No:RUN_FEATURE_5.address_of*/
  954. void r869put_tag(T869* C){
  955. T0* _fn=NULL;
  956. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  957. char b1='\42';
  958. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  959. }/*]*/
  960. /*]*/
  961. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  962. X776cpp_put_infix_or_prefix(_fn);
  963. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn));
  964. /*]*/
  965. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496));
  966. /*]*/
  967. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/);
  968. /*]*/
  969. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  970. char b1='\42';
  971. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  972. }/*]*/
  973. /*]*/
  974. }
  975. /*No:RUN_FEATURE_5.clients_memory*/
  976. void r869initialize(T869* C){
  977. C->_arguments=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_arguments/*28*/;
  978. /*IF*/if ((((((T869*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  979. C->_arguments=r31to_runnable(((T31*)((((T869*)C))->_arguments/*20*/)),(((T869*)C))->_current_type/*4*/);
  980. }
  981. /*FI*/C->_local_vars=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
  982. /*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))) {
  983. C->_local_vars=r620to_runnable(((T620*)((((T869*)C))->_local_vars/*48*/)),(((T869*)C))->_current_type/*4*/);
  984. }
  985. /*FI*/C->_routine_body=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
  986. /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  987. C->_routine_body=r592to_runnable(((T592*)((((T869*)C))->_routine_body/*32*/)),(((T869*)C))->_current_type/*4*/);
  988. }
  989. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  990. C->_require_assertion=r134run_require((T0*)C);
  991. }
  992. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  993. C->_ensure_assertion=r134run_ensure((T0*)C);
  994. }
  995. /*FI*/r916add_procedure((T0*)C);
  996. }
  997. /*No:RUN_FEATURE_5.afd_check*/
  998. void r869once_boolean(T869* C){
  999. r7copy(((T7*)(oBC496c_code)),((T0*)ms111_470));
  1000. r7extend(((T7*)(oBC496c_code)),'\40');
  1001. r869once_flag_in(C,oBC496c_code);
  1002. r324put_extern2(((T324*)(oBC364cpp)),oBC496c_code,'0');
  1003. }
  1004. /*No:CALL_INFIX_LT.arguments*/
  1005. T0* r112add_comment(T112* C,T0* a1){
  1006. T0* R=NULL;
  1007. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1008. R=(T0*)C;
  1009. }
  1010. else {
  1011. {T529*n=malloc(sizeof(*n));
  1012. *n=M529;
  1013. r529make(n,(T0*)C,a1);
  1014. R=(T0*)n;
  1015. }
  1016. }
  1017. /*FI*/return R;
  1018. }
  1019. int r112to_integer(T112* C){
  1020. int R=0;
  1021. r112error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1022. return R;
  1023. }
  1024. int r112is_a(T112* C,T0* a1){
  1025. int R=0;
  1026. R=X291is_a(X291run_type((((T112*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  1027. /*IF*/if (!(R)) {
  1028. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  1029. r112error(X662start_position(a1),((T0*)ms4_662));
  1030. }
  1031. /*FI*/return R;
  1032. }
  1033. /*No:CALL_INFIX_LT.is_current*/
  1034. void r112mapping_c_arg(T112* C,T0* a1){
  1035. T0* _actual_type=NULL;
  1036. _actual_type=X291run_type((((T112*)C))->_result_type/*20*/);
  1037. /*IF*/if (X291is_reference(_actual_type)) {
  1038. /*IF*/if (X291is_reference(a1)) {
  1039. r112compile_to_c(C);
  1040. }
  1041. else {
  1042. X291to_expanded(_actual_type);
  1043. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1044. char b1='\50';
  1045. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1046. }/*]*/
  1047. /*]*/
  1048. r112compile_to_c(C);
  1049. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1050. char b1='\51';
  1051. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1052. }/*]*/
  1053. /*]*/
  1054. }
  1055. /*FI*/}
  1056. else {
  1057. /*IF*/if (X291is_reference(a1)) {
  1058. X291to_reference(_actual_type);
  1059. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1060. char b1='\50';
  1061. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1062. }/*]*/
  1063. /*]*/
  1064. r112compile_to_c(C);
  1065. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1066. char b1='\51';
  1067. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1068. }/*]*/
  1069. /*]*/
  1070. }
  1071. else {
  1072. /*IF*/if (X291need_c_struct(a1)) {
  1073. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1074. char b1='\46';
  1075. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1076. }/*]*/
  1077. /*]*/
  1078. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1079. char b1='\50';
  1080. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1081. }/*]*/
  1082. /*]*/
  1083. r112compile_to_c(C);
  1084. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1085. char b1='\51';
  1086. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1087. }/*]*/
  1088. /*]*/
  1089. }
  1090. else {
  1091. r112compile_to_c(C);
  1092. }
  1093. /*FI*/}
  1094. /*FI*/}
  1095. /*FI*/}
  1096. /*No:CALL_INFIX_LT.static_value*/
  1097. void r112make(T112* C,T0* a1,T0* a2,T0* a3){
  1098. T0* _eal=NULL;
  1099. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1100. r683add_position(a2);
  1101. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1102. r683fatal_error(((T683*)(oBC364eh)),b1);
  1103. }/*]*/
  1104. }
  1105. /*FI*/{T454*n=malloc(sizeof(*n));
  1106. *n=M454;
  1107. r454make(n,r112operator(),a2);
  1108. C->_feature_name=(T0*)n;
  1109. }
  1110. {T431*n=malloc(sizeof(*n));
  1111. *n=M431;
  1112. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1113. /*]*/
  1114. _eal=(T0*)n;
  1115. }
  1116. r112make_call_1(C,a1,(((T112*)C))->_feature_name/*28*/,_eal);
  1117. }
  1118. void r112mapping_c_target(T112* C,T0* a1){
  1119. T0* _actual_type=NULL;
  1120. int _flag=0;
  1121. _flag=r324call_invariant_start(a1);
  1122. _actual_type=X291run_type((((T112*)C))->_result_type/*20*/);
  1123. /*IF*/if (X291is_reference(_actual_type)) {
  1124. /*IF*/if (X291is_reference(a1)) {
  1125. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1126. char b1='\50';
  1127. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1128. }/*]*/
  1129. /*]*/
  1130. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1131. char b1='\50';
  1132. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1133. }/*]*/
  1134. /*]*/
  1135. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1136. char b1='T';
  1137. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1138. }/*]*/
  1139. /*]*/
  1140. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1141. /*]*/
  1142. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1143. char b1='\52';
  1144. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1145. }/*]*/
  1146. /*]*/
  1147. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1148. char b1='\51';
  1149. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1150. }/*]*/
  1151. /*]*/
  1152. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1153. char b1='\50';
  1154. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1155. }/*]*/
  1156. /*]*/
  1157. r112compile_to_c(C);
  1158. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1159. char b1='\51';
  1160. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1161. }/*]*/
  1162. /*]*/
  1163. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1164. char b1='\51';
  1165. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1166. }/*]*/
  1167. /*]*/
  1168. }
  1169. else {
  1170. X291to_expanded(_actual_type);
  1171. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1172. char b1='\50';
  1173. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1174. }/*]*/
  1175. /*]*/
  1176. r112compile_to_c(C);
  1177. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1178. char b1='\51';
  1179. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1180. }/*]*/
  1181. /*]*/
  1182. }
  1183. /*FI*/}
  1184. else {
  1185. /*IF*/if (X291is_reference(a1)) {
  1186. X291to_reference(_actual_type);
  1187. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1188. char b1='\50';
  1189. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1190. }/*]*/
  1191. /*]*/
  1192. r112compile_to_c(C);
  1193. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1194. char b1='\51';
  1195. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1196. }/*]*/
  1197. /*]*/
  1198. }
  1199. else {
  1200. /*IF*/if (X291need_c_struct(a1)) {
  1201. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1202. char b1='\46';
  1203. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1204. }/*]*/
  1205. /*]*/
  1206. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1207. char b1='\50';
  1208. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1209. }/*]*/
  1210. /*]*/
  1211. r112compile_to_c(C);
  1212. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1213. char b1='\51';
  1214. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1215. }/*]*/
  1216. /*]*/
  1217. }
  1218. else {
  1219. r112compile_to_c(C);
  1220. }
  1221. /*FI*/}
  1222. /*FI*/}
  1223. /*FI*//*IF*/if (_flag) {
  1224. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1225. char b1='\51';
  1226. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1227. }/*]*/
  1228. /*]*/
  1229. }
  1230. /*FI*/}
  1231. /*No:CALL_INFIX_LT.nb_errors*/
  1232. /*No:CALL_INFIX_LT.feature_name*/
  1233. /*No:CALL_INFIX_LT.fz_iinaiv*/
  1234. /*No:CALL_INFIX_LT.arg_count*/
  1235. /*No:CALL_INFIX_LT.dca_inline_argument*/
  1236. /*No:CALL_INFIX_LT.run_feature*/
  1237. /*No:CALL_INFIX_LT.call_proc_call_c2c*/
  1238. /*No:CALL_INFIX_LT.start_position*/
  1239. /*No:CALL_INFIX_LT.target*/
  1240. void r112compile_to_c(T112* C){
  1241. /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_character(X291run_type(X662result_type((((T112*)C))->_target/*12*/))))) {
  1242. r112c2c_cast_op(C,((T0*)ms132_470),((T0*)ms36_473));
  1243. }
  1244. else {
  1245. /*[IRF3.6call_proc_call_c2c*/{T112* C1=C;
  1246. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1247. }/*]*/
  1248. }
  1249. /*FI*/}
  1250. /*No:CALL_INFIX_LT.c_simple*/
  1251. T0* r112to_runnable(T112* C,T0* a1){
  1252. T0* R=NULL;
  1253. T0* _tla=NULL;
  1254. T0* _a=NULL;
  1255. /*IF*/if (((((T112*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1256. r112to_runnable_0(C,a1);
  1257. _a=X431to_runnable((((T112*)C))->_arguments/*24*/,a1);
  1258. /*IF*/if ((_a)==((void*)(NULL))) {
  1259. r112error(X662start_position(r112arg1(C)),((T0*)ms55_470));
  1260. }
  1261. else {
  1262. C->_arguments=_a;
  1263. }
  1264. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1265. X431match_with((((T112*)C))->_arguments/*24*/,(((T112*)C))->_run_feature/*16*/);
  1266. }
  1267. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1268. _tla=(((T112*)C))->_result_type/*20*/;
  1269. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1270. case 239: 
  1271. break;
  1272. default:
  1273. _tla=NULL;
  1274. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1275. C->_result_type=X291run_type(X662result_type(r112arg1(C)));
  1276. }
  1277. /*FI*/}
  1278. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1279. R=(T0*)C;
  1280. }
  1281. /*FI*/}
  1282. else {
  1283. R=r112twin(C);
  1284. /*[IRF3.3set_current_type*/((((T112*)(((T112*)R))))->_current_type)=(NULL);
  1285. /*]*/
  1286. R=r112to_runnable(((T112*)R),a1);
  1287. }
  1288. /*FI*/return R;
  1289. }
  1290. /*No:CALL_INFIX_LT.result_type*/
  1291. /*No:CALL_INFIX_LT.is_result*/
  1292. T0* r112twin(T112* C){
  1293. T0* R=NULL;
  1294. R=malloc(sizeof(*C));
  1295. *((T112*)R)=*C;
  1296. return R;
  1297. }
  1298. /*No:CALL_INFIX_LT.set_current_type*/
  1299. T0* r112operator(void){
  1300. T0* R=NULL;
  1301. R=((T0*)ms36_473);
  1302. return R;
  1303. }
  1304. int r112is_static(T112* C){
  1305. int R=0;
  1306. /*IF*/if (X291is_integer(X662result_type((((T112*)C))->_target/*12*/))) {
  1307. /*IF*/if ((X662is_static((((T112*)C))->_target/*12*/))&&(X662is_static(r112arg1(C)))) {
  1308. R=1;
  1309. /*IF*/if ((X662static_value((((T112*)C))->_target/*12*/))<(X662static_value(r112arg1(C)))) {
  1310. C->_static_value_mem=1;
  1311. }
  1312. else {
  1313. C->_static_value_mem=0;
  1314. }
  1315. /*FI*/}
  1316. /*FI*/}
  1317. /*FI*/return R;
  1318. }
  1319. /*No:CALL_INFIX_LT.fz_07*/
  1320. /*No:CALL_INFIX_LT.fz_unsigned*/
  1321. /*No:CALL_INFIX_LT.can_be_dropped*/
  1322. /*No:CALL_INFIX_LT.current_type*/
  1323. void r112compile_to_c_old(T112* C){
  1324. X662compile_to_c_old((((T112*)C))->_target/*12*/);
  1325. /*IF*/{/*AT*/X431compile_to_c_old((((T112*)C))->_arguments/*24*/);
  1326. }
  1327. /*FI*/}
  1328. void r112c2c_cast_op(T112* C,T0* a1,T0* a2){
  1329. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1330. char b1='\50';
  1331. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1332. }/*]*/
  1333. /*]*/
  1334. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1335. char b1='\50';
  1336. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1337. }/*]*/
  1338. /*]*/
  1339. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1340. char b1='\50';
  1341. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1342. }/*]*/
  1343. /*]*/
  1344. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
  1345. /*]*/
  1346. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1347. char b1='\51';
  1348. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1349. }/*]*/
  1350. /*]*/
  1351. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1352. char b1='\50';
  1353. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1354. }/*]*/
  1355. /*]*/
  1356. X662compile_to_c((((T112*)C))->_target/*12*/);
  1357. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1358. char b1='\51';
  1359. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1360. }/*]*/
  1361. /*]*/
  1362. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1363. char b1='\51';
  1364. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1365. }/*]*/
  1366. /*]*/
  1367. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a2);
  1368. /*]*/
  1369. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1370. char b1='\50';
  1371. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1372. }/*]*/
  1373. /*]*/
  1374. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1375. char b1='\50';
  1376. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1377. }/*]*/
  1378. /*]*/
  1379. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
  1380. /*]*/
  1381. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1382. char b1='\51';
  1383. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1384. }/*]*/
  1385. /*]*/
  1386. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1387. char b1='\50';
  1388. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1389. }/*]*/
  1390. /*]*/
  1391. X662compile_to_c(r112arg1(C));
  1392. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1393. char b1='\51';
  1394. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1395. }/*]*/
  1396. /*]*/
  1397. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1398. char b1='\51';
  1399. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1400. }/*]*/
  1401. /*]*/
  1402. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1403. char b1='\51';
  1404. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1405. }/*]*/
  1406. /*]*/
  1407. }
  1408. /*No:CALL_INFIX_LT.static_value_mem*/
  1409. void r112make_call_1(T112* C,T0* a1,T0* a2,T0* a3){
  1410. C->_target=a1;
  1411. C->_feature_name=a2;
  1412. C->_arguments=a3;
  1413. }
  1414. /*No:CALL_INFIX_LT.is_manifest_string*/
  1415. /*No:CALL_INFIX_LT.is_void*/
  1416. void r112to_runnable_0(T112* C,T0* a1){
  1417. C->_current_type=a1;
  1418. r112cpc_to_runnable(C,a1);
  1419. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T112*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  1420. /*IF*/if (((((T112*)C))->_result_type/*20*/)==((void*)(NULL))) {
  1421. r683add_position(X496start_position((((T112*)C))->_run_feature/*16*/));
  1422. r112error((((T454*)((T454*)((((T112*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  1423. }
  1424.  else if (X291is_like_current((((T112*)C))->_result_type/*20*/)) {
  1425. C->_result_type=X662result_type((((T112*)C))->_target/*12*/);
  1426. }
  1427. /*FI*/}
  1428. /*No:CALL_INFIX_LT.is_pre_computable*/
  1429. void r112cpc_to_runnable(T112* C,T0* a1){
  1430. T0* _rc=NULL;
  1431. T0* _t=NULL;
  1432. _t=X662to_runnable((((T112*)C))->_target/*12*/,a1);
  1433. /*IF*/if ((_t)==((void*)(NULL))) {
  1434. r683add_position(X662start_position((((T112*)C))->_target/*12*/));
  1435. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1436. r683fatal_error(((T683*)(oBC364eh)),b1);
  1437. }/*]*/
  1438. }
  1439. /*FI*/C->_target=_t;
  1440. _rc=X291run_class(X662result_type((((T112*)C))->_target/*12*/));
  1441. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1442. r576update((((T112*)C))->_target/*12*/,(((T112*)C))->_run_feature/*16*/);
  1443. }
  1444. int r112use_current(T112* C){
  1445. int R=0;
  1446. /*IF*/{/*AT*/R=X431use_current((((T112*)C))->_arguments/*24*/);
  1447. }
  1448. /*FI*//*IF*/if (R) {
  1449. }
  1450.  else if (X662is_current((((T112*)C))->_target/*12*/)) {
  1451. R=X496use_current((((T112*)C))->_run_feature/*16*/);
  1452. }
  1453. else {
  1454. R=X662use_current((((T112*)C))->_target/*12*/);
  1455. }
  1456. /*FI*/return R;
  1457. }
  1458. void r112finalize(T112* C){
  1459. T0* _rf=NULL;
  1460. T0* _rc=NULL;
  1461. _rf=(((T112*)C))->_run_feature/*16*/;
  1462. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1463. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1464. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1465. C->_run_feature=_rf;
  1466. }
  1467. /*FI*/}
  1468. void r112error(T0* a1,T0* a2){
  1469. r683add_position(a1);
  1470. r683error(((T683*)(oBC364eh)),a2);
  1471. }
  1472. /*No:CALL_INFIX_LT.isa_dca_inline_argument*/
  1473. /*No:CALL_INFIX_LT.fatal_error*/
  1474. /*No:CALL_INFIX_LT.fz_bad_argument*/
  1475. T0* r112arg1(T112* C){
  1476. T0* R=NULL;
  1477. R=X431first((((T112*)C))->_arguments/*24*/);
  1478. return R;
  1479. }
  1480. /*No:CALL_INFIX_LT.us_lt*/
  1481. void r112afd_check(T112* C){
  1482. T0* _running=NULL;
  1483. T0* _rc=NULL;
  1484. _rc=X291run_class(X662result_type((((T112*)C))->_target/*12*/));
  1485. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1486. /*IF*/if ((_running)==((void*)(NULL))) {
  1487. r683add_position(X662start_position((((T112*)C))->_target/*12*/));
  1488. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1489. r7append(((T7*)(oBC683explanation)),b1);
  1490. }/*]*/
  1491. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1492. r7append(((T7*)(oBC683explanation)),b1);
  1493. }/*]*/
  1494. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1495. r7append(((T7*)(oBC683explanation)),b1);
  1496. }/*]*/
  1497. r683print_as_warning(((T683*)(oBC364eh)));
  1498. r355set_at_run_time(((T355*)_rc));
  1499. }
  1500.  else if ((r396count(((T396*)_running)))>(0)) {
  1501. r576update((((T112*)C))->_target/*12*/,(((T112*)C))->_run_feature/*16*/);
  1502. }
  1503. /*FI*/X662afd_check((((T112*)C))->_target/*12*/);
  1504. /*IF*/{/*AT*/X431afd_check((((T112*)C))->_arguments/*24*/);
  1505. }
  1506. /*FI*/}
  1507. int r648id(T648* C){
  1508. int R=0;
  1509. R=(((T355*)((T355*)(r648run_class(C)))))->_id/*4*/;
  1510. return R;
  1511. }
  1512. int r648has_creation(T648* C,T0* a1){
  1513. int R=0;
  1514. R=X291has_creation((((T648*)C))->_run_type/*8*/,a1);
  1515. return R;
  1516. }
  1517. /*No:TYPE_LIKE_FEATURE.is_anchored*/
  1518. int r648is_array(T648* C){
  1519. int R=0;
  1520. R=X291is_array((((T648*)C))->_run_type/*8*/);
  1521. return R;
  1522. }
  1523. int r648is_a(T648* C,T0* a1){
  1524. int R=0;
  1525. R=X291is_a((((T648*)C))->_run_type/*8*/,a1);
  1526. return R;
  1527. }
  1528. void r648c_initialize_in(T648* C,T0* a1){
  1529. X291c_initialize_in((((T648*)C))->_run_type/*8*/,a1);
  1530. }
  1531. void r648c_type_for_argument_in(T648* C,T0* a1){
  1532. X291c_type_for_argument_in((((T648*)C))->_run_type/*8*/,a1);
  1533. }
  1534. void r648gc_call_new_in(T648* C,T0* a1){
  1535. r7append(((T7*)a1),((T0*)ms115_470));
  1536. r2append_in(r648id(C),a1);
  1537. r7extend(((T7*)a1),'\50');
  1538. r7extend(((T7*)a1),'\51');
  1539. }
  1540. int r648is_pointer(T648* C){
  1541. int R=0;
  1542. R=X291is_pointer((((T648*)C))->_run_type/*8*/);
  1543. return R;
  1544. }
  1545. /*No:TYPE_LIKE_FEATURE.run_type*/
  1546. int r648is_dummy_expanded(T648* C){
  1547. int R=0;
  1548. R=X291is_dummy_expanded((((T648*)C))->_run_type/*8*/);
  1549. return R;
  1550. }
  1551. int r648is_string(T648* C){
  1552. int R=0;
  1553. R=X291is_string((((T648*)C))->_run_type/*8*/);
  1554. return R;
  1555. }
  1556. int r648space_for_variable(T648* C){
  1557. int R=0;
  1558. R=X291space_for_variable((((T648*)C))->_run_type/*8*/);
  1559. return R;
  1560. }
  1561. /*No:TYPE_LIKE_FEATURE.is_like_feature*/
  1562. /*No:TYPE_LIKE_FEATURE.is_like_current*/
  1563. T0* r648ultimate_run_type(T648* C,T0* a1){
  1564. T0* R=NULL;
  1565. T0* _t=NULL;
  1566. _t=a1;
  1567. while (!((_t)==((void*)(X291run_type(_t))))) {
  1568. _t=X291run_type(_t);
  1569. }
  1570. /*IF*/if (((((T648*)C))->_run_type/*8*/)==((void*)(NULL))) {
  1571. C->_run_type=_t;
  1572. R=(T0*)C;
  1573. }
  1574. else {
  1575. R=r648twin(C);
  1576. /*[IRF3.3set_run_type*/((((T648*)(((T648*)R))))->_run_type)=(_t);
  1577. /*]*/
  1578. }
  1579. /*FI*/return R;
  1580. }
  1581. void r648make(T648* C,T0* a1,T0* a2){
  1582. C->_start_position=a1;
  1583. C->_like_what=a2;
  1584. r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
  1585. r7append(((T7*)(oBC646tmp_written_mark)),X776to_string((((T648*)C))->_like_what/*12*/));
  1586. C->_written_mark=r902item(oBC646tmp_written_mark);
  1587. }
  1588. void r648anchor_cycle_start(T648* C){
  1589. int _i=0;
  1590. /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
  1591. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  1592. }
  1593.  else if (r907fast_has(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/)) {
  1594. _i=0;
  1595. while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
  1596. r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
  1597. _i=(_i)+(1);
  1598. }
  1599. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  1600. r683fatal_error(((T683*)(oBC364eh)),b1);
  1601. }/*]*/
  1602. }
  1603. else {
  1604. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  1605. }
  1606. /*FI*/}
  1607. /*No:TYPE_LIKE_FEATURE.fz_bad_anchor*/
  1608. void r648mapping_cast(T648* C){
  1609. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  1610. /*]*/
  1611. r7extend(((T7*)(oBC291tmp_string)),'\50');
  1612. r648c_type_for_target_in(C,oBC291tmp_string);
  1613. r7extend(((T7*)(oBC291tmp_string)),'\51');
  1614. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  1615. /*]*/
  1616. }
  1617. /*No:TYPE_LIKE_FEATURE.start_position*/
  1618. void r648c_type_for_target_in(T648* C,T0* a1){
  1619. X291c_type_for_target_in((((T648*)C))->_run_type/*8*/,a1);
  1620. }
  1621. /*No:TYPE_LIKE_FEATURE.fz_gc_mark*/
  1622. /*No:TYPE_LIKE_FEATURE.like_what*/
  1623. void r648gc_initialize(T648* C){
  1624. X291gc_initialize((((T648*)C))->_run_type/*8*/);
  1625. }
  1626. int r648is_character(T648* C){
  1627. int R=0;
  1628. R=X291is_character((((T648*)C))->_run_type/*8*/);
  1629. return R;
  1630. }
  1631. int r648is_user_expanded(T648* C){
  1632. int R=0;
  1633. R=X291is_user_expanded((((T648*)C))->_run_type/*8*/);
  1634. return R;
  1635. }
  1636. /*No:TYPE_LIKE_FEATURE.written_mark*/
  1637. /*No:TYPE_LIKE_FEATURE.is_run_type*/
  1638. T0* r648to_runnable(T648* C,T0* a1){
  1639. T0* R=NULL;
  1640. T0* _rc=NULL;
  1641. T0* _f=NULL;
  1642. T0* _t=NULL;
  1643. r648anchor_cycle_start(C);
  1644. _rc=X291run_class(a1);
  1645. _f=X291look_up_for(a1,_rc,(((T648*)C))->_like_what/*12*/);
  1646. /*IF*/if ((_f)==((void*)(NULL))) {
  1647. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms1_648));
  1648. }
  1649. else {
  1650. _t=/*X359*/((T0*)(((T398*)((T398*)_f)))->_result_type/*12*/);
  1651. /*IF*/if ((_t)==((void*)(NULL))) {
  1652. r683add_position(X359start_position(_f));
  1653. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms2_648));
  1654. }
  1655. else {
  1656. _t=X291to_runnable(_t,a1);
  1657. /*IF*/if ((_t)==((void*)(NULL))) {
  1658. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms54_470));
  1659. }
  1660. else {
  1661. R=r648ultimate_run_type(C,X291run_type(_t));
  1662. }
  1663. /*FI*/}
  1664. /*FI*/}
  1665. /*FI*/r648anchor_cycle_end(C);
  1666. return R;
  1667. }
  1668. void r648c_type_for_external_in(T648* C,T0* a1){
  1669. /*IF*/if (r648is_reference(C)) {
  1670. r7append(((T7*)a1),((T0*)ms133_470));
  1671. r7extend(((T7*)a1),'\52');
  1672. }
  1673. else {
  1674. r648c_type_for_result_in(C,a1);
  1675. }
  1676. /*FI*/}
  1677. T0* r648generic_list(T648* C){
  1678. T0* R=NULL;
  1679. /*IF*/if (r648is_generic(C)) {
  1680. R=X291generic_list((((T648*)C))->_run_type/*8*/);
  1681. }
  1682. else {
  1683. r648fatal_error_generic_list(C);
  1684. }
  1685. /*FI*/return R;
  1686. }
  1687. /*No:TYPE_LIKE_FEATURE.is_formal_generic*/
  1688. void r648demangling_in(T648* C,T0* a1){
  1689. /*IF*/if (r648is_reference(C)) {
  1690. r7extend(((T7*)a1),'R');
  1691. }
  1692. else {
  1693. r7extend(((T7*)a1),'E');
  1694. }
  1695. /*FI*/r7extend(((T7*)a1),'\40');
  1696. r7append(((T7*)a1),r648run_time_mark(C));
  1697. }
  1698. int r648is_real(T648* C){
  1699. int R=0;
  1700. R=X291is_real((((T648*)C))->_run_type/*8*/);
  1701. return R;
  1702. }
  1703. T0* r648twin(T648* C){
  1704. T0* R=NULL;
  1705. R=malloc(sizeof(*C));
  1706. *((T648*)R)=*C;
  1707. return R;
  1708. }
  1709. int r648is_bit(T648* C){
  1710. int R=0;
  1711. R=X291is_bit((((T648*)C))->_run_type/*8*/);
  1712. return R;
  1713. }
  1714. void r648fatal_error_generic_list(T648* C){
  1715. r683add_type((T0*)C,((T0*)ms12_291));
  1716. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1717. }
  1718. /*No:TYPE_LIKE_FEATURE.fz_new*/
  1719. T0* r648smallest_ancestor(T648* C,T0* a1){
  1720. T0* R=NULL;
  1721. R=X291smallest_ancestor((((T648*)C))->_run_type/*8*/,a1);
  1722. return R;
  1723. }
  1724. /*No:TYPE_LIKE_FEATURE.set_run_type*/
  1725. int r648is_boolean(T648* C){
  1726. int R=0;
  1727. R=X291is_boolean((((T648*)C))->_run_type/*8*/);
  1728. return R;
  1729. }
  1730. int r648is_double(T648* C){
  1731. int R=0;
  1732. R=X291is_double((((T648*)C))->_run_type/*8*/);
  1733. return R;
  1734. }
  1735. T0* r648run_class(T648* C){
  1736. T0* R=NULL;
  1737. R=r604run_class((((T648*)C))->_run_type/*8*/);
  1738. return R;
  1739. }
  1740. T0* r648run_time_mark(T648* C){
  1741. T0* R=NULL;
  1742. /*IF*/if (((((T648*)C))->_run_type/*8*/)!=((void*)(NULL))) {
  1743. R=X291run_time_mark((((T648*)C))->_run_type/*8*/);
  1744. }
  1745. /*FI*/return R;
  1746. }
  1747. void r648c_initialize(T648* C){
  1748. X291c_initialize((((T648*)C))->_run_type/*8*/);
  1749. }
  1750. void r648cast_to_ref(T648* C){
  1751. X291cast_to_ref((((T648*)C))->_run_type/*8*/);
  1752. }
  1753. void r648gc_mark_in(T648* C,T0* a1){
  1754. r7append(((T7*)a1),((T0*)ms107_470));
  1755. r2append_in(r648id(C),a1);
  1756. }
  1757. /*No:TYPE_LIKE_FEATURE.fz_cad*/
  1758. int r648is_a_in(T648* C,T0* a1,T0* a2){
  1759. int R=0;
  1760. T0* _ct=NULL;
  1761. T0* _t2=NULL;
  1762. T0* _t1=NULL;
  1763. /*IF*/if (((((T648*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
  1764. R=1;
  1765. }
  1766. else {
  1767. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  1768. _t1=r648to_runnable(C,_ct);
  1769. _t2=X291to_runnable(a1,_ct);
  1770. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  1771. R=1;
  1772. }
  1773. else {
  1774. R=X291is_a(_t1,_t2);
  1775. }
  1776. /*FI*/}
  1777. /*FI*/return R;
  1778. }
  1779. T0* r648look_up_for(T648* C,T0* a1,T0* a2){
  1780. T0* R=NULL;
  1781. R=r605look_up_for(((T605*)(r648base_class(C))),a1,a2);
  1782. return R;
  1783. }
  1784. void r648c_header_pass1(T648* C){
  1785. X291c_header_pass1((((T648*)C))->_run_type/*8*/);
  1786. }
  1787. void r648c_type_for_result_in(T648* C,T0* a1){
  1788. X291c_type_for_result_in((((T648*)C))->_run_type/*8*/,a1);
  1789. }
  1790. T0* r648expanded_initializer(T648* C){
  1791. T0* R=NULL;
  1792. R=X291expanded_initializer((((T648*)C))->_run_type/*8*/);
  1793. return R;
  1794. }
  1795. /*No:TYPE_LIKE_FEATURE.fz_void*/
  1796. /*No:TYPE_LIKE_FEATURE.fz_dot*/
  1797.  
  1798.