613a9bb6f11dd91f216c15d365e987121638ad5a
[nit.git] / c_src / global___reachable_as_init_impl._sep.c
1 /* This C file is generated by NIT to compile module global___reachable_as_init_impl. */
2 #include "global___reachable_as_init_impl._sep.h"
3 val_t global___reachable_as_init_impl___ReachableAsInitBuilder___context(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_global___reachable_as_init_impl;
9 fra.me.line = 24;
10 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitBuilder___context;
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 /* global/reachable_as_init_impl.nit:24 */
17 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitBuilder____context(fra.me.REG[0])!=NIT_NULL);
18 if (UNTAG_Bool(REGB0)) {
19 } else {
20 nit_abort("Uninitialized attribute %s", "_context", LOCATE_global___reachable_as_init_impl, 24);
21 }
22 fra.me.REG[0] = ATTR_global___reachable_as_init_impl___ReachableAsInitBuilder____context(fra.me.REG[0]);
23 stack_frame_head = fra.me.prev;
24 return fra.me.REG[0];
25 }
26 val_t global___reachable_as_init_impl___ReachableAsInitBuilder___program(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_global___reachable_as_init_impl;
32 fra.me.line = 25;
33 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitBuilder___program;
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 /* global/reachable_as_init_impl.nit:25 */
40 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitBuilder____program(fra.me.REG[0])!=NIT_NULL);
41 if (UNTAG_Bool(REGB0)) {
42 } else {
43 nit_abort("Uninitialized attribute %s", "_program", LOCATE_global___reachable_as_init_impl, 25);
44 }
45 fra.me.REG[0] = ATTR_global___reachable_as_init_impl___ReachableAsInitBuilder____program(fra.me.REG[0]);
46 stack_frame_head = fra.me.prev;
47 return fra.me.REG[0];
48 }
49 void global___reachable_as_init_impl___ReachableAsInitBuilder___work(val_t p0){
50 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51 val_t tmp;
52 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53 fra.me.file = LOCATE_global___reachable_as_init_impl;
54 fra.me.line = 27;
55 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitBuilder___work;
56 fra.me.has_broke = 0;
57 fra.me.REG_size = 2;
58 fra.me.nitni_local_ref_head = NULL;
59 fra.me.REG[0] = NIT_NULL;
60 fra.me.REG[1] = NIT_NULL;
61 fra.me.REG[0] = p0;
62 /* global/reachable_as_init_impl.nit:28 */
63 fra.me.REG[1] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___program(fra.me.REG[0])(fra.me.REG[0]);
64 CALL_program___Program___with_each_iroutines(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_global___reachable_as_init_impl___ReachableAsInitBuilder___work_1));
65 stack_frame_head = fra.me.prev;
66 return;
67 }
68 void OC_global___reachable_as_init_impl___ReachableAsInitBuilder___work_1(struct stack_frame_t *closctx, val_t p0, val_t p1){
69 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
70 val_t REGB0;
71 val_t tmp;
72 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73 fra.me.file = LOCATE_global___reachable_as_init_impl;
74 fra.me.line = 28;
75 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitBuilder___work;
76 fra.me.has_broke = 0;
77 fra.me.REG_size = 2;
78 fra.me.nitni_local_ref_head = NULL;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[1] = NIT_NULL;
81 fra.me.REG[0] = p0;
82 fra.me.REG[1] = p1;
83 /* global/reachable_as_init_impl.nit:29 */
84 fra.me.REG[1] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___program(closctx->REG[0])(closctx->REG[0]);
85 fra.me.REG[1] = CALL_global___reachable_method_analysis___Program___rma(fra.me.REG[1])(fra.me.REG[1]);
86 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
87 if (UNTAG_Bool(REGB0)) {
88 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 29);
89 }
90 REGB0 = CALL_global___reachable_method_analysis___ReachableMethodAnalysis___is_iroutine_reachable(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
91 if (UNTAG_Bool(REGB0)) {
92 /* global/reachable_as_init_impl.nit:30 */
93 fra.me.REG[1] = NEW_RAIVisitor_global___reachable_as_init_impl___RAIVisitor___init(closctx->REG[0]);
94 /* global/reachable_as_init_impl.nit:31 */
95 CALL_icode___icode_tools___ICodeVisitor___visit_iroutine(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
96 }
97 stack_frame_head = fra.me.prev;
98 return;
99 }
100 void global___reachable_as_init_impl___ReachableAsInitBuilder___init(val_t p0, val_t p1, int* init_table){
101 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___reachable_as_init_impl___ReachableAsInitBuilder].i;
102 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
103 val_t tmp;
104 if (init_table[itpos0]) return;
105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
106 fra.me.file = LOCATE_global___reachable_as_init_impl;
107 fra.me.line = 36;
108 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitBuilder___init;
109 fra.me.has_broke = 0;
110 fra.me.REG_size = 2;
111 fra.me.nitni_local_ref_head = NULL;
112 fra.me.REG[0] = NIT_NULL;
113 fra.me.REG[1] = NIT_NULL;
114 fra.me.REG[0] = p0;
115 fra.me.REG[1] = p1;
116 /* global/reachable_as_init_impl.nit:37 */
117 ATTR_global___reachable_as_init_impl___ReachableAsInitBuilder____program(fra.me.REG[0]) = fra.me.REG[1];
118 stack_frame_head = fra.me.prev;
119 init_table[itpos0] = 1;
120 return;
121 }
122 val_t global___reachable_as_init_impl___ReachableAsInitAnalysisImpl___is_method_reachable_as_init(val_t p0, val_t p1, val_t p2){
123 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
124 val_t REGB0;
125 val_t REGB1;
126 val_t tmp;
127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
128 fra.me.file = LOCATE_global___reachable_as_init_impl;
129 fra.me.line = 47;
130 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl___is_method_reachable_as_init;
131 fra.me.has_broke = 0;
132 fra.me.REG_size = 4;
133 fra.me.nitni_local_ref_head = NULL;
134 fra.me.REG[0] = NIT_NULL;
135 fra.me.REG[1] = NIT_NULL;
136 fra.me.REG[2] = NIT_NULL;
137 fra.me.REG[3] = NIT_NULL;
138 fra.me.REG[0] = p0;
139 fra.me.REG[1] = p1;
140 fra.me.REG[2] = p2;
141 /* global/reachable_as_init_impl.nit:48 */
142 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[0])!=NIT_NULL);
143 if (UNTAG_Bool(REGB0)) {
144 } else {
145 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 48);
146 }
147 fra.me.REG[3] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[0]);
148 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
149 if (UNTAG_Bool(REGB0)) {
150 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[0])!=NIT_NULL);
151 if (UNTAG_Bool(REGB0)) {
152 } else {
153 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 48);
154 }
155 fra.me.REG[0] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[0]);
156 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
157 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
158 if (UNTAG_Bool(REGB0)) {
159 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 48);
160 }
161 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
162 goto label1;
163 }
164 /* global/reachable_as_init_impl.nit:49 */
165 REGB1 = TAG_Bool(false);
166 REGB0 = REGB1;
167 goto label1;
168 label1: while(0);
169 stack_frame_head = fra.me.prev;
170 return REGB0;
171 }
172 void global___reachable_as_init_impl___ReachableAsInitAnalysisImpl___init(val_t p0, int* init_table){
173 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl].i;
174 struct {struct stack_frame_t me;} fra;
175 val_t tmp;
176 if (init_table[itpos1]) return;
177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
178 fra.me.file = LOCATE_global___reachable_as_init_impl;
179 fra.me.line = 52;
180 fra.me.meth = LOCATE_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl___init;
181 fra.me.has_broke = 0;
182 fra.me.REG_size = 1;
183 fra.me.nitni_local_ref_head = NULL;
184 fra.me.REG[0] = NIT_NULL;
185 fra.me.REG[0] = p0;
186 stack_frame_head = fra.me.prev;
187 init_table[itpos1] = 1;
188 return;
189 }
190 val_t global___reachable_as_init_impl___RAIVisitor___builder(val_t p0){
191 struct {struct stack_frame_t me;} fra;
192 val_t REGB0;
193 val_t tmp;
194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
195 fra.me.file = LOCATE_global___reachable_as_init_impl;
196 fra.me.line = 57;
197 fra.me.meth = LOCATE_global___reachable_as_init_impl___RAIVisitor___builder;
198 fra.me.has_broke = 0;
199 fra.me.REG_size = 1;
200 fra.me.nitni_local_ref_head = NULL;
201 fra.me.REG[0] = NIT_NULL;
202 fra.me.REG[0] = p0;
203 /* global/reachable_as_init_impl.nit:57 */
204 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___RAIVisitor____builder(fra.me.REG[0])!=NIT_NULL);
205 if (UNTAG_Bool(REGB0)) {
206 } else {
207 nit_abort("Uninitialized attribute %s", "_builder", LOCATE_global___reachable_as_init_impl, 57);
208 }
209 fra.me.REG[0] = ATTR_global___reachable_as_init_impl___RAIVisitor____builder(fra.me.REG[0]);
210 stack_frame_head = fra.me.prev;
211 return fra.me.REG[0];
212 }
213 void global___reachable_as_init_impl___RAIVisitor___visit_icode(val_t p0, val_t p1){
214 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
215 val_t REGB0;
216 val_t tmp;
217 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
218 fra.me.file = LOCATE_global___reachable_as_init_impl;
219 fra.me.line = 59;
220 fra.me.meth = LOCATE_global___reachable_as_init_impl___RAIVisitor___visit_icode;
221 fra.me.has_broke = 0;
222 fra.me.REG_size = 7;
223 fra.me.nitni_local_ref_head = NULL;
224 fra.me.REG[0] = NIT_NULL;
225 fra.me.REG[1] = NIT_NULL;
226 fra.me.REG[2] = NIT_NULL;
227 fra.me.REG[3] = NIT_NULL;
228 fra.me.REG[4] = NIT_NULL;
229 fra.me.REG[5] = NIT_NULL;
230 fra.me.REG[6] = NIT_NULL;
231 fra.me.REG[0] = p0;
232 fra.me.REG[1] = p1;
233 /* global/reachable_as_init_impl.nit:59 */
234 fra.me.REG[2] = fra.me.REG[0];
235 fra.me.REG[3] = fra.me.REG[1];
236 /* global/reachable_as_init_impl.nit:61 */
237 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*/;
238 if (UNTAG_Bool(REGB0)) {
239 /* global/reachable_as_init_impl.nit:63 */
240 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
241 if (UNTAG_Bool(REGB0)) {
242 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 63);
243 }
244 fra.me.REG[4] = CALL_icode___icode_base___INew___stype(fra.me.REG[3])(fra.me.REG[3]);
245 /* global/reachable_as_init_impl.nit:64 */
246 fra.me.REG[5] = CALL_global___reachable_as_init_impl___RAIVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
247 fra.me.REG[5] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___program(fra.me.REG[5])(fra.me.REG[5]);
248 fra.me.REG[5] = CALL_program___Program___main_module(fra.me.REG[5])(fra.me.REG[5]);
249 fra.me.REG[5] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
250 fra.me.REG[5] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[5])(fra.me.REG[5]);
251 /* global/reachable_as_init_impl.nit:65 */
252 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
253 if (UNTAG_Bool(REGB0)) {
254 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 65);
255 }
256 fra.me.REG[3] = CALL_icode___icode_base___IAbsCall___property(fra.me.REG[3])(fra.me.REG[3]);
257 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
258 fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
259 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_metamodel___abstractmetamodel___MMMethod, ID_metamodel___abstractmetamodel___MMMethod)) /*cast MMMethod*/;
260 if (UNTAG_Bool(REGB0)) {
261 } else {
262 nit_abort("Cast failed", NULL, LOCATE_global___reachable_as_init_impl, 65);
263 }
264 /* global/reachable_as_init_impl.nit:66 */
265 fra.me.REG[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra.me.REG[3])(fra.me.REG[3]);
266 REGB0 = CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[4])(fra.me.REG[4]);
267 if (UNTAG_Bool(REGB0)) {
268 } else {
269 nit_abort("Assert failed", NULL, LOCATE_global___reachable_as_init_impl, 66);
270 }
271 /* global/reachable_as_init_impl.nit:67 */
272 fra.me.REG[4] = CALL_global___reachable_as_init_impl___RAIVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
273 fra.me.REG[4] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___context(fra.me.REG[4])(fra.me.REG[4]);
274 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[4])!=NIT_NULL);
275 if (UNTAG_Bool(REGB0)) {
276 } else {
277 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 67);
278 }
279 fra.me.REG[4] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[4]);
280 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
281 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
282 if (UNTAG_Bool(REGB0)) {
283 fra.me.REG[4] = CALL_global___reachable_as_init_impl___RAIVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
284 fra.me.REG[4] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___context(fra.me.REG[4])(fra.me.REG[4]);
285 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[4])!=NIT_NULL);
286 if (UNTAG_Bool(REGB0)) {
287 } else {
288 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 67);
289 }
290 fra.me.REG[4] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[4]);
291 fra.me.REG[6] = NEW_List_standard___collection___list___List___init();
292 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
293 }
294 /* global/reachable_as_init_impl.nit:68 */
295 fra.me.REG[6] = CALL_global___reachable_as_init_impl___RAIVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
296 fra.me.REG[6] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___context(fra.me.REG[6])(fra.me.REG[6]);
297 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[6])!=NIT_NULL);
298 if (UNTAG_Bool(REGB0)) {
299 } else {
300 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 68);
301 }
302 fra.me.REG[6] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[6]);
303 fra.me.REG[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
304 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
305 if (UNTAG_Bool(REGB0)) {
306 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 68);
307 }
308 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
309 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
310 if (UNTAG_Bool(REGB0)) {
311 fra.me.REG[2] = CALL_global___reachable_as_init_impl___RAIVisitor___builder(fra.me.REG[2])(fra.me.REG[2]);
312 fra.me.REG[2] = CALL_global___reachable_as_init_impl___ReachableAsInitBuilder___context(fra.me.REG[2])(fra.me.REG[2]);
313 REGB0 = TAG_Bool(ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[2])!=NIT_NULL);
314 if (UNTAG_Bool(REGB0)) {
315 } else {
316 nit_abort("Uninitialized attribute %s", "_methods", LOCATE_global___reachable_as_init_impl, 68);
317 }
318 fra.me.REG[2] = ATTR_global___reachable_as_init_impl___ReachableAsInitAnalysisImpl____methods(fra.me.REG[2]);
319 fra.me.REG[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]);
320 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
321 if (UNTAG_Bool(REGB0)) {
322 nit_abort("Reciever is null", NULL, LOCATE_global___reachable_as_init_impl, 68);
323 }
324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
325 }
326 }
327 /* global/reachable_as_init_impl.nit:70 */
328 CALL_SUPER_global___reachable_as_init_impl___RAIVisitor___visit_icode(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
329 stack_frame_head = fra.me.prev;
330 return;
331 }
332 void global___reachable_as_init_impl___RAIVisitor___init(val_t p0, val_t p1, int* init_table){
333 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_global___reachable_as_init_impl___RAIVisitor].i;
334 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
335 val_t tmp;
336 if (init_table[itpos2]) return;
337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
338 fra.me.file = LOCATE_global___reachable_as_init_impl;
339 fra.me.line = 73;
340 fra.me.meth = LOCATE_global___reachable_as_init_impl___RAIVisitor___init;
341 fra.me.has_broke = 0;
342 fra.me.REG_size = 3;
343 fra.me.nitni_local_ref_head = NULL;
344 fra.me.REG[0] = NIT_NULL;
345 fra.me.REG[1] = NIT_NULL;
346 fra.me.REG[2] = NIT_NULL;
347 fra.me.REG[0] = p0;
348 fra.me.REG[1] = p1;
349 /* global/reachable_as_init_impl.nit:73 */
350 fra.me.REG[2] = fra.me.REG[0];
351 CALL_icode___icode_tools___ICodeVisitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
352 /* global/reachable_as_init_impl.nit:75 */
353 ATTR_global___reachable_as_init_impl___RAIVisitor____builder(fra.me.REG[2]) = fra.me.REG[1];
354 stack_frame_head = fra.me.prev;
355 init_table[itpos2] = 1;
356 return;
357 }