home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_jvm43.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  44.1 KB  |  1,433 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_jvm.h"
  9. /*No:CALL_INFIX_OR.arguments*/
  10. T0* r121add_comment(T121* C,T0* a1){
  11. T0* R=NULL;
  12. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  13. R=(T0*)C;
  14. }
  15. else {
  16. {T529*n=malloc(sizeof(*n));
  17. *n=M529;
  18. r529make(n,(T0*)C,a1);
  19. R=(T0*)n;
  20. }
  21. }
  22. /*FI*/return R;
  23. }
  24. int r121to_integer(T121* C){
  25. int R=0;
  26. r121error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  27. return R;
  28. }
  29. int r121is_a(T121* C,T0* a1){
  30. int R=0;
  31. R=X291is_a(X291run_type((((T121*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  32. /*IF*/if (!(R)) {
  33. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  34. r121error(X662start_position(a1),((T0*)ms4_662));
  35. }
  36. /*FI*/return R;
  37. }
  38. /*No:CALL_INFIX_OR.is_current*/
  39. /*No:CALL_INFIX_OR.jvm_branch_if_false*/
  40. /*No:CALL_INFIX_OR.static_value*/
  41. void r121make(T121* C,T0* a1,T0* a2,T0* a3){
  42. T0* _eal=NULL;
  43. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  44. r683add_position(a2);
  45. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  46. r683fatal_error(((T683*)(oBC364eh)),b1);
  47. }/*]*/
  48. }
  49. /*FI*/{T454*n=malloc(sizeof(*n));
  50. *n=M454;
  51. r454make(n,r121operator(),a2);
  52. C->_feature_name=(T0*)n;
  53. }
  54. {T431*n=malloc(sizeof(*n));
  55. *n=M431;
  56. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  57. /*]*/
  58. _eal=(T0*)n;
  59. }
  60. r121make_call_1(C,a1,(((T121*)C))->_feature_name/*28*/,_eal);
  61. }
  62. /*No:CALL_INFIX_OR.nb_errors*/
  63. /*No:CALL_INFIX_OR.feature_name*/
  64. /*No:CALL_INFIX_OR.compile_to_jvm_assignment*/
  65. /*No:CALL_INFIX_OR.fz_iinaiv*/
  66. /*No:CALL_INFIX_OR.arg_count*/
  67. /*No:CALL_INFIX_OR.jvm_branch_if_true*/
  68. /*No:CALL_INFIX_OR.run_feature*/
  69. /*No:CALL_INFIX_OR.start_position*/
  70. void r121compile_to_jvm_old(T121* C){
  71. X662compile_to_jvm_old((((T121*)C))->_target/*12*/);
  72. /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T121*)C))->_arguments/*24*/)));
  73. }
  74. /*FI*/}
  75. /*No:CALL_INFIX_OR.target*/
  76. T0* r121to_runnable(T121* C,T0* a1){
  77. T0* R=NULL;
  78. T0* _tla=NULL;
  79. T0* _a=NULL;
  80. /*IF*/if (((((T121*)C))->_current_type/*8*/)==((void*)(NULL))) {
  81. r121to_runnable_0(C,a1);
  82. _a=r431to_runnable(((T431*)((((T121*)C))->_arguments/*24*/)),a1);
  83. /*IF*/if ((_a)==((void*)(NULL))) {
  84. r121error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
  85. }
  86. else {
  87. C->_arguments=_a;
  88. }
  89. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  90. r431match_with(((T431*)((((T121*)C))->_arguments/*24*/)),(((T121*)C))->_run_feature/*16*/);
  91. }
  92. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  93. _tla=(((T121*)C))->_result_type/*20*/;
  94. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  95. case 239: 
  96. break;
  97. default:
  98. _tla=NULL;
  99. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  100. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/));
  101. }
  102. /*FI*/}
  103. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  104. R=(T0*)C;
  105. }
  106. /*FI*/}
  107. else {
  108. R=r121twin(C);
  109. /*[IRF3.3set_current_type*/((((T121*)(((T121*)R))))->_current_type)=(NULL);
  110. /*]*/
  111. R=r121to_runnable(((T121*)R),a1);
  112. }
  113. /*FI*/return R;
  114. }
  115. /*No:CALL_INFIX_OR.result_type*/
  116. /*No:CALL_INFIX_OR.is_result*/
  117. T0* r121twin(T121* C){
  118. T0* R=NULL;
  119. R=malloc(sizeof(*C));
  120. *((T121*)R)=*C;
  121. return R;
  122. }
  123. /*No:CALL_INFIX_OR.set_current_type*/
  124. T0* r121operator(void){
  125. T0* R=NULL;
  126. R=((T0*)ms41_473);
  127. return R;
  128. }
  129. int r121is_static(T121* C){
  130. int R=0;
  131. /*IF*/if (X291is_boolean(X662result_type((((T121*)C))->_target/*12*/))) {
  132. /*IF*/if ((X662is_static((((T121*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/))) {
  133. R=1;
  134. C->_static_value_mem=(X662static_value((((T121*)C))->_target/*12*/))+(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T121*)C))->_arguments/*24*/)))/*)*/));
  135. /*IF*/if (((((T121*)C))->_static_value_mem/*4*/)==(2)) {
  136. C->_static_value_mem=1;
  137. }
  138. /*FI*/}
  139. /*FI*/}
  140. /*FI*/return R;
  141. }
  142. void r121standard_compile_target_to_jvm(T121* C){
  143. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C;
  144. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  145. }/*]*/
  146. /*]*/
  147. X291jvm_check_class_invariant((((T121*)C))->_result_type/*20*/);
  148. }
  149. int r121compile_to_jvm_into(T121* C,T0* a1){
  150. int R=0;
  151. R=r121standard_compile_to_jvm_into(C,a1);
  152. return R;
  153. }
  154. /*No:CALL_INFIX_OR.compile_target_to_jvm*/
  155. /*No:CALL_INFIX_OR.fz_07*/
  156. /*No:CALL_INFIX_OR.can_be_dropped*/
  157. /*No:CALL_INFIX_OR.current_type*/
  158. /*No:CALL_INFIX_OR.jvm_assign*/
  159. /*No:CALL_INFIX_OR.static_value_mem*/
  160. void r121make_call_1(T121* C,T0* a1,T0* a2,T0* a3){
  161. C->_target=a1;
  162. C->_feature_name=a2;
  163. C->_arguments=a3;
  164. }
  165. /*No:CALL_INFIX_OR.is_manifest_string*/
  166. /*No:CALL_INFIX_OR.is_void*/
  167. int r121jvm_standard_branch_if_false(T121* C){
  168. int R=0;
  169. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C;
  170. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  171. }/*]*/
  172. /*]*/
  173. R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
  174. return R;
  175. }
  176. /*No:CALL_INFIX_OR.compile_to_jvm*/
  177. void r121to_runnable_0(T121* C,T0* a1){
  178. C->_current_type=a1;
  179. r121cpc_to_runnable(C,a1);
  180. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T121*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  181. /*IF*/if (((((T121*)C))->_result_type/*20*/)==((void*)(NULL))) {
  182. r683add_position(X496start_position((((T121*)C))->_run_feature/*16*/));
  183. r121error((((T454*)((T454*)((((T121*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  184. }
  185.  else if (X291is_like_current((((T121*)C))->_result_type/*20*/)) {
  186. C->_result_type=X662result_type((((T121*)C))->_target/*12*/);
  187. }
  188. /*FI*/}
  189. /*No:CALL_INFIX_OR.is_pre_computable*/
  190. int r121jvm_standard_branch_if_true(T121* C){
  191. int R=0;
  192. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C;
  193. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  194. }/*]*/
  195. /*]*/
  196. R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
  197. return R;
  198. }
  199. int r121use_current(T121* C){
  200. int R=0;
  201. /*IF*/{/*AT*/R=r431use_current(((T431*)((((T121*)C))->_arguments/*24*/)));
  202. }
  203. /*FI*//*IF*/if (R) {
  204. }
  205.  else if (X662is_current((((T121*)C))->_target/*12*/)) {
  206. R=X496use_current((((T121*)C))->_run_feature/*16*/);
  207. }
  208. else {
  209. R=X662use_current((((T121*)C))->_target/*12*/);
  210. }
  211. /*FI*/return R;
  212. }
  213. void r121cpc_to_runnable(T121* C,T0* a1){
  214. T0* _rc=NULL;
  215. T0* _t=NULL;
  216. _t=X662to_runnable((((T121*)C))->_target/*12*/,a1);
  217. /*IF*/if ((_t)==((void*)(NULL))) {
  218. r683add_position(X662start_position((((T121*)C))->_target/*12*/));
  219. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  220. r683fatal_error(((T683*)(oBC364eh)),b1);
  221. }/*]*/
  222. }
  223. /*FI*/C->_target=_t;
  224. _rc=X291run_class(X662result_type((((T121*)C))->_target/*12*/));
  225. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  226. r576update((((T121*)C))->_target/*12*/,(((T121*)C))->_run_feature/*16*/);
  227. }
  228. void r121error(T0* a1,T0* a2){
  229. r683add_position(a1);
  230. r683error(((T683*)(oBC364eh)),a2);
  231. }
  232. /*No:CALL_INFIX_OR.isa_dca_inline_argument*/
  233. /*No:CALL_INFIX_OR.fatal_error*/
  234. /*No:CALL_INFIX_OR.fz_bad_argument*/
  235. /*No:CALL_INFIX_OR.arg1*/
  236. int r121standard_compile_to_jvm_into(T121* C,T0* a1){
  237. int R=0;
  238. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T121* C1=C;
  239. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  240. }/*]*/
  241. /*]*/
  242. R=X291jvm_convert_to(X291run_type((((T121*)C))->_result_type/*20*/),a1);
  243. return R;
  244. }
  245. /*No:CALL_INFIX_OR.call_proc_call_c2jvm*/
  246. void r121afd_check(T121* C){
  247. T0* _running=NULL;
  248. T0* _rc=NULL;
  249. _rc=X291run_class(X662result_type((((T121*)C))->_target/*12*/));
  250. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  251. /*IF*/if ((_running)==((void*)(NULL))) {
  252. r683add_position(X662start_position((((T121*)C))->_target/*12*/));
  253. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  254. r7append(((T7*)(oBC683explanation)),b1);
  255. }/*]*/
  256. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  257. r7append(((T7*)(oBC683explanation)),b1);
  258. }/*]*/
  259. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  260. r7append(((T7*)(oBC683explanation)),b1);
  261. }/*]*/
  262. r683print_as_warning(((T683*)(oBC364eh)));
  263. r355set_at_run_time(((T355*)_rc));
  264. }
  265.  else if ((r396count(((T396*)_running)))>(0)) {
  266. r576update((((T121*)C))->_target/*12*/,(((T121*)C))->_run_feature/*16*/);
  267. }
  268. /*FI*/X662afd_check((((T121*)C))->_target/*12*/);
  269. /*IF*/{/*AT*/r431afd_check(((T431*)((((T121*)C))->_arguments/*24*/)));
  270. }
  271. /*FI*/}
  272. /*No:CALL_INFIX_OR.us_or*/
  273. int r590debug_check(T590* C){
  274. int R=0;
  275. R=((((T590*)C))->_level/*0*/)==(1);
  276. return R;
  277. }
  278. /*No:RUN_CONTROL.level_check_debug*/
  279. /*No:RUN_CONTROL.set_require_check*/
  280. /*No:RUN_CONTROL.set_trace*/
  281. /*No:RUN_CONTROL.set_all_check*/
  282. int r590all_check(T590* C){
  283. int R=0;
  284. R=((((T590*)C))->_level/*0*/)>=(0);
  285. return R;
  286. }
  287. /*No:RUN_CONTROL.set_no_check*/
  288. /*No:RUN_CONTROL.root_class*/
  289. /*No:RUN_CONTROL.level_ensure*/
  290. /*No:RUN_CONTROL.level_require*/
  291. /*No:RUN_CONTROL.make*/
  292. /*No:RUN_CONTROL.set_root_class*/
  293. /*No:RUN_CONTROL.trace*/
  294. /*No:RUN_CONTROL.cecil_path*/
  295. /*No:RUN_CONTROL.level_loop*/
  296. /*No:RUN_CONTROL.set_ensure_check*/
  297. /*No:RUN_CONTROL.level_check_all*/
  298. int r590ensure_check(T590* C){
  299. int R=0;
  300. R=((((T590*)C))->_level/*0*/)>=(-3);
  301. return R;
  302. }
  303. int r590require_check(T590* C){
  304. int R=0;
  305. R=((((T590*)C))->_level/*0*/)>=(-4);
  306. return R;
  307. }
  308. /*No:RUN_CONTROL.level*/
  309. /*No:RUN_CONTROL.set_boost*/
  310. /*No:RUN_CONTROL.set_debug_check*/
  311. /*No:RUN_CONTROL.level_no*/
  312. /*No:RUN_CONTROL.set_invariant_check*/
  313. int r590loop_check(T590* C){
  314. int R=0;
  315. R=((((T590*)C))->_level/*0*/)>=(-1);
  316. return R;
  317. }
  318. /*No:RUN_CONTROL.level_invariant*/
  319. int r590invariant_check(T590* C){
  320. int R=0;
  321. R=((((T590*)C))->_level/*0*/)>=(-2);
  322. return R;
  323. }
  324. /*No:RUN_CONTROL.set_cecil_path*/
  325. /*No:RUN_CONTROL.set_loop_check*/
  326. int r590no_check(T590* C){
  327. int R=0;
  328. R=((((T590*)C))->_level/*0*/)>=(-5);
  329. return R;
  330. }
  331. /*No:RUN_CONTROL.level_boost*/
  332. int r590boost(T590* C){
  333. int R=0;
  334. R=((((T590*)C))->_level/*0*/)==(-6);
  335. return R;
  336. }
  337. /*No:CALL_INFIX_GE.arguments*/
  338. T0* r890add_comment(T890* C,T0* a1){
  339. T0* R=NULL;
  340. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  341. R=(T0*)C;
  342. }
  343. else {
  344. {T529*n=malloc(sizeof(*n));
  345. *n=M529;
  346. r529make(n,(T0*)C,a1);
  347. R=(T0*)n;
  348. }
  349. }
  350. /*FI*/return R;
  351. }
  352. int r890to_integer(T890* C){
  353. int R=0;
  354. r890error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  355. return R;
  356. }
  357. int r890is_a(T890* C,T0* a1){
  358. int R=0;
  359. R=X291is_a(X291run_type((((T890*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  360. /*IF*/if (!(R)) {
  361. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  362. r890error(X662start_position(a1),((T0*)ms4_662));
  363. }
  364. /*FI*/return R;
  365. }
  366. /*No:CALL_INFIX_GE.is_current*/
  367. int r890jvm_branch_if_false(T890* C){
  368. int R=0;
  369. /*IF*/if (X291is_integer((((T890*)C))->_current_type/*8*/)) {
  370. X662compile_to_jvm((((T890*)C))->_target/*12*/);
  371. X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/);
  372. R=r256opcode_if_icmplt(((T256*)(oBC364code_attribute)));
  373. }
  374. else {
  375. R=r890jvm_standard_branch_if_false(C);
  376. }
  377. /*FI*/return R;
  378. }
  379. /*No:CALL_INFIX_GE.static_value*/
  380. void r890make(T890* C,T0* a1,T0* a2,T0* a3){
  381. T0* _eal=NULL;
  382. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  383. r683add_position(a2);
  384. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  385. r683fatal_error(((T683*)(oBC364eh)),b1);
  386. }/*]*/
  387. }
  388. /*FI*/{T454*n=malloc(sizeof(*n));
  389. *n=M454;
  390. r454make(n,r890operator(),a2);
  391. C->_feature_name=(T0*)n;
  392. }
  393. {T431*n=malloc(sizeof(*n));
  394. *n=M431;
  395. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  396. /*]*/
  397. _eal=(T0*)n;
  398. }
  399. r890make_call_1(C,a1,(((T890*)C))->_feature_name/*28*/,_eal);
  400. }
  401. /*No:CALL_INFIX_GE.nb_errors*/
  402. /*No:CALL_INFIX_GE.feature_name*/
  403. /*No:CALL_INFIX_GE.compile_to_jvm_assignment*/
  404. /*No:CALL_INFIX_GE.fz_iinaiv*/
  405. /*No:CALL_INFIX_GE.arg_count*/
  406. int r890jvm_branch_if_true(T890* C){
  407. int R=0;
  408. /*IF*/if (X291is_integer((((T890*)C))->_current_type/*8*/)) {
  409. X662compile_to_jvm((((T890*)C))->_target/*12*/);
  410. X662compile_to_jvm(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/);
  411. R=r256opcode_if_icmpge(((T256*)(oBC364code_attribute)));
  412. }
  413. else {
  414. R=r890jvm_standard_branch_if_true(C);
  415. }
  416. /*FI*/return R;
  417. }
  418. /*No:CALL_INFIX_GE.run_feature*/
  419. /*No:CALL_INFIX_GE.start_position*/
  420. void r890compile_to_jvm_old(T890* C){
  421. X662compile_to_jvm_old((((T890*)C))->_target/*12*/);
  422. /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T890*)C))->_arguments/*24*/)));
  423. }
  424. /*FI*/}
  425. /*No:CALL_INFIX_GE.target*/
  426. /*No:CALL_INFIX_GE.us_ge*/
  427. T0* r890to_runnable(T890* C,T0* a1){
  428. T0* R=NULL;
  429. T0* _tla=NULL;
  430. T0* _a=NULL;
  431. /*IF*/if (((((T890*)C))->_current_type/*8*/)==((void*)(NULL))) {
  432. r890to_runnable_0(C,a1);
  433. _a=r431to_runnable(((T431*)((((T890*)C))->_arguments/*24*/)),a1);
  434. /*IF*/if ((_a)==((void*)(NULL))) {
  435. r890error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
  436. }
  437. else {
  438. C->_arguments=_a;
  439. }
  440. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  441. r431match_with(((T431*)((((T890*)C))->_arguments/*24*/)),(((T890*)C))->_run_feature/*16*/);
  442. }
  443. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  444. _tla=(((T890*)C))->_result_type/*20*/;
  445. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  446. case 239: 
  447. break;
  448. default:
  449. _tla=NULL;
  450. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  451. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/));
  452. }
  453. /*FI*/}
  454. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  455. R=(T0*)C;
  456. }
  457. /*FI*/}
  458. else {
  459. R=r890twin(C);
  460. /*[IRF3.3set_current_type*/((((T890*)(((T890*)R))))->_current_type)=(NULL);
  461. /*]*/
  462. R=r890to_runnable(((T890*)R),a1);
  463. }
  464. /*FI*/return R;
  465. }
  466. /*No:CALL_INFIX_GE.result_type*/
  467. /*No:CALL_INFIX_GE.is_result*/
  468. T0* r890twin(T890* C){
  469. T0* R=NULL;
  470. R=malloc(sizeof(*C));
  471. *((T890*)R)=*C;
  472. return R;
  473. }
  474. /*No:CALL_INFIX_GE.set_current_type*/
  475. T0* r890operator(void){
  476. T0* R=NULL;
  477. R=((T0*)ms32_473);
  478. return R;
  479. }
  480. int r890is_static(T890* C){
  481. int R=0;
  482. /*IF*/if (X291is_integer(X662result_type((((T890*)C))->_target/*12*/))) {
  483. /*IF*/if ((X662is_static((((T890*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/))) {
  484. R=1;
  485. /*IF*/if ((X662static_value((((T890*)C))->_target/*12*/))>=(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T890*)C))->_arguments/*24*/)))/*)*/))) {
  486. C->_static_value_mem=1;
  487. }
  488. else {
  489. C->_static_value_mem=0;
  490. }
  491. /*FI*/}
  492. /*FI*/}
  493. /*FI*/return R;
  494. }
  495. void r890standard_compile_target_to_jvm(T890* C){
  496. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C;
  497. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  498. }/*]*/
  499. /*]*/
  500. X291jvm_check_class_invariant((((T890*)C))->_result_type/*20*/);
  501. }
  502. int r890compile_to_jvm_into(T890* C,T0* a1){
  503. int R=0;
  504. R=r890standard_compile_to_jvm_into(C,a1);
  505. return R;
  506. }
  507. /*No:CALL_INFIX_GE.compile_target_to_jvm*/
  508. /*No:CALL_INFIX_GE.fz_07*/
  509. /*No:CALL_INFIX_GE.can_be_dropped*/
  510. /*No:CALL_INFIX_GE.current_type*/
  511. /*No:CALL_INFIX_GE.jvm_assign*/
  512. /*No:CALL_INFIX_GE.static_value_mem*/
  513. void r890make_call_1(T890* C,T0* a1,T0* a2,T0* a3){
  514. C->_target=a1;
  515. C->_feature_name=a2;
  516. C->_arguments=a3;
  517. }
  518. /*No:CALL_INFIX_GE.is_manifest_string*/
  519. /*No:CALL_INFIX_GE.is_void*/
  520. int r890jvm_standard_branch_if_false(T890* C){
  521. int R=0;
  522. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C;
  523. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  524. }/*]*/
  525. /*]*/
  526. R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
  527. return R;
  528. }
  529. /*No:CALL_INFIX_GE.compile_to_jvm*/
  530. void r890to_runnable_0(T890* C,T0* a1){
  531. C->_current_type=a1;
  532. r890cpc_to_runnable(C,a1);
  533. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T890*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  534. /*IF*/if (((((T890*)C))->_result_type/*20*/)==((void*)(NULL))) {
  535. r683add_position(X496start_position((((T890*)C))->_run_feature/*16*/));
  536. r890error((((T454*)((T454*)((((T890*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  537. }
  538.  else if (X291is_like_current((((T890*)C))->_result_type/*20*/)) {
  539. C->_result_type=X662result_type((((T890*)C))->_target/*12*/);
  540. }
  541. /*FI*/}
  542. /*No:CALL_INFIX_GE.is_pre_computable*/
  543. int r890jvm_standard_branch_if_true(T890* C){
  544. int R=0;
  545. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C;
  546. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  547. }/*]*/
  548. /*]*/
  549. R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
  550. return R;
  551. }
  552. int r890use_current(T890* C){
  553. int R=0;
  554. /*IF*/{/*AT*/R=r431use_current(((T431*)((((T890*)C))->_arguments/*24*/)));
  555. }
  556. /*FI*//*IF*/if (R) {
  557. }
  558.  else if (X662is_current((((T890*)C))->_target/*12*/)) {
  559. R=X496use_current((((T890*)C))->_run_feature/*16*/);
  560. }
  561. else {
  562. R=X662use_current((((T890*)C))->_target/*12*/);
  563. }
  564. /*FI*/return R;
  565. }
  566. void r890cpc_to_runnable(T890* C,T0* a1){
  567. T0* _rc=NULL;
  568. T0* _t=NULL;
  569. _t=X662to_runnable((((T890*)C))->_target/*12*/,a1);
  570. /*IF*/if ((_t)==((void*)(NULL))) {
  571. r683add_position(X662start_position((((T890*)C))->_target/*12*/));
  572. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  573. r683fatal_error(((T683*)(oBC364eh)),b1);
  574. }/*]*/
  575. }
  576. /*FI*/C->_target=_t;
  577. _rc=X291run_class(X662result_type((((T890*)C))->_target/*12*/));
  578. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  579. r576update((((T890*)C))->_target/*12*/,(((T890*)C))->_run_feature/*16*/);
  580. }
  581. void r890error(T0* a1,T0* a2){
  582. r683add_position(a1);
  583. r683error(((T683*)(oBC364eh)),a2);
  584. }
  585. /*No:CALL_INFIX_GE.isa_dca_inline_argument*/
  586. /*No:CALL_INFIX_GE.fatal_error*/
  587. /*No:CALL_INFIX_GE.fz_bad_argument*/
  588. /*No:CALL_INFIX_GE.arg1*/
  589. int r890standard_compile_to_jvm_into(T890* C,T0* a1){
  590. int R=0;
  591. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T890* C1=C;
  592. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  593. }/*]*/
  594. /*]*/
  595. R=X291jvm_convert_to(X291run_type((((T890*)C))->_result_type/*20*/),a1);
  596. return R;
  597. }
  598. /*No:CALL_INFIX_GE.call_proc_call_c2jvm*/
  599. void r890afd_check(T890* C){
  600. T0* _running=NULL;
  601. T0* _rc=NULL;
  602. _rc=X291run_class(X662result_type((((T890*)C))->_target/*12*/));
  603. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  604. /*IF*/if ((_running)==((void*)(NULL))) {
  605. r683add_position(X662start_position((((T890*)C))->_target/*12*/));
  606. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  607. r7append(((T7*)(oBC683explanation)),b1);
  608. }/*]*/
  609. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  610. r7append(((T7*)(oBC683explanation)),b1);
  611. }/*]*/
  612. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  613. r7append(((T7*)(oBC683explanation)),b1);
  614. }/*]*/
  615. r683print_as_warning(((T683*)(oBC364eh)));
  616. r355set_at_run_time(((T355*)_rc));
  617. }
  618.  else if ((r396count(((T396*)_running)))>(0)) {
  619. r576update((((T890*)C))->_target/*12*/,(((T890*)C))->_run_feature/*16*/);
  620. }
  621. /*FI*/X662afd_check((((T890*)C))->_target/*12*/);
  622. /*IF*/{/*AT*/r431afd_check(((T431*)((((T890*)C))->_arguments/*24*/)));
  623. }
  624. /*FI*/}
  625. T0*oBC817tmp_file_read=NULL;
  626. /*No:STD_OUTPUT.make*/
  627. void r830append_file(T830* C,T0* a1){
  628. char _c=0;
  629. r675connect_to(((T675*)(oBC817tmp_file_read)),a1);
  630. r675read_character(((T675*)(oBC817tmp_file_read)));
  631. while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) {
  632. _c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/;
  633. /*[IRF3.6put_character*/{T830* C1=C;
  634. char b1=_c;
  635. putc(b1,((FILE*)(stdout)));
  636. }/*]*/
  637. r675read_character(((T675*)(oBC817tmp_file_read)));
  638. }
  639. r675disconnect(((T675*)(oBC817tmp_file_read)));
  640. }
  641. /*No:STD_OUTPUT.flush*/
  642. void r830put_string(T830* C,T0* a1){
  643. int _i=0;
  644. _i=1;
  645. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  646. /*[IRF3.6put_character*/{T830* C1=C;
  647. char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  648. putc(b1,((FILE*)(stdout)));
  649. }/*]*/
  650. _i=(_i)+(1);
  651. }
  652. }
  653. void r830put_integer(T830* C,int a1){
  654. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0);
  655. /*]*/
  656. r2append_in(a1,oBC817tmp_string);
  657. r830put_string(C,oBC817tmp_string);
  658. }
  659. /*No:STD_OUTPUT.put_character*/
  660. /*No:STD_OUTPUT.put_new_line*/
  661. /*No:CALL_INFIX_TIMES.arguments*/
  662. T0* r414add_comment(T414* C,T0* a1){
  663. T0* R=NULL;
  664. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  665. R=(T0*)C;
  666. }
  667. else {
  668. {T529*n=malloc(sizeof(*n));
  669. *n=M529;
  670. r529make(n,(T0*)C,a1);
  671. R=(T0*)n;
  672. }
  673. }
  674. /*FI*/return R;
  675. }
  676. int r414to_integer(T414* C){
  677. int R=0;
  678. r414error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  679. return R;
  680. }
  681. int r414is_a(T414* C,T0* a1){
  682. int R=0;
  683. R=X291is_a(X291run_type((((T414*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  684. /*IF*/if (!(R)) {
  685. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  686. r414error(X662start_position(a1),((T0*)ms4_662));
  687. }
  688. /*FI*/return R;
  689. }
  690. /*No:CALL_INFIX_TIMES.is_current*/
  691. /*No:CALL_INFIX_TIMES.jvm_branch_if_false*/
  692. /*No:CALL_INFIX_TIMES.static_value*/
  693. void r414make(T414* C,T0* a1,T0* a2,T0* a3){
  694. T0* _eal=NULL;
  695. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  696. r683add_position(a2);
  697. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  698. r683fatal_error(((T683*)(oBC364eh)),b1);
  699. }/*]*/
  700. }
  701. /*FI*/{T454*n=malloc(sizeof(*n));
  702. *n=M454;
  703. r454make(n,r414operator(),a2);
  704. C->_feature_name=(T0*)n;
  705. }
  706. {T431*n=malloc(sizeof(*n));
  707. *n=M431;
  708. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  709. /*]*/
  710. _eal=(T0*)n;
  711. }
  712. r414make_call_1(C,a1,(((T414*)C))->_feature_name/*28*/,_eal);
  713. }
  714. /*No:CALL_INFIX_TIMES.nb_errors*/
  715. /*No:CALL_INFIX_TIMES.feature_name*/
  716. /*No:CALL_INFIX_TIMES.compile_to_jvm_assignment*/
  717. /*No:CALL_INFIX_TIMES.fz_iinaiv*/
  718. /*No:CALL_INFIX_TIMES.arg_count*/
  719. /*No:CALL_INFIX_TIMES.jvm_branch_if_true*/
  720. /*No:CALL_INFIX_TIMES.run_feature*/
  721. /*No:CALL_INFIX_TIMES.start_position*/
  722. void r414compile_to_jvm_old(T414* C){
  723. X662compile_to_jvm_old((((T414*)C))->_target/*12*/);
  724. /*IF*/{/*AT*/r431compile_to_jvm_old(((T431*)((((T414*)C))->_arguments/*24*/)));
  725. }
  726. /*FI*/}
  727. /*No:CALL_INFIX_TIMES.target*/
  728. T0* r414to_runnable(T414* C,T0* a1){
  729. T0* R=NULL;
  730. T0* _tla=NULL;
  731. T0* _a=NULL;
  732. /*IF*/if (((((T414*)C))->_current_type/*8*/)==((void*)(NULL))) {
  733. r414to_runnable_0(C,a1);
  734. _a=r431to_runnable(((T431*)((((T414*)C))->_arguments/*24*/)),a1);
  735. /*IF*/if ((_a)==((void*)(NULL))) {
  736. r414error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/),((T0*)ms55_470));
  737. }
  738. else {
  739. C->_arguments=_a;
  740. }
  741. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  742. r431match_with(((T431*)((((T414*)C))->_arguments/*24*/)),(((T414*)C))->_run_feature/*16*/);
  743. }
  744. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  745. _tla=(((T414*)C))->_result_type/*20*/;
  746. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  747. case 239: 
  748. break;
  749. default:
  750. _tla=NULL;
  751. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  752. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/));
  753. }
  754. /*FI*/}
  755. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  756. R=(T0*)C;
  757. }
  758. /*FI*/}
  759. else {
  760. R=r414twin(C);
  761. /*[IRF3.3set_current_type*/((((T414*)(((T414*)R))))->_current_type)=(NULL);
  762. /*]*/
  763. R=r414to_runnable(((T414*)R),a1);
  764. }
  765. /*FI*/return R;
  766. }
  767. /*No:CALL_INFIX_TIMES.result_type*/
  768. /*No:CALL_INFIX_TIMES.is_result*/
  769. T0* r414twin(T414* C){
  770. T0* R=NULL;
  771. R=malloc(sizeof(*C));
  772. *((T414*)R)=*C;
  773. return R;
  774. }
  775. /*No:CALL_INFIX_TIMES.set_current_type*/
  776. T0* r414operator(void){
  777. T0* R=NULL;
  778. R=((T0*)ms38_473);
  779. return R;
  780. }
  781. int r414is_static(T414* C){
  782. int R=0;
  783. /*IF*/if (X291is_integer((((T414*)C))->_result_type/*20*/)) {
  784. /*IF*/if ((X662is_static((((T414*)C))->_target/*12*/))&&(X662is_static(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/))) {
  785. R=1;
  786. C->_static_value_mem=(X662static_value((((T414*)C))->_target/*12*/))*(X662static_value(/*(IRF4.6arg1*/r431first(((T431*)((((T414*)C))->_arguments/*24*/)))/*)*/));
  787. }
  788. /*FI*/}
  789. /*FI*/return R;
  790. }
  791. void r414standard_compile_target_to_jvm(T414* C){
  792. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C;
  793. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  794. }/*]*/
  795. /*]*/
  796. X291jvm_check_class_invariant((((T414*)C))->_result_type/*20*/);
  797. }
  798. int r414compile_to_jvm_into(T414* C,T0* a1){
  799. int R=0;
  800. R=r414standard_compile_to_jvm_into(C,a1);
  801. return R;
  802. }
  803. /*No:CALL_INFIX_TIMES.compile_target_to_jvm*/
  804. /*No:CALL_INFIX_TIMES.fz_07*/
  805. /*No:CALL_INFIX_TIMES.can_be_dropped*/
  806. /*No:CALL_INFIX_TIMES.current_type*/
  807. /*No:CALL_INFIX_TIMES.jvm_assign*/
  808. /*No:CALL_INFIX_TIMES.static_value_mem*/
  809. void r414make_call_1(T414* C,T0* a1,T0* a2,T0* a3){
  810. C->_target=a1;
  811. C->_feature_name=a2;
  812. C->_arguments=a3;
  813. }
  814. /*No:CALL_INFIX_TIMES.is_manifest_string*/
  815. /*No:CALL_INFIX_TIMES.is_void*/
  816. int r414jvm_standard_branch_if_false(T414* C){
  817. int R=0;
  818. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C;
  819. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  820. }/*]*/
  821. /*]*/
  822. R=r256opcode_ifeq(((T256*)(oBC364code_attribute)));
  823. return R;
  824. }
  825. /*No:CALL_INFIX_TIMES.compile_to_jvm*/
  826. void r414to_runnable_0(T414* C,T0* a1){
  827. C->_current_type=a1;
  828. r414cpc_to_runnable(C,a1);
  829. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T414*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  830. /*IF*/if (((((T414*)C))->_result_type/*20*/)==((void*)(NULL))) {
  831. r683add_position(X496start_position((((T414*)C))->_run_feature/*16*/));
  832. r414error((((T454*)((T454*)((((T414*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  833. }
  834.  else if (X291is_like_current((((T414*)C))->_result_type/*20*/)) {
  835. C->_result_type=X662result_type((((T414*)C))->_target/*12*/);
  836. }
  837. /*FI*/}
  838. /*No:CALL_INFIX_TIMES.is_pre_computable*/
  839. int r414jvm_standard_branch_if_true(T414* C){
  840. int R=0;
  841. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C;
  842. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  843. }/*]*/
  844. /*]*/
  845. R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
  846. return R;
  847. }
  848. int r414use_current(T414* C){
  849. int R=0;
  850. /*IF*/{/*AT*/R=r431use_current(((T431*)((((T414*)C))->_arguments/*24*/)));
  851. }
  852. /*FI*//*IF*/if (R) {
  853. }
  854.  else if (X662is_current((((T414*)C))->_target/*12*/)) {
  855. R=X496use_current((((T414*)C))->_run_feature/*16*/);
  856. }
  857. else {
  858. R=X662use_current((((T414*)C))->_target/*12*/);
  859. }
  860. /*FI*/return R;
  861. }
  862. void r414cpc_to_runnable(T414* C,T0* a1){
  863. T0* _rc=NULL;
  864. T0* _t=NULL;
  865. _t=X662to_runnable((((T414*)C))->_target/*12*/,a1);
  866. /*IF*/if ((_t)==((void*)(NULL))) {
  867. r683add_position(X662start_position((((T414*)C))->_target/*12*/));
  868. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  869. r683fatal_error(((T683*)(oBC364eh)),b1);
  870. }/*]*/
  871. }
  872. /*FI*/C->_target=_t;
  873. _rc=X291run_class(X662result_type((((T414*)C))->_target/*12*/));
  874. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  875. r576update((((T414*)C))->_target/*12*/,(((T414*)C))->_run_feature/*16*/);
  876. }
  877. /*No:CALL_INFIX_TIMES.us_muls*/
  878. void r414error(T0* a1,T0* a2){
  879. r683add_position(a1);
  880. r683error(((T683*)(oBC364eh)),a2);
  881. }
  882. /*No:CALL_INFIX_TIMES.isa_dca_inline_argument*/
  883. /*No:CALL_INFIX_TIMES.fatal_error*/
  884. /*No:CALL_INFIX_TIMES.fz_bad_argument*/
  885. /*No:CALL_INFIX_TIMES.arg1*/
  886. int r414standard_compile_to_jvm_into(T414* C,T0* a1){
  887. int R=0;
  888. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T414* C1=C;
  889. r228b_put_cpc(((T228*)(oBC364jvm)),(T0*)C1);
  890. }/*]*/
  891. /*]*/
  892. R=X291jvm_convert_to(X291run_type((((T414*)C))->_result_type/*20*/),a1);
  893. return R;
  894. }
  895. /*No:CALL_INFIX_TIMES.call_proc_call_c2jvm*/
  896. void r414afd_check(T414* C){
  897. T0* _running=NULL;
  898. T0* _rc=NULL;
  899. _rc=X291run_class(X662result_type((((T414*)C))->_target/*12*/));
  900. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  901. /*IF*/if ((_running)==((void*)(NULL))) {
  902. r683add_position(X662start_position((((T414*)C))->_target/*12*/));
  903. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  904. r7append(((T7*)(oBC683explanation)),b1);
  905. }/*]*/
  906. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  907. r7append(((T7*)(oBC683explanation)),b1);
  908. }/*]*/
  909. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  910. r7append(((T7*)(oBC683explanation)),b1);
  911. }/*]*/
  912. r683print_as_warning(((T683*)(oBC364eh)));
  913. r355set_at_run_time(((T355*)_rc));
  914. }
  915.  else if ((r396count(((T396*)_running)))>(0)) {
  916. r576update((((T414*)C))->_target/*12*/,(((T414*)C))->_run_feature/*16*/);
  917. }
  918. /*FI*/X662afd_check((((T414*)C))->_target/*12*/);
  919. /*IF*/{/*AT*/r431afd_check(((T431*)((((T414*)C))->_arguments/*24*/)));
  920. }
  921. /*FI*/}
  922. /*No:RUN_FEATURE_9.arguments*/
  923. /*No:RUN_FEATURE_9.ucs_true*/
  924. /*No:RUN_FEATURE_9.actuals_clients*/
  925. T0* r904jvm_descriptor(T904* C){
  926. T0* R=NULL;
  927. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496tmp_jvm_descriptor)))))->_count)=(0);
  928. /*]*/
  929. /*[IRF3.4update_tmp_jvm_descriptor*/r904routine_update_tmp_jvm_descriptor(C);
  930. /*]*/
  931. R=oBC496tmp_jvm_descriptor;
  932. return R;
  933. }
  934. /*No:RUN_FEATURE_9.ucs_in_computation*/
  935. void r904routine_update_tmp_jvm_descriptor(T904* C){
  936. T0* _rt=NULL;
  937. T0* _ct=NULL;
  938. r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\50');
  939. _ct=(((T904*)C))->_current_type/*4*/;
  940. X291jvm_target_descriptor_in(_ct,oBC496tmp_jvm_descriptor);
  941. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  942. r31jvm_descriptor_in(((T31*)((((T904*)C))->_arguments/*20*/)),oBC496tmp_jvm_descriptor);
  943. }
  944. /*FI*/_rt=(((T904*)C))->_result_type/*24*/;
  945. /*IF*/if ((_rt)==((void*)(NULL))) {
  946. r7append(((T7*)(oBC496tmp_jvm_descriptor)),((T0*)ms153_470));
  947. }
  948. else {
  949. _rt=X291run_type(_rt);
  950. r7extend(((T7*)(oBC496tmp_jvm_descriptor)),'\51');
  951. X291jvm_descriptor_in(_rt,oBC496tmp_jvm_descriptor);
  952. }
  953. /*FI*/}
  954. void r904make(T904* C,T0* a1,T0* a2,T0* a3){
  955. C->_current_type=a1;
  956. C->_name=a2;
  957. C->_base_feature=a3;
  958. r199put(((T199*)((((T355*)((T355*)(r904run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  959. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  960. C->_use_current_state=1005;
  961. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  962. r904initialize(C);
  963. r604pop(((T604*)(oBC364small_eiffel)));
  964. }
  965. /*No:RUN_FEATURE_9.name*/
  966. int r904arg_count(T904* C){
  967. int R=0;
  968. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  969. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  970. }
  971. /*FI*/return R;
  972. }
  973. void r904routine_afd_check(T904* C){
  974. /*IF*/if (((((T904*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
  975. r567afd_check(((T567*)((((T904*)C))->_require_assertion/*28*/)));
  976. }
  977. /*FI*//*IF*/if (((((T904*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  978. r592afd_check(((T592*)((((T904*)C))->_routine_body/*32*/)));
  979. }
  980. /*FI*//*IF*/if (((((T904*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  981. r633afd_check(((T633*)((((T904*)C))->_ensure_assertion/*36*/)));
  982. }
  983. /*FI*/}
  984. /*No:RUN_FEATURE_9.local_vars*/
  985. /*No:RUN_FEATURE_9.base_feature*/
  986. T0* r904start_position(T904* C){
  987. T0* R=NULL;
  988. R=X249start_position((((T904*)C))->_base_feature/*44*/);
  989. return R;
  990. }
  991. int r904jvm_max_locals(T904* C){
  992. int R=0;
  993. R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/);
  994. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  995. R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/))));
  996. }
  997. /*FI*//*IF*//*AF*//*AE*/
  998. /*FI*//*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  999. R=(R)+(X291jvm_stack_space((((T904*)C))->_result_type/*24*/));
  1000. }
  1001. /*FI*/return R;
  1002. }
  1003. /*No:RUN_FEATURE_9.ensure_assertion*/
  1004. int r904jvm_result_offset(T904* C){
  1005. int R=0;
  1006. R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/);
  1007. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1008. R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/))));
  1009. }
  1010. /*FI*//*IF*//*AF*//*AE*/
  1011. /*FI*/return R;
  1012. }
  1013. int r904is_exported_in(T904* C,T0* a1){
  1014. int R=0;
  1015. R=r636gives_permission_to(((T636*)(r904clients(C))),a1);
  1016. return R;
  1017. }
  1018. /*No:RUN_FEATURE_9.compute_use_current*/
  1019. /*No:RUN_FEATURE_9.result_type*/
  1020. /*No:RUN_FEATURE_9.jvm_field_or_method*/
  1021. int r904jvm_argument_offset(T904* C,T0* a1){
  1022. int R=0;
  1023. R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/);
  1024. R=(R)+(r31jvm_offset_of(((T31*)((((T904*)C))->_arguments/*20*/)),a1));
  1025. return R;
  1026. }
  1027. /*No:RUN_FEATURE_9.is_static*/
  1028. void r904add_client(T904* C,T0* a1){
  1029. int _i=0;
  1030. /*IF*/if (((((T904*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  1031. {T187*n=malloc(sizeof(*n));
  1032. *n=M187;
  1033. r187with_capacity(n,4);
  1034. C->_actuals_clients=(T0*)n;
  1035. }
  1036. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1037. }
  1038. else {
  1039. _i=r187fast_index_of(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1040. /*IF*/if ((_i)>((((T187*)((T187*)((((T904*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  1041. r187add_last(((T187*)((((T904*)C))->_actuals_clients/*12*/)),a1);
  1042. }
  1043. /*FI*/}
  1044. /*FI*/r355add_client(((T355*)(r904run_class(C))),a1);
  1045. }
  1046. /*No:RUN_FEATURE_9.require_assertion*/
  1047. /*No:RUN_FEATURE_9.use_current_state*/
  1048. /*No:RUN_FEATURE_9.can_be_dropped*/
  1049. /*No:RUN_FEATURE_9.mapping_jvm*/
  1050. /*No:RUN_FEATURE_9.current_type*/
  1051. T0* r904run_class(T904* C){
  1052. T0* R=NULL;
  1053. R=X291run_class((((T904*)C))->_current_type/*4*/);
  1054. return R;
  1055. }
  1056. /*No:RUN_FEATURE_9.static_value_mem*/
  1057. /*No:RUN_FEATURE_9.fz_19*/
  1058. /*No:RUN_FEATURE_9.ucs_not_computed*/
  1059. /*No:RUN_FEATURE_9.routine_body*/
  1060. void r904fall_down(T904* C){
  1061. T0* _rf=NULL;
  1062. T0* _sub_name=NULL;
  1063. T0* _sub_bc=NULL;
  1064. T0* _current_bc=NULL;
  1065. T0* _sub_rc=NULL;
  1066. T0* _current_rc=NULL;
  1067. int _i=0;
  1068. T0* _running=NULL;
  1069. _current_rc=X291run_class((((T904*)C))->_current_type/*4*/);
  1070. _running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
  1071. /*IF*/if ((_running)!=((void*)(NULL))) {
  1072. _current_bc=X291base_class((((T904*)C))->_current_type/*4*/);
  1073. _i=(((T396*)((T396*)_running)))->_lower/*12*/;
  1074. while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
  1075. _sub_rc=r396item(((T396*)_running),_i);
  1076. /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
  1077. _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
  1078. _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T904*)C))->_name/*16*/);
  1079. _rf=r355get_feature(((T355*)_sub_rc),_sub_name);
  1080. }
  1081. /*FI*/_i=(_i)+(1);
  1082. }
  1083. }
  1084. /*FI*/}
  1085. /*No:RUN_FEATURE_9.ucs_false*/
  1086. /*No:RUN_FEATURE_9.is_pre_computable*/
  1087. T0* r904clients(T904* C){
  1088. T0* R=NULL;
  1089. T0* _bfbc=NULL;
  1090. T0* _bc=NULL;
  1091. /*IF*/if (((((T904*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  1092. _bc=X291base_class((((T904*)C))->_current_type/*4*/);
  1093. _bfbc=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_base_class/*4*/);
  1094. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  1095. R=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_clients/*20*/);
  1096. }
  1097. else {
  1098. R=r605clients_for(((T605*)_bc),(((T904*)C))->_name/*16*/);
  1099. }
  1100. /*FI*/C->_clients_memory=R;
  1101. }
  1102. else {
  1103. R=(((T904*)C))->_clients_memory/*8*/;
  1104. }
  1105. /*FI*/return R;
  1106. }
  1107. int r904use_current(T904* C){
  1108. int R=0;
  1109. {int z1=(((T904*)C))->_use_current_state/*40*/;
  1110.  
  1111. if((1004==z1)){
  1112. R=1;
  1113. }
  1114.  else 
  1115. if((1003==z1)){
  1116. }
  1117.  else 
  1118. if((1005==z1)){
  1119. C->_use_current_state=1006;
  1120. /*[IRF3.1compute_use_current*//*]*/
  1121. R=r904use_current(C);
  1122. }
  1123.  else {R=1;
  1124. }}
  1125. return R;
  1126. }
  1127. /*No:RUN_FEATURE_9.jvm_define*/
  1128. int r904jvm_local_variable_offset(T904* C,T0* a1){
  1129. int R=0;
  1130. R=X291jvm_stack_space((((T904*)C))->_current_type/*4*/);
  1131. /*IF*/if (((((T904*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1132. R=(R)+(r31jvm_stack_space(((T31*)((((T904*)C))->_arguments/*20*/))));
  1133. }
  1134. /*FI*/R=(R)+(r620jvm_offset_of(((T620*)(/*(IRF4.1local_vars*/NULL/*)*/)),a1));
  1135. return R;
  1136. }
  1137. /*No:RUN_FEATURE_9.clients_memory*/
  1138. void r904initialize(T904* C){
  1139. C->_arguments=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_arguments/*24*/);
  1140. /*IF*/if ((((((T904*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T904*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1141. C->_arguments=r31to_runnable(((T31*)((((T904*)C))->_arguments/*20*/)),(((T904*)C))->_current_type/*4*/);
  1142. }
  1143. /*FI*/C->_result_type=/*X249*/((T0*)(((T853*)((T853*)((((T904*)C))->_base_feature/*44*/))))->_result_type/*12*/);
  1144. /*IF*/if (((((T904*)C))->_result_type/*24*/)!=((void*)(NULL))) {
  1145. C->_result_type=X291to_runnable((((T904*)C))->_result_type/*24*/,(((T904*)C))->_current_type/*4*/);
  1146. }
  1147. /*FI*/}
  1148. void r904afd_check(T904* C){
  1149. r904routine_afd_check(C);
  1150. r604afd_check_deferred((T0*)C);
  1151. }
  1152. /*No:RUN_FEATURE_9.update_tmp_jvm_descriptor*/
  1153. T0* r936add_comment(T936* C,T0* a1){
  1154. T0* R=NULL;
  1155. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1156. R=(T0*)C;
  1157. }
  1158. else {
  1159. {T529*n=malloc(sizeof(*n));
  1160. *n=M529;
  1161. r529make(n,(T0*)C,a1);
  1162. R=(T0*)n;
  1163. }
  1164. }
  1165. /*FI*/return R;
  1166. }
  1167. int r936to_integer(T936* C){
  1168. int R=0;
  1169. r936error((((T936*)C))->_start_position/*12*/,((T0*)ms69_470));
  1170. return R;
  1171. }
  1172. int r936is_a(T936* C,T0* a1){
  1173. int R=0;
  1174. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T209*)r936result_type()))/*)*/,X291run_type(X662result_type(a1)));
  1175. /*IF*/if (!(R)) {
  1176. r683add_position((((T936*)C))->_start_position/*12*/);
  1177. r936error(X662start_position(a1),((T0*)ms4_662));
  1178. }
  1179. /*FI*/return R;
  1180. }
  1181. /*No:REAL_CONSTANT.is_current*/
  1182. /*No:REAL_CONSTANT.jvm_branch_if_false*/
  1183. /*No:REAL_CONSTANT.static_value*/
  1184. void r936make(T936* C,T0* a1,T0* a2){
  1185. C->_start_position=a1;
  1186. C->_to_string=a2;
  1187. }
  1188. /*No:REAL_CONSTANT.to_string*/
  1189. /*No:REAL_CONSTANT.compile_to_jvm_assignment*/
  1190. /*No:REAL_CONSTANT.fz_iinaiv*/
  1191. /*No:REAL_CONSTANT.jvm_branch_if_true*/
  1192. /*No:REAL_CONSTANT.unary_minus*/
  1193. /*No:REAL_CONSTANT.start_position*/
  1194. /*No:REAL_CONSTANT.compile_to_jvm_old*/
  1195. T0* r936to_runnable(T936* C,T0* a1){
  1196. T0* R=NULL;
  1197. /*IF*/if (((((T936*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1198. C->_current_type=a1;
  1199. R=(T0*)C;
  1200. }
  1201. else {
  1202. R=r936twin(C);
  1203. /*[IRF3.3set_current_type*/((((T936*)(((T936*)R))))->_current_type)=(a1);
  1204. /*]*/
  1205. }
  1206. /*FI*/return R;
  1207. }
  1208. int fBC936result_type=0;
  1209. T0*oBC936result_type=NULL;
  1210. T0* r936result_type(void){
  1211. if (fBC936result_type==0){
  1212. T0* R=NULL;
  1213. fBC936result_type=1;
  1214. {T209*n=malloc(sizeof(*n));
  1215. *n=M209;
  1216. r209make(n,NULL);
  1217. R=(T0*)n;
  1218. }
  1219. oBC936result_type=R;}
  1220. return oBC936result_type;}
  1221. /*No:REAL_CONSTANT.is_result*/
  1222. T0* r936twin(T936* C){
  1223. T0* R=NULL;
  1224. R=malloc(sizeof(*C));
  1225. *((T936*)R)=*C;
  1226. return R;
  1227. }
  1228. /*No:REAL_CONSTANT.set_current_type*/
  1229. /*No:REAL_CONSTANT.is_static*/
  1230. int r936compile_to_jvm_into(T936* C,T0* a1){
  1231. int R=0;
  1232. /*IF*/if (X291is_real(a1)) {
  1233. r256opcode_push_as_float(((T256*)(oBC364code_attribute)),(((T936*)C))->_to_string/*16*/);
  1234. R=1;
  1235. }
  1236.  else if (X291is_double(a1)) {
  1237. r256opcode_push_as_double(((T256*)(oBC364code_attribute)),(((T936*)C))->_to_string/*16*/);
  1238. R=2;
  1239. }
  1240. else {
  1241. R=r936standard_compile_to_jvm_into(C,a1);
  1242. }
  1243. /*FI*/return R;
  1244. }
  1245. /*No:REAL_CONSTANT.compile_target_to_jvm*/
  1246. /*No:REAL_CONSTANT.can_be_dropped*/
  1247. /*No:REAL_CONSTANT.current_type*/
  1248. /*No:REAL_CONSTANT.jvm_assign*/
  1249. /*No:REAL_CONSTANT.static_value_mem*/
  1250. /*No:REAL_CONSTANT.is_manifest_string*/
  1251. /*No:REAL_CONSTANT.is_void*/
  1252. /*No:REAL_CONSTANT.compile_to_jvm*/
  1253. /*No:REAL_CONSTANT.is_pre_computable*/
  1254. /*No:REAL_CONSTANT.use_current*/
  1255. void r936error(T0* a1,T0* a2){
  1256. r683add_position(a1);
  1257. r683error(((T683*)(oBC364eh)),a2);
  1258. }
  1259. int r936isa_dca_inline_argument(void){
  1260. int R=0;
  1261. /*IF*//*AF*//*AE*/
  1262. /*FI*/return R;
  1263. }
  1264. int r936standard_compile_to_jvm_into(T936* C,T0* a1){
  1265. int R=0;
  1266. /*[IRF3.6compile_to_jvm*/{T936* C1=C;
  1267. r256opcode_push_as_float(((T256*)(oBC364code_attribute)),(((T936*)C1))->_to_string/*16*/);
  1268. }/*]*/
  1269. R=X291jvm_convert_to(/*(IRF4.4run_type*/((T0*)((T209*)r936result_type()))/*)*/,a1);
  1270. return R;
  1271. }
  1272. /*No:REAL_CONSTANT.afd_check*/
  1273. int r627before(T627* C,T0* a1){
  1274. int R=0;
  1275. /*IF*/if ((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)<(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/)) {
  1276. R=1;
  1277. }
  1278.  else if ((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/)) {
  1279. R=(/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)<(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/);
  1280. }
  1281. /*FI*/return R;
  1282. }
  1283. /*No:POSITION.line*/
  1284. void r627make(T627* C,int a1,int a2){
  1285. C->_mem_line_column=((a1)*(1000))+(a2);
  1286. C->_base_class_name=/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/;
  1287. }
  1288. void r627append_in(T627* C,T0* a1){
  1289. r7append(((T7*)a1),((T0*)ms11_627));
  1290. r2append_in(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/,a1);
  1291. r7append(((T7*)a1),((T0*)ms12_627));
  1292. r2append_in(/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/,a1);
  1293. r7append(((T7*)a1),((T0*)ms13_627));
  1294. r7append(((T7*)a1),r627path(C));
  1295. r7append(((T7*)a1),((T0*)ms137_470));
  1296. }
  1297. T0* r627get_line(T627* C){
  1298. T0* R=NULL;
  1299. int _i=0;
  1300. T0* _p=NULL;
  1301. _p=r627path(C);
  1302. /*IF*/if ((_p)!=((void*)(NULL))) {
  1303. r675connect_to(((T675*)(oBC364tmp_file_read)),_p);
  1304. while (!((_i)==(/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/))) {
  1305. r675read_line(((T675*)(oBC364tmp_file_read)));
  1306. _i=(_i)+(1);
  1307. }
  1308. R=oBC762last_string;
  1309. r675disconnect(((T675*)(oBC364tmp_file_read)));
  1310. }
  1311. /*FI*/return R;
  1312. }
  1313. T0* r627path(T627* C){
  1314. T0* R=NULL;
  1315. T0* _bc=NULL;
  1316. T0* _bcn=NULL;
  1317. _bcn=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
  1318. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  1319. /*IF*/if (r604is_used(_bcn)) {
  1320. _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  1321. }
  1322.  else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
  1323. /*IF*/if (((((T451*)((T451*)(/*(IRF4.6current_class_name*/(((T605*)((T605*)((((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/)==((void*)(_bcn))) {
  1324. _bc=/*(IRF4.3current_class*/(((T818*)((T818*)(oBC364eiffel_parser))))->_last_base_class/*65*//*)*/;
  1325. }
  1326. /*FI*/}
  1327. else {
  1328. _bc=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  1329. }
  1330. /*FI*//*IF*/if ((_bc)!=((void*)(NULL))) {
  1331. R=(((T605*)((T605*)_bc)))->_path/*4*/;
  1332. }
  1333. /*FI*/}
  1334. /*FI*/return R;
  1335. }
  1336. /*No:POSITION.column*/
  1337. void r627with(T627* C,int a1,int a2,T0* a3){
  1338. C->_mem_line_column=((a1)*(1000))+(a2);
  1339. C->_base_class_name=a3;
  1340. }
  1341. /*No:POSITION.fz_03*/
  1342. int r627is_equal(T627* C,T0* a1){
  1343. int R=0;
  1344. R=(((((/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((((T627*)C))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T627*)((T627*)a1)))->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)==((void*)((((T451*)((T451*)((((T627*)((T627*)a1)))->_base_class_name/*0*/))))->_to_string/*0*/)));
  1345. return R;
  1346. }
  1347. void r627show(T627* C){
  1348. T0* _the_line=NULL;
  1349. T0* _str=NULL;
  1350. T0* _n=NULL;
  1351. int _nb=0;
  1352. int _c=0;
  1353. _n=(((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/;
  1354. r441put_string(((T441*)(oBC1std_error)),((T0*)ms3_627));
  1355. r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6line*/((((T627*)C))->_mem_line_column/*4*/)/(1000)/*)*/);
  1356. r441put_string(((T441*)(oBC1std_error)),((T0*)ms4_627));
  1357. r441put_integer(((T441*)(oBC1std_error)),/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/);
  1358. r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_627));
  1359. r441put_string(((T441*)(oBC1std_error)),_n);
  1360. _str=r627path(C);
  1361. /*IF*/if ((_str)!=((void*)(NULL))) {
  1362. r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_627));
  1363. r441put_string(((T441*)(oBC1std_error)),_str);
  1364. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1365. char b1='\51';
  1366. putc(b1,((FILE*)(stderr)));
  1367. }/*]*/
  1368. }
  1369. /*FI*/r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_627));
  1370. _the_line=r627get_line(C);
  1371. /*IF*/if ((_the_line)!=((void*)(NULL))) {
  1372. _c=/*(IRF4.6column*/((((T627*)C))->_mem_line_column/*4*/)%(1000)/*)*/;
  1373. r441put_string(((T441*)(oBC1std_error)),_the_line);
  1374. /*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1375. char b1='\n';
  1376. putc(b1,((FILE*)(stderr)));
  1377. }/*]*/
  1378. /*]*/
  1379. _nb=1;
  1380. while (!((_nb)==(_c))) {
  1381. /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_the_line)))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')) {
  1382. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1383. char b1='\11';
  1384. putc(b1,((FILE*)(stderr)));
  1385. }/*]*/
  1386. }
  1387. else {
  1388. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1389. char b1='\40';
  1390. putc(b1,((FILE*)(stderr)));
  1391. }/*]*/
  1392. }
  1393. /*FI*/_nb=(_nb)+(1);
  1394. }
  1395. r441put_string(((T441*)(oBC1std_error)),((T0*)ms8_627));
  1396. }
  1397. else {
  1398. r441put_string(((T441*)(oBC1std_error)),((T0*)ms9_627));
  1399. r441put_string(((T441*)(oBC1std_error)),_n);
  1400. r441put_string(((T441*)(oBC1std_error)),((T0*)ms10_627));
  1401. }
  1402. /*FI*/}
  1403. T0* r627base_class(T627* C){
  1404. T0* R=NULL;
  1405. /*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
  1406. /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/))))->_count/*4*/)==(0)/*)*/) {
  1407. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_627);
  1408. r683fatal_error(((T683*)(oBC364eh)),b1);
  1409. }/*]*/
  1410. }
  1411.  else if (r604is_used((((T451*)((T451*)((((T627*)C))->_base_class_name/*0*/))))->_to_string/*0*/)) {
  1412. R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  1413. }
  1414. else {
  1415. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_627);
  1416. r683fatal_error(((T683*)(oBC364eh)),b1);
  1417. }/*]*/
  1418. }
  1419. /*FI*/}
  1420. else {
  1421. R=r451base_class(((T451*)((((T627*)C))->_base_class_name/*0*/)));
  1422. }
  1423. /*FI*/return R;
  1424. }
  1425. /*No:POSITION.fatal_error*/
  1426. /*No:POSITION.mem_line_column*/
  1427. /*No:POSITION.base_class_name*/
  1428. void r627set_line_column(T627* C,int a1,int a2){
  1429. C->_mem_line_column=((a1)*(1000))+(a2);
  1430. }
  1431. /*No:BOOLEAN_REF.item*/
  1432.  
  1433.