Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__scope.sep.1.c
1 #include "nitc__scope.sep.0.h"
2 /* method scope$ToolContext$scope_phase for (self: ToolContext): Phase */
3 val* nitc__scope___ToolContext___scope_phase(val* self) {
4 val* var /* : Phase */;
5 val* var1 /* : Phase */;
6 var1 = self->attrs[COLOR_nitc__scope__ToolContext___scope_phase].val; /* _scope_phase on <self:ToolContext> */
7 if (unlikely(var1 == NULL)) {
8 if(catchStack.cursor >= 0){
9 longjmp(catchStack.envs[catchStack.cursor], 1);
10 }
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scope_phase");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 24);
13 fatal_exit(1);
14 }
15 var = var1;
16 RET_LABEL:;
17 return var;
18 }
19 /* method scope$ScopePhase$process_npropdef for (self: ScopePhase, APropdef) */
20 void nitc__scope___nitc__scope__ScopePhase___nitc__phase__Phase__process_npropdef(val* self, val* p0) {
21 val* var_npropdef /* var npropdef: APropdef */;
22 val* var /* : ToolContext */;
23 val* var2 /* : ToolContext */;
24 var_npropdef = p0;
25 {
26 { /* Inline phase$Phase$toolcontext (self) on <self:ScopePhase> */
27 var2 = self->attrs[COLOR_nitc__phase__Phase___toolcontext].val; /* _toolcontext on <self:ScopePhase> */
28 if (unlikely(var2 == NULL)) {
29 if(catchStack.cursor >= 0){
30 longjmp(catchStack.envs[catchStack.cursor], 1);
31 }
32 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
33 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase, 210);
34 fatal_exit(1);
35 }
36 var = var2;
37 RET_LABEL1:(void)0;
38 }
39 }
40 {
41 nitc__scope___APropdef___do_scope(var_npropdef, var); /* Direct call scope$APropdef$do_scope on <var_npropdef:APropdef>*/
42 }
43 RET_LABEL:;
44 }
45 /* method scope$Variable$name for (self: Variable): String */
46 val* nitc___nitc__Variable___name(val* self) {
47 val* var /* : String */;
48 val* var1 /* : String */;
49 var1 = self->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on <self:Variable> */
50 if (unlikely(var1 == NULL)) {
51 if(catchStack.cursor >= 0){
52 longjmp(catchStack.envs[catchStack.cursor], 1);
53 }
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
55 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36);
56 fatal_exit(1);
57 }
58 var = var1;
59 RET_LABEL:;
60 return var;
61 }
62 /* method scope$Variable$name= for (self: Variable, String) */
63 void nitc___nitc__Variable___name_61d(val* self, val* p0) {
64 self->attrs[COLOR_nitc__scope__Variable___name].val = p0; /* _name on <self:Variable> */
65 RET_LABEL:;
66 }
67 /* method scope$Variable$to_s for (self: Variable): String */
68 val* nitc___nitc__Variable___core__abstract_text__Object__to_s(val* self) {
69 val* var /* : String */;
70 val* var1 /* : String */;
71 val* var3 /* : String */;
72 {
73 { /* Inline scope$Variable$name (self) on <self:Variable> */
74 var3 = self->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on <self:Variable> */
75 if (unlikely(var3 == NULL)) {
76 if(catchStack.cursor >= 0){
77 longjmp(catchStack.envs[catchStack.cursor], 1);
78 }
79 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
80 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36);
81 fatal_exit(1);
82 }
83 var1 = var3;
84 RET_LABEL2:(void)0;
85 }
86 }
87 var = var1;
88 goto RET_LABEL;
89 RET_LABEL:;
90 return var;
91 }
92 /* method scope$Variable$location for (self: Variable): nullable Location */
93 val* nitc___nitc__Variable___location(val* self) {
94 val* var /* : nullable Location */;
95 val* var1 /* : nullable Location */;
96 var1 = self->attrs[COLOR_nitc__scope__Variable___location].val; /* _location on <self:Variable> */
97 var = var1;
98 RET_LABEL:;
99 return var;
100 }
101 /* method scope$Variable$location= for (self: Variable, nullable Location) */
102 void nitc___nitc__Variable___location_61d(val* self, val* p0) {
103 self->attrs[COLOR_nitc__scope__Variable___location].val = p0; /* _location on <self:Variable> */
104 RET_LABEL:;
105 }
106 /* method scope$Variable$warn_unread for (self: Variable): Bool */
107 short int nitc___nitc__Variable___warn_unread(val* self) {
108 short int var /* : Bool */;
109 short int var1 /* : Bool */;
110 var1 = self->attrs[COLOR_nitc__scope__Variable___warn_unread].s; /* _warn_unread on <self:Variable> */
111 var = var1;
112 RET_LABEL:;
113 return var;
114 }
115 /* method scope$Variable$warn_unread= for (self: Variable, Bool) */
116 void nitc___nitc__Variable___warn_unread_61d(val* self, short int p0) {
117 self->attrs[COLOR_nitc__scope__Variable___warn_unread].s = p0; /* _warn_unread on <self:Variable> */
118 RET_LABEL:;
119 }
120 /* method scope$Variable$init for (self: Variable) */
121 void nitc___nitc__Variable___core__kernel__Object__init(val* self) {
122 {
123 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__Variable___core__kernel__Object__init]))(self); /* init on <self:Variable>*/
124 }
125 RET_LABEL:;
126 }
127 /* method scope$EscapeMark$name for (self: EscapeMark): nullable String */
128 val* nitc___nitc__EscapeMark___name(val* self) {
129 val* var /* : nullable String */;
130 val* var1 /* : nullable String */;
131 var1 = self->attrs[COLOR_nitc__scope__EscapeMark___name].val; /* _name on <self:EscapeMark> */
132 var = var1;
133 RET_LABEL:;
134 return var;
135 }
136 /* method scope$EscapeMark$name= for (self: EscapeMark, nullable String) */
137 void nitc___nitc__EscapeMark___name_61d(val* self, val* p0) {
138 self->attrs[COLOR_nitc__scope__EscapeMark___name].val = p0; /* _name on <self:EscapeMark> */
139 RET_LABEL:;
140 }
141 /* method scope$EscapeMark$continue_mark for (self: EscapeMark): nullable EscapeMark */
142 val* nitc___nitc__EscapeMark___continue_mark(val* self) {
143 val* var /* : nullable EscapeMark */;
144 val* var1 /* : nullable EscapeMark */;
145 var1 = self->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on <self:EscapeMark> */
146 var = var1;
147 RET_LABEL:;
148 return var;
149 }
150 /* method scope$EscapeMark$continue_mark= for (self: EscapeMark, nullable EscapeMark) */
151 void nitc___nitc__EscapeMark___continue_mark_61d(val* self, val* p0) {
152 self->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val = p0; /* _continue_mark on <self:EscapeMark> */
153 RET_LABEL:;
154 }
155 /* method scope$EscapeMark$escapes for (self: EscapeMark): Array[AEscapeExpr] */
156 val* nitc___nitc__EscapeMark___escapes(val* self) {
157 val* var /* : Array[AEscapeExpr] */;
158 val* var1 /* : Array[AEscapeExpr] */;
159 var1 = self->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on <self:EscapeMark> */
160 if (unlikely(var1 == NULL)) {
161 if(catchStack.cursor >= 0){
162 longjmp(catchStack.envs[catchStack.cursor], 1);
163 }
164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
165 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59);
166 fatal_exit(1);
167 }
168 var = var1;
169 RET_LABEL:;
170 return var;
171 }
172 /* method scope$EscapeMark$init for (self: EscapeMark) */
173 void nitc___nitc__EscapeMark___core__kernel__Object__init(val* self) {
174 {
175 ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__EscapeMark___core__kernel__Object__init]))(self); /* init on <self:EscapeMark>*/
176 }
177 RET_LABEL:;
178 }
179 /* method scope$ScopeVisitor$toolcontext for (self: ScopeVisitor): ToolContext */
180 val* nitc__scope___nitc__scope__ScopeVisitor___toolcontext(val* self) {
181 val* var /* : ToolContext */;
182 val* var1 /* : ToolContext */;
183 var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val; /* _toolcontext on <self:ScopeVisitor> */
184 if (unlikely(var1 == NULL)) {
185 if(catchStack.cursor >= 0){
186 longjmp(catchStack.envs[catchStack.cursor], 1);
187 }
188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
189 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 71);
190 fatal_exit(1);
191 }
192 var = var1;
193 RET_LABEL:;
194 return var;
195 }
196 /* method scope$ScopeVisitor$toolcontext= for (self: ScopeVisitor, ToolContext) */
197 void nitc__scope___nitc__scope__ScopeVisitor___toolcontext_61d(val* self, val* p0) {
198 self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val = p0; /* _toolcontext on <self:ScopeVisitor> */
199 RET_LABEL:;
200 }
201 /* method scope$ScopeVisitor$propdef for (self: ScopeVisitor): APropdef */
202 val* nitc__scope___nitc__scope__ScopeVisitor___propdef(val* self) {
203 val* var /* : APropdef */;
204 val* var1 /* : APropdef */;
205 var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on <self:ScopeVisitor> */
206 if (unlikely(var1 == NULL)) {
207 if(catchStack.cursor >= 0){
208 longjmp(catchStack.envs[catchStack.cursor], 1);
209 }
210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef");
211 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74);
212 fatal_exit(1);
213 }
214 var = var1;
215 RET_LABEL:;
216 return var;
217 }
218 /* method scope$ScopeVisitor$propdef= for (self: ScopeVisitor, APropdef) */
219 void nitc__scope___nitc__scope__ScopeVisitor___propdef_61d(val* self, val* p0) {
220 self->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val = p0; /* _propdef on <self:ScopeVisitor> */
221 RET_LABEL:;
222 }
223 /* method scope$ScopeVisitor$selfvariable for (self: ScopeVisitor): Variable */
224 val* nitc__scope___nitc__scope__ScopeVisitor___selfvariable(val* self) {
225 val* var /* : Variable */;
226 val* var1 /* : Variable */;
227 var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___selfvariable].val; /* _selfvariable on <self:ScopeVisitor> */
228 if (unlikely(var1 == NULL)) {
229 if(catchStack.cursor >= 0){
230 longjmp(catchStack.envs[catchStack.cursor], 1);
231 }
232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
233 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 77);
234 fatal_exit(1);
235 }
236 var = var1;
237 RET_LABEL:;
238 return var;
239 }
240 /* method scope$ScopeVisitor$init for (self: ScopeVisitor) */
241 void nitc__scope___nitc__scope__ScopeVisitor___core__kernel__Object__init(val* self) {
242 val* var /* : List[Scope] */;
243 val* var2 /* : List[Scope] */;
244 val* var3 /* : Scope */;
245 {
246 ((void(*)(val* self))(self->class->vft[COLOR_nitc__scope___nitc__scope__ScopeVisitor___core__kernel__Object__init]))(self); /* init on <self:ScopeVisitor>*/
247 }
248 {
249 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
250 var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
251 if (unlikely(var2 == NULL)) {
252 if(catchStack.cursor >= 0){
253 longjmp(catchStack.envs[catchStack.cursor], 1);
254 }
255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
256 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
257 fatal_exit(1);
258 }
259 var = var2;
260 RET_LABEL1:(void)0;
261 }
262 }
263 var3 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope);
264 {
265 { /* Inline kernel$Object$init (var3) on <var3:Scope> */
266 RET_LABEL4:(void)0;
267 }
268 }
269 {
270 core___core__Sequence___SimpleCollection__add(var, var3); /* Direct call abstract_collection$Sequence$add on <var:List[Scope]>*/
271 }
272 RET_LABEL:;
273 }
274 /* method scope$ScopeVisitor$scopes for (self: ScopeVisitor): List[Scope] */
275 val* nitc__scope___nitc__scope__ScopeVisitor___scopes(val* self) {
276 val* var /* : List[Scope] */;
277 val* var1 /* : List[Scope] */;
278 var1 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
279 if (unlikely(var1 == NULL)) {
280 if(catchStack.cursor >= 0){
281 longjmp(catchStack.envs[catchStack.cursor], 1);
282 }
283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
284 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
285 fatal_exit(1);
286 }
287 var = var1;
288 RET_LABEL:;
289 return var;
290 }
291 /* method scope$ScopeVisitor$shift_scope for (self: ScopeVisitor) */
292 void nitc__scope___nitc__scope__ScopeVisitor___shift_scope(val* self) {
293 val* var /* : List[Scope] */;
294 val* var2 /* : List[Scope] */;
295 short int var3 /* : Bool */;
296 short int var4 /* : Bool */;
297 val* var5 /* : List[Scope] */;
298 val* var7 /* : List[Scope] */;
299 val* var8 /* : nullable Object */;
300 val* var_scope /* var scope: Scope */;
301 val* var9 /* : HashMap[String, Variable] */;
302 val* var11 /* : HashMap[String, Variable] */;
303 val* var12 /* : RemovableCollection[nullable Object] */;
304 val* var_ /* var : RemovableCollection[Variable] */;
305 val* var13 /* : Iterator[nullable Object] */;
306 val* var_14 /* var : Iterator[Variable] */;
307 short int var15 /* : Bool */;
308 val* var16 /* : nullable Object */;
309 val* var_v /* var v: Variable */;
310 short int var17 /* : Bool */;
311 short int var19 /* : Bool */;
312 val* var20 /* : ToolContext */;
313 val* var22 /* : ToolContext */;
314 val* var23 /* : nullable Location */;
315 val* var25 /* : nullable Location */;
316 static val* varonce;
317 val* var26 /* : String */;
318 char* var27 /* : CString */;
319 val* var28 /* : String */;
320 val* var29 /* : nullable Int */;
321 val* var30 /* : nullable Int */;
322 val* var31 /* : nullable Bool */;
323 val* var32 /* : nullable Bool */;
324 val* var34 /* : NativeArray[String] */;
325 static val* varonce33;
326 static val* varonce35;
327 val* var36 /* : String */;
328 char* var37 /* : CString */;
329 val* var38 /* : String */;
330 val* var39 /* : nullable Int */;
331 val* var40 /* : nullable Int */;
332 val* var41 /* : nullable Bool */;
333 val* var42 /* : nullable Bool */;
334 static val* varonce43;
335 val* var44 /* : String */;
336 char* var45 /* : CString */;
337 val* var46 /* : String */;
338 val* var47 /* : nullable Int */;
339 val* var48 /* : nullable Int */;
340 val* var49 /* : nullable Bool */;
341 val* var50 /* : nullable Bool */;
342 val* var51 /* : String */;
343 val* var53 /* : String */;
344 val* var54 /* : String */;
345 val* var55 /* : nullable Message */;
346 {
347 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
348 var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
349 if (unlikely(var2 == NULL)) {
350 if(catchStack.cursor >= 0){
351 longjmp(catchStack.envs[catchStack.cursor], 1);
352 }
353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
354 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
355 fatal_exit(1);
356 }
357 var = var2;
358 RET_LABEL1:(void)0;
359 }
360 }
361 {
362 var3 = core___core__List___core__abstract_collection__Collection__is_empty(var);
363 }
364 var4 = !var3;
365 if (unlikely(!var4)) {
366 if(catchStack.cursor >= 0){
367 longjmp(catchStack.envs[catchStack.cursor], 1);
368 }
369 PRINT_ERROR("Runtime error: %s", "Assert failed");
370 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 90);
371 fatal_exit(1);
372 }
373 {
374 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
375 var7 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
376 if (unlikely(var7 == NULL)) {
377 if(catchStack.cursor >= 0){
378 longjmp(catchStack.envs[catchStack.cursor], 1);
379 }
380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
382 fatal_exit(1);
383 }
384 var5 = var7;
385 RET_LABEL6:(void)0;
386 }
387 }
388 {
389 var8 = core___core__List___core__abstract_collection__Sequence__shift(var5);
390 }
391 var_scope = var8;
392 {
393 { /* Inline scope$Scope$variables (var_scope) on <var_scope:Scope> */
394 var11 = var_scope->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on <var_scope:Scope> */
395 if (unlikely(var11 == NULL)) {
396 if(catchStack.cursor >= 0){
397 longjmp(catchStack.envs[catchStack.cursor], 1);
398 }
399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232);
401 fatal_exit(1);
402 }
403 var9 = var11;
404 RET_LABEL10:(void)0;
405 }
406 }
407 {
408 var12 = core___core__HashMap___core__abstract_collection__MapRead__values(var9);
409 }
410 var_ = var12;
411 {
412 var13 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:RemovableCollection[Variable]>*/
413 }
414 var_14 = var13;
415 for(;;) {
416 {
417 var15 = ((short int(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_14); /* is_ok on <var_14:Iterator[Variable]>*/
418 }
419 if (var15){
420 } else {
421 goto BREAK_label;
422 }
423 {
424 var16 = ((val*(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_14); /* item on <var_14:Iterator[Variable]>*/
425 }
426 var_v = var16;
427 {
428 { /* Inline scope$Variable$warn_unread (var_v) on <var_v:Variable> */
429 var19 = var_v->attrs[COLOR_nitc__scope__Variable___warn_unread].s; /* _warn_unread on <var_v:Variable> */
430 var17 = var19;
431 RET_LABEL18:(void)0;
432 }
433 }
434 if (var17){
435 {
436 { /* Inline scope$ScopeVisitor$toolcontext (self) on <self:ScopeVisitor> */
437 var22 = self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val; /* _toolcontext on <self:ScopeVisitor> */
438 if (unlikely(var22 == NULL)) {
439 if(catchStack.cursor >= 0){
440 longjmp(catchStack.envs[catchStack.cursor], 1);
441 }
442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
443 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 71);
444 fatal_exit(1);
445 }
446 var20 = var22;
447 RET_LABEL21:(void)0;
448 }
449 }
450 {
451 { /* Inline scope$Variable$location (var_v) on <var_v:Variable> */
452 var25 = var_v->attrs[COLOR_nitc__scope__Variable___location].val; /* _location on <var_v:Variable> */
453 var23 = var25;
454 RET_LABEL24:(void)0;
455 }
456 }
457 if (likely(varonce!=NULL)) {
458 var26 = varonce;
459 } else {
460 var27 = "unread-variable";
461 var29 = (val*)(15l<<2|1);
462 var30 = (val*)(15l<<2|1);
463 var31 = (val*)((long)(0)<<2|3);
464 var32 = (val*)((long)(0)<<2|3);
465 var28 = core__flat___CString___to_s_unsafe(var27, var29, var30, var31, var32);
466 var26 = var28;
467 varonce = var26;
468 }
469 if (unlikely(varonce33==NULL)) {
470 var34 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
471 if (likely(varonce35!=NULL)) {
472 var36 = varonce35;
473 } else {
474 var37 = "Warning: local variable ";
475 var39 = (val*)(24l<<2|1);
476 var40 = (val*)(24l<<2|1);
477 var41 = (val*)((long)(0)<<2|3);
478 var42 = (val*)((long)(0)<<2|3);
479 var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42);
480 var36 = var38;
481 varonce35 = var36;
482 }
483 ((struct instance_core__NativeArray*)var34)->values[0]=var36;
484 if (likely(varonce43!=NULL)) {
485 var44 = varonce43;
486 } else {
487 var45 = " is never read.";
488 var47 = (val*)(15l<<2|1);
489 var48 = (val*)(15l<<2|1);
490 var49 = (val*)((long)(0)<<2|3);
491 var50 = (val*)((long)(0)<<2|3);
492 var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50);
493 var44 = var46;
494 varonce43 = var44;
495 }
496 ((struct instance_core__NativeArray*)var34)->values[2]=var44;
497 } else {
498 var34 = varonce33;
499 varonce33 = NULL;
500 }
501 {
502 { /* Inline scope$Variable$name (var_v) on <var_v:Variable> */
503 var53 = var_v->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on <var_v:Variable> */
504 if (unlikely(var53 == NULL)) {
505 if(catchStack.cursor >= 0){
506 longjmp(catchStack.envs[catchStack.cursor], 1);
507 }
508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
509 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36);
510 fatal_exit(1);
511 }
512 var51 = var53;
513 RET_LABEL52:(void)0;
514 }
515 }
516 ((struct instance_core__NativeArray*)var34)->values[1]=var51;
517 {
518 var54 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on <var34:NativeArray[String]>*/
519 }
520 varonce33 = var34;
521 {
522 var55 = nitc___nitc__ToolContext___advice(var20, var23, var26, var54);
523 }
524 } else {
525 }
526 {
527 ((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_14); /* next on <var_14:Iterator[Variable]>*/
528 }
529 }
530 BREAK_label: (void)0;
531 {
532 ((void(*)(val* self))((((long)var_14&3)?class_info[((long)var_14&3)]:var_14->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_14); /* finish on <var_14:Iterator[Variable]>*/
533 }
534 RET_LABEL:;
535 }
536 /* method scope$ScopeVisitor$register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
537 short int nitc__scope___nitc__scope__ScopeVisitor___register_variable(val* self, val* p0, val* p1) {
538 short int var /* : Bool */;
539 val* var_node /* var node: ANode */;
540 val* var_variable /* var variable: Variable */;
541 val* var1 /* : String */;
542 val* var3 /* : String */;
543 val* var_name /* var name: String */;
544 val* var4 /* : nullable Variable */;
545 val* var_found /* var found: nullable Variable */;
546 short int var5 /* : Bool */;
547 short int var6 /* : Bool */;
548 val* var_other /* var other: nullable Object */;
549 short int var8 /* : Bool */;
550 short int var9 /* : Bool */;
551 val* var10 /* : NativeArray[String] */;
552 static val* varonce;
553 static val* varonce11;
554 val* var12 /* : String */;
555 char* var13 /* : CString */;
556 val* var14 /* : String */;
557 val* var15 /* : nullable Int */;
558 val* var16 /* : nullable Int */;
559 val* var17 /* : nullable Bool */;
560 val* var18 /* : nullable Bool */;
561 static val* varonce19;
562 val* var20 /* : String */;
563 char* var21 /* : CString */;
564 val* var22 /* : String */;
565 val* var23 /* : nullable Int */;
566 val* var24 /* : nullable Int */;
567 val* var25 /* : nullable Bool */;
568 val* var26 /* : nullable Bool */;
569 val* var27 /* : String */;
570 val* var28 /* : List[Scope] */;
571 val* var30 /* : List[Scope] */;
572 val* var31 /* : nullable Object */;
573 val* var32 /* : HashMap[String, Variable] */;
574 val* var34 /* : HashMap[String, Variable] */;
575 val* var35 /* : Location */;
576 val* var37 /* : Location */;
577 var_node = p0;
578 var_variable = p1;
579 {
580 { /* Inline scope$Variable$name (var_variable) on <var_variable:Variable> */
581 var3 = var_variable->attrs[COLOR_nitc__scope__Variable___name].val; /* _name on <var_variable:Variable> */
582 if (unlikely(var3 == NULL)) {
583 if(catchStack.cursor >= 0){
584 longjmp(catchStack.envs[catchStack.cursor], 1);
585 }
586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 36);
588 fatal_exit(1);
589 }
590 var1 = var3;
591 RET_LABEL2:(void)0;
592 }
593 }
594 var_name = var1;
595 {
596 var4 = nitc__scope___nitc__scope__ScopeVisitor___search_variable(self, var_name);
597 }
598 var_found = var4;
599 if (var_found == NULL) {
600 var5 = 0; /* is null */
601 } else {
602 var5 = 1; /* arg is null and recv is not */
603 }
604 if (0) {
605 { /* Inline kernel$Object$!= (var_found,((val*)NULL)) on <var_found:nullable Variable> */
606 var_other = ((val*)NULL);
607 {
608 var8 = ((short int(*)(val* self, val* p0))(var_found->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_found, var_other); /* == on <var_found:nullable Variable(Variable)>*/
609 }
610 var9 = !var8;
611 var6 = var9;
612 goto RET_LABEL7;
613 RET_LABEL7:(void)0;
614 }
615 var5 = var6;
616 }
617 if (var5){
618 if (unlikely(varonce==NULL)) {
619 var10 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
620 if (likely(varonce11!=NULL)) {
621 var12 = varonce11;
622 } else {
623 var13 = "Error: a variable named `";
624 var15 = (val*)(25l<<2|1);
625 var16 = (val*)(25l<<2|1);
626 var17 = (val*)((long)(0)<<2|3);
627 var18 = (val*)((long)(0)<<2|3);
628 var14 = core__flat___CString___to_s_unsafe(var13, var15, var16, var17, var18);
629 var12 = var14;
630 varonce11 = var12;
631 }
632 ((struct instance_core__NativeArray*)var10)->values[0]=var12;
633 if (likely(varonce19!=NULL)) {
634 var20 = varonce19;
635 } else {
636 var21 = "` already exists.";
637 var23 = (val*)(17l<<2|1);
638 var24 = (val*)(17l<<2|1);
639 var25 = (val*)((long)(0)<<2|3);
640 var26 = (val*)((long)(0)<<2|3);
641 var22 = core__flat___CString___to_s_unsafe(var21, var23, var24, var25, var26);
642 var20 = var22;
643 varonce19 = var20;
644 }
645 ((struct instance_core__NativeArray*)var10)->values[2]=var20;
646 } else {
647 var10 = varonce;
648 varonce = NULL;
649 }
650 ((struct instance_core__NativeArray*)var10)->values[1]=var_name;
651 {
652 var27 = ((val*(*)(val* self))(var10->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var10); /* native_to_s on <var10:NativeArray[String]>*/
653 }
654 varonce = var10;
655 {
656 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var27); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
657 }
658 var = 0;
659 goto RET_LABEL;
660 } else {
661 }
662 {
663 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
664 var30 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
665 if (unlikely(var30 == NULL)) {
666 if(catchStack.cursor >= 0){
667 longjmp(catchStack.envs[catchStack.cursor], 1);
668 }
669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
670 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
671 fatal_exit(1);
672 }
673 var28 = var30;
674 RET_LABEL29:(void)0;
675 }
676 }
677 {
678 var31 = core___core__List___core__abstract_collection__Collection__first(var28);
679 }
680 {
681 { /* Inline scope$Scope$variables (var31) on <var31:nullable Object(Scope)> */
682 var34 = var31->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on <var31:nullable Object(Scope)> */
683 if (unlikely(var34 == NULL)) {
684 if(catchStack.cursor >= 0){
685 longjmp(catchStack.envs[catchStack.cursor], 1);
686 }
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
688 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232);
689 fatal_exit(1);
690 }
691 var32 = var34;
692 RET_LABEL33:(void)0;
693 }
694 }
695 {
696 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var32, var_name, var_variable); /* Direct call hash_collection$HashMap$[]= on <var32:HashMap[String, Variable]>*/
697 }
698 {
699 { /* Inline parser_nodes$ANode$location (var_node) on <var_node:ANode> */
700 var37 = var_node->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on <var_node:ANode> */
701 if (unlikely(var37 == NULL)) {
702 if(catchStack.cursor >= 0){
703 longjmp(catchStack.envs[catchStack.cursor], 1);
704 }
705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 25);
707 fatal_exit(1);
708 }
709 var35 = var37;
710 RET_LABEL36:(void)0;
711 }
712 }
713 {
714 { /* Inline scope$Variable$location= (var_variable,var35) on <var_variable:Variable> */
715 var_variable->attrs[COLOR_nitc__scope__Variable___location].val = var35; /* _location on <var_variable:Variable> */
716 RET_LABEL38:(void)0;
717 }
718 }
719 var = 1;
720 goto RET_LABEL;
721 RET_LABEL:;
722 return var;
723 }
724 /* method scope$ScopeVisitor$search_variable for (self: ScopeVisitor, String): nullable Variable */
725 val* nitc__scope___nitc__scope__ScopeVisitor___search_variable(val* self, val* p0) {
726 val* var /* : nullable Variable */;
727 val* var_name /* var name: String */;
728 val* var1 /* : List[Scope] */;
729 val* var3 /* : List[Scope] */;
730 val* var_ /* var : List[Scope] */;
731 val* var4 /* : ListIterator[nullable Object] */;
732 val* var_5 /* var : ListIterator[Scope] */;
733 short int var6 /* : Bool */;
734 val* var7 /* : nullable Object */;
735 val* var_scope /* var scope: Scope */;
736 val* var8 /* : nullable Variable */;
737 val* var_res /* var res: nullable Variable */;
738 short int var9 /* : Bool */;
739 short int var10 /* : Bool */;
740 val* var_other /* var other: nullable Object */;
741 short int var12 /* : Bool */;
742 short int var13 /* : Bool */;
743 var_name = p0;
744 {
745 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
746 var3 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
747 if (unlikely(var3 == NULL)) {
748 if(catchStack.cursor >= 0){
749 longjmp(catchStack.envs[catchStack.cursor], 1);
750 }
751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
753 fatal_exit(1);
754 }
755 var1 = var3;
756 RET_LABEL2:(void)0;
757 }
758 }
759 var_ = var1;
760 {
761 var4 = core___core__List___core__abstract_collection__Collection__iterator(var_);
762 }
763 var_5 = var4;
764 for(;;) {
765 {
766 var6 = core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_5);
767 }
768 if (var6){
769 } else {
770 goto BREAK_label;
771 }
772 {
773 var7 = core___core__ListIterator___core__abstract_collection__Iterator__item(var_5);
774 }
775 var_scope = var7;
776 {
777 var8 = nitc__scope___nitc__scope__Scope___get_variable(var_scope, var_name);
778 }
779 var_res = var8;
780 if (var_res == NULL) {
781 var9 = 0; /* is null */
782 } else {
783 var9 = 1; /* arg is null and recv is not */
784 }
785 if (0) {
786 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable Variable> */
787 var_other = ((val*)NULL);
788 {
789 var12 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable Variable(Variable)>*/
790 }
791 var13 = !var12;
792 var10 = var13;
793 goto RET_LABEL11;
794 RET_LABEL11:(void)0;
795 }
796 var9 = var10;
797 }
798 if (var9){
799 var = var_res;
800 goto RET_LABEL;
801 } else {
802 }
803 {
804 ((void(*)(val* self))(var_5->class->vft[COLOR_core__abstract_collection__Iterator__next]))(var_5); /* next on <var_5:ListIterator[Scope]>*/
805 }
806 }
807 BREAK_label: (void)0;
808 {
809 { /* Inline abstract_collection$Iterator$finish (var_5) on <var_5:ListIterator[Scope]> */
810 RET_LABEL14:(void)0;
811 }
812 }
813 var = ((val*)NULL);
814 goto RET_LABEL;
815 RET_LABEL:;
816 return var;
817 }
818 /* method scope$ScopeVisitor$visit for (self: ScopeVisitor, ANode) */
819 void nitc__scope___nitc__scope__ScopeVisitor___nitc__parser_nodes__Visitor__visit(val* self, val* p0) {
820 val* var_n /* var n: ANode */;
821 var_n = p0;
822 {
823 ((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nitc__scope__ANode__accept_scope_visitor]))(var_n, self); /* accept_scope_visitor on <var_n:ANode>*/
824 }
825 RET_LABEL:;
826 }
827 /* method scope$ScopeVisitor$enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
828 void nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(val* self, val* p0, val* p1) {
829 val* var_node /* var node: nullable AExpr */;
830 val* var_escapemark /* var escapemark: nullable EscapeMark */;
831 short int var /* : Bool */;
832 short int var1 /* : Bool */;
833 val* var_other /* var other: nullable Object */;
834 short int var3 /* : Bool */;
835 short int var5 /* : Bool */;
836 val* var6 /* : Scope */;
837 val* var_scope /* var scope: Scope */;
838 val* var9 /* : List[Scope] */;
839 val* var11 /* : List[Scope] */;
840 var_node = p0;
841 var_escapemark = p1;
842 if (var_node == NULL) {
843 var = 1; /* is null */
844 } else {
845 var = 0; /* arg is null but recv is not */
846 }
847 if (0) {
848 { /* Inline kernel$Object$== (var_node,((val*)NULL)) on <var_node:nullable AExpr> */
849 var_other = ((val*)NULL);
850 {
851 { /* Inline kernel$Object$is_same_instance (var_node,var_other) on <var_node:nullable AExpr(AExpr)> */
852 var5 = var_node == var_other;
853 var3 = var5;
854 goto RET_LABEL4;
855 RET_LABEL4:(void)0;
856 }
857 }
858 var1 = var3;
859 goto RET_LABEL2;
860 RET_LABEL2:(void)0;
861 }
862 var = var1;
863 }
864 if (var){
865 goto RET_LABEL;
866 } else {
867 }
868 var6 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope);
869 {
870 { /* Inline kernel$Object$init (var6) on <var6:Scope> */
871 RET_LABEL7:(void)0;
872 }
873 }
874 var_scope = var6;
875 {
876 { /* Inline scope$Scope$escapemark= (var_scope,var_escapemark) on <var_scope:Scope> */
877 var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val = var_escapemark; /* _escapemark on <var_scope:Scope> */
878 RET_LABEL8:(void)0;
879 }
880 }
881 {
882 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
883 var11 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
884 if (unlikely(var11 == NULL)) {
885 if(catchStack.cursor >= 0){
886 longjmp(catchStack.envs[catchStack.cursor], 1);
887 }
888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
889 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
890 fatal_exit(1);
891 }
892 var9 = var11;
893 RET_LABEL10:(void)0;
894 }
895 }
896 {
897 core___core__List___core__abstract_collection__Sequence__unshift(var9, var_scope); /* Direct call list$List$unshift on <var9:List[Scope]>*/
898 }
899 {
900 nitc___nitc__Visitor___enter_visit(self, var_node); /* Direct call parser_nodes$Visitor$enter_visit on <self:ScopeVisitor>*/
901 }
902 {
903 nitc__scope___nitc__scope__ScopeVisitor___shift_scope(self); /* Direct call scope$ScopeVisitor$shift_scope on <self:ScopeVisitor>*/
904 }
905 RET_LABEL:;
906 }
907 /* method scope$ScopeVisitor$search_label for (self: ScopeVisitor, String): nullable EscapeMark */
908 val* nitc__scope___nitc__scope__ScopeVisitor___search_label(val* self, val* p0) {
909 val* var /* : nullable EscapeMark */;
910 val* var_name /* var name: String */;
911 val* var1 /* : List[Scope] */;
912 val* var3 /* : List[Scope] */;
913 val* var_ /* var : List[Scope] */;
914 val* var4 /* : ListIterator[nullable Object] */;
915 val* var_5 /* var : ListIterator[Scope] */;
916 short int var6 /* : Bool */;
917 val* var7 /* : nullable Object */;
918 val* var_scope /* var scope: Scope */;
919 val* var8 /* : nullable EscapeMark */;
920 val* var10 /* : nullable EscapeMark */;
921 val* var_res /* var res: nullable EscapeMark */;
922 short int var11 /* : Bool */;
923 short int var12 /* : Bool */;
924 short int var13 /* : Bool */;
925 val* var_other /* var other: nullable Object */;
926 short int var15 /* : Bool */;
927 short int var16 /* : Bool */;
928 short int var_17 /* var : Bool */;
929 val* var18 /* : nullable String */;
930 val* var20 /* : nullable String */;
931 short int var21 /* : Bool */;
932 short int var22 /* : Bool */;
933 var_name = p0;
934 {
935 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
936 var3 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
937 if (unlikely(var3 == NULL)) {
938 if(catchStack.cursor >= 0){
939 longjmp(catchStack.envs[catchStack.cursor], 1);
940 }
941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
943 fatal_exit(1);
944 }
945 var1 = var3;
946 RET_LABEL2:(void)0;
947 }
948 }
949 var_ = var1;
950 {
951 var4 = core___core__List___core__abstract_collection__Collection__iterator(var_);
952 }
953 var_5 = var4;
954 for(;;) {
955 {
956 var6 = core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_5);
957 }
958 if (var6){
959 } else {
960 goto BREAK_label;
961 }
962 {
963 var7 = core___core__ListIterator___core__abstract_collection__Iterator__item(var_5);
964 }
965 var_scope = var7;
966 {
967 { /* Inline scope$Scope$escapemark (var_scope) on <var_scope:Scope> */
968 var10 = var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on <var_scope:Scope> */
969 var8 = var10;
970 RET_LABEL9:(void)0;
971 }
972 }
973 var_res = var8;
974 if (var_res == NULL) {
975 var12 = 0; /* is null */
976 } else {
977 var12 = 1; /* arg is null and recv is not */
978 }
979 if (0) {
980 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable EscapeMark> */
981 var_other = ((val*)NULL);
982 {
983 var15 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable EscapeMark(EscapeMark)>*/
984 }
985 var16 = !var15;
986 var13 = var16;
987 goto RET_LABEL14;
988 RET_LABEL14:(void)0;
989 }
990 var12 = var13;
991 }
992 var_17 = var12;
993 if (var12){
994 {
995 { /* Inline scope$EscapeMark$name (var_res) on <var_res:nullable EscapeMark(EscapeMark)> */
996 var20 = var_res->attrs[COLOR_nitc__scope__EscapeMark___name].val; /* _name on <var_res:nullable EscapeMark(EscapeMark)> */
997 var18 = var20;
998 RET_LABEL19:(void)0;
999 }
1000 }
1001 if (var18 == NULL) {
1002 var21 = 0; /* <var_name:String> cannot be null */
1003 } else {
1004 var22 = ((short int(*)(val* self, val* p0))(var18->class->vft[COLOR_core__kernel__Object___61d_61d]))(var18, var_name); /* == on <var18:nullable String>*/
1005 var21 = var22;
1006 }
1007 var11 = var21;
1008 } else {
1009 var11 = var_17;
1010 }
1011 if (var11){
1012 var = var_res;
1013 goto RET_LABEL;
1014 } else {
1015 }
1016 {
1017 ((void(*)(val* self))(var_5->class->vft[COLOR_core__abstract_collection__Iterator__next]))(var_5); /* next on <var_5:ListIterator[Scope]>*/
1018 }
1019 }
1020 BREAK_label: (void)0;
1021 {
1022 { /* Inline abstract_collection$Iterator$finish (var_5) on <var_5:ListIterator[Scope]> */
1023 RET_LABEL23:(void)0;
1024 }
1025 }
1026 var = ((val*)NULL);
1027 goto RET_LABEL;
1028 RET_LABEL:;
1029 return var;
1030 }
1031 /* method scope$ScopeVisitor$make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
1032 val* nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(val* self, val* p0, short int p1) {
1033 val* var /* : EscapeMark */;
1034 val* var_nlabel /* var nlabel: nullable ALabel */;
1035 short int var_for_loop /* var for_loop: Bool */;
1036 short int var1 /* : Bool */;
1037 short int var2 /* : Bool */;
1038 val* var_other /* var other: nullable Object */;
1039 short int var4 /* : Bool */;
1040 short int var5 /* : Bool */;
1041 val* var6 /* : nullable TId */;
1042 val* var8 /* : nullable TId */;
1043 val* var_nid /* var nid: nullable TId */;
1044 short int var9 /* : Bool */;
1045 short int var10 /* : Bool */;
1046 val* var_other12 /* var other: nullable Object */;
1047 short int var13 /* : Bool */;
1048 short int var15 /* : Bool */;
1049 static val* varonce;
1050 val* var16 /* : String */;
1051 char* var17 /* : CString */;
1052 val* var18 /* : String */;
1053 val* var19 /* : nullable Int */;
1054 val* var20 /* : nullable Int */;
1055 val* var21 /* : nullable Bool */;
1056 val* var22 /* : nullable Bool */;
1057 val* var23 /* : nullable EscapeMark */;
1058 val* var_res /* var res: nullable EscapeMark */;
1059 short int var24 /* : Bool */;
1060 short int var25 /* : Bool */;
1061 short int var27 /* : Bool */;
1062 short int var28 /* : Bool */;
1063 static val* varonce29;
1064 val* var30 /* : String */;
1065 char* var31 /* : CString */;
1066 val* var32 /* : String */;
1067 val* var33 /* : nullable Int */;
1068 val* var34 /* : nullable Int */;
1069 val* var35 /* : nullable Bool */;
1070 val* var36 /* : nullable Bool */;
1071 static val* varonce37;
1072 val* var38 /* : String */;
1073 char* var39 /* : CString */;
1074 val* var40 /* : String */;
1075 val* var41 /* : nullable Int */;
1076 val* var42 /* : nullable Int */;
1077 val* var43 /* : nullable Bool */;
1078 val* var44 /* : nullable Bool */;
1079 val* var_name /* var name: nullable String */;
1080 val* var45 /* : String */;
1081 val* var46 /* : nullable EscapeMark */;
1082 val* var_found /* var found: nullable EscapeMark */;
1083 short int var47 /* : Bool */;
1084 short int var48 /* : Bool */;
1085 short int var50 /* : Bool */;
1086 short int var51 /* : Bool */;
1087 val* var53 /* : NativeArray[String] */;
1088 static val* varonce52;
1089 static val* varonce54;
1090 val* var55 /* : String */;
1091 char* var56 /* : CString */;
1092 val* var57 /* : String */;
1093 val* var58 /* : nullable Int */;
1094 val* var59 /* : nullable Int */;
1095 val* var60 /* : nullable Bool */;
1096 val* var61 /* : nullable Bool */;
1097 static val* varonce62;
1098 val* var63 /* : String */;
1099 char* var64 /* : CString */;
1100 val* var65 /* : String */;
1101 val* var66 /* : nullable Int */;
1102 val* var67 /* : nullable Int */;
1103 val* var68 /* : nullable Bool */;
1104 val* var69 /* : nullable Bool */;
1105 val* var70 /* : String */;
1106 val* var71 /* : EscapeMark */;
1107 val* var_res72 /* var res: EscapeMark */;
1108 val* var73 /* : EscapeMark */;
1109 var_nlabel = p0;
1110 var_for_loop = p1;
1111 if (var_nlabel == NULL) {
1112 var1 = 0; /* is null */
1113 } else {
1114 var1 = 1; /* arg is null and recv is not */
1115 }
1116 if (0) {
1117 { /* Inline kernel$Object$!= (var_nlabel,((val*)NULL)) on <var_nlabel:nullable ALabel> */
1118 var_other = ((val*)NULL);
1119 {
1120 var4 = ((short int(*)(val* self, val* p0))(var_nlabel->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nlabel, var_other); /* == on <var_nlabel:nullable ALabel(ALabel)>*/
1121 }
1122 var5 = !var4;
1123 var2 = var5;
1124 goto RET_LABEL3;
1125 RET_LABEL3:(void)0;
1126 }
1127 var1 = var2;
1128 }
1129 if (var1){
1130 {
1131 { /* Inline parser_nodes$ALabel$n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1132 var8 = var_nlabel->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1133 var6 = var8;
1134 RET_LABEL7:(void)0;
1135 }
1136 }
1137 var_nid = var6;
1138 if (var_nid == NULL) {
1139 var9 = 1; /* is null */
1140 } else {
1141 var9 = 0; /* arg is null but recv is not */
1142 }
1143 if (0) {
1144 { /* Inline kernel$Object$== (var_nid,((val*)NULL)) on <var_nid:nullable TId> */
1145 var_other12 = ((val*)NULL);
1146 {
1147 { /* Inline kernel$Object$is_same_instance (var_nid,var_other12) on <var_nid:nullable TId(TId)> */
1148 var15 = var_nid == var_other12;
1149 var13 = var15;
1150 goto RET_LABEL14;
1151 RET_LABEL14:(void)0;
1152 }
1153 }
1154 var10 = var13;
1155 goto RET_LABEL11;
1156 RET_LABEL11:(void)0;
1157 }
1158 var9 = var10;
1159 }
1160 if (var9){
1161 if (likely(varonce!=NULL)) {
1162 var16 = varonce;
1163 } else {
1164 var17 = "";
1165 var19 = (val*)(0l<<2|1);
1166 var20 = (val*)(0l<<2|1);
1167 var21 = (val*)((long)(0)<<2|3);
1168 var22 = (val*)((long)(0)<<2|3);
1169 var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
1170 var16 = var18;
1171 varonce = var16;
1172 }
1173 {
1174 var23 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16);
1175 }
1176 var_res = var23;
1177 if (var_res == NULL) {
1178 var24 = 0; /* is null */
1179 } else {
1180 var24 = 1; /* arg is null and recv is not */
1181 }
1182 if (0) {
1183 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable EscapeMark> */
1184 var_other = ((val*)NULL);
1185 {
1186 var27 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on <var_res:nullable EscapeMark(EscapeMark)>*/
1187 }
1188 var28 = !var27;
1189 var25 = var28;
1190 goto RET_LABEL26;
1191 RET_LABEL26:(void)0;
1192 }
1193 var24 = var25;
1194 }
1195 if (var24){
1196 if (likely(varonce29!=NULL)) {
1197 var30 = varonce29;
1198 } else {
1199 var31 = "Syntax Error: anonymous label already defined.";
1200 var33 = (val*)(46l<<2|1);
1201 var34 = (val*)(46l<<2|1);
1202 var35 = (val*)((long)(0)<<2|3);
1203 var36 = (val*)((long)(0)<<2|3);
1204 var32 = core__flat___CString___to_s_unsafe(var31, var33, var34, var35, var36);
1205 var30 = var32;
1206 varonce29 = var30;
1207 }
1208 {
1209 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var30); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
1210 }
1211 } else {
1212 }
1213 if (likely(varonce37!=NULL)) {
1214 var38 = varonce37;
1215 } else {
1216 var39 = "";
1217 var41 = (val*)(0l<<2|1);
1218 var42 = (val*)(0l<<2|1);
1219 var43 = (val*)((long)(0)<<2|3);
1220 var44 = (val*)((long)(0)<<2|3);
1221 var40 = core__flat___CString___to_s_unsafe(var39, var41, var42, var43, var44);
1222 var38 = var40;
1223 varonce37 = var38;
1224 }
1225 var_name = var38;
1226 } else {
1227 {
1228 var45 = nitc__lexer_work___Token___text(var_nid);
1229 }
1230 var_name = var45;
1231 {
1232 var46 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name);
1233 }
1234 var_found = var46;
1235 if (var_found == NULL) {
1236 var47 = 0; /* is null */
1237 } else {
1238 var47 = 1; /* arg is null and recv is not */
1239 }
1240 if (0) {
1241 { /* Inline kernel$Object$!= (var_found,((val*)NULL)) on <var_found:nullable EscapeMark> */
1242 var_other = ((val*)NULL);
1243 {
1244 var50 = ((short int(*)(val* self, val* p0))(var_found->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_found, var_other); /* == on <var_found:nullable EscapeMark(EscapeMark)>*/
1245 }
1246 var51 = !var50;
1247 var48 = var51;
1248 goto RET_LABEL49;
1249 RET_LABEL49:(void)0;
1250 }
1251 var47 = var48;
1252 }
1253 if (var47){
1254 if (unlikely(varonce52==NULL)) {
1255 var53 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
1256 if (likely(varonce54!=NULL)) {
1257 var55 = varonce54;
1258 } else {
1259 var56 = "Syntax Error: label `";
1260 var58 = (val*)(21l<<2|1);
1261 var59 = (val*)(21l<<2|1);
1262 var60 = (val*)((long)(0)<<2|3);
1263 var61 = (val*)((long)(0)<<2|3);
1264 var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
1265 var55 = var57;
1266 varonce54 = var55;
1267 }
1268 ((struct instance_core__NativeArray*)var53)->values[0]=var55;
1269 if (likely(varonce62!=NULL)) {
1270 var63 = varonce62;
1271 } else {
1272 var64 = "` already defined.";
1273 var66 = (val*)(18l<<2|1);
1274 var67 = (val*)(18l<<2|1);
1275 var68 = (val*)((long)(0)<<2|3);
1276 var69 = (val*)((long)(0)<<2|3);
1277 var65 = core__flat___CString___to_s_unsafe(var64, var66, var67, var68, var69);
1278 var63 = var65;
1279 varonce62 = var63;
1280 }
1281 ((struct instance_core__NativeArray*)var53)->values[2]=var63;
1282 } else {
1283 var53 = varonce52;
1284 varonce52 = NULL;
1285 }
1286 ((struct instance_core__NativeArray*)var53)->values[1]=var_name;
1287 {
1288 var70 = ((val*(*)(val* self))(var53->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var53); /* native_to_s on <var53:NativeArray[String]>*/
1289 }
1290 varonce52 = var53;
1291 {
1292 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var70); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
1293 }
1294 } else {
1295 }
1296 }
1297 } else {
1298 var_name = ((val*)NULL);
1299 }
1300 var71 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark);
1301 {
1302 ((void(*)(val* self, val* p0))(var71->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var71, var_name); /* name= on <var71:EscapeMark>*/
1303 }
1304 {
1305 ((void(*)(val* self))(var71->class->vft[COLOR_core__kernel__Object__init]))(var71); /* init on <var71:EscapeMark>*/
1306 }
1307 var_res72 = var71;
1308 if (var_for_loop){
1309 var73 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark);
1310 {
1311 ((void(*)(val* self, val* p0))(var73->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var73, var_name); /* name= on <var73:EscapeMark>*/
1312 }
1313 {
1314 ((void(*)(val* self))(var73->class->vft[COLOR_core__kernel__Object__init]))(var73); /* init on <var73:EscapeMark>*/
1315 }
1316 {
1317 { /* Inline scope$EscapeMark$continue_mark= (var_res72,var73) on <var_res72:EscapeMark> */
1318 var_res72->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val = var73; /* _continue_mark on <var_res72:EscapeMark> */
1319 RET_LABEL74:(void)0;
1320 }
1321 }
1322 } else {
1323 }
1324 var = var_res72;
1325 goto RET_LABEL;
1326 RET_LABEL:;
1327 return var;
1328 }
1329 /* method scope$ScopeVisitor$get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
1330 val* nitc__scope___nitc__scope__ScopeVisitor___get_escapemark(val* self, val* p0, val* p1) {
1331 val* var /* : nullable EscapeMark */;
1332 val* var_node /* var node: ANode */;
1333 val* var_nlabel /* var nlabel: nullable ALabel */;
1334 short int var1 /* : Bool */;
1335 short int var2 /* : Bool */;
1336 val* var_other /* var other: nullable Object */;
1337 short int var4 /* : Bool */;
1338 short int var5 /* : Bool */;
1339 val* var6 /* : nullable TId */;
1340 val* var8 /* : nullable TId */;
1341 val* var_nid /* var nid: nullable TId */;
1342 short int var9 /* : Bool */;
1343 short int var10 /* : Bool */;
1344 val* var_other12 /* var other: nullable Object */;
1345 short int var13 /* : Bool */;
1346 short int var15 /* : Bool */;
1347 static val* varonce;
1348 val* var16 /* : String */;
1349 char* var17 /* : CString */;
1350 val* var18 /* : String */;
1351 val* var19 /* : nullable Int */;
1352 val* var20 /* : nullable Int */;
1353 val* var21 /* : nullable Bool */;
1354 val* var22 /* : nullable Bool */;
1355 val* var23 /* : nullable EscapeMark */;
1356 val* var_res /* var res: nullable EscapeMark */;
1357 short int var24 /* : Bool */;
1358 short int var25 /* : Bool */;
1359 short int var27 /* : Bool */;
1360 short int var29 /* : Bool */;
1361 static val* varonce30;
1362 val* var31 /* : String */;
1363 char* var32 /* : CString */;
1364 val* var33 /* : String */;
1365 val* var34 /* : nullable Int */;
1366 val* var35 /* : nullable Int */;
1367 val* var36 /* : nullable Bool */;
1368 val* var37 /* : nullable Bool */;
1369 val* var39 /* : String */;
1370 val* var_name /* var name: String */;
1371 val* var40 /* : nullable EscapeMark */;
1372 val* var_res41 /* var res: nullable EscapeMark */;
1373 short int var42 /* : Bool */;
1374 short int var43 /* : Bool */;
1375 short int var45 /* : Bool */;
1376 short int var47 /* : Bool */;
1377 val* var49 /* : NativeArray[String] */;
1378 static val* varonce48;
1379 static val* varonce50;
1380 val* var51 /* : String */;
1381 char* var52 /* : CString */;
1382 val* var53 /* : String */;
1383 val* var54 /* : nullable Int */;
1384 val* var55 /* : nullable Int */;
1385 val* var56 /* : nullable Bool */;
1386 val* var57 /* : nullable Bool */;
1387 static val* varonce58;
1388 val* var59 /* : String */;
1389 char* var60 /* : CString */;
1390 val* var61 /* : String */;
1391 val* var62 /* : nullable Int */;
1392 val* var63 /* : nullable Int */;
1393 val* var64 /* : nullable Bool */;
1394 val* var65 /* : nullable Bool */;
1395 val* var66 /* : String */;
1396 val* var68 /* : List[Scope] */;
1397 val* var70 /* : List[Scope] */;
1398 val* var_ /* var : List[Scope] */;
1399 val* var71 /* : ListIterator[nullable Object] */;
1400 val* var_72 /* var : ListIterator[Scope] */;
1401 short int var73 /* : Bool */;
1402 val* var74 /* : nullable Object */;
1403 val* var_scope /* var scope: Scope */;
1404 val* var75 /* : nullable EscapeMark */;
1405 val* var77 /* : nullable EscapeMark */;
1406 val* var_res78 /* var res: nullable EscapeMark */;
1407 short int var79 /* : Bool */;
1408 short int var80 /* : Bool */;
1409 short int var82 /* : Bool */;
1410 short int var83 /* : Bool */;
1411 static val* varonce85;
1412 val* var86 /* : String */;
1413 char* var87 /* : CString */;
1414 val* var88 /* : String */;
1415 val* var89 /* : nullable Int */;
1416 val* var90 /* : nullable Int */;
1417 val* var91 /* : nullable Bool */;
1418 val* var92 /* : nullable Bool */;
1419 var_node = p0;
1420 var_nlabel = p1;
1421 if (var_nlabel == NULL) {
1422 var1 = 0; /* is null */
1423 } else {
1424 var1 = 1; /* arg is null and recv is not */
1425 }
1426 if (0) {
1427 { /* Inline kernel$Object$!= (var_nlabel,((val*)NULL)) on <var_nlabel:nullable ALabel> */
1428 var_other = ((val*)NULL);
1429 {
1430 var4 = ((short int(*)(val* self, val* p0))(var_nlabel->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_nlabel, var_other); /* == on <var_nlabel:nullable ALabel(ALabel)>*/
1431 }
1432 var5 = !var4;
1433 var2 = var5;
1434 goto RET_LABEL3;
1435 RET_LABEL3:(void)0;
1436 }
1437 var1 = var2;
1438 }
1439 if (var1){
1440 {
1441 { /* Inline parser_nodes$ALabel$n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1442 var8 = var_nlabel->attrs[COLOR_nitc__parser_nodes__ALabel___n_id].val; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1443 var6 = var8;
1444 RET_LABEL7:(void)0;
1445 }
1446 }
1447 var_nid = var6;
1448 if (var_nid == NULL) {
1449 var9 = 1; /* is null */
1450 } else {
1451 var9 = 0; /* arg is null but recv is not */
1452 }
1453 if (0) {
1454 { /* Inline kernel$Object$== (var_nid,((val*)NULL)) on <var_nid:nullable TId> */
1455 var_other12 = ((val*)NULL);
1456 {
1457 { /* Inline kernel$Object$is_same_instance (var_nid,var_other12) on <var_nid:nullable TId(TId)> */
1458 var15 = var_nid == var_other12;
1459 var13 = var15;
1460 goto RET_LABEL14;
1461 RET_LABEL14:(void)0;
1462 }
1463 }
1464 var10 = var13;
1465 goto RET_LABEL11;
1466 RET_LABEL11:(void)0;
1467 }
1468 var9 = var10;
1469 }
1470 if (var9){
1471 if (likely(varonce!=NULL)) {
1472 var16 = varonce;
1473 } else {
1474 var17 = "";
1475 var19 = (val*)(0l<<2|1);
1476 var20 = (val*)(0l<<2|1);
1477 var21 = (val*)((long)(0)<<2|3);
1478 var22 = (val*)((long)(0)<<2|3);
1479 var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22);
1480 var16 = var18;
1481 varonce = var16;
1482 }
1483 {
1484 var23 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var16);
1485 }
1486 var_res = var23;
1487 if (var_res == NULL) {
1488 var24 = 1; /* is null */
1489 } else {
1490 var24 = 0; /* arg is null but recv is not */
1491 }
1492 if (0) {
1493 { /* Inline kernel$Object$== (var_res,((val*)NULL)) on <var_res:nullable EscapeMark> */
1494 var_other12 = ((val*)NULL);
1495 {
1496 { /* Inline kernel$Object$is_same_instance (var_res,var_other12) on <var_res:nullable EscapeMark(EscapeMark)> */
1497 var29 = var_res == var_other12;
1498 var27 = var29;
1499 goto RET_LABEL28;
1500 RET_LABEL28:(void)0;
1501 }
1502 }
1503 var25 = var27;
1504 goto RET_LABEL26;
1505 RET_LABEL26:(void)0;
1506 }
1507 var24 = var25;
1508 }
1509 if (var24){
1510 if (likely(varonce30!=NULL)) {
1511 var31 = varonce30;
1512 } else {
1513 var32 = "Syntax Error: invalid anonymous label.";
1514 var34 = (val*)(38l<<2|1);
1515 var35 = (val*)(38l<<2|1);
1516 var36 = (val*)((long)(0)<<2|3);
1517 var37 = (val*)((long)(0)<<2|3);
1518 var33 = core__flat___CString___to_s_unsafe(var32, var34, var35, var36, var37);
1519 var31 = var33;
1520 varonce30 = var31;
1521 }
1522 {
1523 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var31); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
1524 }
1525 {
1526 { /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on <var_node:ANode> */
1527 var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <var_node:ANode> */
1528 RET_LABEL38:(void)0;
1529 }
1530 }
1531 var = ((val*)NULL);
1532 goto RET_LABEL;
1533 } else {
1534 }
1535 var = var_res;
1536 goto RET_LABEL;
1537 } else {
1538 }
1539 {
1540 var39 = nitc__lexer_work___Token___text(var_nid);
1541 }
1542 var_name = var39;
1543 {
1544 var40 = nitc__scope___nitc__scope__ScopeVisitor___search_label(self, var_name);
1545 }
1546 var_res41 = var40;
1547 if (var_res41 == NULL) {
1548 var42 = 1; /* is null */
1549 } else {
1550 var42 = 0; /* arg is null but recv is not */
1551 }
1552 if (0) {
1553 { /* Inline kernel$Object$== (var_res41,((val*)NULL)) on <var_res41:nullable EscapeMark> */
1554 var_other12 = ((val*)NULL);
1555 {
1556 { /* Inline kernel$Object$is_same_instance (var_res41,var_other12) on <var_res41:nullable EscapeMark(EscapeMark)> */
1557 var47 = var_res41 == var_other12;
1558 var45 = var47;
1559 goto RET_LABEL46;
1560 RET_LABEL46:(void)0;
1561 }
1562 }
1563 var43 = var45;
1564 goto RET_LABEL44;
1565 RET_LABEL44:(void)0;
1566 }
1567 var42 = var43;
1568 }
1569 if (var42){
1570 if (unlikely(varonce48==NULL)) {
1571 var49 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
1572 if (likely(varonce50!=NULL)) {
1573 var51 = varonce50;
1574 } else {
1575 var52 = "Syntax Error: invalid label `";
1576 var54 = (val*)(29l<<2|1);
1577 var55 = (val*)(29l<<2|1);
1578 var56 = (val*)((long)(0)<<2|3);
1579 var57 = (val*)((long)(0)<<2|3);
1580 var53 = core__flat___CString___to_s_unsafe(var52, var54, var55, var56, var57);
1581 var51 = var53;
1582 varonce50 = var51;
1583 }
1584 ((struct instance_core__NativeArray*)var49)->values[0]=var51;
1585 if (likely(varonce58!=NULL)) {
1586 var59 = varonce58;
1587 } else {
1588 var60 = "`.";
1589 var62 = (val*)(2l<<2|1);
1590 var63 = (val*)(2l<<2|1);
1591 var64 = (val*)((long)(0)<<2|3);
1592 var65 = (val*)((long)(0)<<2|3);
1593 var61 = core__flat___CString___to_s_unsafe(var60, var62, var63, var64, var65);
1594 var59 = var61;
1595 varonce58 = var59;
1596 }
1597 ((struct instance_core__NativeArray*)var49)->values[2]=var59;
1598 } else {
1599 var49 = varonce48;
1600 varonce48 = NULL;
1601 }
1602 ((struct instance_core__NativeArray*)var49)->values[1]=var_name;
1603 {
1604 var66 = ((val*(*)(val* self))(var49->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var49); /* native_to_s on <var49:NativeArray[String]>*/
1605 }
1606 varonce48 = var49;
1607 {
1608 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_nlabel, var66); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
1609 }
1610 {
1611 { /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on <var_node:ANode> */
1612 var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <var_node:ANode> */
1613 RET_LABEL67:(void)0;
1614 }
1615 }
1616 var = ((val*)NULL);
1617 goto RET_LABEL;
1618 } else {
1619 }
1620 var = var_res41;
1621 goto RET_LABEL;
1622 } else {
1623 {
1624 { /* Inline scope$ScopeVisitor$scopes (self) on <self:ScopeVisitor> */
1625 var70 = self->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <self:ScopeVisitor> */
1626 if (unlikely(var70 == NULL)) {
1627 if(catchStack.cursor >= 0){
1628 longjmp(catchStack.envs[catchStack.cursor], 1);
1629 }
1630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
1631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
1632 fatal_exit(1);
1633 }
1634 var68 = var70;
1635 RET_LABEL69:(void)0;
1636 }
1637 }
1638 var_ = var68;
1639 {
1640 var71 = core___core__List___core__abstract_collection__Collection__iterator(var_);
1641 }
1642 var_72 = var71;
1643 for(;;) {
1644 {
1645 var73 = core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_72);
1646 }
1647 if (var73){
1648 } else {
1649 goto BREAK_label;
1650 }
1651 {
1652 var74 = core___core__ListIterator___core__abstract_collection__Iterator__item(var_72);
1653 }
1654 var_scope = var74;
1655 {
1656 { /* Inline scope$Scope$escapemark (var_scope) on <var_scope:Scope> */
1657 var77 = var_scope->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on <var_scope:Scope> */
1658 var75 = var77;
1659 RET_LABEL76:(void)0;
1660 }
1661 }
1662 var_res78 = var75;
1663 if (var_res78 == NULL) {
1664 var79 = 0; /* is null */
1665 } else {
1666 var79 = 1; /* arg is null and recv is not */
1667 }
1668 if (0) {
1669 { /* Inline kernel$Object$!= (var_res78,((val*)NULL)) on <var_res78:nullable EscapeMark> */
1670 var_other = ((val*)NULL);
1671 {
1672 var82 = ((short int(*)(val* self, val* p0))(var_res78->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res78, var_other); /* == on <var_res78:nullable EscapeMark(EscapeMark)>*/
1673 }
1674 var83 = !var82;
1675 var80 = var83;
1676 goto RET_LABEL81;
1677 RET_LABEL81:(void)0;
1678 }
1679 var79 = var80;
1680 }
1681 if (var79){
1682 var = var_res78;
1683 goto RET_LABEL;
1684 } else {
1685 }
1686 {
1687 ((void(*)(val* self))(var_72->class->vft[COLOR_core__abstract_collection__Iterator__next]))(var_72); /* next on <var_72:ListIterator[Scope]>*/
1688 }
1689 }
1690 BREAK_label: (void)0;
1691 {
1692 { /* Inline abstract_collection$Iterator$finish (var_72) on <var_72:ListIterator[Scope]> */
1693 RET_LABEL84:(void)0;
1694 }
1695 }
1696 if (likely(varonce85!=NULL)) {
1697 var86 = varonce85;
1698 } else {
1699 var87 = "Syntax Error: `break` statement outside block.";
1700 var89 = (val*)(46l<<2|1);
1701 var90 = (val*)(46l<<2|1);
1702 var91 = (val*)((long)(0)<<2|3);
1703 var92 = (val*)((long)(0)<<2|3);
1704 var88 = core__flat___CString___to_s_unsafe(var87, var89, var90, var91, var92);
1705 var86 = var88;
1706 varonce85 = var86;
1707 }
1708 {
1709 nitc__scope___nitc__scope__ScopeVisitor___error(self, var_node, var86); /* Direct call scope$ScopeVisitor$error on <self:ScopeVisitor>*/
1710 }
1711 var = ((val*)NULL);
1712 goto RET_LABEL;
1713 }
1714 RET_LABEL:;
1715 return var;
1716 }
1717 /* method scope$ScopeVisitor$error for (self: ScopeVisitor, ANode, String) */
1718 void nitc__scope___nitc__scope__ScopeVisitor___error(val* self, val* p0, val* p1) {
1719 val* var_node /* var node: ANode */;
1720 val* var_message /* var message: String */;
1721 val* var /* : ToolContext */;
1722 val* var2 /* : ToolContext */;
1723 val* var3 /* : Location */;
1724 val* var4 /* : Message */;
1725 var_node = p0;
1726 var_message = p1;
1727 {
1728 { /* Inline scope$ScopeVisitor$toolcontext (self) on <self:ScopeVisitor> */
1729 var2 = self->attrs[COLOR_nitc__scope__ScopeVisitor___toolcontext].val; /* _toolcontext on <self:ScopeVisitor> */
1730 if (unlikely(var2 == NULL)) {
1731 if(catchStack.cursor >= 0){
1732 longjmp(catchStack.envs[catchStack.cursor], 1);
1733 }
1734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1735 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 71);
1736 fatal_exit(1);
1737 }
1738 var = var2;
1739 RET_LABEL1:(void)0;
1740 }
1741 }
1742 {
1743 var3 = ((val*(*)(val* self))(var_node->class->vft[COLOR_nitc__parser_nodes__ANode__hot_location]))(var_node); /* hot_location on <var_node:ANode>*/
1744 }
1745 {
1746 var4 = nitc___nitc__ToolContext___error(var, var3, var_message);
1747 }
1748 {
1749 { /* Inline modelbuilder_base$ANode$is_broken= (var_node,1) on <var_node:ANode> */
1750 var_node->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on <var_node:ANode> */
1751 RET_LABEL5:(void)0;
1752 }
1753 }
1754 RET_LABEL:;
1755 }
1756 /* method scope$Scope$variables for (self: Scope): HashMap[String, Variable] */
1757 val* nitc__scope___nitc__scope__Scope___variables(val* self) {
1758 val* var /* : HashMap[String, Variable] */;
1759 val* var1 /* : HashMap[String, Variable] */;
1760 var1 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on <self:Scope> */
1761 if (unlikely(var1 == NULL)) {
1762 if(catchStack.cursor >= 0){
1763 longjmp(catchStack.envs[catchStack.cursor], 1);
1764 }
1765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232);
1767 fatal_exit(1);
1768 }
1769 var = var1;
1770 RET_LABEL:;
1771 return var;
1772 }
1773 /* method scope$Scope$escapemark for (self: Scope): nullable EscapeMark */
1774 val* nitc__scope___nitc__scope__Scope___escapemark(val* self) {
1775 val* var /* : nullable EscapeMark */;
1776 val* var1 /* : nullable EscapeMark */;
1777 var1 = self->attrs[COLOR_nitc__scope__Scope___escapemark].val; /* _escapemark on <self:Scope> */
1778 var = var1;
1779 RET_LABEL:;
1780 return var;
1781 }
1782 /* method scope$Scope$escapemark= for (self: Scope, nullable EscapeMark) */
1783 void nitc__scope___nitc__scope__Scope___escapemark_61d(val* self, val* p0) {
1784 self->attrs[COLOR_nitc__scope__Scope___escapemark].val = p0; /* _escapemark on <self:Scope> */
1785 RET_LABEL:;
1786 }
1787 /* method scope$Scope$get_variable for (self: Scope, String): nullable Variable */
1788 val* nitc__scope___nitc__scope__Scope___get_variable(val* self, val* p0) {
1789 val* var /* : nullable Variable */;
1790 val* var_name /* var name: String */;
1791 val* var1 /* : HashMap[String, Variable] */;
1792 val* var3 /* : HashMap[String, Variable] */;
1793 short int var4 /* : Bool */;
1794 val* var5 /* : HashMap[String, Variable] */;
1795 val* var7 /* : HashMap[String, Variable] */;
1796 val* var8 /* : nullable Object */;
1797 var_name = p0;
1798 {
1799 { /* Inline scope$Scope$variables (self) on <self:Scope> */
1800 var3 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on <self:Scope> */
1801 if (unlikely(var3 == NULL)) {
1802 if(catchStack.cursor >= 0){
1803 longjmp(catchStack.envs[catchStack.cursor], 1);
1804 }
1805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1806 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232);
1807 fatal_exit(1);
1808 }
1809 var1 = var3;
1810 RET_LABEL2:(void)0;
1811 }
1812 }
1813 {
1814 var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, var_name);
1815 }
1816 if (var4){
1817 {
1818 { /* Inline scope$Scope$variables (self) on <self:Scope> */
1819 var7 = self->attrs[COLOR_nitc__scope__Scope___variables].val; /* _variables on <self:Scope> */
1820 if (unlikely(var7 == NULL)) {
1821 if(catchStack.cursor >= 0){
1822 longjmp(catchStack.envs[catchStack.cursor], 1);
1823 }
1824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1825 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 232);
1826 fatal_exit(1);
1827 }
1828 var5 = var7;
1829 RET_LABEL6:(void)0;
1830 }
1831 }
1832 {
1833 var8 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var5, var_name);
1834 }
1835 var = var8;
1836 goto RET_LABEL;
1837 } else {
1838 var = ((val*)NULL);
1839 goto RET_LABEL;
1840 }
1841 RET_LABEL:;
1842 return var;
1843 }
1844 /* method scope$ANode$accept_scope_visitor for (self: ANode, ScopeVisitor) */
1845 void nitc__scope___ANode___accept_scope_visitor(val* self, val* p0) {
1846 val* var_v /* var v: ScopeVisitor */;
1847 var_v = p0;
1848 {
1849 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__parser_nodes__ANode__visit_all]))(self, var_v); /* visit_all on <self:ANode>*/
1850 }
1851 RET_LABEL:;
1852 }
1853 /* method scope$APropdef$return_mark for (self: APropdef): nullable EscapeMark */
1854 val* nitc__scope___APropdef___return_mark(val* self) {
1855 val* var /* : nullable EscapeMark */;
1856 val* var1 /* : nullable EscapeMark */;
1857 var1 = self->attrs[COLOR_nitc__scope__APropdef___return_mark].val; /* _return_mark on <self:APropdef> */
1858 var = var1;
1859 RET_LABEL:;
1860 return var;
1861 }
1862 /* method scope$APropdef$return_mark= for (self: APropdef, nullable EscapeMark) */
1863 void nitc__scope___APropdef___return_mark_61d(val* self, val* p0) {
1864 self->attrs[COLOR_nitc__scope__APropdef___return_mark].val = p0; /* _return_mark on <self:APropdef> */
1865 RET_LABEL:;
1866 }
1867 /* method scope$APropdef$do_scope for (self: APropdef, ToolContext) */
1868 void nitc__scope___APropdef___do_scope(val* self, val* p0) {
1869 val* var_toolcontext /* var toolcontext: ToolContext */;
1870 val* var /* : ScopeVisitor */;
1871 val* var_v /* var v: ScopeVisitor */;
1872 var_toolcontext = p0;
1873 var = NEW_nitc__scope__ScopeVisitor(&type_nitc__scope__ScopeVisitor);
1874 {
1875 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__scope__ScopeVisitor__toolcontext_61d]))(var, var_toolcontext); /* toolcontext= on <var:ScopeVisitor>*/
1876 }
1877 {
1878 ((void(*)(val* self, val* p0))(var->class->vft[COLOR_nitc__scope__ScopeVisitor__propdef_61d]))(var, self); /* propdef= on <var:ScopeVisitor>*/
1879 }
1880 {
1881 ((void(*)(val* self))(var->class->vft[COLOR_core__kernel__Object__init]))(var); /* init on <var:ScopeVisitor>*/
1882 }
1883 var_v = var;
1884 {
1885 nitc___nitc__Visitor___enter_visit(var_v, self); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
1886 }
1887 {
1888 nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on <var_v:ScopeVisitor>*/
1889 }
1890 RET_LABEL:;
1891 }
1892 /* method scope$AParam$variable for (self: AParam): nullable Variable */
1893 val* nitc__scope___AParam___variable(val* self) {
1894 val* var /* : nullable Variable */;
1895 val* var1 /* : nullable Variable */;
1896 var1 = self->attrs[COLOR_nitc__scope__AParam___variable].val; /* _variable on <self:AParam> */
1897 var = var1;
1898 RET_LABEL:;
1899 return var;
1900 }
1901 /* method scope$AParam$variable= for (self: AParam, nullable Variable) */
1902 void nitc__scope___AParam___variable_61d(val* self, val* p0) {
1903 self->attrs[COLOR_nitc__scope__AParam___variable].val = p0; /* _variable on <self:AParam> */
1904 RET_LABEL:;
1905 }
1906 /* method scope$AParam$accept_scope_visitor for (self: AParam, ScopeVisitor) */
1907 void nitc__scope___AParam___ANode__accept_scope_visitor(val* self, val* p0) {
1908 val* var_v /* var v: ScopeVisitor */;
1909 val* var /* : TId */;
1910 val* var2 /* : TId */;
1911 val* var_nid /* var nid: TId */;
1912 val* var3 /* : Variable */;
1913 val* var4 /* : String */;
1914 val* var_variable /* var variable: Variable */;
1915 short int var5 /* : Bool */;
1916 var_v = p0;
1917 {
1918 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AParam___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:AParam>*/
1919 }
1920 {
1921 { /* Inline parser_nodes$AParam$n_id (self) on <self:AParam> */
1922 var2 = self->attrs[COLOR_nitc__parser_nodes__AParam___n_id].val; /* _n_id on <self:AParam> */
1923 if (unlikely(var2 == NULL)) {
1924 if(catchStack.cursor >= 0){
1925 longjmp(catchStack.envs[catchStack.cursor], 1);
1926 }
1927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1928 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1760);
1929 fatal_exit(1);
1930 }
1931 var = var2;
1932 RET_LABEL1:(void)0;
1933 }
1934 }
1935 var_nid = var;
1936 var3 = NEW_nitc__Variable(&type_nitc__Variable);
1937 {
1938 var4 = nitc__lexer_work___Token___text(var_nid);
1939 }
1940 {
1941 ((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__scope__Variable__name_61d]))(var3, var4); /* name= on <var3:Variable>*/
1942 }
1943 {
1944 ((void(*)(val* self))(var3->class->vft[COLOR_core__kernel__Object__init]))(var3); /* init on <var3:Variable>*/
1945 }
1946 var_variable = var3;
1947 {
1948 var5 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_variable);
1949 }
1950 {
1951 { /* Inline scope$AParam$variable= (self,var_variable) on <self:AParam> */
1952 self->attrs[COLOR_nitc__scope__AParam___variable].val = var_variable; /* _variable on <self:AParam> */
1953 RET_LABEL6:(void)0;
1954 }
1955 }
1956 RET_LABEL:;
1957 }
1958 /* method scope$AVardeclExpr$variable for (self: AVardeclExpr): nullable Variable */
1959 val* nitc__scope___AVardeclExpr___variable(val* self) {
1960 val* var /* : nullable Variable */;
1961 val* var1 /* : nullable Variable */;
1962 var1 = self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val; /* _variable on <self:AVardeclExpr> */
1963 var = var1;
1964 RET_LABEL:;
1965 return var;
1966 }
1967 /* method scope$AVardeclExpr$variable= for (self: AVardeclExpr, nullable Variable) */
1968 void nitc__scope___AVardeclExpr___variable_61d(val* self, val* p0) {
1969 self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val = p0; /* _variable on <self:AVardeclExpr> */
1970 RET_LABEL:;
1971 }
1972 /* method scope$AVardeclExpr$accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
1973 void nitc__scope___AVardeclExpr___ANode__accept_scope_visitor(val* self, val* p0) {
1974 val* var_v /* var v: ScopeVisitor */;
1975 val* var /* : TId */;
1976 val* var2 /* : TId */;
1977 val* var_nid /* var nid: TId */;
1978 val* var3 /* : Variable */;
1979 val* var4 /* : String */;
1980 val* var_variable /* var variable: Variable */;
1981 short int var5 /* : Bool */;
1982 var_v = p0;
1983 {
1984 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AVardeclExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:AVardeclExpr>*/
1985 }
1986 {
1987 { /* Inline parser_nodes$AVardeclExpr$n_id (self) on <self:AVardeclExpr> */
1988 var2 = self->attrs[COLOR_nitc__parser_nodes__AVardeclExpr___n_id].val; /* _n_id on <self:AVardeclExpr> */
1989 if (unlikely(var2 == NULL)) {
1990 if(catchStack.cursor >= 0){
1991 longjmp(catchStack.envs[catchStack.cursor], 1);
1992 }
1993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1994 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1826);
1995 fatal_exit(1);
1996 }
1997 var = var2;
1998 RET_LABEL1:(void)0;
1999 }
2000 }
2001 var_nid = var;
2002 var3 = NEW_nitc__Variable(&type_nitc__Variable);
2003 {
2004 var4 = nitc__lexer_work___Token___text(var_nid);
2005 }
2006 {
2007 ((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__scope__Variable__name_61d]))(var3, var4); /* name= on <var3:Variable>*/
2008 }
2009 {
2010 ((void(*)(val* self))(var3->class->vft[COLOR_core__kernel__Object__init]))(var3); /* init on <var3:Variable>*/
2011 }
2012 var_variable = var3;
2013 {
2014 var5 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_variable);
2015 }
2016 {
2017 { /* Inline scope$Variable$warn_unread= (var_variable,1) on <var_variable:Variable> */
2018 var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 1; /* _warn_unread on <var_variable:Variable> */
2019 RET_LABEL6:(void)0;
2020 }
2021 }
2022 {
2023 { /* Inline scope$AVardeclExpr$variable= (self,var_variable) on <self:AVardeclExpr> */
2024 self->attrs[COLOR_nitc__scope__AVardeclExpr___variable].val = var_variable; /* _variable on <self:AVardeclExpr> */
2025 RET_LABEL7:(void)0;
2026 }
2027 }
2028 RET_LABEL:;
2029 }
2030 /* method scope$ASelfExpr$variable= for (self: ASelfExpr, nullable Variable) */
2031 void nitc__scope___ASelfExpr___variable_61d(val* self, val* p0) {
2032 self->attrs[COLOR_nitc__scope__ASelfExpr___variable].val = p0; /* _variable on <self:ASelfExpr> */
2033 RET_LABEL:;
2034 }
2035 /* method scope$ASelfExpr$accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
2036 void nitc__scope___ASelfExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2037 val* var_v /* var v: ScopeVisitor */;
2038 val* var /* : Variable */;
2039 val* var2 /* : Variable */;
2040 var_v = p0;
2041 {
2042 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___ASelfExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:ASelfExpr>*/
2043 }
2044 {
2045 { /* Inline scope$ScopeVisitor$selfvariable (var_v) on <var_v:ScopeVisitor> */
2046 var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___selfvariable].val; /* _selfvariable on <var_v:ScopeVisitor> */
2047 if (unlikely(var2 == NULL)) {
2048 if(catchStack.cursor >= 0){
2049 longjmp(catchStack.envs[catchStack.cursor], 1);
2050 }
2051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
2052 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 77);
2053 fatal_exit(1);
2054 }
2055 var = var2;
2056 RET_LABEL1:(void)0;
2057 }
2058 }
2059 {
2060 { /* Inline scope$ASelfExpr$variable= (self,var) on <self:ASelfExpr> */
2061 self->attrs[COLOR_nitc__scope__ASelfExpr___variable].val = var; /* _variable on <self:ASelfExpr> */
2062 RET_LABEL3:(void)0;
2063 }
2064 }
2065 RET_LABEL:;
2066 }
2067 /* method scope$AEscapeExpr$escapemark for (self: AEscapeExpr): nullable EscapeMark */
2068 val* nitc__scope___AEscapeExpr___escapemark(val* self) {
2069 val* var /* : nullable EscapeMark */;
2070 val* var1 /* : nullable EscapeMark */;
2071 var1 = self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val; /* _escapemark on <self:AEscapeExpr> */
2072 var = var1;
2073 RET_LABEL:;
2074 return var;
2075 }
2076 /* method scope$AEscapeExpr$escapemark= for (self: AEscapeExpr, nullable EscapeMark) */
2077 void nitc__scope___AEscapeExpr___escapemark_61d(val* self, val* p0) {
2078 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = p0; /* _escapemark on <self:AEscapeExpr> */
2079 RET_LABEL:;
2080 }
2081 /* method scope$AContinueExpr$accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
2082 void nitc__scope___AContinueExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2083 val* var_v /* var v: ScopeVisitor */;
2084 val* var /* : nullable ALabel */;
2085 val* var2 /* : nullable ALabel */;
2086 val* var3 /* : nullable EscapeMark */;
2087 val* var_escapemark /* var escapemark: nullable EscapeMark */;
2088 short int var4 /* : Bool */;
2089 short int var5 /* : Bool */;
2090 val* var_other /* var other: nullable Object */;
2091 short int var7 /* : Bool */;
2092 short int var9 /* : Bool */;
2093 val* var10 /* : nullable EscapeMark */;
2094 val* var12 /* : nullable EscapeMark */;
2095 short int var13 /* : Bool */;
2096 short int var14 /* : Bool */;
2097 short int var16 /* : Bool */;
2098 short int var18 /* : Bool */;
2099 static val* varonce;
2100 val* var19 /* : String */;
2101 char* var20 /* : CString */;
2102 val* var21 /* : String */;
2103 val* var22 /* : nullable Int */;
2104 val* var23 /* : nullable Int */;
2105 val* var24 /* : nullable Bool */;
2106 val* var25 /* : nullable Bool */;
2107 val* var26 /* : Array[AEscapeExpr] */;
2108 val* var28 /* : Array[AEscapeExpr] */;
2109 var_v = p0;
2110 {
2111 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AContinueExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:AContinueExpr>*/
2112 }
2113 {
2114 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:AContinueExpr> */
2115 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AContinueExpr> */
2116 var = var2;
2117 RET_LABEL1:(void)0;
2118 }
2119 }
2120 {
2121 var3 = nitc__scope___nitc__scope__ScopeVisitor___get_escapemark(var_v, self, var);
2122 }
2123 var_escapemark = var3;
2124 if (var_escapemark == NULL) {
2125 var4 = 1; /* is null */
2126 } else {
2127 var4 = 0; /* arg is null but recv is not */
2128 }
2129 if (0) {
2130 { /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
2131 var_other = ((val*)NULL);
2132 {
2133 { /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2134 var9 = var_escapemark == var_other;
2135 var7 = var9;
2136 goto RET_LABEL8;
2137 RET_LABEL8:(void)0;
2138 }
2139 }
2140 var5 = var7;
2141 goto RET_LABEL6;
2142 RET_LABEL6:(void)0;
2143 }
2144 var4 = var5;
2145 }
2146 if (var4){
2147 goto RET_LABEL;
2148 } else {
2149 }
2150 {
2151 { /* Inline scope$EscapeMark$continue_mark (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2152 var12 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2153 var10 = var12;
2154 RET_LABEL11:(void)0;
2155 }
2156 }
2157 var_escapemark = var10;
2158 if (var_escapemark == NULL) {
2159 var13 = 1; /* is null */
2160 } else {
2161 var13 = 0; /* arg is null but recv is not */
2162 }
2163 if (0) {
2164 { /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
2165 var_other = ((val*)NULL);
2166 {
2167 { /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2168 var18 = var_escapemark == var_other;
2169 var16 = var18;
2170 goto RET_LABEL17;
2171 RET_LABEL17:(void)0;
2172 }
2173 }
2174 var14 = var16;
2175 goto RET_LABEL15;
2176 RET_LABEL15:(void)0;
2177 }
2178 var13 = var14;
2179 }
2180 if (var13){
2181 if (likely(varonce!=NULL)) {
2182 var19 = varonce;
2183 } else {
2184 var20 = "Error: cannot \'continue\', only \'break\'.";
2185 var22 = (val*)(39l<<2|1);
2186 var23 = (val*)(39l<<2|1);
2187 var24 = (val*)((long)(0)<<2|3);
2188 var25 = (val*)((long)(0)<<2|3);
2189 var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25);
2190 var19 = var21;
2191 varonce = var19;
2192 }
2193 {
2194 nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var19); /* Direct call scope$ScopeVisitor$error on <var_v:ScopeVisitor>*/
2195 }
2196 goto RET_LABEL;
2197 } else {
2198 }
2199 {
2200 { /* Inline scope$EscapeMark$escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2201 var28 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2202 if (unlikely(var28 == NULL)) {
2203 if(catchStack.cursor >= 0){
2204 longjmp(catchStack.envs[catchStack.cursor], 1);
2205 }
2206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59);
2208 fatal_exit(1);
2209 }
2210 var26 = var28;
2211 RET_LABEL27:(void)0;
2212 }
2213 }
2214 {
2215 core___core__Array___core__abstract_collection__SimpleCollection__add(var26, self); /* Direct call array$Array$add on <var26:Array[AEscapeExpr]>*/
2216 }
2217 {
2218 { /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on <self:AContinueExpr> */
2219 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:AContinueExpr> */
2220 RET_LABEL29:(void)0;
2221 }
2222 }
2223 RET_LABEL:;
2224 }
2225 /* method scope$ABreakExpr$accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
2226 void nitc__scope___ABreakExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2227 val* var_v /* var v: ScopeVisitor */;
2228 val* var /* : nullable ALabel */;
2229 val* var2 /* : nullable ALabel */;
2230 val* var3 /* : nullable EscapeMark */;
2231 val* var_escapemark /* var escapemark: nullable EscapeMark */;
2232 short int var4 /* : Bool */;
2233 short int var5 /* : Bool */;
2234 val* var_other /* var other: nullable Object */;
2235 short int var7 /* : Bool */;
2236 short int var9 /* : Bool */;
2237 val* var10 /* : Array[AEscapeExpr] */;
2238 val* var12 /* : Array[AEscapeExpr] */;
2239 var_v = p0;
2240 {
2241 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___ABreakExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:ABreakExpr>*/
2242 }
2243 {
2244 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:ABreakExpr> */
2245 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ABreakExpr> */
2246 var = var2;
2247 RET_LABEL1:(void)0;
2248 }
2249 }
2250 {
2251 var3 = nitc__scope___nitc__scope__ScopeVisitor___get_escapemark(var_v, self, var);
2252 }
2253 var_escapemark = var3;
2254 if (var_escapemark == NULL) {
2255 var4 = 1; /* is null */
2256 } else {
2257 var4 = 0; /* arg is null but recv is not */
2258 }
2259 if (0) {
2260 { /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
2261 var_other = ((val*)NULL);
2262 {
2263 { /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2264 var9 = var_escapemark == var_other;
2265 var7 = var9;
2266 goto RET_LABEL8;
2267 RET_LABEL8:(void)0;
2268 }
2269 }
2270 var5 = var7;
2271 goto RET_LABEL6;
2272 RET_LABEL6:(void)0;
2273 }
2274 var4 = var5;
2275 }
2276 if (var4){
2277 goto RET_LABEL;
2278 } else {
2279 }
2280 {
2281 { /* Inline scope$EscapeMark$escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2282 var12 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2283 if (unlikely(var12 == NULL)) {
2284 if(catchStack.cursor >= 0){
2285 longjmp(catchStack.envs[catchStack.cursor], 1);
2286 }
2287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2288 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59);
2289 fatal_exit(1);
2290 }
2291 var10 = var12;
2292 RET_LABEL11:(void)0;
2293 }
2294 }
2295 {
2296 core___core__Array___core__abstract_collection__SimpleCollection__add(var10, self); /* Direct call array$Array$add on <var10:Array[AEscapeExpr]>*/
2297 }
2298 {
2299 { /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on <self:ABreakExpr> */
2300 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:ABreakExpr> */
2301 RET_LABEL13:(void)0;
2302 }
2303 }
2304 RET_LABEL:;
2305 }
2306 /* method scope$AReturnExpr$accept_scope_visitor for (self: AReturnExpr, ScopeVisitor) */
2307 void nitc__scope___AReturnExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2308 val* var_v /* var v: ScopeVisitor */;
2309 val* var /* : APropdef */;
2310 val* var2 /* : APropdef */;
2311 val* var3 /* : nullable EscapeMark */;
2312 val* var5 /* : nullable EscapeMark */;
2313 val* var_escapemark /* var escapemark: nullable EscapeMark */;
2314 short int var6 /* : Bool */;
2315 short int var7 /* : Bool */;
2316 val* var_other /* var other: nullable Object */;
2317 short int var9 /* : Bool */;
2318 short int var11 /* : Bool */;
2319 val* var12 /* : EscapeMark */;
2320 val* var13 /* : APropdef */;
2321 val* var15 /* : APropdef */;
2322 val* var17 /* : Array[AEscapeExpr] */;
2323 val* var19 /* : Array[AEscapeExpr] */;
2324 var_v = p0;
2325 {
2326 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___AReturnExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:AReturnExpr>*/
2327 }
2328 {
2329 { /* Inline scope$ScopeVisitor$propdef (var_v) on <var_v:ScopeVisitor> */
2330 var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on <var_v:ScopeVisitor> */
2331 if (unlikely(var2 == NULL)) {
2332 if(catchStack.cursor >= 0){
2333 longjmp(catchStack.envs[catchStack.cursor], 1);
2334 }
2335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef");
2336 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74);
2337 fatal_exit(1);
2338 }
2339 var = var2;
2340 RET_LABEL1:(void)0;
2341 }
2342 }
2343 {
2344 { /* Inline scope$APropdef$return_mark (var) on <var:APropdef> */
2345 var5 = var->attrs[COLOR_nitc__scope__APropdef___return_mark].val; /* _return_mark on <var:APropdef> */
2346 var3 = var5;
2347 RET_LABEL4:(void)0;
2348 }
2349 }
2350 var_escapemark = var3;
2351 if (var_escapemark == NULL) {
2352 var6 = 1; /* is null */
2353 } else {
2354 var6 = 0; /* arg is null but recv is not */
2355 }
2356 if (0) {
2357 { /* Inline kernel$Object$== (var_escapemark,((val*)NULL)) on <var_escapemark:nullable EscapeMark> */
2358 var_other = ((val*)NULL);
2359 {
2360 { /* Inline kernel$Object$is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2361 var11 = var_escapemark == var_other;
2362 var9 = var11;
2363 goto RET_LABEL10;
2364 RET_LABEL10:(void)0;
2365 }
2366 }
2367 var7 = var9;
2368 goto RET_LABEL8;
2369 RET_LABEL8:(void)0;
2370 }
2371 var6 = var7;
2372 }
2373 if (var6){
2374 var12 = NEW_nitc__EscapeMark(&type_nitc__EscapeMark);
2375 {
2376 ((void(*)(val* self, val* p0))(var12->class->vft[COLOR_nitc__scope__EscapeMark__name_61d]))(var12, ((val*)NULL)); /* name= on <var12:EscapeMark>*/
2377 }
2378 {
2379 ((void(*)(val* self))(var12->class->vft[COLOR_core__kernel__Object__init]))(var12); /* init on <var12:EscapeMark>*/
2380 }
2381 var_escapemark = var12;
2382 {
2383 { /* Inline scope$ScopeVisitor$propdef (var_v) on <var_v:ScopeVisitor> */
2384 var15 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___propdef].val; /* _propdef on <var_v:ScopeVisitor> */
2385 if (unlikely(var15 == NULL)) {
2386 if(catchStack.cursor >= 0){
2387 longjmp(catchStack.envs[catchStack.cursor], 1);
2388 }
2389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _propdef");
2390 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 74);
2391 fatal_exit(1);
2392 }
2393 var13 = var15;
2394 RET_LABEL14:(void)0;
2395 }
2396 }
2397 {
2398 { /* Inline scope$APropdef$return_mark= (var13,var_escapemark) on <var13:APropdef> */
2399 var13->attrs[COLOR_nitc__scope__APropdef___return_mark].val = var_escapemark; /* _return_mark on <var13:APropdef> */
2400 RET_LABEL16:(void)0;
2401 }
2402 }
2403 } else {
2404 }
2405 {
2406 { /* Inline scope$EscapeMark$escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2407 var19 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___escapes].val; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2408 if (unlikely(var19 == NULL)) {
2409 if(catchStack.cursor >= 0){
2410 longjmp(catchStack.envs[catchStack.cursor], 1);
2411 }
2412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2413 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 59);
2414 fatal_exit(1);
2415 }
2416 var17 = var19;
2417 RET_LABEL18:(void)0;
2418 }
2419 }
2420 {
2421 core___core__Array___core__abstract_collection__SimpleCollection__add(var17, self); /* Direct call array$Array$add on <var17:Array[AEscapeExpr]>*/
2422 }
2423 {
2424 { /* Inline scope$AEscapeExpr$escapemark= (self,var_escapemark) on <self:AReturnExpr> */
2425 self->attrs[COLOR_nitc__scope__AEscapeExpr___escapemark].val = var_escapemark; /* _escapemark on <self:AReturnExpr> */
2426 RET_LABEL20:(void)0;
2427 }
2428 }
2429 RET_LABEL:;
2430 }
2431 /* method scope$ADoExpr$break_mark for (self: ADoExpr): nullable EscapeMark */
2432 val* nitc__scope___ADoExpr___break_mark(val* self) {
2433 val* var /* : nullable EscapeMark */;
2434 val* var1 /* : nullable EscapeMark */;
2435 var1 = self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val; /* _break_mark on <self:ADoExpr> */
2436 var = var1;
2437 RET_LABEL:;
2438 return var;
2439 }
2440 /* method scope$ADoExpr$break_mark= for (self: ADoExpr, nullable EscapeMark) */
2441 void nitc__scope___ADoExpr___break_mark_61d(val* self, val* p0) {
2442 self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val = p0; /* _break_mark on <self:ADoExpr> */
2443 RET_LABEL:;
2444 }
2445 /* method scope$ADoExpr$accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
2446 void nitc__scope___ADoExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2447 val* var_v /* var v: ScopeVisitor */;
2448 val* var /* : nullable ALabel */;
2449 val* var2 /* : nullable ALabel */;
2450 val* var3 /* : EscapeMark */;
2451 val* var5 /* : nullable AExpr */;
2452 val* var7 /* : nullable AExpr */;
2453 val* var8 /* : nullable EscapeMark */;
2454 val* var10 /* : nullable EscapeMark */;
2455 val* var11 /* : nullable AExpr */;
2456 val* var13 /* : nullable AExpr */;
2457 var_v = p0;
2458 {
2459 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:ADoExpr> */
2460 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ADoExpr> */
2461 var = var2;
2462 RET_LABEL1:(void)0;
2463 }
2464 }
2465 {
2466 var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 0);
2467 }
2468 {
2469 { /* Inline scope$ADoExpr$break_mark= (self,var3) on <self:ADoExpr> */
2470 self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val = var3; /* _break_mark on <self:ADoExpr> */
2471 RET_LABEL4:(void)0;
2472 }
2473 }
2474 {
2475 { /* Inline parser_nodes$ADoExpr$n_block (self) on <self:ADoExpr> */
2476 var7 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_block].val; /* _n_block on <self:ADoExpr> */
2477 var5 = var7;
2478 RET_LABEL6:(void)0;
2479 }
2480 }
2481 {
2482 { /* Inline scope$ADoExpr$break_mark (self) on <self:ADoExpr> */
2483 var10 = self->attrs[COLOR_nitc__scope__ADoExpr___break_mark].val; /* _break_mark on <self:ADoExpr> */
2484 var8 = var10;
2485 RET_LABEL9:(void)0;
2486 }
2487 }
2488 {
2489 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var5, var8); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2490 }
2491 {
2492 { /* Inline parser_nodes$ADoExpr$n_catch (self) on <self:ADoExpr> */
2493 var13 = self->attrs[COLOR_nitc__parser_nodes__ADoExpr___n_catch].val; /* _n_catch on <self:ADoExpr> */
2494 var11 = var13;
2495 RET_LABEL12:(void)0;
2496 }
2497 }
2498 {
2499 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var11, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2500 }
2501 RET_LABEL:;
2502 }
2503 /* method scope$AIfExpr$accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
2504 void nitc__scope___AIfExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2505 val* var_v /* var v: ScopeVisitor */;
2506 val* var /* : AExpr */;
2507 val* var2 /* : AExpr */;
2508 val* var3 /* : nullable AExpr */;
2509 val* var5 /* : nullable AExpr */;
2510 val* var6 /* : nullable AExpr */;
2511 val* var8 /* : nullable AExpr */;
2512 var_v = p0;
2513 {
2514 { /* Inline parser_nodes$AIfExpr$n_expr (self) on <self:AIfExpr> */
2515 var2 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_expr].val; /* _n_expr on <self:AIfExpr> */
2516 if (unlikely(var2 == NULL)) {
2517 if(catchStack.cursor >= 0){
2518 longjmp(catchStack.envs[catchStack.cursor], 1);
2519 }
2520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1924);
2522 fatal_exit(1);
2523 }
2524 var = var2;
2525 RET_LABEL1:(void)0;
2526 }
2527 }
2528 {
2529 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
2530 }
2531 {
2532 { /* Inline parser_nodes$AIfExpr$n_then (self) on <self:AIfExpr> */
2533 var5 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_then].val; /* _n_then on <self:AIfExpr> */
2534 var3 = var5;
2535 RET_LABEL4:(void)0;
2536 }
2537 }
2538 {
2539 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2540 }
2541 {
2542 { /* Inline parser_nodes$AIfExpr$n_else (self) on <self:AIfExpr> */
2543 var8 = self->attrs[COLOR_nitc__parser_nodes__AIfExpr___n_else].val; /* _n_else on <self:AIfExpr> */
2544 var6 = var8;
2545 RET_LABEL7:(void)0;
2546 }
2547 }
2548 {
2549 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var6, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2550 }
2551 RET_LABEL:;
2552 }
2553 /* method scope$AWhileExpr$break_mark for (self: AWhileExpr): nullable EscapeMark */
2554 val* nitc__scope___AWhileExpr___break_mark(val* self) {
2555 val* var /* : nullable EscapeMark */;
2556 val* var1 /* : nullable EscapeMark */;
2557 var1 = self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val; /* _break_mark on <self:AWhileExpr> */
2558 var = var1;
2559 RET_LABEL:;
2560 return var;
2561 }
2562 /* method scope$AWhileExpr$break_mark= for (self: AWhileExpr, nullable EscapeMark) */
2563 void nitc__scope___AWhileExpr___break_mark_61d(val* self, val* p0) {
2564 self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val = p0; /* _break_mark on <self:AWhileExpr> */
2565 RET_LABEL:;
2566 }
2567 /* method scope$AWhileExpr$continue_mark for (self: AWhileExpr): nullable EscapeMark */
2568 val* nitc__scope___AWhileExpr___continue_mark(val* self) {
2569 val* var /* : nullable EscapeMark */;
2570 val* var1 /* : nullable EscapeMark */;
2571 var1 = self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val; /* _continue_mark on <self:AWhileExpr> */
2572 var = var1;
2573 RET_LABEL:;
2574 return var;
2575 }
2576 /* method scope$AWhileExpr$continue_mark= for (self: AWhileExpr, nullable EscapeMark) */
2577 void nitc__scope___AWhileExpr___continue_mark_61d(val* self, val* p0) {
2578 self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val = p0; /* _continue_mark on <self:AWhileExpr> */
2579 RET_LABEL:;
2580 }
2581 /* method scope$AWhileExpr$accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
2582 void nitc__scope___AWhileExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2583 val* var_v /* var v: ScopeVisitor */;
2584 val* var /* : nullable ALabel */;
2585 val* var2 /* : nullable ALabel */;
2586 val* var3 /* : EscapeMark */;
2587 val* var_escapemark /* var escapemark: EscapeMark */;
2588 val* var5 /* : nullable EscapeMark */;
2589 val* var7 /* : nullable EscapeMark */;
2590 val* var9 /* : AExpr */;
2591 val* var11 /* : AExpr */;
2592 val* var12 /* : nullable AExpr */;
2593 val* var14 /* : nullable AExpr */;
2594 var_v = p0;
2595 {
2596 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:AWhileExpr> */
2597 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
2598 var = var2;
2599 RET_LABEL1:(void)0;
2600 }
2601 }
2602 {
2603 var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 1);
2604 }
2605 var_escapemark = var3;
2606 {
2607 { /* Inline scope$AWhileExpr$break_mark= (self,var_escapemark) on <self:AWhileExpr> */
2608 self->attrs[COLOR_nitc__scope__AWhileExpr___break_mark].val = var_escapemark; /* _break_mark on <self:AWhileExpr> */
2609 RET_LABEL4:(void)0;
2610 }
2611 }
2612 {
2613 { /* Inline scope$EscapeMark$continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2614 var7 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:EscapeMark> */
2615 var5 = var7;
2616 RET_LABEL6:(void)0;
2617 }
2618 }
2619 {
2620 { /* Inline scope$AWhileExpr$continue_mark= (self,var5) on <self:AWhileExpr> */
2621 self->attrs[COLOR_nitc__scope__AWhileExpr___continue_mark].val = var5; /* _continue_mark on <self:AWhileExpr> */
2622 RET_LABEL8:(void)0;
2623 }
2624 }
2625 {
2626 { /* Inline parser_nodes$AWhileExpr$n_expr (self) on <self:AWhileExpr> */
2627 var11 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
2628 if (unlikely(var11 == NULL)) {
2629 if(catchStack.cursor >= 0){
2630 longjmp(catchStack.envs[catchStack.cursor], 1);
2631 }
2632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2633 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1971);
2634 fatal_exit(1);
2635 }
2636 var9 = var11;
2637 RET_LABEL10:(void)0;
2638 }
2639 }
2640 {
2641 nitc___nitc__Visitor___enter_visit(var_v, var9); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
2642 }
2643 {
2644 { /* Inline parser_nodes$AWhileExpr$n_block (self) on <self:AWhileExpr> */
2645 var14 = self->attrs[COLOR_nitc__parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
2646 var12 = var14;
2647 RET_LABEL13:(void)0;
2648 }
2649 }
2650 {
2651 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var12, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2652 }
2653 RET_LABEL:;
2654 }
2655 /* method scope$ALoopExpr$break_mark for (self: ALoopExpr): nullable EscapeMark */
2656 val* nitc__scope___ALoopExpr___break_mark(val* self) {
2657 val* var /* : nullable EscapeMark */;
2658 val* var1 /* : nullable EscapeMark */;
2659 var1 = self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val; /* _break_mark on <self:ALoopExpr> */
2660 var = var1;
2661 RET_LABEL:;
2662 return var;
2663 }
2664 /* method scope$ALoopExpr$break_mark= for (self: ALoopExpr, nullable EscapeMark) */
2665 void nitc__scope___ALoopExpr___break_mark_61d(val* self, val* p0) {
2666 self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val = p0; /* _break_mark on <self:ALoopExpr> */
2667 RET_LABEL:;
2668 }
2669 /* method scope$ALoopExpr$continue_mark for (self: ALoopExpr): nullable EscapeMark */
2670 val* nitc__scope___ALoopExpr___continue_mark(val* self) {
2671 val* var /* : nullable EscapeMark */;
2672 val* var1 /* : nullable EscapeMark */;
2673 var1 = self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val; /* _continue_mark on <self:ALoopExpr> */
2674 var = var1;
2675 RET_LABEL:;
2676 return var;
2677 }
2678 /* method scope$ALoopExpr$continue_mark= for (self: ALoopExpr, nullable EscapeMark) */
2679 void nitc__scope___ALoopExpr___continue_mark_61d(val* self, val* p0) {
2680 self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val = p0; /* _continue_mark on <self:ALoopExpr> */
2681 RET_LABEL:;
2682 }
2683 /* method scope$ALoopExpr$accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
2684 void nitc__scope___ALoopExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2685 val* var_v /* var v: ScopeVisitor */;
2686 val* var /* : nullable ALabel */;
2687 val* var2 /* : nullable ALabel */;
2688 val* var3 /* : EscapeMark */;
2689 val* var_escapemark /* var escapemark: EscapeMark */;
2690 val* var5 /* : nullable EscapeMark */;
2691 val* var7 /* : nullable EscapeMark */;
2692 val* var9 /* : nullable AExpr */;
2693 val* var11 /* : nullable AExpr */;
2694 var_v = p0;
2695 {
2696 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:ALoopExpr> */
2697 var2 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
2698 var = var2;
2699 RET_LABEL1:(void)0;
2700 }
2701 }
2702 {
2703 var3 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var, 1);
2704 }
2705 var_escapemark = var3;
2706 {
2707 { /* Inline scope$ALoopExpr$break_mark= (self,var_escapemark) on <self:ALoopExpr> */
2708 self->attrs[COLOR_nitc__scope__ALoopExpr___break_mark].val = var_escapemark; /* _break_mark on <self:ALoopExpr> */
2709 RET_LABEL4:(void)0;
2710 }
2711 }
2712 {
2713 { /* Inline scope$EscapeMark$continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2714 var7 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:EscapeMark> */
2715 var5 = var7;
2716 RET_LABEL6:(void)0;
2717 }
2718 }
2719 {
2720 { /* Inline scope$ALoopExpr$continue_mark= (self,var5) on <self:ALoopExpr> */
2721 self->attrs[COLOR_nitc__scope__ALoopExpr___continue_mark].val = var5; /* _continue_mark on <self:ALoopExpr> */
2722 RET_LABEL8:(void)0;
2723 }
2724 }
2725 {
2726 { /* Inline parser_nodes$ALoopExpr$n_block (self) on <self:ALoopExpr> */
2727 var11 = self->attrs[COLOR_nitc__parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
2728 var9 = var11;
2729 RET_LABEL10:(void)0;
2730 }
2731 }
2732 {
2733 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var9, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
2734 }
2735 RET_LABEL:;
2736 }
2737 /* method scope$AForExpr$break_mark for (self: AForExpr): nullable EscapeMark */
2738 val* nitc__scope___AForExpr___break_mark(val* self) {
2739 val* var /* : nullable EscapeMark */;
2740 val* var1 /* : nullable EscapeMark */;
2741 var1 = self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val; /* _break_mark on <self:AForExpr> */
2742 var = var1;
2743 RET_LABEL:;
2744 return var;
2745 }
2746 /* method scope$AForExpr$break_mark= for (self: AForExpr, nullable EscapeMark) */
2747 void nitc__scope___AForExpr___break_mark_61d(val* self, val* p0) {
2748 self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val = p0; /* _break_mark on <self:AForExpr> */
2749 RET_LABEL:;
2750 }
2751 /* method scope$AForExpr$continue_mark for (self: AForExpr): nullable EscapeMark */
2752 val* nitc__scope___AForExpr___continue_mark(val* self) {
2753 val* var /* : nullable EscapeMark */;
2754 val* var1 /* : nullable EscapeMark */;
2755 var1 = self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val; /* _continue_mark on <self:AForExpr> */
2756 var = var1;
2757 RET_LABEL:;
2758 return var;
2759 }
2760 /* method scope$AForExpr$continue_mark= for (self: AForExpr, nullable EscapeMark) */
2761 void nitc__scope___AForExpr___continue_mark_61d(val* self, val* p0) {
2762 self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val = p0; /* _continue_mark on <self:AForExpr> */
2763 RET_LABEL:;
2764 }
2765 /* method scope$AForExpr$accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
2766 void nitc__scope___AForExpr___ANode__accept_scope_visitor(val* self, val* p0) {
2767 val* var_v /* var v: ScopeVisitor */;
2768 val* var /* : ANodes[AForGroup] */;
2769 val* var2 /* : ANodes[AForGroup] */;
2770 val* var_ /* var : ANodes[AForGroup] */;
2771 val* var3 /* : Iterator[ANode] */;
2772 val* var_4 /* var : Iterator[AForGroup] */;
2773 short int var5 /* : Bool */;
2774 val* var6 /* : nullable Object */;
2775 val* var_g /* var g: AForGroup */;
2776 val* var7 /* : AExpr */;
2777 val* var9 /* : AExpr */;
2778 val* var10 /* : List[Scope] */;
2779 val* var12 /* : List[Scope] */;
2780 val* var13 /* : Scope */;
2781 val* var15 /* : ANodes[AForGroup] */;
2782 val* var17 /* : ANodes[AForGroup] */;
2783 val* var_18 /* var : ANodes[AForGroup] */;
2784 val* var19 /* : Iterator[ANode] */;
2785 val* var_20 /* var : Iterator[AForGroup] */;
2786 short int var21 /* : Bool */;
2787 val* var23 /* : nullable Object */;
2788 val* var_g24 /* var g: AForGroup */;
2789 val* var25 /* : Array[Variable] */;
2790 val* var_variables /* var variables: Array[Variable] */;
2791 val* var27 /* : ANodes[TId] */;
2792 val* var29 /* : ANodes[TId] */;
2793 val* var_30 /* var : ANodes[TId] */;
2794 val* var31 /* : Iterator[ANode] */;
2795 val* var_32 /* var : Iterator[TId] */;
2796 short int var33 /* : Bool */;
2797 val* var35 /* : nullable Object */;
2798 val* var_nid /* var nid: TId */;
2799 val* var36 /* : Variable */;
2800 val* var37 /* : String */;
2801 val* var_va /* var va: Variable */;
2802 short int var38 /* : Bool */;
2803 val* var39 /* : nullable ALabel */;
2804 val* var41 /* : nullable ALabel */;
2805 val* var42 /* : EscapeMark */;
2806 val* var_escapemark /* var escapemark: EscapeMark */;
2807 val* var44 /* : nullable EscapeMark */;
2808 val* var46 /* : nullable EscapeMark */;
2809 val* var48 /* : nullable AExpr */;
2810 val* var50 /* : nullable AExpr */;
2811 var_v = p0;
2812 {
2813 { /* Inline parser_nodes$AForExpr$n_groups (self) on <self:AForExpr> */
2814 var2 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on <self:AForExpr> */
2815 if (unlikely(var2 == NULL)) {
2816 if(catchStack.cursor >= 0){
2817 longjmp(catchStack.envs[catchStack.cursor], 1);
2818 }
2819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
2820 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2001);
2821 fatal_exit(1);
2822 }
2823 var = var2;
2824 RET_LABEL1:(void)0;
2825 }
2826 }
2827 var_ = var;
2828 {
2829 var3 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_);
2830 }
2831 var_4 = var3;
2832 for(;;) {
2833 {
2834 var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on <var_4:Iterator[AForGroup]>*/
2835 }
2836 if (var5){
2837 } else {
2838 goto BREAK_label;
2839 }
2840 {
2841 var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_4); /* item on <var_4:Iterator[AForGroup]>*/
2842 }
2843 var_g = var6;
2844 {
2845 { /* Inline parser_nodes$AForGroup$n_expr (var_g) on <var_g:AForGroup> */
2846 var9 = var_g->attrs[COLOR_nitc__parser_nodes__AForGroup___n_expr].val; /* _n_expr on <var_g:AForGroup> */
2847 if (unlikely(var9 == NULL)) {
2848 if(catchStack.cursor >= 0){
2849 longjmp(catchStack.envs[catchStack.cursor], 1);
2850 }
2851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2852 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2024);
2853 fatal_exit(1);
2854 }
2855 var7 = var9;
2856 RET_LABEL8:(void)0;
2857 }
2858 }
2859 {
2860 nitc___nitc__Visitor___enter_visit(var_v, var7); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
2861 }
2862 {
2863 ((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on <var_4:Iterator[AForGroup]>*/
2864 }
2865 }
2866 BREAK_label: (void)0;
2867 {
2868 ((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on <var_4:Iterator[AForGroup]>*/
2869 }
2870 {
2871 { /* Inline scope$ScopeVisitor$scopes (var_v) on <var_v:ScopeVisitor> */
2872 var12 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <var_v:ScopeVisitor> */
2873 if (unlikely(var12 == NULL)) {
2874 if(catchStack.cursor >= 0){
2875 longjmp(catchStack.envs[catchStack.cursor], 1);
2876 }
2877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
2878 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
2879 fatal_exit(1);
2880 }
2881 var10 = var12;
2882 RET_LABEL11:(void)0;
2883 }
2884 }
2885 var13 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope);
2886 {
2887 { /* Inline kernel$Object$init (var13) on <var13:Scope> */
2888 RET_LABEL14:(void)0;
2889 }
2890 }
2891 {
2892 core___core__List___core__abstract_collection__Sequence__unshift(var10, var13); /* Direct call list$List$unshift on <var10:List[Scope]>*/
2893 }
2894 {
2895 { /* Inline parser_nodes$AForExpr$n_groups (self) on <self:AForExpr> */
2896 var17 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_groups].val; /* _n_groups on <self:AForExpr> */
2897 if (unlikely(var17 == NULL)) {
2898 if(catchStack.cursor >= 0){
2899 longjmp(catchStack.envs[catchStack.cursor], 1);
2900 }
2901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_groups");
2902 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2001);
2903 fatal_exit(1);
2904 }
2905 var15 = var17;
2906 RET_LABEL16:(void)0;
2907 }
2908 }
2909 var_18 = var15;
2910 {
2911 var19 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_18);
2912 }
2913 var_20 = var19;
2914 for(;;) {
2915 {
2916 var21 = ((short int(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_20); /* is_ok on <var_20:Iterator[AForGroup]>*/
2917 }
2918 if (var21){
2919 } else {
2920 goto BREAK_label22;
2921 }
2922 {
2923 var23 = ((val*(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_20); /* item on <var_20:Iterator[AForGroup]>*/
2924 }
2925 var_g24 = var23;
2926 var25 = NEW_core__Array(&type_core__Array__nitc__Variable);
2927 {
2928 core___core__Array___core__kernel__Object__init(var25); /* Direct call array$Array$init on <var25:Array[Variable]>*/
2929 }
2930 var_variables = var25;
2931 {
2932 { /* Inline scope$AForGroup$variables= (var_g24,var_variables) on <var_g24:AForGroup> */
2933 var_g24->attrs[COLOR_nitc__scope__AForGroup___variables].val = var_variables; /* _variables on <var_g24:AForGroup> */
2934 RET_LABEL26:(void)0;
2935 }
2936 }
2937 {
2938 { /* Inline parser_nodes$AForGroup$n_ids (var_g24) on <var_g24:AForGroup> */
2939 var29 = var_g24->attrs[COLOR_nitc__parser_nodes__AForGroup___n_ids].val; /* _n_ids on <var_g24:AForGroup> */
2940 if (unlikely(var29 == NULL)) {
2941 if(catchStack.cursor >= 0){
2942 longjmp(catchStack.envs[catchStack.cursor], 1);
2943 }
2944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
2945 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2018);
2946 fatal_exit(1);
2947 }
2948 var27 = var29;
2949 RET_LABEL28:(void)0;
2950 }
2951 }
2952 var_30 = var27;
2953 {
2954 var31 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_30);
2955 }
2956 var_32 = var31;
2957 for(;;) {
2958 {
2959 var33 = ((short int(*)(val* self))((((long)var_32&3)?class_info[((long)var_32&3)]:var_32->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_32); /* is_ok on <var_32:Iterator[TId]>*/
2960 }
2961 if (var33){
2962 } else {
2963 goto BREAK_label34;
2964 }
2965 {
2966 var35 = ((val*(*)(val* self))((((long)var_32&3)?class_info[((long)var_32&3)]:var_32->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_32); /* item on <var_32:Iterator[TId]>*/
2967 }
2968 var_nid = var35;
2969 var36 = NEW_nitc__Variable(&type_nitc__Variable);
2970 {
2971 var37 = nitc__lexer_work___Token___text(var_nid);
2972 }
2973 {
2974 ((void(*)(val* self, val* p0))(var36->class->vft[COLOR_nitc__scope__Variable__name_61d]))(var36, var37); /* name= on <var36:Variable>*/
2975 }
2976 {
2977 ((void(*)(val* self))(var36->class->vft[COLOR_core__kernel__Object__init]))(var36); /* init on <var36:Variable>*/
2978 }
2979 var_va = var36;
2980 {
2981 var38 = nitc__scope___nitc__scope__ScopeVisitor___register_variable(var_v, var_nid, var_va);
2982 }
2983 {
2984 core___core__Array___core__abstract_collection__SimpleCollection__add(var_variables, var_va); /* Direct call array$Array$add on <var_variables:Array[Variable]>*/
2985 }
2986 {
2987 ((void(*)(val* self))((((long)var_32&3)?class_info[((long)var_32&3)]:var_32->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_32); /* next on <var_32:Iterator[TId]>*/
2988 }
2989 }
2990 BREAK_label34: (void)0;
2991 {
2992 ((void(*)(val* self))((((long)var_32&3)?class_info[((long)var_32&3)]:var_32->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_32); /* finish on <var_32:Iterator[TId]>*/
2993 }
2994 {
2995 ((void(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_20); /* next on <var_20:Iterator[AForGroup]>*/
2996 }
2997 }
2998 BREAK_label22: (void)0;
2999 {
3000 ((void(*)(val* self))((((long)var_20&3)?class_info[((long)var_20&3)]:var_20->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_20); /* finish on <var_20:Iterator[AForGroup]>*/
3001 }
3002 {
3003 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:AForExpr> */
3004 var41 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
3005 var39 = var41;
3006 RET_LABEL40:(void)0;
3007 }
3008 }
3009 {
3010 var42 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var39, 1);
3011 }
3012 var_escapemark = var42;
3013 {
3014 { /* Inline scope$AForExpr$break_mark= (self,var_escapemark) on <self:AForExpr> */
3015 self->attrs[COLOR_nitc__scope__AForExpr___break_mark].val = var_escapemark; /* _break_mark on <self:AForExpr> */
3016 RET_LABEL43:(void)0;
3017 }
3018 }
3019 {
3020 { /* Inline scope$EscapeMark$continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
3021 var46 = var_escapemark->attrs[COLOR_nitc__scope__EscapeMark___continue_mark].val; /* _continue_mark on <var_escapemark:EscapeMark> */
3022 var44 = var46;
3023 RET_LABEL45:(void)0;
3024 }
3025 }
3026 {
3027 { /* Inline scope$AForExpr$continue_mark= (self,var44) on <self:AForExpr> */
3028 self->attrs[COLOR_nitc__scope__AForExpr___continue_mark].val = var44; /* _continue_mark on <self:AForExpr> */
3029 RET_LABEL47:(void)0;
3030 }
3031 }
3032 {
3033 { /* Inline parser_nodes$AForExpr$n_block (self) on <self:AForExpr> */
3034 var50 = self->attrs[COLOR_nitc__parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
3035 var48 = var50;
3036 RET_LABEL49:(void)0;
3037 }
3038 }
3039 {
3040 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var48, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
3041 }
3042 {
3043 nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on <var_v:ScopeVisitor>*/
3044 }
3045 RET_LABEL:;
3046 }
3047 /* method scope$AForGroup$variables for (self: AForGroup): nullable Array[Variable] */
3048 val* nitc__scope___AForGroup___variables(val* self) {
3049 val* var /* : nullable Array[Variable] */;
3050 val* var1 /* : nullable Array[Variable] */;
3051 var1 = self->attrs[COLOR_nitc__scope__AForGroup___variables].val; /* _variables on <self:AForGroup> */
3052 var = var1;
3053 RET_LABEL:;
3054 return var;
3055 }
3056 /* method scope$AForGroup$variables= for (self: AForGroup, nullable Array[Variable]) */
3057 void nitc__scope___AForGroup___variables_61d(val* self, val* p0) {
3058 self->attrs[COLOR_nitc__scope__AForGroup___variables].val = p0; /* _variables on <self:AForGroup> */
3059 RET_LABEL:;
3060 }
3061 /* method scope$AWithExpr$break_mark for (self: AWithExpr): nullable EscapeMark */
3062 val* nitc__scope___AWithExpr___break_mark(val* self) {
3063 val* var /* : nullable EscapeMark */;
3064 val* var1 /* : nullable EscapeMark */;
3065 var1 = self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val; /* _break_mark on <self:AWithExpr> */
3066 var = var1;
3067 RET_LABEL:;
3068 return var;
3069 }
3070 /* method scope$AWithExpr$break_mark= for (self: AWithExpr, nullable EscapeMark) */
3071 void nitc__scope___AWithExpr___break_mark_61d(val* self, val* p0) {
3072 self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val = p0; /* _break_mark on <self:AWithExpr> */
3073 RET_LABEL:;
3074 }
3075 /* method scope$AWithExpr$accept_scope_visitor for (self: AWithExpr, ScopeVisitor) */
3076 void nitc__scope___AWithExpr___ANode__accept_scope_visitor(val* self, val* p0) {
3077 val* var_v /* var v: ScopeVisitor */;
3078 val* var /* : List[Scope] */;
3079 val* var2 /* : List[Scope] */;
3080 val* var3 /* : Scope */;
3081 val* var5 /* : nullable ALabel */;
3082 val* var7 /* : nullable ALabel */;
3083 val* var8 /* : EscapeMark */;
3084 val* var_escapemark /* var escapemark: EscapeMark */;
3085 val* var10 /* : AExpr */;
3086 val* var12 /* : AExpr */;
3087 val* var13 /* : nullable AExpr */;
3088 val* var15 /* : nullable AExpr */;
3089 var_v = p0;
3090 {
3091 { /* Inline scope$ScopeVisitor$scopes (var_v) on <var_v:ScopeVisitor> */
3092 var2 = var_v->attrs[COLOR_nitc__scope__ScopeVisitor___scopes].val; /* _scopes on <var_v:ScopeVisitor> */
3093 if (unlikely(var2 == NULL)) {
3094 if(catchStack.cursor >= 0){
3095 longjmp(catchStack.envs[catchStack.cursor], 1);
3096 }
3097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
3098 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__scope, 84);
3099 fatal_exit(1);
3100 }
3101 var = var2;
3102 RET_LABEL1:(void)0;
3103 }
3104 }
3105 var3 = NEW_nitc__scope__Scope(&type_nitc__scope__Scope);
3106 {
3107 { /* Inline kernel$Object$init (var3) on <var3:Scope> */
3108 RET_LABEL4:(void)0;
3109 }
3110 }
3111 {
3112 core___core__List___core__abstract_collection__Sequence__unshift(var, var3); /* Direct call list$List$unshift on <var:List[Scope]>*/
3113 }
3114 {
3115 { /* Inline parser_nodes$ALabelable$n_label (self) on <self:AWithExpr> */
3116 var7 = self->attrs[COLOR_nitc__parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWithExpr> */
3117 var5 = var7;
3118 RET_LABEL6:(void)0;
3119 }
3120 }
3121 {
3122 var8 = nitc__scope___nitc__scope__ScopeVisitor___make_escape_mark(var_v, var5, 1);
3123 }
3124 var_escapemark = var8;
3125 {
3126 { /* Inline scope$AWithExpr$break_mark= (self,var_escapemark) on <self:AWithExpr> */
3127 self->attrs[COLOR_nitc__scope__AWithExpr___break_mark].val = var_escapemark; /* _break_mark on <self:AWithExpr> */
3128 RET_LABEL9:(void)0;
3129 }
3130 }
3131 {
3132 { /* Inline parser_nodes$AWithExpr$n_expr (self) on <self:AWithExpr> */
3133 var12 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_expr].val; /* _n_expr on <self:AWithExpr> */
3134 if (unlikely(var12 == NULL)) {
3135 if(catchStack.cursor >= 0){
3136 longjmp(catchStack.envs[catchStack.cursor], 1);
3137 }
3138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3139 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2036);
3140 fatal_exit(1);
3141 }
3142 var10 = var12;
3143 RET_LABEL11:(void)0;
3144 }
3145 }
3146 {
3147 nitc___nitc__Visitor___enter_visit(var_v, var10); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
3148 }
3149 {
3150 { /* Inline parser_nodes$AWithExpr$n_block (self) on <self:AWithExpr> */
3151 var15 = self->attrs[COLOR_nitc__parser_nodes__AWithExpr___n_block].val; /* _n_block on <self:AWithExpr> */
3152 var13 = var15;
3153 RET_LABEL14:(void)0;
3154 }
3155 }
3156 {
3157 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var13, var_escapemark); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
3158 }
3159 {
3160 nitc__scope___nitc__scope__ScopeVisitor___shift_scope(var_v); /* Direct call scope$ScopeVisitor$shift_scope on <var_v:ScopeVisitor>*/
3161 }
3162 RET_LABEL:;
3163 }
3164 /* method scope$AAssertExpr$accept_scope_visitor for (self: AAssertExpr, ScopeVisitor) */
3165 void nitc__scope___AAssertExpr___ANode__accept_scope_visitor(val* self, val* p0) {
3166 val* var_v /* var v: ScopeVisitor */;
3167 val* var /* : AExpr */;
3168 val* var2 /* : AExpr */;
3169 val* var3 /* : nullable AExpr */;
3170 val* var5 /* : nullable AExpr */;
3171 var_v = p0;
3172 {
3173 { /* Inline parser_nodes$AAssertExpr$n_expr (self) on <self:AAssertExpr> */
3174 var2 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
3175 if (unlikely(var2 == NULL)) {
3176 if(catchStack.cursor >= 0){
3177 longjmp(catchStack.envs[catchStack.cursor], 1);
3178 }
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2056);
3181 fatal_exit(1);
3182 }
3183 var = var2;
3184 RET_LABEL1:(void)0;
3185 }
3186 }
3187 {
3188 nitc___nitc__Visitor___enter_visit(var_v, var); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:ScopeVisitor>*/
3189 }
3190 {
3191 { /* Inline parser_nodes$AAssertExpr$n_else (self) on <self:AAssertExpr> */
3192 var5 = self->attrs[COLOR_nitc__parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
3193 var3 = var5;
3194 RET_LABEL4:(void)0;
3195 }
3196 }
3197 {
3198 nitc__scope___nitc__scope__ScopeVisitor___enter_visit_block(var_v, var3, ((val*)NULL)); /* Direct call scope$ScopeVisitor$enter_visit_block on <var_v:ScopeVisitor>*/
3199 }
3200 RET_LABEL:;
3201 }
3202 /* method scope$AVarFormExpr$variable for (self: AVarFormExpr): nullable Variable */
3203 val* nitc__scope___AVarFormExpr___variable(val* self) {
3204 val* var /* : nullable Variable */;
3205 val* var1 /* : nullable Variable */;
3206 var1 = self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val; /* _variable on <self:AVarFormExpr> */
3207 var = var1;
3208 RET_LABEL:;
3209 return var;
3210 }
3211 /* method scope$AVarFormExpr$variable= for (self: AVarFormExpr, nullable Variable) */
3212 void nitc__scope___AVarFormExpr___variable_61d(val* self, val* p0) {
3213 self->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = p0; /* _variable on <self:AVarFormExpr> */
3214 RET_LABEL:;
3215 }
3216 /* method scope$ACallFormExpr$accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
3217 void nitc__scope___ACallFormExpr___ANode__accept_scope_visitor(val* self, val* p0) {
3218 val* var_v /* var v: ScopeVisitor */;
3219 val* var /* : AExpr */;
3220 val* var2 /* : AExpr */;
3221 short int var3 /* : Bool */;
3222 int cltype;
3223 int idtype;
3224 val* var4 /* : AQid */;
3225 val* var6 /* : AQid */;
3226 val* var7 /* : TId */;
3227 val* var9 /* : TId */;
3228 val* var10 /* : String */;
3229 val* var_name /* var name: String */;
3230 val* var11 /* : nullable Variable */;
3231 val* var_variable /* var variable: nullable Variable */;
3232 short int var12 /* : Bool */;
3233 short int var13 /* : Bool */;
3234 val* var_other /* var other: nullable Object */;
3235 short int var15 /* : Bool */;
3236 short int var16 /* : Bool */;
3237 short int var17 /* : Bool */;
3238 val* var18 /* : AExprs */;
3239 val* var20 /* : AExprs */;
3240 val* var21 /* : ANodes[AExpr] */;
3241 val* var23 /* : ANodes[AExpr] */;
3242 short int var24 /* : Bool */;
3243 short int var25 /* : Bool */;
3244 short int var_ /* var : Bool */;
3245 val* var26 /* : AExprs */;
3246 val* var28 /* : AExprs */;
3247 short int var29 /* : Bool */;
3248 int cltype30;
3249 int idtype31;
3250 val* var32 /* : NativeArray[String] */;
3251 static val* varonce;
3252 static val* varonce33;
3253 val* var34 /* : String */;
3254 char* var35 /* : CString */;
3255 val* var36 /* : String */;
3256 val* var37 /* : nullable Int */;
3257 val* var38 /* : nullable Int */;
3258 val* var39 /* : nullable Bool */;
3259 val* var40 /* : nullable Bool */;
3260 static val* varonce41;
3261 val* var42 /* : String */;
3262 char* var43 /* : CString */;
3263 val* var44 /* : String */;
3264 val* var45 /* : nullable Int */;
3265 val* var46 /* : nullable Int */;
3266 val* var47 /* : nullable Bool */;
3267 val* var48 /* : nullable Bool */;
3268 val* var49 /* : String */;
3269 val* var50 /* : AVarFormExpr */;
3270 val* var_n /* var n: AExpr */;
3271 var_v = p0;
3272 {
3273 { /* Inline parser_nodes$ASendExpr$n_expr (self) on <self:ACallFormExpr> */
3274 var2 = self->attrs[COLOR_nitc__parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallFormExpr> */
3275 if (unlikely(var2 == NULL)) {
3276 if(catchStack.cursor >= 0){
3277 longjmp(catchStack.envs[catchStack.cursor], 1);
3278 }
3279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3280 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2103);
3281 fatal_exit(1);
3282 }
3283 var = var2;
3284 RET_LABEL1:(void)0;
3285 }
3286 }
3287 /* <var:AExpr> isa AImplicitSelfExpr */
3288 cltype = type_nitc__AImplicitSelfExpr.color;
3289 idtype = type_nitc__AImplicitSelfExpr.id;
3290 if(cltype >= var->type->table_size) {
3291 var3 = 0;
3292 } else {
3293 var3 = var->type->type_table[cltype] == idtype;
3294 }
3295 if (var3){
3296 {
3297 { /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallFormExpr> */
3298 var6 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallFormExpr> */
3299 if (unlikely(var6 == NULL)) {
3300 if(catchStack.cursor >= 0){
3301 longjmp(catchStack.envs[catchStack.cursor], 1);
3302 }
3303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
3304 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
3305 fatal_exit(1);
3306 }
3307 var4 = var6;
3308 RET_LABEL5:(void)0;
3309 }
3310 }
3311 {
3312 { /* Inline parser_nodes$AQid$n_id (var4) on <var4:AQid> */
3313 var9 = var4->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var4:AQid> */
3314 if (unlikely(var9 == NULL)) {
3315 if(catchStack.cursor >= 0){
3316 longjmp(catchStack.envs[catchStack.cursor], 1);
3317 }
3318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3319 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
3320 fatal_exit(1);
3321 }
3322 var7 = var9;
3323 RET_LABEL8:(void)0;
3324 }
3325 }
3326 {
3327 var10 = nitc__lexer_work___Token___text(var7);
3328 }
3329 var_name = var10;
3330 {
3331 var11 = nitc__scope___nitc__scope__ScopeVisitor___search_variable(var_v, var_name);
3332 }
3333 var_variable = var11;
3334 if (var_variable == NULL) {
3335 var12 = 0; /* is null */
3336 } else {
3337 var12 = 1; /* arg is null and recv is not */
3338 }
3339 if (0) {
3340 { /* Inline kernel$Object$!= (var_variable,((val*)NULL)) on <var_variable:nullable Variable> */
3341 var_other = ((val*)NULL);
3342 {
3343 var15 = ((short int(*)(val* self, val* p0))(var_variable->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_variable, var_other); /* == on <var_variable:nullable Variable(Variable)>*/
3344 }
3345 var16 = !var15;
3346 var13 = var16;
3347 goto RET_LABEL14;
3348 RET_LABEL14:(void)0;
3349 }
3350 var12 = var13;
3351 }
3352 if (var12){
3353 {
3354 { /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallFormExpr> */
3355 var20 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallFormExpr> */
3356 if (unlikely(var20 == NULL)) {
3357 if(catchStack.cursor >= 0){
3358 longjmp(catchStack.envs[catchStack.cursor], 1);
3359 }
3360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
3361 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
3362 fatal_exit(1);
3363 }
3364 var18 = var20;
3365 RET_LABEL19:(void)0;
3366 }
3367 }
3368 {
3369 { /* Inline parser_nodes$AExprs$n_exprs (var18) on <var18:AExprs> */
3370 var23 = var18->attrs[COLOR_nitc__parser_nodes__AExprs___n_exprs].val; /* _n_exprs on <var18:AExprs> */
3371 if (unlikely(var23 == NULL)) {
3372 if(catchStack.cursor >= 0){
3373 longjmp(catchStack.envs[catchStack.cursor], 1);
3374 }
3375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3376 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2790);
3377 fatal_exit(1);
3378 }
3379 var21 = var23;
3380 RET_LABEL22:(void)0;
3381 }
3382 }
3383 {
3384 var24 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var21);
3385 }
3386 var25 = !var24;
3387 var_ = var25;
3388 if (var25){
3389 var17 = var_;
3390 } else {
3391 {
3392 { /* Inline parser_nodes$ACallFormExpr$n_args (self) on <self:ACallFormExpr> */
3393 var28 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallFormExpr> */
3394 if (unlikely(var28 == NULL)) {
3395 if(catchStack.cursor >= 0){
3396 longjmp(catchStack.envs[catchStack.cursor], 1);
3397 }
3398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
3399 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2380);
3400 fatal_exit(1);
3401 }
3402 var26 = var28;
3403 RET_LABEL27:(void)0;
3404 }
3405 }
3406 /* <var26:AExprs> isa AParExprs */
3407 cltype30 = type_nitc__AParExprs.color;
3408 idtype31 = type_nitc__AParExprs.id;
3409 if(cltype30 >= var26->type->table_size) {
3410 var29 = 0;
3411 } else {
3412 var29 = var26->type->type_table[cltype30] == idtype31;
3413 }
3414 var17 = var29;
3415 }
3416 if (var17){
3417 if (unlikely(varonce==NULL)) {
3418 var32 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
3419 if (likely(varonce33!=NULL)) {
3420 var34 = varonce33;
3421 } else {
3422 var35 = "Error: `";
3423 var37 = (val*)(8l<<2|1);
3424 var38 = (val*)(8l<<2|1);
3425 var39 = (val*)((long)(0)<<2|3);
3426 var40 = (val*)((long)(0)<<2|3);
3427 var36 = core__flat___CString___to_s_unsafe(var35, var37, var38, var39, var40);
3428 var34 = var36;
3429 varonce33 = var34;
3430 }
3431 ((struct instance_core__NativeArray*)var32)->values[0]=var34;
3432 if (likely(varonce41!=NULL)) {
3433 var42 = varonce41;
3434 } else {
3435 var43 = "` is a variable, not a method.";
3436 var45 = (val*)(30l<<2|1);
3437 var46 = (val*)(30l<<2|1);
3438 var47 = (val*)((long)(0)<<2|3);
3439 var48 = (val*)((long)(0)<<2|3);
3440 var44 = core__flat___CString___to_s_unsafe(var43, var45, var46, var47, var48);
3441 var42 = var44;
3442 varonce41 = var42;
3443 }
3444 ((struct instance_core__NativeArray*)var32)->values[2]=var42;
3445 } else {
3446 var32 = varonce;
3447 varonce = NULL;
3448 }
3449 ((struct instance_core__NativeArray*)var32)->values[1]=var_name;
3450 {
3451 var49 = ((val*(*)(val* self))(var32->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var32); /* native_to_s on <var32:NativeArray[String]>*/
3452 }
3453 varonce = var32;
3454 {
3455 nitc__scope___nitc__scope__ScopeVisitor___error(var_v, self, var49); /* Direct call scope$ScopeVisitor$error on <var_v:ScopeVisitor>*/
3456 }
3457 goto RET_LABEL;
3458 } else {
3459 }
3460 {
3461 var50 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope__ACallFormExpr__variable_create]))(self, var_variable); /* variable_create on <self:ACallFormExpr>*/
3462 }
3463 var_n = var50;
3464 {
3465 { /* Inline scope$AVarFormExpr$variable= (var_n,var_variable) on <var_n:AExpr(AVarFormExpr)> */
3466 var_n->attrs[COLOR_nitc__scope__AVarFormExpr___variable].val = var_variable; /* _variable on <var_n:AExpr(AVarFormExpr)> */
3467 RET_LABEL51:(void)0;
3468 }
3469 }
3470 {
3471 nitc__transform___AExpr___nitc__parser_nodes__ANode__replace_with(self, var_n); /* Direct call transform$AExpr$replace_with on <self:ACallFormExpr>*/
3472 }
3473 {
3474 nitc__scope___ANode___accept_scope_visitor(var_n, var_v); /* Direct call scope$ANode$accept_scope_visitor on <var_n:AExpr(AVarFormExpr)>*/
3475 }
3476 goto RET_LABEL;
3477 } else {
3478 }
3479 } else {
3480 }
3481 {
3482 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__scope___ACallFormExpr___ANode__accept_scope_visitor]))(self, p0); /* accept_scope_visitor on <self:ACallFormExpr>*/
3483 }
3484 RET_LABEL:;
3485 }
3486 /* method scope$ACallExpr$variable_create for (self: ACallExpr, Variable): AVarFormExpr */
3487 val* nitc__scope___ACallExpr___ACallFormExpr__variable_create(val* self, val* p0) {
3488 val* var /* : AVarFormExpr */;
3489 val* var_variable /* var variable: Variable */;
3490 val* var2 /* : AVarExpr */;
3491 val* var3 /* : AQid */;
3492 val* var5 /* : AQid */;
3493 val* var6 /* : TId */;
3494 val* var8 /* : TId */;
3495 var_variable = p0;
3496 {
3497 { /* Inline scope$Variable$warn_unread= (var_variable,0) on <var_variable:Variable> */
3498 var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 0; /* _warn_unread on <var_variable:Variable> */
3499 RET_LABEL1:(void)0;
3500 }
3501 }
3502 var2 = NEW_nitc__AVarExpr(&type_nitc__AVarExpr);
3503 {
3504 { /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallExpr> */
3505 var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallExpr> */
3506 if (unlikely(var5 == NULL)) {
3507 if(catchStack.cursor >= 0){
3508 longjmp(catchStack.envs[catchStack.cursor], 1);
3509 }
3510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
3511 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
3512 fatal_exit(1);
3513 }
3514 var3 = var5;
3515 RET_LABEL4:(void)0;
3516 }
3517 }
3518 {
3519 { /* Inline parser_nodes$AQid$n_id (var3) on <var3:AQid> */
3520 var8 = var3->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var3:AQid> */
3521 if (unlikely(var8 == NULL)) {
3522 if(catchStack.cursor >= 0){
3523 longjmp(catchStack.envs[catchStack.cursor], 1);
3524 }
3525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3526 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
3527 fatal_exit(1);
3528 }
3529 var6 = var8;
3530 RET_LABEL7:(void)0;
3531 }
3532 }
3533 {
3534 nitc__parser_prod___AVarExpr___init_avarexpr(var2, var6); /* Direct call parser_prod$AVarExpr$init_avarexpr on <var2:AVarExpr>*/
3535 }
3536 var = var2;
3537 goto RET_LABEL;
3538 RET_LABEL:;
3539 return var;
3540 }
3541 /* method scope$ACallAssignExpr$variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
3542 val* nitc__scope___ACallAssignExpr___ACallFormExpr__variable_create(val* self, val* p0) {
3543 val* var /* : AVarFormExpr */;
3544 val* var_variable /* var variable: Variable */;
3545 val* var1 /* : AVarAssignExpr */;
3546 val* var2 /* : AQid */;
3547 val* var4 /* : AQid */;
3548 val* var5 /* : TId */;
3549 val* var7 /* : TId */;
3550 val* var8 /* : TAssign */;
3551 val* var10 /* : TAssign */;
3552 val* var11 /* : AExpr */;
3553 val* var13 /* : AExpr */;
3554 var_variable = p0;
3555 var1 = NEW_nitc__AVarAssignExpr(&type_nitc__AVarAssignExpr);
3556 {
3557 { /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallAssignExpr> */
3558 var4 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallAssignExpr> */
3559 if (unlikely(var4 == NULL)) {
3560 if(catchStack.cursor >= 0){
3561 longjmp(catchStack.envs[catchStack.cursor], 1);
3562 }
3563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
3564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
3565 fatal_exit(1);
3566 }
3567 var2 = var4;
3568 RET_LABEL3:(void)0;
3569 }
3570 }
3571 {
3572 { /* Inline parser_nodes$AQid$n_id (var2) on <var2:AQid> */
3573 var7 = var2->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var2:AQid> */
3574 if (unlikely(var7 == NULL)) {
3575 if(catchStack.cursor >= 0){
3576 longjmp(catchStack.envs[catchStack.cursor], 1);
3577 }
3578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
3580 fatal_exit(1);
3581 }
3582 var5 = var7;
3583 RET_LABEL6:(void)0;
3584 }
3585 }
3586 {
3587 { /* Inline parser_nodes$AAssignFormExpr$n_assign (self) on <self:ACallAssignExpr> */
3588 var10 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
3589 if (unlikely(var10 == NULL)) {
3590 if(catchStack.cursor >= 0){
3591 longjmp(catchStack.envs[catchStack.cursor], 1);
3592 }
3593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
3594 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2070);
3595 fatal_exit(1);
3596 }
3597 var8 = var10;
3598 RET_LABEL9:(void)0;
3599 }
3600 }
3601 {
3602 { /* Inline parser_nodes$AAssignFormExpr$n_value (self) on <self:ACallAssignExpr> */
3603 var13 = self->attrs[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
3604 if (unlikely(var13 == NULL)) {
3605 if(catchStack.cursor >= 0){
3606 longjmp(catchStack.envs[catchStack.cursor], 1);
3607 }
3608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3609 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2073);
3610 fatal_exit(1);
3611 }
3612 var11 = var13;
3613 RET_LABEL12:(void)0;
3614 }
3615 }
3616 {
3617 nitc__parser_prod___AVarAssignExpr___init_avarassignexpr(var1, var5, var8, var11); /* Direct call parser_prod$AVarAssignExpr$init_avarassignexpr on <var1:AVarAssignExpr>*/
3618 }
3619 var = var1;
3620 goto RET_LABEL;
3621 RET_LABEL:;
3622 return var;
3623 }
3624 /* method scope$ACallReassignExpr$variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
3625 val* nitc__scope___ACallReassignExpr___ACallFormExpr__variable_create(val* self, val* p0) {
3626 val* var /* : AVarFormExpr */;
3627 val* var_variable /* var variable: Variable */;
3628 val* var2 /* : AVarReassignExpr */;
3629 val* var3 /* : AQid */;
3630 val* var5 /* : AQid */;
3631 val* var6 /* : TId */;
3632 val* var8 /* : TId */;
3633 val* var9 /* : AAssignOp */;
3634 val* var11 /* : AAssignOp */;
3635 val* var12 /* : AExpr */;
3636 val* var14 /* : AExpr */;
3637 var_variable = p0;
3638 {
3639 { /* Inline scope$Variable$warn_unread= (var_variable,0) on <var_variable:Variable> */
3640 var_variable->attrs[COLOR_nitc__scope__Variable___warn_unread].s = 0; /* _warn_unread on <var_variable:Variable> */
3641 RET_LABEL1:(void)0;
3642 }
3643 }
3644 var2 = NEW_nitc__AVarReassignExpr(&type_nitc__AVarReassignExpr);
3645 {
3646 { /* Inline parser_nodes$ACallFormExpr$n_qid (self) on <self:ACallReassignExpr> */
3647 var5 = self->attrs[COLOR_nitc__parser_nodes__ACallFormExpr___n_qid].val; /* _n_qid on <self:ACallReassignExpr> */
3648 if (unlikely(var5 == NULL)) {
3649 if(catchStack.cursor >= 0){
3650 longjmp(catchStack.envs[catchStack.cursor], 1);
3651 }
3652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid");
3653 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2377);
3654 fatal_exit(1);
3655 }
3656 var3 = var5;
3657 RET_LABEL4:(void)0;
3658 }
3659 }
3660 {
3661 { /* Inline parser_nodes$AQid$n_id (var3) on <var3:AQid> */
3662 var8 = var3->attrs[COLOR_nitc__parser_nodes__AQid___n_id].val; /* _n_id on <var3:AQid> */
3663 if (unlikely(var8 == NULL)) {
3664 if(catchStack.cursor >= 0){
3665 longjmp(catchStack.envs[catchStack.cursor], 1);
3666 }
3667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1721);
3669 fatal_exit(1);
3670 }
3671 var6 = var8;
3672 RET_LABEL7:(void)0;
3673 }
3674 }
3675 {
3676 { /* Inline parser_nodes$AReassignFormExpr$n_assign_op (self) on <self:ACallReassignExpr> */
3677 var11 = self->attrs[COLOR_nitc__parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
3678 if (unlikely(var11 == NULL)) {
3679 if(catchStack.cursor >= 0){
3680 longjmp(catchStack.envs[catchStack.cursor], 1);
3681 }
3682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
3683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2081);
3684 fatal_exit(1);
3685 }
3686 var9 = var11;
3687 RET_LABEL10:(void)0;
3688 }
3689 }
3690 {
3691 { /* Inline parser_nodes$AReassignFormExpr$n_value (self) on <self:ACallReassignExpr> */
3692 var14 = self->attrs[COLOR_nitc__parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
3693 if (unlikely(var14 == NULL)) {
3694 if(catchStack.cursor >= 0){
3695 longjmp(catchStack.envs[catchStack.cursor], 1);
3696 }
3697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2084);
3699 fatal_exit(1);
3700 }
3701 var12 = var14;
3702 RET_LABEL13:(void)0;
3703 }
3704 }
3705 {
3706 nitc__parser_prod___AVarReassignExpr___init_avarreassignexpr(var2, var6, var9, var12); /* Direct call parser_prod$AVarReassignExpr$init_avarreassignexpr on <var2:AVarReassignExpr>*/
3707 }
3708 var = var2;
3709 goto RET_LABEL;
3710 RET_LABEL:;
3711 return var;
3712 }