c_src: updates for latest fixes
[nit.git] / c_src / analysis___remove_out_of_init_get_test._sep.c
1 /* This C file is generated by NIT to compile module analysis___remove_out_of_init_get_test. */
2 #include "analysis___remove_out_of_init_get_test._sep.h"
3 val_t analysis___remove_out_of_init_get_test___Program___nb_optimized_isset(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
9 fra.me.line = 24;
10 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___Program___nb_optimized_isset;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.nitni_local_ref_head = NULL;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 /* ./analysis//remove_out_of_init_get_test.nit:24 */
17 REGB0 = TAG_Bool(ATTR_analysis___remove_out_of_init_get_test___Program____nb_optimized_isset(fra.me.REG[0])!=NIT_NULL);
18 if (UNTAG_Bool(REGB0)) {
19 } else {
20 nit_abort("Uninitialized attribute %s", "_nb_optimized_isset", LOCATE_analysis___remove_out_of_init_get_test, 24);
21 }
22 REGB0 = ATTR_analysis___remove_out_of_init_get_test___Program____nb_optimized_isset(fra.me.REG[0]);
23 stack_frame_head = fra.me.prev;
24 return REGB0;
25 }
26 void analysis___remove_out_of_init_get_test___Program___optimize_out_of_init_getters(val_t p0){
27 struct {struct stack_frame_t me;} fra;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
31 fra.me.line = 26;
32 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___Program___optimize_out_of_init_getters;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 1;
35 fra.me.nitni_local_ref_head = NULL;
36 fra.me.REG[0] = NIT_NULL;
37 fra.me.REG[0] = p0;
38 CALL_program___Program___with_each_iroutines(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_analysis___remove_out_of_init_get_test___Program___optimize_out_of_init_getters_1));
39 stack_frame_head = fra.me.prev;
40 return;
41 }
42 void OC_analysis___remove_out_of_init_get_test___Program___optimize_out_of_init_getters_1(struct stack_frame_t *closctx, val_t p0, val_t p1){
43 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
44 val_t REGB0;
45 val_t REGB1;
46 val_t tmp;
47 /* ./analysis//remove_out_of_init_get_test.nit:30 */
48 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
50 fra.me.line = 30;
51 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___Program___optimize_out_of_init_getters;
52 fra.me.has_broke = 0;
53 fra.me.REG_size = 2;
54 fra.me.nitni_local_ref_head = NULL;
55 fra.me.REG[0] = NIT_NULL;
56 fra.me.REG[1] = NIT_NULL;
57 fra.me.REG[0] = p0;
58 fra.me.REG[1] = p1;
59 /* ./analysis//remove_out_of_init_get_test.nit:31 */
60 fra.me.REG[1] = CALL_analysis___reachable_from_init_method_analysis___Program___rfima(closctx->REG[0])(closctx->REG[0]);
61 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
62 if (UNTAG_Bool(REGB0)) {
63 nit_abort("Reciever is null", NULL, LOCATE_analysis___remove_out_of_init_get_test, 31);
64 }
65 REGB0 = CALL_analysis___reachable_from_init_method_analysis___ReachableFromInitMethodAnalysis___is_iroutine_reachable_from_init(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
66 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
67 if (UNTAG_Bool(REGB0)) {
68 /* ./analysis//remove_out_of_init_get_test.nit:32 */
69 fra.me.REG[1] = NEW_GetterTestRemover_icode___icode_tools___ICodeVisitor___init();
70 /* ./analysis//remove_out_of_init_get_test.nit:33 */
71 CALL_icode___icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
72 /* ./analysis//remove_out_of_init_get_test.nit:34 */
73 REGB0 = CALL_analysis___remove_out_of_init_get_test___Program___nb_optimized_isset(closctx->REG[0])(closctx->REG[0]);
74 REGB1 = CALL_analysis___remove_out_of_init_get_test___GetterTestRemover___nb_optimized_isset(fra.me.REG[1])(fra.me.REG[1]);
75 /* ./../lib/standard//kernel.nit:235 */
76 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
77 /* ./analysis//remove_out_of_init_get_test.nit:34 */
78 ATTR_analysis___remove_out_of_init_get_test___Program____nb_optimized_isset(closctx->REG[0]) = REGB1;
79 }
80 stack_frame_head = fra.me.prev;
81 return;
82 }
83 void analysis___remove_out_of_init_get_test___Program___dump_out_of_init_information(val_t p0, val_t p1){
84 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
85 val_t REGB0;
86 val_t tmp;
87 static val_t once_value_1; /* Once value */
88 static val_t once_value_2; /* Once value */
89 static val_t once_value_3; /* Once value */
90 static val_t once_value_5; /* Once value */
91 static val_t once_value_6; /* Once value */
92 static val_t once_value_7; /* Once value */
93 static val_t once_value_8; /* Once value */
94 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
95 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
96 fra.me.line = 39;
97 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___Program___dump_out_of_init_information;
98 fra.me.has_broke = 0;
99 fra.me.REG_size = 5;
100 fra.me.nitni_local_ref_head = NULL;
101 fra.me.REG[0] = NIT_NULL;
102 fra.me.REG[1] = NIT_NULL;
103 fra.me.REG[2] = NIT_NULL;
104 fra.me.REG[3] = NIT_NULL;
105 fra.me.REG[4] = NIT_NULL;
106 fra.me.REG[0] = p0;
107 fra.me.REG[1] = p1;
108 /* ./analysis//remove_out_of_init_get_test.nit:41 */
109 REGB0 = TAG_Int(5);
110 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
111 if (!once_value_1) {
112 fra.me.REG[3] = BOX_NativeString("");
113 REGB0 = TAG_Int(0);
114 fra.me.REG[3] = NEW_String_standard___string___String___with_native(fra.me.REG[3], REGB0);
115 once_value_1 = fra.me.REG[3];
116 register_static_object(&once_value_1);
117 } else fra.me.REG[3] = once_value_1;
118 fra.me.REG[3] = fra.me.REG[3];
119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
120 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
121 if (!once_value_2) {
122 fra.me.REG[1] = BOX_NativeString("/");
123 REGB0 = TAG_Int(1);
124 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
125 once_value_2 = fra.me.REG[1];
126 register_static_object(&once_value_2);
127 } else fra.me.REG[1] = once_value_2;
128 fra.me.REG[1] = fra.me.REG[1];
129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
130 fra.me.REG[1] = CALL_program___Program___main_module(fra.me.REG[0])(fra.me.REG[0]);
131 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
132 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
134 if (!once_value_3) {
135 fra.me.REG[1] = BOX_NativeString(".out_of_init_opt.log");
136 REGB0 = TAG_Int(20);
137 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
138 once_value_3 = fra.me.REG[1];
139 register_static_object(&once_value_3);
140 } else fra.me.REG[1] = once_value_3;
141 fra.me.REG[1] = fra.me.REG[1];
142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
143 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
144 fra.me.REG[2] = NEW_OFStream_standard___file___OFStream___open(fra.me.REG[2]);
145 /* ./analysis//remove_out_of_init_get_test.nit:42 */
146 REGB0 = TAG_Int(0);
147 fra.me.REG[1] = REGB0;
148 CALL_program___Program___with_each_iroutines(fra.me.REG[0])(fra.me.REG[0], (&(fra.me)), ((fun_t)OC_analysis___remove_out_of_init_get_test___Program___dump_out_of_init_information_4));
149 /* ./analysis//remove_out_of_init_get_test.nit:50 */
150 REGB0 = TAG_Int(3);
151 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
152 if (!once_value_5) {
153 fra.me.REG[4] = BOX_NativeString("Nb. optimized isset: ");
154 REGB0 = TAG_Int(21);
155 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
156 once_value_5 = fra.me.REG[4];
157 register_static_object(&once_value_5);
158 } else fra.me.REG[4] = once_value_5;
159 fra.me.REG[4] = fra.me.REG[4];
160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
161 REGB0 = CALL_analysis___remove_out_of_init_get_test___Program___nb_optimized_isset(fra.me.REG[0])(fra.me.REG[0]);
162 fra.me.REG[0] = CALL_standard___string___Object___to_s(REGB0)(REGB0);
163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
164 if (!once_value_6) {
165 fra.me.REG[0] = BOX_NativeString("\n");
166 REGB0 = TAG_Int(1);
167 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
168 once_value_6 = fra.me.REG[0];
169 register_static_object(&once_value_6);
170 } else fra.me.REG[0] = once_value_6;
171 fra.me.REG[0] = fra.me.REG[0];
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
173 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
174 CALL_standard___stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
175 /* ./analysis//remove_out_of_init_get_test.nit:51 */
176 REGB0 = TAG_Int(3);
177 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
178 if (!once_value_7) {
179 fra.me.REG[0] = BOX_NativeString("Nb. not optimized: ");
180 REGB0 = TAG_Int(19);
181 fra.me.REG[0] = NEW_String_standard___string___String___with_native(fra.me.REG[0], REGB0);
182 once_value_7 = fra.me.REG[0];
183 register_static_object(&once_value_7);
184 } else fra.me.REG[0] = once_value_7;
185 fra.me.REG[0] = fra.me.REG[0];
186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
187 fra.me.REG[1] = CALL_standard___string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
188 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
189 if (!once_value_8) {
190 fra.me.REG[1] = BOX_NativeString("\n");
191 REGB0 = TAG_Int(1);
192 fra.me.REG[1] = NEW_String_standard___string___String___with_native(fra.me.REG[1], REGB0);
193 once_value_8 = fra.me.REG[1];
194 register_static_object(&once_value_8);
195 } else fra.me.REG[1] = once_value_8;
196 fra.me.REG[1] = fra.me.REG[1];
197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
198 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
199 CALL_standard___stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
200 /* ./analysis//remove_out_of_init_get_test.nit:53 */
201 CALL_standard___stream___IOS___close(fra.me.REG[2])(fra.me.REG[2]);
202 stack_frame_head = fra.me.prev;
203 return;
204 }
205 void OC_analysis___remove_out_of_init_get_test___Program___dump_out_of_init_information_4(struct stack_frame_t *closctx, val_t p0, val_t p1){
206 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
207 val_t REGB0;
208 val_t tmp;
209 /* ./analysis//remove_out_of_init_get_test.nit:44 */
210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
211 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
212 fra.me.line = 44;
213 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___Program___dump_out_of_init_information;
214 fra.me.has_broke = 0;
215 fra.me.REG_size = 2;
216 fra.me.nitni_local_ref_head = NULL;
217 fra.me.REG[0] = NIT_NULL;
218 fra.me.REG[1] = NIT_NULL;
219 fra.me.REG[0] = p0;
220 fra.me.REG[1] = p1;
221 /* ./analysis//remove_out_of_init_get_test.nit:45 */
222 fra.me.REG[1] = NEW_IssetCounter_icode___icode_tools___ICodeVisitor___init();
223 /* ./analysis//remove_out_of_init_get_test.nit:46 */
224 CALL_icode___icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
225 /* ./analysis//remove_out_of_init_get_test.nit:47 */
226 REGB0 = CALL_analysis___remove_out_of_init_get_test___IssetCounter___nb_isset(fra.me.REG[1])(fra.me.REG[1]);
227 /* ./../lib/standard//kernel.nit:235 */
228 REGB0 = TAG_Int(UNTAG_Int(closctx->REG[1])+UNTAG_Int(REGB0));
229 /* ./analysis//remove_out_of_init_get_test.nit:47 */
230 closctx->REG[1] = REGB0;
231 stack_frame_head = fra.me.prev;
232 return;
233 }
234 val_t analysis___remove_out_of_init_get_test___IssetCounter___nb_isset(val_t p0){
235 struct {struct stack_frame_t me;} fra;
236 val_t REGB0;
237 val_t tmp;
238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
239 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
240 fra.me.line = 59;
241 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___IssetCounter___nb_isset;
242 fra.me.has_broke = 0;
243 fra.me.REG_size = 1;
244 fra.me.nitni_local_ref_head = NULL;
245 fra.me.REG[0] = NIT_NULL;
246 fra.me.REG[0] = p0;
247 /* ./analysis//remove_out_of_init_get_test.nit:59 */
248 REGB0 = TAG_Bool(ATTR_analysis___remove_out_of_init_get_test___IssetCounter____nb_isset(fra.me.REG[0])!=NIT_NULL);
249 if (UNTAG_Bool(REGB0)) {
250 } else {
251 nit_abort("Uninitialized attribute %s", "_nb_isset", LOCATE_analysis___remove_out_of_init_get_test, 59);
252 }
253 REGB0 = ATTR_analysis___remove_out_of_init_get_test___IssetCounter____nb_isset(fra.me.REG[0]);
254 stack_frame_head = fra.me.prev;
255 return REGB0;
256 }
257 void analysis___remove_out_of_init_get_test___IssetCounter___visit_icode(val_t p0, val_t p1){
258 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
259 val_t REGB0;
260 val_t REGB1;
261 val_t tmp;
262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
263 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
264 fra.me.line = 61;
265 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___IssetCounter___visit_icode;
266 fra.me.has_broke = 0;
267 fra.me.REG_size = 4;
268 fra.me.nitni_local_ref_head = NULL;
269 fra.me.REG[0] = NIT_NULL;
270 fra.me.REG[1] = NIT_NULL;
271 fra.me.REG[2] = NIT_NULL;
272 fra.me.REG[3] = NIT_NULL;
273 fra.me.REG[0] = p0;
274 fra.me.REG[1] = p1;
275 /* ./analysis//remove_out_of_init_get_test.nit:61 */
276 fra.me.REG[2] = fra.me.REG[0];
277 fra.me.REG[3] = fra.me.REG[1];
278 /* ./analysis//remove_out_of_init_get_test.nit:63 */
279 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___IAttrIsset, ID_icode___icode_base___IAttrIsset)) /*cast IAttrIsset*/;
280 if (UNTAG_Bool(REGB0)) {
281 /* ./analysis//remove_out_of_init_get_test.nit:64 */
282 REGB0 = CALL_analysis___remove_out_of_init_get_test___IssetCounter___nb_isset(fra.me.REG[2])(fra.me.REG[2]);
283 REGB1 = TAG_Int(1);
284 /* ./../lib/standard//kernel.nit:235 */
285 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
286 /* ./analysis//remove_out_of_init_get_test.nit:64 */
287 ATTR_analysis___remove_out_of_init_get_test___IssetCounter____nb_isset(fra.me.REG[2]) = REGB1;
288 }
289 /* ./analysis//remove_out_of_init_get_test.nit:67 */
290 CALL_SUPER_analysis___remove_out_of_init_get_test___IssetCounter___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
291 stack_frame_head = fra.me.prev;
292 return;
293 }
294 val_t analysis___remove_out_of_init_get_test___GetterTestRemover___nb_optimized_isset(val_t p0){
295 struct {struct stack_frame_t me;} fra;
296 val_t REGB0;
297 val_t tmp;
298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
299 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
300 fra.me.line = 73;
301 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___GetterTestRemover___nb_optimized_isset;
302 fra.me.has_broke = 0;
303 fra.me.REG_size = 1;
304 fra.me.nitni_local_ref_head = NULL;
305 fra.me.REG[0] = NIT_NULL;
306 fra.me.REG[0] = p0;
307 /* ./analysis//remove_out_of_init_get_test.nit:73 */
308 REGB0 = TAG_Bool(ATTR_analysis___remove_out_of_init_get_test___GetterTestRemover____nb_optimized_isset(fra.me.REG[0])!=NIT_NULL);
309 if (UNTAG_Bool(REGB0)) {
310 } else {
311 nit_abort("Uninitialized attribute %s", "_nb_optimized_isset", LOCATE_analysis___remove_out_of_init_get_test, 73);
312 }
313 REGB0 = ATTR_analysis___remove_out_of_init_get_test___GetterTestRemover____nb_optimized_isset(fra.me.REG[0]);
314 stack_frame_head = fra.me.prev;
315 return REGB0;
316 }
317 void analysis___remove_out_of_init_get_test___GetterTestRemover___visit_icode(val_t p0, val_t p1){
318 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
319 val_t REGB0;
320 val_t REGB1;
321 val_t tmp;
322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
323 fra.me.file = LOCATE_analysis___remove_out_of_init_get_test;
324 fra.me.line = 75;
325 fra.me.meth = LOCATE_analysis___remove_out_of_init_get_test___GetterTestRemover___visit_icode;
326 fra.me.has_broke = 0;
327 fra.me.REG_size = 5;
328 fra.me.nitni_local_ref_head = NULL;
329 fra.me.REG[0] = NIT_NULL;
330 fra.me.REG[1] = NIT_NULL;
331 fra.me.REG[2] = NIT_NULL;
332 fra.me.REG[3] = NIT_NULL;
333 fra.me.REG[4] = NIT_NULL;
334 fra.me.REG[0] = p0;
335 fra.me.REG[1] = p1;
336 /* ./analysis//remove_out_of_init_get_test.nit:75 */
337 fra.me.REG[2] = fra.me.REG[0];
338 fra.me.REG[3] = fra.me.REG[1];
339 /* ./analysis//remove_out_of_init_get_test.nit:78 */
340 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___IAttrIsset, ID_icode___icode_base___IAttrIsset)) /*cast IAttrIsset*/;
341 if (UNTAG_Bool(REGB0)) {
342 /* ./analysis//remove_out_of_init_get_test.nit:79 */
343 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
344 if (UNTAG_Bool(REGB0)) {
345 nit_abort("Reciever is null", NULL, LOCATE_analysis___remove_out_of_init_get_test, 79);
346 }
347 fra.me.REG[3] = CALL_icode___icode_base___ICode___result(fra.me.REG[3])(fra.me.REG[3]);
348 /* ./analysis//remove_out_of_init_get_test.nit:80 */
349 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
350 if (UNTAG_Bool(REGB0)) {
351 } else {
352 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
353 if (UNTAG_Bool(REGB1)) {
354 REGB1 = TAG_Bool(false);
355 REGB0 = REGB1;
356 } else {
357 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
358 REGB0 = REGB1;
359 }
360 }
361 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
362 if (UNTAG_Bool(REGB0)) {
363 } else {
364 nit_abort("Assert failed", NULL, LOCATE_analysis___remove_out_of_init_get_test, 80);
365 }
366 /* ./analysis//remove_out_of_init_get_test.nit:81 */
367 REGB0 = TAG_Bool(true);
368 fra.me.REG[4] = NEW_IBoolValue_icode___icode_base___IBoolValue___init(REGB0);
369 /* ./analysis//remove_out_of_init_get_test.nit:82 */
370 CALL_icode___icode_base___ICode___result__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
371 /* ./analysis//remove_out_of_init_get_test.nit:83 */
372 fra.me.REG[3] = CALL_icode___icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
373 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
374 if (UNTAG_Bool(REGB0)) {
375 nit_abort("Reciever is null", NULL, LOCATE_analysis___remove_out_of_init_get_test, 83);
376 }
377 CALL_standard___collection___list___ListIterator___insert_before(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
378 /* ./analysis//remove_out_of_init_get_test.nit:84 */
379 fra.me.REG[4] = CALL_icode___icode_tools___ICodeVisitor___current_icode(fra.me.REG[2])(fra.me.REG[2]);
380 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
381 if (UNTAG_Bool(REGB0)) {
382 nit_abort("Reciever is null", NULL, LOCATE_analysis___remove_out_of_init_get_test, 84);
383 }
384 CALL_standard___collection___list___ListIterator___delete(fra.me.REG[4])(fra.me.REG[4]);
385 /* ./analysis//remove_out_of_init_get_test.nit:85 */
386 REGB0 = CALL_analysis___remove_out_of_init_get_test___GetterTestRemover___nb_optimized_isset(fra.me.REG[2])(fra.me.REG[2]);
387 REGB1 = TAG_Int(1);
388 /* ./../lib/standard//kernel.nit:235 */
389 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
390 /* ./analysis//remove_out_of_init_get_test.nit:85 */
391 ATTR_analysis___remove_out_of_init_get_test___GetterTestRemover____nb_optimized_isset(fra.me.REG[2]) = REGB1;
392 }
393 /* ./analysis//remove_out_of_init_get_test.nit:88 */
394 CALL_SUPER_analysis___remove_out_of_init_get_test___GetterTestRemover___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
395 stack_frame_head = fra.me.prev;
396 return;
397 }