tools: clean Makefiles
[nit.git] / c_src / syntax___flow._sep.c
1 /* This C file is generated by NIT to compile module syntax___flow. */
2 #include "syntax___flow._sep.h"
3 void syntax___flow___FlowContext___check_is_set(val_t p0, val_t p1, val_t p2){
4 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 static val_t once_value_1; /* Once value */
9 static val_t once_value_2; /* Once value */
10 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11 fra.me.file = LOCATE_syntax___flow;
12 fra.me.line = 34;
13 fra.me.meth = LOCATE_syntax___flow___FlowContext___check_is_set;
14 fra.me.has_broke = 0;
15 fra.me.REG_size = 5;
16 fra.me.REG[0] = NIT_NULL;
17 fra.me.REG[1] = NIT_NULL;
18 fra.me.REG[2] = NIT_NULL;
19 fra.me.REG[3] = NIT_NULL;
20 fra.me.REG[4] = NIT_NULL;
21 fra.me.REG[0] = p0;
22 fra.me.REG[1] = p1;
23 fra.me.REG[2] = p2;
24 /* ./syntax//flow.nit:37 */
25 REGB0 = CALL_syntax___flow___Variable___must_be_set(fra.me.REG[2])(fra.me.REG[2]);
26 if (UNTAG_Bool(REGB0)) {
27 REGB0 = CALL_syntax___flow___FlowContext___is_set(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
28 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29 } else {
30 REGB1 = TAG_Bool(false);
31 REGB0 = REGB1;
32 }
33 if (UNTAG_Bool(REGB0)) {
34 /* ./syntax//flow.nit:38 */
35 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[0])!=NIT_NULL);
36 if (UNTAG_Bool(REGB0)) {
37 } else {
38 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___flow, 38);
39 }
40 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[0]);
41 REGB0 = TAG_Int(3);
42 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
43 if (!once_value_1) {
44 fra.me.REG[4] = BOX_NativeString("Error: variable '");
45 REGB0 = TAG_Int(17);
46 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB0);
47 once_value_1 = fra.me.REG[4];
48 register_static_object(&once_value_1);
49 } else fra.me.REG[4] = once_value_1;
50 fra.me.REG[4] = fra.me.REG[4];
51 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
52 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
53 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
54 if (!once_value_2) {
55 fra.me.REG[2] = BOX_NativeString("' is possibly unset.");
56 REGB0 = TAG_Int(20);
57 fra.me.REG[2] = NEW_String_standard___string___String___with_native(fra.me.REG[2], REGB0);
58 once_value_2 = fra.me.REG[2];
59 register_static_object(&once_value_2);
60 } else fra.me.REG[2] = once_value_2;
61 fra.me.REG[2] = fra.me.REG[2];
62 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
63 fra.me.REG[3] = CALL_standard___string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
64 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
65 }
66 stack_frame_head = fra.me.prev;
67 return;
68 }
69 val_t syntax___flow___FlowContext___stype(val_t p0, val_t p1){
70 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
71 val_t tmp;
72 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
73 fra.me.file = LOCATE_syntax___flow;
74 fra.me.line = 42;
75 fra.me.meth = LOCATE_syntax___flow___FlowContext___stype;
76 fra.me.has_broke = 0;
77 fra.me.REG_size = 2;
78 fra.me.REG[0] = NIT_NULL;
79 fra.me.REG[1] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 fra.me.REG[1] = p1;
82 /* ./syntax//flow.nit:46 */
83 fra.me.REG[1] = CALL_syntax___syntax_base___Variable___stype(fra.me.REG[1])(fra.me.REG[1]);
84 goto label1;
85 label1: while(0);
86 stack_frame_head = fra.me.prev;
87 return fra.me.REG[1];
88 }
89 val_t syntax___flow___FlowContext___sub_setvariable(val_t p0, val_t p1){
90 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
91 val_t REGB0;
92 val_t tmp;
93 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
94 fra.me.file = LOCATE_syntax___flow;
95 fra.me.line = 49;
96 fra.me.meth = LOCATE_syntax___flow___FlowContext___sub_setvariable;
97 fra.me.has_broke = 0;
98 fra.me.REG_size = 3;
99 fra.me.REG[0] = NIT_NULL;
100 fra.me.REG[1] = NIT_NULL;
101 fra.me.REG[2] = NIT_NULL;
102 fra.me.REG[0] = p0;
103 fra.me.REG[1] = p1;
104 /* ./syntax//flow.nit:52 */
105 fra.me.REG[2] = CALL_syntax___flow___FlowContext___node(fra.me.REG[0])(fra.me.REG[0]);
106 fra.me.REG[2] = NEW_SubFlowContext_syntax___flow___SubFlowContext___with_prev(fra.me.REG[0], fra.me.REG[2]);
107 /* ./syntax//flow.nit:53 */
108 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[2])!=NIT_NULL);
109 if (UNTAG_Bool(REGB0)) {
110 } else {
111 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 53);
112 }
113 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[2]);
114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
115 /* ./syntax//flow.nit:54 */
116 goto label1;
117 label1: while(0);
118 stack_frame_head = fra.me.prev;
119 return fra.me.REG[2];
120 }
121 val_t syntax___flow___FlowContext___sub_unreash(val_t p0, val_t p1){
122 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
123 val_t REGB0;
124 val_t tmp;
125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
126 fra.me.file = LOCATE_syntax___flow;
127 fra.me.line = 57;
128 fra.me.meth = LOCATE_syntax___flow___FlowContext___sub_unreash;
129 fra.me.has_broke = 0;
130 fra.me.REG_size = 2;
131 fra.me.REG[0] = NIT_NULL;
132 fra.me.REG[1] = NIT_NULL;
133 fra.me.REG[0] = p0;
134 fra.me.REG[1] = p1;
135 /* ./syntax//flow.nit:60 */
136 fra.me.REG[1] = NEW_SubFlowContext_syntax___flow___SubFlowContext___with_prev(fra.me.REG[0], fra.me.REG[1]);
137 /* ./syntax//flow.nit:61 */
138 REGB0 = TAG_Bool(true);
139 ATTR_syntax___flow___FlowContext____unreash(fra.me.REG[1]) = REGB0;
140 /* ./syntax//flow.nit:62 */
141 goto label1;
142 label1: while(0);
143 stack_frame_head = fra.me.prev;
144 return fra.me.REG[1];
145 }
146 val_t syntax___flow___FlowContext___sub_with(val_t p0, val_t p1, val_t p2, val_t p3){
147 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
148 val_t tmp;
149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
150 fra.me.file = LOCATE_syntax___flow;
151 fra.me.line = 65;
152 fra.me.meth = LOCATE_syntax___flow___FlowContext___sub_with;
153 fra.me.has_broke = 0;
154 fra.me.REG_size = 4;
155 fra.me.REG[0] = NIT_NULL;
156 fra.me.REG[1] = NIT_NULL;
157 fra.me.REG[2] = NIT_NULL;
158 fra.me.REG[3] = NIT_NULL;
159 fra.me.REG[0] = p0;
160 fra.me.REG[1] = p1;
161 fra.me.REG[2] = p2;
162 fra.me.REG[3] = p3;
163 /* ./syntax//flow.nit:68 */
164 fra.me.REG[3] = NEW_CastFlowContext_syntax___flow___CastFlowContext___init(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3]);
165 goto label1;
166 label1: while(0);
167 stack_frame_head = fra.me.prev;
168 return fra.me.REG[3];
169 }
170 val_t syntax___flow___FlowContext___merge(val_t p0, val_t p1, val_t p2){
171 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
172 val_t REGB0;
173 val_t REGB1;
174 val_t REGB2;
175 val_t tmp;
176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
177 fra.me.file = LOCATE_syntax___flow;
178 fra.me.line = 71;
179 fra.me.meth = LOCATE_syntax___flow___FlowContext___merge;
180 fra.me.has_broke = 0;
181 fra.me.REG_size = 6;
182 fra.me.REG[0] = NIT_NULL;
183 fra.me.REG[1] = NIT_NULL;
184 fra.me.REG[2] = NIT_NULL;
185 fra.me.REG[3] = NIT_NULL;
186 fra.me.REG[4] = NIT_NULL;
187 fra.me.REG[5] = NIT_NULL;
188 fra.me.REG[0] = p0;
189 fra.me.REG[1] = p1;
190 fra.me.REG[2] = p2;
191 /* ./../lib/standard//collection//array.nit:266 */
192 fra.me.REG[3] = fra.me.REG[2];
193 /* ./../lib/standard//collection//array.nit:269 */
194 REGB0 = TAG_Int(0);
195 /* ./../lib/standard//collection//array.nit:270 */
196 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
197 if (UNTAG_Bool(REGB1)) {
198 } else {
199 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
200 }
201 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
202 /* ./../lib/standard//collection//array.nit:271 */
203 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
204 /* ./../lib/standard//collection//array.nit:272 */
205 while(1) {
206 /* ./../lib/standard//collection//array.nit:24 */
207 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
208 if (UNTAG_Bool(REGB1)) {
209 } else {
210 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
211 }
212 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
213 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
214 if (UNTAG_Bool(REGB2)) {
215 } else {
216 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
217 }
218 /* ./../lib/standard//kernel.nit:232 */
219 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
220 /* ./../lib/standard//collection//array.nit:272 */
221 if (UNTAG_Bool(REGB1)) {
222 /* ./../lib/standard//collection//array.nit:273 */
223 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
224 if (UNTAG_Bool(REGB1)) {
225 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
226 }
227 /* ./../lib/standard//collection//array.nit:718 */
228 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
229 /* ./syntax//flow.nit:76 */
230 REGB1 = CALL_syntax___flow___FlowContext___unreash(fra.me.REG[5])(fra.me.REG[5]);
231 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
232 if (UNTAG_Bool(REGB1)) {
233 } else {
234 nit_abort("Assert failed", NULL, LOCATE_syntax___flow, 76);
235 }
236 /* ./../lib/standard//collection//array.nit:274 */
237 REGB1 = TAG_Int(1);
238 /* ./../lib/standard//kernel.nit:235 */
239 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
240 /* ./../lib/standard//collection//array.nit:274 */
241 REGB0 = REGB1;
242 } else {
243 /* ./../lib/standard//collection//array.nit:272 */
244 goto label1;
245 }
246 }
247 label1: while(0);
248 /* ./../lib/standard//collection//array.nit:24 */
249 REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
250 if (UNTAG_Bool(REGB0)) {
251 } else {
252 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
253 }
254 REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
255 /* ./syntax//flow.nit:77 */
256 REGB1 = TAG_Int(1);
257 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
258 if (UNTAG_Bool(REGB2)) {
259 } else {
260 /* ./../lib/standard//kernel.nit:227 */
261 REGB1 = TAG_Bool((REGB0)==(REGB1));
262 /* ./syntax//flow.nit:77 */
263 REGB2 = REGB1;
264 }
265 if (UNTAG_Bool(REGB2)) {
266 fra.me.REG[4] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[2])(fra.me.REG[2]);
267 goto label2;
268 }
269 /* ./syntax//flow.nit:78 */
270 fra.me.REG[2] = NEW_MergeFlowContext_syntax___flow___MergeFlowContext___init(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
271 fra.me.REG[4] = fra.me.REG[2];
272 goto label2;
273 label2: while(0);
274 stack_frame_head = fra.me.prev;
275 return fra.me.REG[4];
276 }
277 val_t syntax___flow___FlowContext___merge_reash(val_t p0, val_t p1, val_t p2, val_t p3){
278 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
279 val_t REGB0;
280 val_t REGB1;
281 val_t REGB2;
282 val_t tmp;
283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
284 fra.me.file = LOCATE_syntax___flow;
285 fra.me.line = 81;
286 fra.me.meth = LOCATE_syntax___flow___FlowContext___merge_reash;
287 fra.me.has_broke = 0;
288 fra.me.REG_size = 6;
289 fra.me.REG[0] = NIT_NULL;
290 fra.me.REG[1] = NIT_NULL;
291 fra.me.REG[2] = NIT_NULL;
292 fra.me.REG[3] = NIT_NULL;
293 fra.me.REG[4] = NIT_NULL;
294 fra.me.REG[5] = NIT_NULL;
295 fra.me.REG[0] = p0;
296 fra.me.REG[1] = p1;
297 fra.me.REG[2] = p2;
298 fra.me.REG[3] = p3;
299 /* ./syntax//flow.nit:86 */
300 REGB0 = CALL_syntax___flow___FlowContext___unreash(fra.me.REG[2])(fra.me.REG[2]);
301 if (UNTAG_Bool(REGB0)) {
302 /* ./syntax//flow.nit:87 */
303 REGB0 = CALL_syntax___flow___FlowContext___unreash(fra.me.REG[3])(fra.me.REG[3]);
304 if (UNTAG_Bool(REGB0)) {
305 /* ./syntax//flow.nit:88 */
306 fra.me.REG[4] = CALL_syntax___flow___FlowContext___sub_unreash(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
307 goto label1;
308 } else {
309 /* ./syntax//flow.nit:90 */
310 fra.me.REG[5] = fra.me.REG[3];
311 /* ./syntax//flow.nit:91 */
312 fra.me.REG[3] = fra.me.REG[2];
313 /* ./syntax//flow.nit:92 */
314 fra.me.REG[2] = fra.me.REG[5];
315 }
316 }
317 /* ./syntax//flow.nit:96 */
318 REGB0 = CALL_syntax___flow___FlowContext___unreash(fra.me.REG[3])(fra.me.REG[3]);
319 if (UNTAG_Bool(REGB0)) {
320 REGB0 = TAG_Bool(true);
321 } else {
322 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
323 if (UNTAG_Bool(REGB1)) {
324 } else {
325 REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
326 REGB1 = REGB2;
327 }
328 REGB0 = REGB1;
329 }
330 if (UNTAG_Bool(REGB0)) {
331 /* ./syntax//flow.nit:97 */
332 fra.me.REG[4] = fra.me.REG[2];
333 goto label1;
334 } else {
335 /* ./syntax//flow.nit:104 */
336 REGB0 = TAG_Int(2);
337 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[2]);
339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
340 fra.me.REG[5] = CALL_syntax___flow___FlowContext___merge(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[5]);
341 fra.me.REG[4] = fra.me.REG[5];
342 goto label1;
343 }
344 label1: while(0);
345 stack_frame_head = fra.me.prev;
346 return fra.me.REG[4];
347 }
348 val_t syntax___flow___FlowContext___node(val_t p0){
349 struct {struct stack_frame_t me;} fra;
350 val_t REGB0;
351 val_t tmp;
352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
353 fra.me.file = LOCATE_syntax___flow;
354 fra.me.line = 111;
355 fra.me.meth = LOCATE_syntax___flow___FlowContext___node;
356 fra.me.has_broke = 0;
357 fra.me.REG_size = 1;
358 fra.me.REG[0] = NIT_NULL;
359 fra.me.REG[0] = p0;
360 /* ./syntax//flow.nit:111 */
361 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____node(fra.me.REG[0])!=NIT_NULL);
362 if (UNTAG_Bool(REGB0)) {
363 } else {
364 nit_abort("Uninitialized attribute %s", "_node", LOCATE_syntax___flow, 111);
365 }
366 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____node(fra.me.REG[0]);
367 stack_frame_head = fra.me.prev;
368 return fra.me.REG[0];
369 }
370 void syntax___flow___FlowContext___init(val_t p0, val_t p1, val_t p2, int* init_table){
371 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___flow___FlowContext].i;
372 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
373 val_t tmp;
374 if (init_table[itpos0]) return;
375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
376 fra.me.file = LOCATE_syntax___flow;
377 fra.me.line = 114;
378 fra.me.meth = LOCATE_syntax___flow___FlowContext___init;
379 fra.me.has_broke = 0;
380 fra.me.REG_size = 3;
381 fra.me.REG[0] = NIT_NULL;
382 fra.me.REG[1] = NIT_NULL;
383 fra.me.REG[2] = NIT_NULL;
384 fra.me.REG[0] = p0;
385 fra.me.REG[1] = p1;
386 fra.me.REG[2] = p2;
387 /* ./syntax//flow.nit:116 */
388 ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[0]) = fra.me.REG[1];
389 /* ./syntax//flow.nit:117 */
390 ATTR_syntax___flow___FlowContext____node(fra.me.REG[0]) = fra.me.REG[2];
391 stack_frame_head = fra.me.prev;
392 init_table[itpos0] = 1;
393 return;
394 }
395 val_t syntax___flow___FlowContext___unreash(val_t p0){
396 struct {struct stack_frame_t me;} fra;
397 val_t REGB0;
398 val_t tmp;
399 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
400 fra.me.file = LOCATE_syntax___flow;
401 fra.me.line = 120;
402 fra.me.meth = LOCATE_syntax___flow___FlowContext___unreash;
403 fra.me.has_broke = 0;
404 fra.me.REG_size = 1;
405 fra.me.REG[0] = NIT_NULL;
406 fra.me.REG[0] = p0;
407 /* ./syntax//flow.nit:120 */
408 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____unreash(fra.me.REG[0])!=NIT_NULL);
409 if (UNTAG_Bool(REGB0)) {
410 } else {
411 nit_abort("Uninitialized attribute %s", "_unreash", LOCATE_syntax___flow, 120);
412 }
413 REGB0 = ATTR_syntax___flow___FlowContext____unreash(fra.me.REG[0]);
414 stack_frame_head = fra.me.prev;
415 return REGB0;
416 }
417 val_t syntax___flow___FlowContext___already_unreash(val_t p0){
418 struct {struct stack_frame_t me;} fra;
419 val_t REGB0;
420 val_t tmp;
421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
422 fra.me.file = LOCATE_syntax___flow;
423 fra.me.line = 123;
424 fra.me.meth = LOCATE_syntax___flow___FlowContext___already_unreash;
425 fra.me.has_broke = 0;
426 fra.me.REG_size = 1;
427 fra.me.REG[0] = NIT_NULL;
428 fra.me.REG[0] = p0;
429 /* ./syntax//flow.nit:123 */
430 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____already_unreash(fra.me.REG[0])!=NIT_NULL);
431 if (UNTAG_Bool(REGB0)) {
432 } else {
433 nit_abort("Uninitialized attribute %s", "_already_unreash", LOCATE_syntax___flow, 123);
434 }
435 REGB0 = ATTR_syntax___flow___FlowContext____already_unreash(fra.me.REG[0]);
436 stack_frame_head = fra.me.prev;
437 return REGB0;
438 }
439 void syntax___flow___FlowContext___already_unreash__eq(val_t p0, val_t p1){
440 struct {struct stack_frame_t me;} fra;
441 val_t REGB0;
442 val_t tmp;
443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
444 fra.me.file = LOCATE_syntax___flow;
445 fra.me.line = 123;
446 fra.me.meth = LOCATE_syntax___flow___FlowContext___already_unreash__eq;
447 fra.me.has_broke = 0;
448 fra.me.REG_size = 1;
449 fra.me.REG[0] = NIT_NULL;
450 fra.me.REG[0] = p0;
451 REGB0 = p1;
452 /* ./syntax//flow.nit:123 */
453 ATTR_syntax___flow___FlowContext____already_unreash(fra.me.REG[0]) = REGB0;
454 stack_frame_head = fra.me.prev;
455 return;
456 }
457 val_t syntax___flow___FlowContext___set_variables(val_t p0){
458 struct {struct stack_frame_t me;} fra;
459 val_t REGB0;
460 val_t tmp;
461 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
462 fra.me.file = LOCATE_syntax___flow;
463 fra.me.line = 127;
464 fra.me.meth = LOCATE_syntax___flow___FlowContext___set_variables;
465 fra.me.has_broke = 0;
466 fra.me.REG_size = 1;
467 fra.me.REG[0] = NIT_NULL;
468 fra.me.REG[0] = p0;
469 /* ./syntax//flow.nit:127 */
470 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0])!=NIT_NULL);
471 if (UNTAG_Bool(REGB0)) {
472 } else {
473 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 127);
474 }
475 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0]);
476 stack_frame_head = fra.me.prev;
477 return fra.me.REG[0];
478 }
479 val_t syntax___flow___FlowContext___is_set(val_t p0, val_t p1){
480 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
481 val_t REGB0;
482 val_t tmp;
483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
484 fra.me.file = LOCATE_syntax___flow;
485 fra.me.line = 130;
486 fra.me.meth = LOCATE_syntax___flow___FlowContext___is_set;
487 fra.me.has_broke = 0;
488 fra.me.REG_size = 2;
489 fra.me.REG[0] = NIT_NULL;
490 fra.me.REG[1] = NIT_NULL;
491 fra.me.REG[0] = p0;
492 fra.me.REG[1] = p1;
493 /* ./syntax//flow.nit:133 */
494 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0])!=NIT_NULL);
495 if (UNTAG_Bool(REGB0)) {
496 } else {
497 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 133);
498 }
499 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0]);
500 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
501 goto label1;
502 label1: while(0);
503 stack_frame_head = fra.me.prev;
504 return REGB0;
505 }
506 void syntax___flow___RootFlowContext___init(val_t p0, val_t p1, val_t p2, int* init_table){
507 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___flow___RootFlowContext].i;
508 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
509 val_t tmp;
510 if (init_table[itpos1]) return;
511 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
512 fra.me.file = LOCATE_syntax___flow;
513 fra.me.line = 140;
514 fra.me.meth = LOCATE_syntax___flow___RootFlowContext___init;
515 fra.me.has_broke = 0;
516 fra.me.REG_size = 3;
517 fra.me.REG[0] = NIT_NULL;
518 fra.me.REG[1] = NIT_NULL;
519 fra.me.REG[2] = NIT_NULL;
520 fra.me.REG[0] = p0;
521 fra.me.REG[1] = p1;
522 fra.me.REG[2] = p2;
523 /* ./syntax//flow.nit:142 */
524 CALL_syntax___flow___FlowContext___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
525 stack_frame_head = fra.me.prev;
526 init_table[itpos1] = 1;
527 return;
528 }
529 val_t syntax___flow___SubFlowContext___prev(val_t p0){
530 struct {struct stack_frame_t me;} fra;
531 val_t REGB0;
532 val_t tmp;
533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
534 fra.me.file = LOCATE_syntax___flow;
535 fra.me.line = 149;
536 fra.me.meth = LOCATE_syntax___flow___SubFlowContext___prev;
537 fra.me.has_broke = 0;
538 fra.me.REG_size = 1;
539 fra.me.REG[0] = NIT_NULL;
540 fra.me.REG[0] = p0;
541 /* ./syntax//flow.nit:149 */
542 REGB0 = TAG_Bool(ATTR_syntax___flow___SubFlowContext____prev(fra.me.REG[0])!=NIT_NULL);
543 if (UNTAG_Bool(REGB0)) {
544 } else {
545 nit_abort("Uninitialized attribute %s", "_prev", LOCATE_syntax___flow, 149);
546 }
547 fra.me.REG[0] = ATTR_syntax___flow___SubFlowContext____prev(fra.me.REG[0]);
548 stack_frame_head = fra.me.prev;
549 return fra.me.REG[0];
550 }
551 val_t syntax___flow___SubFlowContext___is_set(val_t p0, val_t p1){
552 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
553 val_t REGB0;
554 val_t REGB1;
555 val_t tmp;
556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
557 fra.me.file = LOCATE_syntax___flow;
558 fra.me.line = 151;
559 fra.me.meth = LOCATE_syntax___flow___SubFlowContext___is_set;
560 fra.me.has_broke = 0;
561 fra.me.REG_size = 3;
562 fra.me.REG[0] = NIT_NULL;
563 fra.me.REG[1] = NIT_NULL;
564 fra.me.REG[2] = NIT_NULL;
565 fra.me.REG[0] = p0;
566 fra.me.REG[1] = p1;
567 /* ./syntax//flow.nit:153 */
568 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0])!=NIT_NULL);
569 if (UNTAG_Bool(REGB0)) {
570 } else {
571 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 153);
572 }
573 fra.me.REG[2] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0]);
574 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
575 if (UNTAG_Bool(REGB0)) {
576 REGB0 = TAG_Bool(true);
577 } else {
578 REGB1 = TAG_Bool(ATTR_syntax___flow___SubFlowContext____prev(fra.me.REG[0])!=NIT_NULL);
579 if (UNTAG_Bool(REGB1)) {
580 } else {
581 nit_abort("Uninitialized attribute %s", "_prev", LOCATE_syntax___flow, 153);
582 }
583 fra.me.REG[0] = ATTR_syntax___flow___SubFlowContext____prev(fra.me.REG[0]);
584 REGB1 = CALL_syntax___flow___FlowContext___is_set(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
585 REGB0 = REGB1;
586 }
587 goto label1;
588 label1: while(0);
589 stack_frame_head = fra.me.prev;
590 return REGB0;
591 }
592 val_t syntax___flow___SubFlowContext___stype(val_t p0, val_t p1){
593 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
594 val_t tmp;
595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
596 fra.me.file = LOCATE_syntax___flow;
597 fra.me.line = 156;
598 fra.me.meth = LOCATE_syntax___flow___SubFlowContext___stype;
599 fra.me.has_broke = 0;
600 fra.me.REG_size = 2;
601 fra.me.REG[0] = NIT_NULL;
602 fra.me.REG[1] = NIT_NULL;
603 fra.me.REG[0] = p0;
604 fra.me.REG[1] = p1;
605 /* ./syntax//flow.nit:158 */
606 fra.me.REG[0] = CALL_syntax___flow___SubFlowContext___prev(fra.me.REG[0])(fra.me.REG[0]);
607 fra.me.REG[1] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
608 goto label1;
609 label1: while(0);
610 stack_frame_head = fra.me.prev;
611 return fra.me.REG[1];
612 }
613 void syntax___flow___SubFlowContext___with_prev(val_t p0, val_t p1, val_t p2, int* init_table){
614 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___flow___SubFlowContext].i;
615 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
616 val_t REGB0;
617 val_t tmp;
618 if (init_table[itpos2]) return;
619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
620 fra.me.file = LOCATE_syntax___flow;
621 fra.me.line = 161;
622 fra.me.meth = LOCATE_syntax___flow___SubFlowContext___with_prev;
623 fra.me.has_broke = 0;
624 fra.me.REG_size = 4;
625 fra.me.REG[0] = NIT_NULL;
626 fra.me.REG[1] = NIT_NULL;
627 fra.me.REG[2] = NIT_NULL;
628 fra.me.REG[3] = NIT_NULL;
629 fra.me.REG[0] = p0;
630 fra.me.REG[1] = p1;
631 fra.me.REG[2] = p2;
632 /* ./syntax//flow.nit:163 */
633 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[1])!=NIT_NULL);
634 if (UNTAG_Bool(REGB0)) {
635 } else {
636 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___flow, 163);
637 }
638 fra.me.REG[3] = ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[1]);
639 CALL_syntax___flow___FlowContext___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[2], init_table);
640 /* ./syntax//flow.nit:164 */
641 ATTR_syntax___flow___SubFlowContext____prev(fra.me.REG[0]) = fra.me.REG[1];
642 stack_frame_head = fra.me.prev;
643 init_table[itpos2] = 1;
644 return;
645 }
646 val_t syntax___flow___CastFlowContext___stype(val_t p0, val_t p1){
647 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
648 val_t REGB0;
649 val_t REGB1;
650 val_t tmp;
651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
652 fra.me.file = LOCATE_syntax___flow;
653 fra.me.line = 177;
654 fra.me.meth = LOCATE_syntax___flow___CastFlowContext___stype;
655 fra.me.has_broke = 0;
656 fra.me.REG_size = 3;
657 fra.me.REG[0] = NIT_NULL;
658 fra.me.REG[1] = NIT_NULL;
659 fra.me.REG[2] = NIT_NULL;
660 fra.me.REG[0] = p0;
661 fra.me.REG[1] = p1;
662 /* ./syntax//flow.nit:179 */
663 REGB0 = TAG_Bool(ATTR_syntax___flow___CastFlowContext____variable(fra.me.REG[0])!=NIT_NULL);
664 if (UNTAG_Bool(REGB0)) {
665 } else {
666 nit_abort("Uninitialized attribute %s", "_variable", LOCATE_syntax___flow, 179);
667 }
668 fra.me.REG[2] = ATTR_syntax___flow___CastFlowContext____variable(fra.me.REG[0]);
669 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
670 if (UNTAG_Bool(REGB0)) {
671 } else {
672 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
673 REGB0 = REGB1;
674 }
675 if (UNTAG_Bool(REGB0)) {
676 /* ./syntax//flow.nit:180 */
677 fra.me.REG[2] = ATTR_syntax___flow___CastFlowContext____stype(fra.me.REG[0]);
678 goto label1;
679 } else {
680 /* ./syntax//flow.nit:182 */
681 fra.me.REG[0] = CALL_syntax___flow___SubFlowContext___prev(fra.me.REG[0])(fra.me.REG[0]);
682 fra.me.REG[1] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
683 fra.me.REG[2] = fra.me.REG[1];
684 goto label1;
685 }
686 label1: while(0);
687 stack_frame_head = fra.me.prev;
688 return fra.me.REG[2];
689 }
690 void syntax___flow___CastFlowContext___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
691 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___flow___CastFlowContext].i;
692 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
693 val_t tmp;
694 if (init_table[itpos3]) return;
695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
696 fra.me.file = LOCATE_syntax___flow;
697 fra.me.line = 186;
698 fra.me.meth = LOCATE_syntax___flow___CastFlowContext___init;
699 fra.me.has_broke = 0;
700 fra.me.REG_size = 5;
701 fra.me.REG[0] = NIT_NULL;
702 fra.me.REG[1] = NIT_NULL;
703 fra.me.REG[2] = NIT_NULL;
704 fra.me.REG[3] = NIT_NULL;
705 fra.me.REG[4] = NIT_NULL;
706 fra.me.REG[0] = p0;
707 fra.me.REG[1] = p1;
708 fra.me.REG[2] = p2;
709 fra.me.REG[3] = p3;
710 fra.me.REG[4] = p4;
711 /* ./syntax//flow.nit:188 */
712 CALL_syntax___flow___SubFlowContext___with_prev(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], init_table);
713 /* ./syntax//flow.nit:189 */
714 ATTR_syntax___flow___CastFlowContext____variable(fra.me.REG[0]) = fra.me.REG[3];
715 /* ./syntax//flow.nit:190 */
716 ATTR_syntax___flow___CastFlowContext____stype(fra.me.REG[0]) = fra.me.REG[4];
717 stack_frame_head = fra.me.prev;
718 init_table[itpos3] = 1;
719 return;
720 }
721 void syntax___flow___MergeFlowContext___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
722 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_syntax___flow___MergeFlowContext].i;
723 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
724 val_t REGB0;
725 val_t tmp;
726 if (init_table[itpos4]) return;
727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
728 fra.me.file = LOCATE_syntax___flow;
729 fra.me.line = 204;
730 fra.me.meth = LOCATE_syntax___flow___MergeFlowContext___init;
731 fra.me.has_broke = 0;
732 fra.me.REG_size = 6;
733 fra.me.REG[0] = NIT_NULL;
734 fra.me.REG[1] = NIT_NULL;
735 fra.me.REG[2] = NIT_NULL;
736 fra.me.REG[3] = NIT_NULL;
737 fra.me.REG[4] = NIT_NULL;
738 fra.me.REG[5] = NIT_NULL;
739 fra.me.REG[0] = p0;
740 fra.me.REG[1] = p1;
741 fra.me.REG[2] = p2;
742 fra.me.REG[3] = p3;
743 /* ./syntax//flow.nit:204 */
744 fra.me.REG[4] = fra.me.REG[0];
745 /* ./syntax//flow.nit:206 */
746 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[1])!=NIT_NULL);
747 if (UNTAG_Bool(REGB0)) {
748 } else {
749 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___flow, 206);
750 }
751 fra.me.REG[5] = ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[1]);
752 CALL_syntax___flow___FlowContext___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[2], init_table);
753 /* ./syntax//flow.nit:207 */
754 ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[4]) = fra.me.REG[3];
755 /* ./syntax//flow.nit:208 */
756 ATTR_syntax___flow___MergeFlowContext____base(fra.me.REG[4]) = fra.me.REG[1];
757 stack_frame_head = fra.me.prev;
758 init_table[itpos4] = 1;
759 return;
760 }
761 val_t syntax___flow___MergeFlowContext___stype(val_t p0, val_t p1){
762 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
763 val_t REGB0;
764 val_t tmp;
765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
766 fra.me.file = LOCATE_syntax___flow;
767 fra.me.line = 211;
768 fra.me.meth = LOCATE_syntax___flow___MergeFlowContext___stype;
769 fra.me.has_broke = 0;
770 fra.me.REG_size = 4;
771 fra.me.REG[0] = NIT_NULL;
772 fra.me.REG[1] = NIT_NULL;
773 fra.me.REG[2] = NIT_NULL;
774 fra.me.REG[3] = NIT_NULL;
775 fra.me.REG[0] = p0;
776 fra.me.REG[1] = p1;
777 /* ./syntax//flow.nit:213 */
778 REGB0 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0])!=NIT_NULL);
779 if (UNTAG_Bool(REGB0)) {
780 } else {
781 nit_abort("Uninitialized attribute %s", "_stypes", LOCATE_syntax___flow, 213);
782 }
783 fra.me.REG[2] = ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0]);
784 REGB0 = CALL_standard___collection___abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
785 if (UNTAG_Bool(REGB0)) {
786 /* ./syntax//flow.nit:214 */
787 REGB0 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0])!=NIT_NULL);
788 if (UNTAG_Bool(REGB0)) {
789 } else {
790 nit_abort("Uninitialized attribute %s", "_stypes", LOCATE_syntax___flow, 214);
791 }
792 fra.me.REG[2] = ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0]);
793 fra.me.REG[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
794 goto label1;
795 } else {
796 /* ./syntax//flow.nit:216 */
797 fra.me.REG[3] = CALL_syntax___flow___MergeFlowContext___merge_stype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
798 /* ./syntax//flow.nit:217 */
799 REGB0 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0])!=NIT_NULL);
800 if (UNTAG_Bool(REGB0)) {
801 } else {
802 nit_abort("Uninitialized attribute %s", "_stypes", LOCATE_syntax___flow, 217);
803 }
804 fra.me.REG[0] = ATTR_syntax___flow___MergeFlowContext____stypes(fra.me.REG[0]);
805 CALL_standard___collection___abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
806 /* ./syntax//flow.nit:218 */
807 fra.me.REG[2] = fra.me.REG[3];
808 goto label1;
809 }
810 label1: while(0);
811 stack_frame_head = fra.me.prev;
812 return fra.me.REG[2];
813 }
814 val_t syntax___flow___MergeFlowContext___merge_stype(val_t p0, val_t p1){
815 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
816 val_t REGB0;
817 val_t REGB1;
818 val_t REGB2;
819 val_t REGB3;
820 val_t tmp;
821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
822 fra.me.file = LOCATE_syntax___flow;
823 fra.me.line = 222;
824 fra.me.meth = LOCATE_syntax___flow___MergeFlowContext___merge_stype;
825 fra.me.has_broke = 0;
826 fra.me.REG_size = 9;
827 fra.me.REG[0] = NIT_NULL;
828 fra.me.REG[1] = NIT_NULL;
829 fra.me.REG[2] = NIT_NULL;
830 fra.me.REG[3] = NIT_NULL;
831 fra.me.REG[4] = NIT_NULL;
832 fra.me.REG[5] = NIT_NULL;
833 fra.me.REG[6] = NIT_NULL;
834 fra.me.REG[7] = NIT_NULL;
835 fra.me.REG[8] = NIT_NULL;
836 fra.me.REG[0] = p0;
837 fra.me.REG[1] = p1;
838 /* ./syntax//flow.nit:224 */
839 fra.me.REG[2] = NIT_NULL;
840 /* ./syntax//flow.nit:225 */
841 REGB0 = TAG_Bool(false);
842 /* ./syntax//flow.nit:226 */
843 REGB1 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0])!=NIT_NULL);
844 if (UNTAG_Bool(REGB1)) {
845 } else {
846 nit_abort("Uninitialized attribute %s", "_alts", LOCATE_syntax___flow, 226);
847 }
848 fra.me.REG[3] = ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0]);
849 fra.me.REG[3] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[3])(fra.me.REG[3]);
850 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
851 if (UNTAG_Bool(REGB1)) {
852 nit_abort("Reciever is null", NULL, LOCATE_syntax___flow, 226);
853 }
854 fra.me.REG[3] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
855 /* ./syntax//flow.nit:227 */
856 REGB1 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0])!=NIT_NULL);
857 if (UNTAG_Bool(REGB1)) {
858 } else {
859 nit_abort("Uninitialized attribute %s", "_alts", LOCATE_syntax___flow, 227);
860 }
861 fra.me.REG[4] = ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0]);
862 /* ./../lib/standard//collection//array.nit:269 */
863 REGB1 = TAG_Int(0);
864 /* ./../lib/standard//collection//array.nit:270 */
865 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
866 if (UNTAG_Bool(REGB2)) {
867 } else {
868 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
869 }
870 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
871 /* ./../lib/standard//collection//array.nit:271 */
872 fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
873 /* ./../lib/standard//collection//array.nit:272 */
874 while(1) {
875 /* ./../lib/standard//collection//array.nit:24 */
876 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
877 if (UNTAG_Bool(REGB2)) {
878 } else {
879 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
880 }
881 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
882 REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
883 if (UNTAG_Bool(REGB3)) {
884 } else {
885 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
886 }
887 /* ./../lib/standard//kernel.nit:232 */
888 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
889 /* ./../lib/standard//collection//array.nit:272 */
890 if (UNTAG_Bool(REGB2)) {
891 /* ./../lib/standard//collection//array.nit:273 */
892 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
893 if (UNTAG_Bool(REGB2)) {
894 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
895 }
896 /* ./../lib/standard//collection//array.nit:718 */
897 fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
898 /* ./syntax//flow.nit:228 */
899 fra.me.REG[6] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1]);
900 /* ./syntax//flow.nit:229 */
901 REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
902 if (UNTAG_Bool(REGB2)) {
903 } else {
904 REGB3 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
905 if (UNTAG_Bool(REGB3)) {
906 REGB3 = TAG_Bool(false);
907 REGB2 = REGB3;
908 } else {
909 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
910 REGB2 = REGB3;
911 }
912 }
913 if (UNTAG_Bool(REGB2)) {
914 /* ./syntax//flow.nit:230 */
915 fra.me.REG[7] = NIT_NULL;
916 goto label1;
917 }
918 /* ./syntax//flow.nit:232 */
919 REGB2 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[6],fra.me.REG[3]));
920 if (UNTAG_Bool(REGB2)) {
921 } else {
922 REGB3 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
923 if (UNTAG_Bool(REGB3)) {
924 REGB3 = TAG_Bool(false);
925 REGB2 = REGB3;
926 } else {
927 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
928 REGB2 = REGB3;
929 }
930 }
931 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
932 if (UNTAG_Bool(REGB2)) {
933 /* ./syntax//flow.nit:233 */
934 fra.me.REG[3] = NIT_NULL;
935 }
936 /* ./syntax//flow.nit:235 */
937 REGB2 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_metamodel___static_type___MMTypeNone, ID_metamodel___static_type___MMTypeNone)) /*cast MMTypeNone*/;
938 if (UNTAG_Bool(REGB2)) {
939 /* ./syntax//flow.nit:236 */
940 REGB2 = TAG_Bool(true);
941 REGB0 = REGB2;
942 /* ./syntax//flow.nit:237 */
943 goto label2;
944 }
945 /* ./syntax//flow.nit:239 */
946 REGB2 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_metamodel___static_type___MMNullableType, ID_metamodel___static_type___MMNullableType)) /*cast MMNullableType*/;
947 if (UNTAG_Bool(REGB2)) {
948 /* ./syntax//flow.nit:240 */
949 REGB2 = TAG_Bool(true);
950 REGB0 = REGB2;
951 /* ./syntax//flow.nit:241 */
952 REGB2 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
953 if (UNTAG_Bool(REGB2)) {
954 nit_abort("Reciever is null", NULL, LOCATE_syntax___flow, 241);
955 }
956 fra.me.REG[8] = CALL_metamodel___static_type___MMType___as_notnull(fra.me.REG[6])(fra.me.REG[6]);
957 fra.me.REG[6] = fra.me.REG[8];
958 }
959 /* ./syntax//flow.nit:243 */
960 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
961 if (UNTAG_Bool(REGB2)) {
962 } else {
963 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
964 if (UNTAG_Bool(REGB3)) {
965 REGB3 = TAG_Bool(false);
966 REGB2 = REGB3;
967 } else {
968 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
969 REGB2 = REGB3;
970 }
971 }
972 if (UNTAG_Bool(REGB2)) {
973 REGB2 = TAG_Bool(true);
974 } else {
975 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
976 if (UNTAG_Bool(REGB3)) {
977 nit_abort("Reciever is null", NULL, LOCATE_syntax___flow, 243);
978 }
979 REGB3 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[6]);
980 REGB2 = REGB3;
981 }
982 if (UNTAG_Bool(REGB2)) {
983 /* ./syntax//flow.nit:244 */
984 fra.me.REG[2] = fra.me.REG[6];
985 }
986 label2: while(0);
987 /* ./../lib/standard//collection//array.nit:274 */
988 REGB2 = TAG_Int(1);
989 /* ./../lib/standard//kernel.nit:235 */
990 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
991 /* ./../lib/standard//collection//array.nit:274 */
992 REGB1 = REGB2;
993 } else {
994 /* ./../lib/standard//collection//array.nit:272 */
995 goto label3;
996 }
997 }
998 label3: while(0);
999 /* ./syntax//flow.nit:247 */
1000 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1001 if (UNTAG_Bool(REGB1)) {
1002 } else {
1003 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1004 if (UNTAG_Bool(REGB2)) {
1005 REGB2 = TAG_Bool(false);
1006 REGB1 = REGB2;
1007 } else {
1008 REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
1009 REGB1 = REGB2;
1010 }
1011 }
1012 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1013 if (UNTAG_Bool(REGB1)) {
1014 /* ./syntax//flow.nit:248 */
1015 fra.me.REG[7] = fra.me.REG[3];
1016 goto label1;
1017 }
1018 /* ./syntax//flow.nit:250 */
1019 if (UNTAG_Bool(REGB0)) {
1020 /* ./syntax//flow.nit:251 */
1021 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1022 if (UNTAG_Bool(REGB0)) {
1023 } else {
1024 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1025 if (UNTAG_Bool(REGB1)) {
1026 REGB1 = TAG_Bool(false);
1027 REGB0 = REGB1;
1028 } else {
1029 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1030 REGB0 = REGB1;
1031 }
1032 }
1033 if (UNTAG_Bool(REGB0)) {
1034 /* ./syntax//flow.nit:252 */
1035 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[0])!=NIT_NULL);
1036 if (UNTAG_Bool(REGB0)) {
1037 } else {
1038 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___flow, 252);
1039 }
1040 fra.me.REG[3] = ATTR_syntax___flow___FlowContext____visitor(fra.me.REG[0]);
1041 fra.me.REG[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_none(fra.me.REG[3])(fra.me.REG[3]);
1042 fra.me.REG[7] = fra.me.REG[3];
1043 goto label1;
1044 } else {
1045 /* ./syntax//flow.nit:254 */
1046 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1047 if (UNTAG_Bool(REGB0)) {
1048 nit_abort("Reciever is null", NULL, LOCATE_syntax___flow, 254);
1049 }
1050 fra.me.REG[3] = CALL_metamodel___static_type___MMType___as_nullable(fra.me.REG[2])(fra.me.REG[2]);
1051 fra.me.REG[2] = fra.me.REG[3];
1052 }
1053 }
1054 /* ./syntax//flow.nit:257 */
1055 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1056 if (UNTAG_Bool(REGB0)) {
1057 } else {
1058 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1059 if (UNTAG_Bool(REGB1)) {
1060 REGB1 = TAG_Bool(false);
1061 REGB0 = REGB1;
1062 } else {
1063 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1064 REGB0 = REGB1;
1065 }
1066 }
1067 if (UNTAG_Bool(REGB0)) {
1068 /* ./syntax//flow.nit:258 */
1069 REGB0 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____base(fra.me.REG[0])!=NIT_NULL);
1070 if (UNTAG_Bool(REGB0)) {
1071 } else {
1072 nit_abort("Uninitialized attribute %s", "_base", LOCATE_syntax___flow, 258);
1073 }
1074 fra.me.REG[3] = ATTR_syntax___flow___MergeFlowContext____base(fra.me.REG[0]);
1075 fra.me.REG[3] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1076 fra.me.REG[7] = fra.me.REG[3];
1077 goto label1;
1078 } else {
1079 /* ./syntax//flow.nit:260 */
1080 REGB0 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0])!=NIT_NULL);
1081 if (UNTAG_Bool(REGB0)) {
1082 } else {
1083 nit_abort("Uninitialized attribute %s", "_alts", LOCATE_syntax___flow, 260);
1084 }
1085 fra.me.REG[3] = ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0]);
1086 /* ./../lib/standard//collection//array.nit:269 */
1087 REGB0 = TAG_Int(0);
1088 /* ./../lib/standard//collection//array.nit:270 */
1089 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1090 if (UNTAG_Bool(REGB1)) {
1091 } else {
1092 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
1093 }
1094 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
1095 /* ./../lib/standard//collection//array.nit:271 */
1096 fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
1097 /* ./../lib/standard//collection//array.nit:272 */
1098 while(1) {
1099 /* ./../lib/standard//collection//array.nit:24 */
1100 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1101 if (UNTAG_Bool(REGB1)) {
1102 } else {
1103 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
1104 }
1105 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
1106 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
1107 if (UNTAG_Bool(REGB2)) {
1108 } else {
1109 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1110 }
1111 /* ./../lib/standard//kernel.nit:232 */
1112 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1113 /* ./../lib/standard//collection//array.nit:272 */
1114 if (UNTAG_Bool(REGB1)) {
1115 /* ./../lib/standard//collection//array.nit:273 */
1116 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1117 if (UNTAG_Bool(REGB1)) {
1118 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
1119 }
1120 /* ./../lib/standard//collection//array.nit:718 */
1121 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB0)];
1122 /* ./syntax//flow.nit:261 */
1123 fra.me.REG[4] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
1124 /* ./syntax//flow.nit:262 */
1125 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1126 if (UNTAG_Bool(REGB1)) {
1127 nit_abort("Reciever is null", NULL, LOCATE_syntax___flow, 262);
1128 }
1129 REGB1 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
1130 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1131 if (UNTAG_Bool(REGB1)) {
1132 /* ./syntax//flow.nit:263 */
1133 REGB1 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____base(fra.me.REG[0])!=NIT_NULL);
1134 if (UNTAG_Bool(REGB1)) {
1135 } else {
1136 nit_abort("Uninitialized attribute %s", "_base", LOCATE_syntax___flow, 263);
1137 }
1138 fra.me.REG[4] = ATTR_syntax___flow___MergeFlowContext____base(fra.me.REG[0]);
1139 fra.me.REG[4] = CALL_syntax___flow___FlowContext___stype(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
1140 fra.me.REG[7] = fra.me.REG[4];
1141 goto label1;
1142 }
1143 /* ./../lib/standard//collection//array.nit:274 */
1144 REGB1 = TAG_Int(1);
1145 /* ./../lib/standard//kernel.nit:235 */
1146 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1147 /* ./../lib/standard//collection//array.nit:274 */
1148 REGB0 = REGB1;
1149 } else {
1150 /* ./../lib/standard//collection//array.nit:272 */
1151 goto label4;
1152 }
1153 }
1154 label4: while(0);
1155 }
1156 /* ./syntax//flow.nit:267 */
1157 fra.me.REG[7] = fra.me.REG[2];
1158 goto label1;
1159 label1: while(0);
1160 stack_frame_head = fra.me.prev;
1161 return fra.me.REG[7];
1162 }
1163 val_t syntax___flow___MergeFlowContext___is_set(val_t p0, val_t p1){
1164 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1165 val_t REGB0;
1166 val_t REGB1;
1167 val_t REGB2;
1168 val_t REGB3;
1169 val_t tmp;
1170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1171 fra.me.file = LOCATE_syntax___flow;
1172 fra.me.line = 270;
1173 fra.me.meth = LOCATE_syntax___flow___MergeFlowContext___is_set;
1174 fra.me.has_broke = 0;
1175 fra.me.REG_size = 5;
1176 fra.me.REG[0] = NIT_NULL;
1177 fra.me.REG[1] = NIT_NULL;
1178 fra.me.REG[2] = NIT_NULL;
1179 fra.me.REG[3] = NIT_NULL;
1180 fra.me.REG[4] = NIT_NULL;
1181 fra.me.REG[0] = p0;
1182 fra.me.REG[1] = p1;
1183 /* ./syntax//flow.nit:272 */
1184 REGB0 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0])!=NIT_NULL);
1185 if (UNTAG_Bool(REGB0)) {
1186 } else {
1187 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 272);
1188 }
1189 fra.me.REG[2] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0]);
1190 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1191 if (UNTAG_Bool(REGB0)) {
1192 /* ./syntax//flow.nit:273 */
1193 REGB0 = TAG_Bool(true);
1194 goto label1;
1195 } else {
1196 /* ./syntax//flow.nit:275 */
1197 REGB1 = TAG_Bool(ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0])!=NIT_NULL);
1198 if (UNTAG_Bool(REGB1)) {
1199 } else {
1200 nit_abort("Uninitialized attribute %s", "_alts", LOCATE_syntax___flow, 275);
1201 }
1202 fra.me.REG[2] = ATTR_syntax___flow___MergeFlowContext____alts(fra.me.REG[0]);
1203 /* ./../lib/standard//collection//array.nit:269 */
1204 REGB1 = TAG_Int(0);
1205 /* ./../lib/standard//collection//array.nit:270 */
1206 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1207 if (UNTAG_Bool(REGB2)) {
1208 } else {
1209 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
1210 }
1211 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
1212 /* ./../lib/standard//collection//array.nit:271 */
1213 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
1214 /* ./../lib/standard//collection//array.nit:272 */
1215 while(1) {
1216 /* ./../lib/standard//collection//array.nit:24 */
1217 REGB2 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1218 if (UNTAG_Bool(REGB2)) {
1219 } else {
1220 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
1221 }
1222 REGB2 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
1223 REGB3 = TAG_Bool(VAL_ISA(REGB2, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
1224 if (UNTAG_Bool(REGB3)) {
1225 } else {
1226 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
1227 }
1228 /* ./../lib/standard//kernel.nit:232 */
1229 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1230 /* ./../lib/standard//collection//array.nit:272 */
1231 if (UNTAG_Bool(REGB2)) {
1232 /* ./../lib/standard//collection//array.nit:273 */
1233 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1234 if (UNTAG_Bool(REGB2)) {
1235 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
1236 }
1237 /* ./../lib/standard//collection//array.nit:718 */
1238 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB1)];
1239 /* ./syntax//flow.nit:276 */
1240 REGB2 = CALL_syntax___flow___FlowContext___is_set(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
1241 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
1242 if (UNTAG_Bool(REGB2)) {
1243 /* ./syntax//flow.nit:277 */
1244 REGB2 = TAG_Bool(false);
1245 REGB0 = REGB2;
1246 goto label1;
1247 }
1248 /* ./../lib/standard//collection//array.nit:274 */
1249 REGB2 = TAG_Int(1);
1250 /* ./../lib/standard//kernel.nit:235 */
1251 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1252 /* ./../lib/standard//collection//array.nit:274 */
1253 REGB1 = REGB2;
1254 } else {
1255 /* ./../lib/standard//collection//array.nit:272 */
1256 goto label2;
1257 }
1258 }
1259 label2: while(0);
1260 /* ./syntax//flow.nit:280 */
1261 REGB1 = TAG_Bool(ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0])!=NIT_NULL);
1262 if (UNTAG_Bool(REGB1)) {
1263 } else {
1264 nit_abort("Uninitialized attribute %s", "_set_variables", LOCATE_syntax___flow, 280);
1265 }
1266 fra.me.REG[0] = ATTR_syntax___flow___FlowContext____set_variables(fra.me.REG[0]);
1267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1268 /* ./syntax//flow.nit:281 */
1269 REGB1 = TAG_Bool(true);
1270 REGB0 = REGB1;
1271 goto label1;
1272 }
1273 label1: while(0);
1274 stack_frame_head = fra.me.prev;
1275 return REGB0;
1276 }
1277 val_t syntax___flow___Variable___must_be_set(val_t p0){
1278 struct {struct stack_frame_t me;} fra;
1279 val_t REGB0;
1280 val_t tmp;
1281 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1282 fra.me.file = LOCATE_syntax___flow;
1283 fra.me.line = 288;
1284 fra.me.meth = LOCATE_syntax___flow___Variable___must_be_set;
1285 fra.me.has_broke = 0;
1286 fra.me.REG_size = 1;
1287 fra.me.REG[0] = NIT_NULL;
1288 fra.me.REG[0] = p0;
1289 /* ./syntax//flow.nit:289 */
1290 REGB0 = TAG_Bool(false);
1291 goto label1;
1292 label1: while(0);
1293 stack_frame_head = fra.me.prev;
1294 return REGB0;
1295 }
1296 val_t syntax___flow___VarVariable___must_be_set(val_t p0){
1297 struct {struct stack_frame_t me;} fra;
1298 val_t REGB0;
1299 val_t tmp;
1300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1301 fra.me.file = LOCATE_syntax___flow;
1302 fra.me.line = 293;
1303 fra.me.meth = LOCATE_syntax___flow___VarVariable___must_be_set;
1304 fra.me.has_broke = 0;
1305 fra.me.REG_size = 1;
1306 fra.me.REG[0] = NIT_NULL;
1307 fra.me.REG[0] = p0;
1308 /* ./syntax//flow.nit:293 */
1309 REGB0 = TAG_Bool(true);
1310 goto label1;
1311 label1: while(0);
1312 stack_frame_head = fra.me.prev;
1313 return REGB0;
1314 }