Merge remote branch 'alexis/wip'
[nit.git] / c_src / analysis___reachable_from_init_method_analysis_impl._sep.c
1 /* This C file is generated by NIT to compile module analysis___reachable_from_init_method_analysis_impl. */
2 #include "analysis___reachable_from_init_method_analysis_impl._sep.h"
3 val_t analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___program(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___reachable_from_init_method_analysis_impl;
9 fra.me.line = 25;
10 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___program;
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//reachable_from_init_method_analysis_impl.nit:25 */
17 REGB0 = TAG_Bool(ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder____program(fra.me.REG[0])!=NIT_NULL);
18 if (UNTAG_Bool(REGB0)) {
19 } else {
20 nit_abort("Uninitialized attribute %s", "_program", LOCATE_analysis___reachable_from_init_method_analysis_impl, 25);
21 }
22 fra.me.REG[0] = ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder____program(fra.me.REG[0]);
23 stack_frame_head = fra.me.prev;
24 return fra.me.REG[0];
25 }
26 val_t analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___context(val_t p0){
27 struct {struct stack_frame_t me;} fra;
28 val_t REGB0;
29 val_t tmp;
30 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
32 fra.me.line = 26;
33 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___context;
34 fra.me.has_broke = 0;
35 fra.me.REG_size = 1;
36 fra.me.nitni_local_ref_head = NULL;
37 fra.me.REG[0] = NIT_NULL;
38 fra.me.REG[0] = p0;
39 /* ./analysis//reachable_from_init_method_analysis_impl.nit:26 */
40 REGB0 = TAG_Bool(ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder____context(fra.me.REG[0])!=NIT_NULL);
41 if (UNTAG_Bool(REGB0)) {
42 } else {
43 nit_abort("Uninitialized attribute %s", "_context", LOCATE_analysis___reachable_from_init_method_analysis_impl, 26);
44 }
45 fra.me.REG[0] = ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder____context(fra.me.REG[0]);
46 stack_frame_head = fra.me.prev;
47 return fra.me.REG[0];
48 }
49 void analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___init(val_t p0, val_t p1, int* init_table){
50 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder].i;
51 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52 val_t tmp;
53 if (init_table[itpos0]) return;
54 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
56 fra.me.line = 28;
57 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___init;
58 fra.me.has_broke = 0;
59 fra.me.REG_size = 2;
60 fra.me.nitni_local_ref_head = NULL;
61 fra.me.REG[0] = NIT_NULL;
62 fra.me.REG[1] = NIT_NULL;
63 fra.me.REG[0] = p0;
64 fra.me.REG[1] = p1;
65 /* ./analysis//reachable_from_init_method_analysis_impl.nit:29 */
66 ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder____program(fra.me.REG[0]) = fra.me.REG[1];
67 stack_frame_head = fra.me.prev;
68 init_table[itpos0] = 1;
69 return;
70 }
71 void analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work(val_t p0){
72 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73 val_t tmp;
74 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
76 fra.me.line = 32;
77 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work;
78 fra.me.has_broke = 0;
79 fra.me.REG_size = 3;
80 fra.me.nitni_local_ref_head = NULL;
81 fra.me.REG[0] = NIT_NULL;
82 fra.me.REG[1] = NIT_NULL;
83 fra.me.REG[2] = NIT_NULL;
84 fra.me.REG[0] = p0;
85 /* ./analysis//reachable_from_init_method_analysis_impl.nit:32 */
86 fra.me.REG[1] = fra.me.REG[0];
87 /* ./analysis//reachable_from_init_method_analysis_impl.nit:33 */
88 fra.me.REG[2] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___program(fra.me.REG[1])(fra.me.REG[1]);
89 CALL_program___Program___with_each_live_local_classes(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work_1));
90 stack_frame_head = fra.me.prev;
91 return;
92 }
93 void OC_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work_1(struct stack_frame_t *closctx, val_t p0){
94 struct {struct stack_frame_t me;} fra;
95 val_t tmp;
96 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
98 fra.me.line = 33;
99 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work;
100 fra.me.has_broke = 0;
101 fra.me.REG_size = 1;
102 fra.me.nitni_local_ref_head = NULL;
103 fra.me.REG[0] = NIT_NULL;
104 fra.me.REG[0] = p0;
105 closctx->REG[2] = fra.me.REG[0];
106 /* ./analysis//reachable_from_init_method_analysis_impl.nit:35 */
107 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(closctx->REG[2])(closctx->REG[2]);
108 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[0])(fra.me.REG[0], closctx, ((fun_t)OC_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work_2));
109 stack_frame_head = fra.me.prev;
110 return;
111 }
112 void OC_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
113 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
114 val_t REGB0;
115 fun_t CREG[1];
116 val_t tmp;
117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
118 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
119 fra.me.line = 0;
120 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___work;
121 fra.me.has_broke = 0;
122 fra.me.REG_size = 3;
123 fra.me.nitni_local_ref_head = NULL;
124 fra.me.REG[0] = NIT_NULL;
125 fra.me.REG[1] = NIT_NULL;
126 fra.me.REG[2] = NIT_NULL;
127 fra.me.closure_ctx = closctx_param;
128 fra.me.closure_funs = CREG;
129 fra.me.REG[0] = p0;
130 CREG[0] = clos_fun0;
131 /* ./analysis//reachable_from_init_method_analysis_impl.nit:36 */
132 fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
133 /* ./analysis//reachable_from_init_method_analysis_impl.nit:37 */
134 fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
135 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init_for(fra.me.REG[1])(fra.me.REG[1], closctx->REG[2]);
136 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
137 if (UNTAG_Bool(REGB0)) {
138 goto label3;
139 }
140 /* ./analysis//reachable_from_init_method_analysis_impl.nit:38 */
141 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
142 if (UNTAG_Bool(REGB0)) {
143 } else {
144 nit_abort("Assert failed", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 38);
145 }
146 /* ./analysis//reachable_from_init_method_analysis_impl.nit:39 */
147 fra.me.REG[1] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___program(closctx->REG[1])(closctx->REG[1]);
148 fra.me.REG[1] = CALL_analysis___reachable_method_analysis___Program___rma(fra.me.REG[1])(fra.me.REG[1]);
149 REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_analysis___reachable_method_analysis___ReachableMethodAnalysis, ID_analysis___reachable_method_analysis___ReachableMethodAnalysis)) /*cast ReachableMethodAnalysis*/;
150 if (UNTAG_Bool(REGB0)) {
151 } else {
152 nit_abort("Cast failed", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 39);
153 }
154 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
155 if (UNTAG_Bool(REGB0)) {
156 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 39);
157 }
158 REGB0 = CALL_analysis___reachable_method_analysis___ReachableMethodAnalysis___is_method_reachable(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
159 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
160 if (UNTAG_Bool(REGB0)) {
161 goto label3;
162 }
163 /* ./analysis//reachable_from_init_method_analysis_impl.nit:40 */
164 fra.me.REG[1] = CALL_program___MMLocalClass___new_instance_iroutine(closctx->REG[2])(closctx->REG[2]);
165 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
166 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
167 if (UNTAG_Bool(REGB0)) {
168 goto label3;
169 }
170 /* ./analysis//reachable_from_init_method_analysis_impl.nit:41 */
171 fra.me.REG[1] = CALL_program___MMLocalClass___new_instance_iroutine(closctx->REG[2])(closctx->REG[2]);
172 fra.me.REG[0] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
173 /* ./analysis//reachable_from_init_method_analysis_impl.nit:44 */
174 fra.me.REG[1] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___context(closctx->REG[1])(closctx->REG[1]);
175 fra.me.REG[1] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___reachable_from_init_iroutines(fra.me.REG[1])(fra.me.REG[1]);
176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
177 /* ./analysis//reachable_from_init_method_analysis_impl.nit:45 */
178 fra.me.REG[1] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___context(closctx->REG[1])(closctx->REG[1]);
179 fra.me.REG[2] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMABuilder___program(closctx->REG[1])(closctx->REG[1]);
180 fra.me.REG[2] = NEW_RFIMAVisitor_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___init(fra.me.REG[1], fra.me.REG[2]);
181 CALL_icode___icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
182 label3: while(0);
183 stack_frame_head = fra.me.prev;
184 return;
185 }
186 val_t analysis___reachable_from_init_method_analysis_impl___RFIMAContext___reachable_from_init_iroutines(val_t p0){
187 struct {struct stack_frame_t me;} fra;
188 val_t REGB0;
189 val_t tmp;
190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
191 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
192 fra.me.line = 53;
193 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___reachable_from_init_iroutines;
194 fra.me.has_broke = 0;
195 fra.me.REG_size = 1;
196 fra.me.nitni_local_ref_head = NULL;
197 fra.me.REG[0] = NIT_NULL;
198 fra.me.REG[0] = p0;
199 /* ./analysis//reachable_from_init_method_analysis_impl.nit:53 */
200 REGB0 = TAG_Bool(ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAContext____reachable_from_init_iroutines(fra.me.REG[0])!=NIT_NULL);
201 if (UNTAG_Bool(REGB0)) {
202 } else {
203 nit_abort("Uninitialized attribute %s", "_reachable_from_init_iroutines", LOCATE_analysis___reachable_from_init_method_analysis_impl, 53);
204 }
205 fra.me.REG[0] = ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAContext____reachable_from_init_iroutines(fra.me.REG[0]);
206 stack_frame_head = fra.me.prev;
207 return fra.me.REG[0];
208 }
209 val_t analysis___reachable_from_init_method_analysis_impl___RFIMAContext___is_iroutine_reachable_from_init(val_t p0, val_t p1){
210 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
211 val_t REGB0;
212 val_t REGB1;
213 val_t tmp;
214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
215 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
216 fra.me.line = 55;
217 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___is_iroutine_reachable_from_init;
218 fra.me.has_broke = 0;
219 fra.me.REG_size = 2;
220 fra.me.nitni_local_ref_head = NULL;
221 fra.me.REG[0] = NIT_NULL;
222 fra.me.REG[1] = NIT_NULL;
223 fra.me.REG[0] = p0;
224 fra.me.REG[1] = p1;
225 /* ./analysis//reachable_from_init_method_analysis_impl.nit:56 */
226 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
227 if (UNTAG_Bool(REGB0)) {
228 } else {
229 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
230 if (UNTAG_Bool(REGB1)) {
231 REGB1 = TAG_Bool(false);
232 REGB0 = REGB1;
233 } else {
234 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
235 REGB0 = REGB1;
236 }
237 }
238 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
239 if (UNTAG_Bool(REGB0)) {
240 fra.me.REG[0] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___reachable_from_init_iroutines(fra.me.REG[0])(fra.me.REG[0]);
241 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
242 } else {
243 REGB1 = TAG_Bool(false);
244 REGB0 = REGB1;
245 }
246 goto label1;
247 label1: while(0);
248 stack_frame_head = fra.me.prev;
249 return REGB0;
250 }
251 val_t analysis___reachable_from_init_method_analysis_impl___RFIMAContext___is_method_reachable_from_init(val_t p0, val_t p1){
252 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
253 val_t REGB0;
254 val_t tmp;
255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
256 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
257 fra.me.line = 59;
258 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___is_method_reachable_from_init;
259 fra.me.has_broke = 0;
260 fra.me.REG_size = 2;
261 fra.me.nitni_local_ref_head = NULL;
262 fra.me.REG[0] = NIT_NULL;
263 fra.me.REG[1] = NIT_NULL;
264 fra.me.REG[0] = p0;
265 fra.me.REG[1] = p1;
266 /* ./analysis//reachable_from_init_method_analysis_impl.nit:60 */
267 fra.me.REG[1] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[1])(fra.me.REG[1]);
268 REGB0 = CALL_analysis___reachable_from_init_method_analysis___ReachableFromInitMethodAnalysis___is_iroutine_reachable_from_init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
269 goto label1;
270 label1: while(0);
271 stack_frame_head = fra.me.prev;
272 return REGB0;
273 }
274 val_t analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___context(val_t p0){
275 struct {struct stack_frame_t me;} fra;
276 val_t REGB0;
277 val_t tmp;
278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
279 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
280 fra.me.line = 66;
281 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___context;
282 fra.me.has_broke = 0;
283 fra.me.REG_size = 1;
284 fra.me.nitni_local_ref_head = NULL;
285 fra.me.REG[0] = NIT_NULL;
286 fra.me.REG[0] = p0;
287 /* ./analysis//reachable_from_init_method_analysis_impl.nit:66 */
288 REGB0 = TAG_Bool(ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____context(fra.me.REG[0])!=NIT_NULL);
289 if (UNTAG_Bool(REGB0)) {
290 } else {
291 nit_abort("Uninitialized attribute %s", "_context", LOCATE_analysis___reachable_from_init_method_analysis_impl, 66);
292 }
293 fra.me.REG[0] = ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____context(fra.me.REG[0]);
294 stack_frame_head = fra.me.prev;
295 return fra.me.REG[0];
296 }
297 val_t analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___program(val_t p0){
298 struct {struct stack_frame_t me;} fra;
299 val_t REGB0;
300 val_t tmp;
301 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
302 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
303 fra.me.line = 67;
304 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___program;
305 fra.me.has_broke = 0;
306 fra.me.REG_size = 1;
307 fra.me.nitni_local_ref_head = NULL;
308 fra.me.REG[0] = NIT_NULL;
309 fra.me.REG[0] = p0;
310 /* ./analysis//reachable_from_init_method_analysis_impl.nit:67 */
311 REGB0 = TAG_Bool(ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____program(fra.me.REG[0])!=NIT_NULL);
312 if (UNTAG_Bool(REGB0)) {
313 } else {
314 nit_abort("Uninitialized attribute %s", "_program", LOCATE_analysis___reachable_from_init_method_analysis_impl, 67);
315 }
316 fra.me.REG[0] = ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____program(fra.me.REG[0]);
317 stack_frame_head = fra.me.prev;
318 return fra.me.REG[0];
319 }
320 void analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table){
321 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor].i;
322 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
323 val_t tmp;
324 if (init_table[itpos1]) return;
325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
326 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
327 fra.me.line = 69;
328 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___init;
329 fra.me.has_broke = 0;
330 fra.me.REG_size = 4;
331 fra.me.nitni_local_ref_head = NULL;
332 fra.me.REG[0] = NIT_NULL;
333 fra.me.REG[1] = NIT_NULL;
334 fra.me.REG[2] = NIT_NULL;
335 fra.me.REG[3] = NIT_NULL;
336 fra.me.REG[0] = p0;
337 fra.me.REG[1] = p1;
338 fra.me.REG[2] = p2;
339 /* ./analysis//reachable_from_init_method_analysis_impl.nit:69 */
340 fra.me.REG[3] = fra.me.REG[0];
341 CALL_icode___icode_tools___ICodeVisitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
342 /* ./analysis//reachable_from_init_method_analysis_impl.nit:70 */
343 ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____context(fra.me.REG[3]) = fra.me.REG[1];
344 /* ./analysis//reachable_from_init_method_analysis_impl.nit:71 */
345 ATTR_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor____program(fra.me.REG[3]) = fra.me.REG[2];
346 stack_frame_head = fra.me.prev;
347 init_table[itpos1] = 1;
348 return;
349 }
350 void analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(val_t p0, val_t p1){
351 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
352 val_t REGB0;
353 val_t tmp;
354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
355 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
356 fra.me.line = 74;
357 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call;
358 fra.me.has_broke = 0;
359 fra.me.REG_size = 3;
360 fra.me.nitni_local_ref_head = NULL;
361 fra.me.REG[0] = NIT_NULL;
362 fra.me.REG[1] = NIT_NULL;
363 fra.me.REG[2] = NIT_NULL;
364 fra.me.REG[0] = p0;
365 fra.me.REG[1] = p1;
366 /* ./analysis//reachable_from_init_method_analysis_impl.nit:75 */
367 fra.me.REG[2] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___context(fra.me.REG[0])(fra.me.REG[0]);
368 REGB0 = CALL_analysis___reachable_from_init_method_analysis___ReachableFromInitMethodAnalysis___is_iroutine_reachable_from_init(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
369 if (UNTAG_Bool(REGB0)) {
370 goto label1;
371 }
372 /* ./analysis//reachable_from_init_method_analysis_impl.nit:76 */
373 fra.me.REG[2] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___context(fra.me.REG[0])(fra.me.REG[0]);
374 fra.me.REG[2] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAContext___reachable_from_init_iroutines(fra.me.REG[2])(fra.me.REG[2]);
375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
376 /* ./analysis//reachable_from_init_method_analysis_impl.nit:77 */
377 CALL_icode___icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
378 label1: while(0);
379 stack_frame_head = fra.me.prev;
380 return;
381 }
382 void analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode(val_t p0, val_t p1){
383 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
384 val_t REGB0;
385 val_t REGB1;
386 val_t tmp;
387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
388 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
389 fra.me.line = 80;
390 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode;
391 fra.me.has_broke = 0;
392 fra.me.REG_size = 6;
393 fra.me.nitni_local_ref_head = NULL;
394 fra.me.REG[0] = NIT_NULL;
395 fra.me.REG[1] = NIT_NULL;
396 fra.me.REG[2] = NIT_NULL;
397 fra.me.REG[3] = NIT_NULL;
398 fra.me.REG[4] = NIT_NULL;
399 fra.me.REG[5] = NIT_NULL;
400 fra.me.REG[0] = p0;
401 fra.me.REG[1] = p1;
402 /* ./analysis//reachable_from_init_method_analysis_impl.nit:80 */
403 fra.me.REG[2] = fra.me.REG[0];
404 fra.me.REG[3] = fra.me.REG[1];
405 /* ./analysis//reachable_from_init_method_analysis_impl.nit:82 */
406 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___IStaticCall, ID_icode___icode_base___IStaticCall)) /*cast IStaticCall*/;
407 if (UNTAG_Bool(REGB0)) {
408 /* ./analysis//reachable_from_init_method_analysis_impl.nit:84 */
409 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
410 if (UNTAG_Bool(REGB0)) {
411 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 84);
412 }
413 fra.me.REG[4] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
414 fra.me.REG[4] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[4])(fra.me.REG[4]);
415 /* ./analysis//reachable_from_init_method_analysis_impl.nit:85 */
416 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
417 if (UNTAG_Bool(REGB0)) {
418 } else {
419 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
420 if (UNTAG_Bool(REGB1)) {
421 REGB1 = TAG_Bool(false);
422 REGB0 = REGB1;
423 } else {
424 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
425 REGB0 = REGB1;
426 }
427 }
428 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
429 if (UNTAG_Bool(REGB0)) {
430 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
431 }
432 } else {
433 /* ./analysis//reachable_from_init_method_analysis_impl.nit:86 */
434 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___INew, ID_icode___icode_base___INew)) /*cast INew*/;
435 if (UNTAG_Bool(REGB0)) {
436 /* ./analysis//reachable_from_init_method_analysis_impl.nit:88 */
437 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
438 if (UNTAG_Bool(REGB0)) {
439 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 88);
440 }
441 fra.me.REG[4] = CALL_icode___icode_base___INew___stype(fra.me.REG[3])(fra.me.REG[3]);
442 /* ./analysis//reachable_from_init_method_analysis_impl.nit:89 */
443 fra.me.REG[5] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___program(fra.me.REG[2])(fra.me.REG[2]);
444 fra.me.REG[5] = CALL_program___Program___main_module(fra.me.REG[5])(fra.me.REG[5]);
445 fra.me.REG[5] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
446 fra.me.REG[5] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[5])(fra.me.REG[5]);
447 /* ./analysis//reachable_from_init_method_analysis_impl.nit:90 */
448 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
449 if (UNTAG_Bool(REGB0)) {
450 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 90);
451 }
452 fra.me.REG[4] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
453 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[4])(fra.me.REG[4]);
454 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
455 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
456 if (UNTAG_Bool(REGB0)) {
457 } else {
458 nit_abort("Cast failed", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 90);
459 }
460 /* ./analysis//reachable_from_init_method_analysis_impl.nit:91 */
461 REGB0 = CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra.me.REG[4])(fra.me.REG[4]);
462 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
463 if (UNTAG_Bool(REGB0)) {
464 /* ./analysis//reachable_from_init_method_analysis_impl.nit:92 */
465 fra.me.REG[5] = CALL_program___MMLocalClass___new_instance_iroutine(fra.me.REG[5])(fra.me.REG[5]);
466 fra.me.REG[4] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
467 /* ./analysis//reachable_from_init_method_analysis_impl.nit:93 */
468 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
469 }
470 } else {
471 /* ./analysis//reachable_from_init_method_analysis_impl.nit:95 */
472 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___ISuper, ID_icode___icode_base___ISuper)) /*cast ISuper*/;
473 if (UNTAG_Bool(REGB0)) {
474 /* ./analysis//reachable_from_init_method_analysis_impl.nit:97 */
475 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
476 if (UNTAG_Bool(REGB0)) {
477 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 97);
478 }
479 fra.me.REG[4] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
480 /* ./analysis//reachable_from_init_method_analysis_impl.nit:98 */
481 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra.me.REG[4])(fra.me.REG[4]);
482 fra.me.REG[4] = CALL_metamodel___partial_order___PartialOrderElement___greaters_and_self(fra.me.REG[4])(fra.me.REG[4]);
483 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode_1));
484 } else {
485 /* ./analysis//reachable_from_init_method_analysis_impl.nit:104 */
486 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___ICall, ID_icode___icode_base___ICall)) /*cast ICall*/;
487 if (UNTAG_Bool(REGB0)) {
488 /* ./analysis//reachable_from_init_method_analysis_impl.nit:106 */
489 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
490 if (UNTAG_Bool(REGB0)) {
491 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 106);
492 }
493 fra.me.REG[4] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
494 /* ./analysis//reachable_from_init_method_analysis_impl.nit:107 */
495 fra.me.REG[5] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[4])(fra.me.REG[4]);
496 /* ./analysis//reachable_from_init_method_analysis_impl.nit:108 */
497 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
498 if (UNTAG_Bool(REGB0)) {
499 } else {
500 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
501 if (UNTAG_Bool(REGB1)) {
502 REGB1 = TAG_Bool(false);
503 REGB0 = REGB1;
504 } else {
505 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
506 REGB0 = REGB1;
507 }
508 }
509 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
510 if (UNTAG_Bool(REGB0)) {
511 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
512 }
513 /* ./analysis//reachable_from_init_method_analysis_impl.nit:109 */
514 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra.me.REG[4])(fra.me.REG[4]);
515 fra.me.REG[4] = CALL_metamodel___partial_order___PartialOrderElement___smallers(fra.me.REG[4])(fra.me.REG[4]);
516 CALL_standard___collection___abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode_2));
517 } else {
518 /* ./analysis//reachable_from_init_method_analysis_impl.nit:115 */
519 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___ICheckInstance, ID_icode___icode_base___ICheckInstance)) /*cast ICheckInstance*/;
520 if (UNTAG_Bool(REGB0)) {
521 /* ./analysis//reachable_from_init_method_analysis_impl.nit:116 */
522 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
523 if (UNTAG_Bool(REGB0)) {
524 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 116);
525 }
526 fra.me.REG[5] = CALL_icode___icode_base___ICheckInstance___stype(fra.me.REG[3])(fra.me.REG[3]);
527 /* ./analysis//reachable_from_init_method_analysis_impl.nit:117 */
528 fra.me.REG[4] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___program(fra.me.REG[2])(fra.me.REG[2]);
529 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
530 fra.me.REG[4] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
531 fra.me.REG[4] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[4])(fra.me.REG[4]);
532 /* ./analysis//reachable_from_init_method_analysis_impl.nit:118 */
533 fra.me.REG[4] = CALL_program___MMLocalClass___checknew_iroutine(fra.me.REG[4])(fra.me.REG[4]);
534 /* ./analysis//reachable_from_init_method_analysis_impl.nit:119 */
535 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
536 if (UNTAG_Bool(REGB0)) {
537 } else {
538 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
539 if (UNTAG_Bool(REGB1)) {
540 REGB1 = TAG_Bool(false);
541 REGB0 = REGB1;
542 } else {
543 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
544 REGB0 = REGB1;
545 }
546 }
547 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
548 if (UNTAG_Bool(REGB0)) {
549 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
550 }
551 } else {
552 /* ./analysis//reachable_from_init_method_analysis_impl.nit:120 */
553 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_icode___icode_base___IInitAttributes, ID_icode___icode_base___IInitAttributes)) /*cast IInitAttributes*/;
554 if (UNTAG_Bool(REGB0)) {
555 /* ./analysis//reachable_from_init_method_analysis_impl.nit:121 */
556 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
557 if (UNTAG_Bool(REGB0)) {
558 nit_abort("Reciever is null", NULL, LOCATE_analysis___reachable_from_init_method_analysis_impl, 121);
559 }
560 fra.me.REG[3] = CALL_icode___icode_base___IInitAttributes___stype(fra.me.REG[3])(fra.me.REG[3]);
561 /* ./analysis//reachable_from_init_method_analysis_impl.nit:122 */
562 fra.me.REG[4] = CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___program(fra.me.REG[2])(fra.me.REG[2]);
563 fra.me.REG[4] = CALL_program___Program___main_module(fra.me.REG[4])(fra.me.REG[4]);
564 fra.me.REG[4] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
565 fra.me.REG[4] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[4])(fra.me.REG[4]);
566 /* ./analysis//reachable_from_init_method_analysis_impl.nit:123 */
567 fra.me.REG[4] = CALL_program___MMLocalClass___init_var_iroutine(fra.me.REG[4])(fra.me.REG[4]);
568 /* ./analysis//reachable_from_init_method_analysis_impl.nit:124 */
569 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
570 if (UNTAG_Bool(REGB0)) {
571 } else {
572 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
573 if (UNTAG_Bool(REGB1)) {
574 REGB1 = TAG_Bool(false);
575 REGB0 = REGB1;
576 } else {
577 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
578 REGB0 = REGB1;
579 }
580 }
581 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
582 if (UNTAG_Bool(REGB0)) {
583 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
584 }
585 }
586 }
587 }
588 }
589 }
590 }
591 /* ./analysis//reachable_from_init_method_analysis_impl.nit:126 */
592 CALL_SUPER_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
593 stack_frame_head = fra.me.prev;
594 return;
595 }
596 void OC_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
597 struct {struct stack_frame_t me;} fra;
598 val_t REGB0;
599 val_t REGB1;
600 fun_t CREG[1];
601 val_t tmp;
602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
603 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
604 fra.me.line = 0;
605 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode;
606 fra.me.has_broke = 0;
607 fra.me.REG_size = 1;
608 fra.me.nitni_local_ref_head = NULL;
609 fra.me.REG[0] = NIT_NULL;
610 fra.me.closure_ctx = closctx_param;
611 fra.me.closure_funs = CREG;
612 fra.me.REG[0] = p0;
613 CREG[0] = clos_fun0;
614 /* ./analysis//reachable_from_init_method_analysis_impl.nit:99 */
615 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
616 if (UNTAG_Bool(REGB0)) {
617 /* ./analysis//reachable_from_init_method_analysis_impl.nit:100 */
618 fra.me.REG[0] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[0])(fra.me.REG[0]);
619 /* ./analysis//reachable_from_init_method_analysis_impl.nit:101 */
620 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
621 if (UNTAG_Bool(REGB0)) {
622 } else {
623 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
624 if (UNTAG_Bool(REGB1)) {
625 REGB1 = TAG_Bool(false);
626 REGB0 = REGB1;
627 } else {
628 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
629 REGB0 = REGB1;
630 }
631 }
632 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
633 if (UNTAG_Bool(REGB0)) {
634 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
635 }
636 }
637 stack_frame_head = fra.me.prev;
638 return;
639 }
640 void OC_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
641 struct {struct stack_frame_t me;} fra;
642 val_t REGB0;
643 val_t REGB1;
644 fun_t CREG[1];
645 val_t tmp;
646 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
647 fra.me.file = LOCATE_analysis___reachable_from_init_method_analysis_impl;
648 fra.me.line = 0;
649 fra.me.meth = LOCATE_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___visit_icode;
650 fra.me.has_broke = 0;
651 fra.me.REG_size = 1;
652 fra.me.nitni_local_ref_head = NULL;
653 fra.me.REG[0] = NIT_NULL;
654 fra.me.closure_ctx = closctx_param;
655 fra.me.closure_funs = CREG;
656 fra.me.REG[0] = p0;
657 CREG[0] = clos_fun0;
658 /* ./analysis//reachable_from_init_method_analysis_impl.nit:110 */
659 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
660 if (UNTAG_Bool(REGB0)) {
661 /* ./analysis//reachable_from_init_method_analysis_impl.nit:111 */
662 fra.me.REG[0] = CALL_icode___icode_base___MMMethod___iroutine(fra.me.REG[0])(fra.me.REG[0]);
663 closctx->REG[5] = fra.me.REG[0];
664 /* ./analysis//reachable_from_init_method_analysis_impl.nit:112 */
665 REGB0 = TAG_Bool(closctx->REG[5]==NIT_NULL);
666 if (UNTAG_Bool(REGB0)) {
667 } else {
668 REGB1 = TAG_Bool(closctx->REG[5]==NIT_NULL);
669 if (UNTAG_Bool(REGB1)) {
670 REGB1 = TAG_Bool(false);
671 REGB0 = REGB1;
672 } else {
673 REGB1 = CALL_standard___kernel___Object_____eqeq(closctx->REG[5])(closctx->REG[5], NIT_NULL);
674 REGB0 = REGB1;
675 }
676 }
677 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
678 if (UNTAG_Bool(REGB0)) {
679 CALL_analysis___reachable_from_init_method_analysis_impl___RFIMAVisitor___process_call(closctx->REG[2])(closctx->REG[2], closctx->REG[5]);
680 }
681 }
682 stack_frame_head = fra.me.prev;
683 return;
684 }