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