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
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
11 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___Program___nb_optimized_isset
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
21 nit_abort("Uninitialized attribute %s", "_nb_optimized_isset", LOCATE_global___remove_out_of_init_get_test
, 24);
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
;
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
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
34 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___Program___optimize_out_of_init_getters
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
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
;
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
;
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
;
53 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___Program___optimize_out_of_init_getters
;
56 fra
.me
.nitni_local_ref_head
= NULL
;
57 fra
.me
.REG
[0] = NIT_NULL
;
58 fra
.me
.REG
[1] = NIT_NULL
;
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);
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
;
82 stack_frame_head
= fra
.me
.prev
;
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
;
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
;
100 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___Program___dump_out_of_init_information
;
101 fra
.me
.has_broke
= 0;
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
;
111 /* global/remove_out_of_init_get_test.nit:41 */
113 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
115 fra
.me
.REG
[3] = BOX_NativeString("");
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]);
125 fra
.me
.REG
[1] = BOX_NativeString("/");
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]);
138 fra
.me
.REG
[1] = BOX_NativeString(".out_of_init_opt.log");
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 */
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 */
154 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
156 fra
.me
.REG
[4] = BOX_NativeString("Nb. optimized isset: ");
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]);
168 fra
.me
.REG
[0] = BOX_NativeString("\n");
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 */
180 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
182 fra
.me
.REG
[0] = BOX_NativeString("Nb. not optimized: ");
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]);
193 fra
.me
.REG
[1] = BOX_NativeString("\n");
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
;
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
;
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
;
216 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___Program___dump_out_of_init_information
;
217 fra
.me
.has_broke
= 0;
219 fra
.me
.nitni_local_ref_head
= NULL
;
220 fra
.me
.REG
[0] = NIT_NULL
;
221 fra
.me
.REG
[1] = NIT_NULL
;
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
;
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
;
242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
243 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
245 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___IssetCounter___nb_isset
;
246 fra
.me
.has_broke
= 0;
248 fra
.me
.nitni_local_ref_head
= NULL
;
249 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
255 nit_abort("Uninitialized attribute %s", "_nb_isset", LOCATE_global___remove_out_of_init_get_test
, 59);
257 REGB0
= ATTR_global___remove_out_of_init_get_test___IssetCounter____nb_isset(fra
.me
.REG
[0]);
258 stack_frame_head
= fra
.me
.prev
;
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
;
267 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
268 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
270 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___IssetCounter___visit_icode
;
271 fra
.me
.has_broke
= 0;
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
;
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]);
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
;
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
;
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
;
304 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
305 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
307 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___GetterTestRemover___nb_optimized_isset
;
308 fra
.me
.has_broke
= 0;
310 fra
.me
.nitni_local_ref_head
= NULL
;
311 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
317 nit_abort("Uninitialized attribute %s", "_nb_optimized_isset", LOCATE_global___remove_out_of_init_get_test
, 73);
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
;
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
;
329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
330 fra
.me
.file
= LOCATE_global___remove_out_of_init_get_test
;
332 fra
.me
.meth
= LOCATE_global___remove_out_of_init_get_test___GetterTestRemover___visit_icode
;
333 fra
.me
.has_broke
= 0;
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
;
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);
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
)) {
359 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
360 if (UNTAG_Bool(REGB1
)) {
364 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
368 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
369 if (UNTAG_Bool(REGB0
)) {
371 nit_abort("Assert failed", NULL
, LOCATE_global___remove_out_of_init_get_test
, 80);
373 /* global/remove_out_of_init_get_test.nit:81 */
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);
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);
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]);
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
;
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
;