1 #include "nit__scope.sep.0.h"
2 /* method scope#ToolContext#scope_phase for (self: ToolContext): Phase */
3 val
* nit__scope___ToolContext___scope_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nit__scope__ToolContext___scope_phase
].val
; /* _scope_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scope_phase");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 23);
16 /* method scope#ScopePhase#process_npropdef for (self: ScopePhase, APropdef) */
17 void nit__scope___nit__scope__ScopePhase___nit__phase__Phase__process_npropdef(val
* self
, val
* p0
) {
18 val
* var_npropdef
/* var npropdef: APropdef */;
19 val
* var
/* : ToolContext */;
20 val
* var2
/* : ToolContext */;
23 { /* Inline phase#Phase#toolcontext (self) on <self:ScopePhase> */
24 var2
= self
->attrs
[COLOR_nit__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ScopePhase> */
25 if (unlikely(var2
== NULL
)) {
26 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
27 PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase
, 201);
35 nit__scope___APropdef___do_scope(var_npropdef
, var
); /* Direct call scope#APropdef#do_scope on <var_npropdef:APropdef>*/
39 /* method scope#Variable#name for (self: Variable): String */
40 val
* nit___nit__Variable___name(val
* self
) {
41 val
* var
/* : String */;
42 val
* var1
/* : String */;
43 var1
= self
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <self:Variable> */
44 if (unlikely(var1
== NULL
)) {
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
53 /* method scope#Variable#name= for (self: Variable, String) */
54 void nit___nit__Variable___name_61d(val
* self
, val
* p0
) {
55 self
->attrs
[COLOR_nit__scope__Variable___name
].val
= p0
; /* _name on <self:Variable> */
58 /* method scope#Variable#to_s for (self: Variable): String */
59 val
* nit___nit__Variable___standard__string__Object__to_s(val
* self
) {
60 val
* var
/* : String */;
61 val
* var1
/* : String */;
62 val
* var3
/* : String */;
64 { /* Inline scope#Variable#name (self) on <self:Variable> */
65 var3
= self
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <self:Variable> */
66 if (unlikely(var3
== NULL
)) {
67 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
68 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
80 /* method scope#Variable#location for (self: Variable): nullable Location */
81 val
* nit___nit__Variable___location(val
* self
) {
82 val
* var
/* : nullable Location */;
83 val
* var1
/* : nullable Location */;
84 var1
= self
->attrs
[COLOR_nit__scope__Variable___location
].val
; /* _location on <self:Variable> */
89 /* method scope#Variable#location= for (self: Variable, nullable Location) */
90 void nit___nit__Variable___location_61d(val
* self
, val
* p0
) {
91 self
->attrs
[COLOR_nit__scope__Variable___location
].val
= p0
; /* _location on <self:Variable> */
94 /* method scope#Variable#warn_unread for (self: Variable): Bool */
95 short int nit___nit__Variable___warn_unread(val
* self
) {
96 short int var
/* : Bool */;
97 short int var1
/* : Bool */;
98 var1
= self
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
; /* _warn_unread on <self:Variable> */
103 /* method scope#Variable#warn_unread= for (self: Variable, Bool) */
104 void nit___nit__Variable___warn_unread_61d(val
* self
, short int p0
) {
105 self
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
= p0
; /* _warn_unread on <self:Variable> */
108 /* method scope#Variable#init for (self: Variable) */
109 void nit___nit__Variable___standard__kernel__Object__init(val
* self
) {
111 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__Variable___standard__kernel__Object__init
]))(self
) /* init on <self:Variable>*/;
115 /* method scope#EscapeMark#name for (self: EscapeMark): nullable String */
116 val
* nit___nit__EscapeMark___name(val
* self
) {
117 val
* var
/* : nullable String */;
118 val
* var1
/* : nullable String */;
119 var1
= self
->attrs
[COLOR_nit__scope__EscapeMark___name
].val
; /* _name on <self:EscapeMark> */
124 /* method scope#EscapeMark#name= for (self: EscapeMark, nullable String) */
125 void nit___nit__EscapeMark___name_61d(val
* self
, val
* p0
) {
126 self
->attrs
[COLOR_nit__scope__EscapeMark___name
].val
= p0
; /* _name on <self:EscapeMark> */
129 /* method scope#EscapeMark#continue_mark for (self: EscapeMark): nullable EscapeMark */
130 val
* nit___nit__EscapeMark___continue_mark(val
* self
) {
131 val
* var
/* : nullable EscapeMark */;
132 val
* var1
/* : nullable EscapeMark */;
133 var1
= self
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <self:EscapeMark> */
138 /* method scope#EscapeMark#continue_mark= for (self: EscapeMark, nullable EscapeMark) */
139 void nit___nit__EscapeMark___continue_mark_61d(val
* self
, val
* p0
) {
140 self
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
= p0
; /* _continue_mark on <self:EscapeMark> */
143 /* method scope#EscapeMark#escapes for (self: EscapeMark): Array[AEscapeExpr] */
144 val
* nit___nit__EscapeMark___escapes(val
* self
) {
145 val
* var
/* : Array[AEscapeExpr] */;
146 val
* var1
/* : Array[AEscapeExpr] */;
147 var1
= self
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <self:EscapeMark> */
148 if (unlikely(var1
== NULL
)) {
149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
150 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
157 /* method scope#EscapeMark#init for (self: EscapeMark) */
158 void nit___nit__EscapeMark___standard__kernel__Object__init(val
* self
) {
160 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__EscapeMark___standard__kernel__Object__init
]))(self
) /* init on <self:EscapeMark>*/;
164 /* method scope#ScopeVisitor#toolcontext for (self: ScopeVisitor): ToolContext */
165 val
* nit__scope___nit__scope__ScopeVisitor___toolcontext(val
* self
) {
166 val
* var
/* : ToolContext */;
167 val
* var1
/* : ToolContext */;
168 var1
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
169 if (unlikely(var1
== NULL
)) {
170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 70);
178 /* method scope#ScopeVisitor#toolcontext= for (self: ScopeVisitor, ToolContext) */
179 void nit__scope___nit__scope__ScopeVisitor___toolcontext_61d(val
* self
, val
* p0
) {
180 self
->attrs
[COLOR_nit__scope__ScopeVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:ScopeVisitor> */
183 /* method scope#ScopeVisitor#selfvariable for (self: ScopeVisitor): Variable */
184 val
* nit__scope___nit__scope__ScopeVisitor___selfvariable(val
* self
) {
185 val
* var
/* : Variable */;
186 val
* var1
/* : Variable */;
187 var1
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___selfvariable
].val
; /* _selfvariable on <self:ScopeVisitor> */
188 if (unlikely(var1
== NULL
)) {
189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 73);
197 /* method scope#ScopeVisitor#init for (self: ScopeVisitor) */
198 void nit__scope___nit__scope__ScopeVisitor___standard__kernel__Object__init(val
* self
) {
199 val
* var
/* : List[Scope] */;
200 val
* var2
/* : List[Scope] */;
201 val
* var3
/* : Scope */;
203 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__scope___nit__scope__ScopeVisitor___standard__kernel__Object__init
]))(self
) /* init on <self:ScopeVisitor>*/;
206 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
207 var2
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
208 if (unlikely(var2
== NULL
)) {
209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
217 var3
= NEW_nit__scope__Scope(&type_nit__scope__Scope
);
219 { /* Inline kernel#Object#init (var3) on <var3:Scope> */
224 standard___standard__Sequence___SimpleCollection__add(var
, var3
); /* Direct call abstract_collection#Sequence#add on <var:List[Scope]>*/
228 /* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */
229 val
* nit__scope___nit__scope__ScopeVisitor___scopes(val
* self
) {
230 val
* var
/* : List[Scope] */;
231 val
* var1
/* : List[Scope] */;
232 var1
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
233 if (unlikely(var1
== NULL
)) {
234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
242 /* method scope#ScopeVisitor#shift_scope for (self: ScopeVisitor) */
243 void nit__scope___nit__scope__ScopeVisitor___shift_scope(val
* self
) {
244 val
* var
/* : List[Scope] */;
245 val
* var2
/* : List[Scope] */;
246 short int var3
/* : Bool */;
247 short int var4
/* : Bool */;
248 val
* var5
/* : List[Scope] */;
249 val
* var7
/* : List[Scope] */;
250 val
* var8
/* : nullable Object */;
251 val
* var_scope
/* var scope: Scope */;
252 val
* var9
/* : HashMap[String, Variable] */;
253 val
* var11
/* : HashMap[String, Variable] */;
254 val
* var12
/* : RemovableCollection[nullable Object] */;
255 val
* var14
/* : RemovableCollection[nullable Object] */;
256 val
* var_
/* var : RemovableCollection[Variable] */;
257 val
* var15
/* : Iterator[nullable Object] */;
258 val
* var_16
/* var : Iterator[Variable] */;
259 short int var17
/* : Bool */;
260 val
* var18
/* : nullable Object */;
261 val
* var_v
/* var v: Variable */;
262 short int var19
/* : Bool */;
263 short int var21
/* : Bool */;
264 val
* var22
/* : ToolContext */;
265 val
* var24
/* : ToolContext */;
266 val
* var25
/* : nullable Location */;
267 val
* var27
/* : nullable Location */;
269 val
* var28
/* : String */;
270 char* var29
/* : NativeString */;
271 long var30
/* : Int */;
272 val
* var31
/* : FlatString */;
273 static val
* varonce32
;
274 val
* var33
/* : String */;
275 char* var34
/* : NativeString */;
276 long var35
/* : Int */;
277 val
* var36
/* : FlatString */;
278 val
* var37
/* : String */;
279 val
* var39
/* : String */;
280 static val
* varonce40
;
281 val
* var41
/* : String */;
282 char* var42
/* : NativeString */;
283 long var43
/* : Int */;
284 val
* var44
/* : FlatString */;
285 val
* var45
/* : Array[Object] */;
286 long var46
/* : Int */;
287 val
* var47
/* : NativeArray[Object] */;
288 val
* var48
/* : String */;
290 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
291 var2
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
292 if (unlikely(var2
== NULL
)) {
293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
302 var3
= standard___standard__List___standard__abstract_collection__Collection__is_empty(var
);
305 if (unlikely(!var4
)) {
306 PRINT_ERROR("Runtime error: %s", "Assert failed");
307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 86);
311 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
312 var7
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
313 if (unlikely(var7
== NULL
)) {
314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
323 var8
= standard___standard__List___standard__abstract_collection__Sequence__shift(var5
);
327 { /* Inline scope#Scope#variables (var_scope) on <var_scope:Scope> */
328 var11
= var_scope
->attrs
[COLOR_nit__scope__Scope___variables
].val
; /* _variables on <var_scope:Scope> */
329 if (unlikely(var11
== NULL
)) {
330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
331 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 225);
339 { /* Inline hash_collection#HashMap#values (var9) on <var9:HashMap[String, Variable]> */
340 var14
= var9
->attrs
[COLOR_standard__hash_collection__HashMap___values
].val
; /* _values on <var9:HashMap[String, Variable]> */
341 if (unlikely(var14
== NULL
)) {
342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
343 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 276);
352 var15
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:RemovableCollection[Variable]>*/;
357 var17
= ((short int (*)(val
* self
))(var_16
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_16
) /* is_ok on <var_16:Iterator[Variable]>*/;
361 var18
= ((val
* (*)(val
* self
))(var_16
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_16
) /* item on <var_16:Iterator[Variable]>*/;
365 { /* Inline scope#Variable#warn_unread (var_v) on <var_v:Variable> */
366 var21
= var_v
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
; /* _warn_unread on <var_v:Variable> */
373 { /* Inline scope#ScopeVisitor#toolcontext (self) on <self:ScopeVisitor> */
374 var24
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
375 if (unlikely(var24
== NULL
)) {
376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 70);
385 { /* Inline scope#Variable#location (var_v) on <var_v:Variable> */
386 var27
= var_v
->attrs
[COLOR_nit__scope__Variable___location
].val
; /* _location on <var_v:Variable> */
394 var29
= "unread-variable";
396 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
403 var34
= "Warning: local variable ";
405 var36
= standard___standard__NativeString___to_s_with_length(var34
, var35
);
410 { /* Inline scope#Variable#name (var_v) on <var_v:Variable> */
411 var39
= var_v
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <var_v:Variable> */
412 if (unlikely(var39
== NULL
)) {
413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
424 var42
= " is never read.";
426 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
430 var45
= NEW_standard__Array(&type_standard__Array__standard__Object
);
431 { /* var45 = array_instance Array[Object] */
433 var47
= NEW_standard__NativeArray(var46
, &type_standard__NativeArray__standard__Object
);
434 ((struct instance_standard__NativeArray
*)var47
)->values
[0] = (val
*) var33
;
435 ((struct instance_standard__NativeArray
*)var47
)->values
[1] = (val
*) var37
;
436 ((struct instance_standard__NativeArray
*)var47
)->values
[2] = (val
*) var41
;
438 ((void (*)(val
* self
, val
* p0
, long p1
))(var45
->class->vft
[COLOR_standard__array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
442 var48
= ((val
* (*)(val
* self
))(var45
->class->vft
[COLOR_standard__string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
445 nit___nit__ToolContext___advice(var22
, var25
, var28
, var48
); /* Direct call toolcontext#ToolContext#advice on <var22:ToolContext>*/
450 ((void (*)(val
* self
))(var_16
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_16
) /* next on <var_16:Iterator[Variable]>*/;
456 BREAK_label
: (void)0;
458 { /* Inline abstract_collection#Iterator#finish (var_16) on <var_16:Iterator[Variable]> */
464 /* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
465 short int nit__scope___nit__scope__ScopeVisitor___register_variable(val
* self
, val
* p0
, val
* p1
) {
466 short int var
/* : Bool */;
467 val
* var_node
/* var node: ANode */;
468 val
* var_variable
/* var variable: Variable */;
469 val
* var1
/* : String */;
470 val
* var3
/* : String */;
471 val
* var_name
/* var name: String */;
472 val
* var4
/* : nullable Variable */;
473 val
* var_found
/* var found: nullable Variable */;
474 val
* var5
/* : null */;
475 short int var6
/* : Bool */;
476 short int var7
/* : Bool */;
477 val
* var_other
/* var other: nullable Object */;
478 short int var9
/* : Bool */;
479 short int var10
/* : Bool */;
481 val
* var11
/* : String */;
482 char* var12
/* : NativeString */;
483 long var13
/* : Int */;
484 val
* var14
/* : FlatString */;
485 static val
* varonce15
;
486 val
* var16
/* : String */;
487 char* var17
/* : NativeString */;
488 long var18
/* : Int */;
489 val
* var19
/* : FlatString */;
490 val
* var20
/* : Array[Object] */;
491 long var21
/* : Int */;
492 val
* var22
/* : NativeArray[Object] */;
493 val
* var23
/* : String */;
494 short int var24
/* : Bool */;
495 val
* var25
/* : List[Scope] */;
496 val
* var27
/* : List[Scope] */;
497 val
* var28
/* : nullable Object */;
498 val
* var29
/* : HashMap[String, Variable] */;
499 val
* var31
/* : HashMap[String, Variable] */;
500 val
* var32
/* : Location */;
501 val
* var34
/* : Location */;
502 short int var36
/* : Bool */;
506 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
507 var3
= var_variable
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
508 if (unlikely(var3
== NULL
)) {
509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
519 var4
= nit__scope___nit__scope__ScopeVisitor___search_variable(self
, var_name
);
523 if (var_found
== NULL
) {
524 var6
= 0; /* is null */
526 var6
= 1; /* arg is null and recv is not */
529 { /* Inline kernel#Object#!= (var_found,var5) on <var_found:nullable Variable> */
532 var9
= ((short int (*)(val
* self
, val
* p0
))(var_found
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_found
, var_other
) /* == on <var_found:nullable Variable(Variable)>*/;
545 var12
= "Error: A variable named `";
547 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
554 var17
= "\' already exists";
556 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
560 var20
= NEW_standard__Array(&type_standard__Array__standard__Object
);
561 { /* var20 = array_instance Array[Object] */
563 var22
= NEW_standard__NativeArray(var21
, &type_standard__NativeArray__standard__Object
);
564 ((struct instance_standard__NativeArray
*)var22
)->values
[0] = (val
*) var11
;
565 ((struct instance_standard__NativeArray
*)var22
)->values
[1] = (val
*) var_name
;
566 ((struct instance_standard__NativeArray
*)var22
)->values
[2] = (val
*) var16
;
568 ((void (*)(val
* self
, val
* p0
, long p1
))(var20
->class->vft
[COLOR_standard__array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
572 var23
= ((val
* (*)(val
* self
))(var20
->class->vft
[COLOR_standard__string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
575 nit__scope___nit__scope__ScopeVisitor___error(self
, var_node
, var23
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
583 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
584 var27
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
585 if (unlikely(var27
== NULL
)) {
586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
595 var28
= standard___standard__List___standard__abstract_collection__Collection__first(var25
);
598 { /* Inline scope#Scope#variables (var28) on <var28:nullable Object(Scope)> */
599 var31
= var28
->attrs
[COLOR_nit__scope__Scope___variables
].val
; /* _variables on <var28:nullable Object(Scope)> */
600 if (unlikely(var31
== NULL
)) {
601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
602 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 225);
610 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var29
, var_name
, var_variable
); /* Direct call hash_collection#HashMap#[]= on <var29:HashMap[String, Variable]>*/
613 { /* Inline parser_nodes#ANode#location (var_node) on <var_node:ANode> */
614 var34
= var_node
->attrs
[COLOR_nit__parser_nodes__ANode___location
].val
; /* _location on <var_node:ANode> */
615 if (unlikely(var34
== NULL
)) {
616 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
617 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 23);
625 { /* Inline scope#Variable#location= (var_variable,var32) on <var_variable:Variable> */
626 var_variable
->attrs
[COLOR_nit__scope__Variable___location
].val
= var32
; /* _location on <var_variable:Variable> */
636 /* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */
637 val
* nit__scope___nit__scope__ScopeVisitor___search_variable(val
* self
, val
* p0
) {
638 val
* var
/* : nullable Variable */;
639 val
* var_name
/* var name: String */;
640 val
* var1
/* : List[Scope] */;
641 val
* var3
/* : List[Scope] */;
642 val
* var_
/* var : List[Scope] */;
643 val
* var4
/* : ListIterator[nullable Object] */;
644 val
* var_5
/* var : ListIterator[Scope] */;
645 short int var6
/* : Bool */;
646 val
* var7
/* : nullable Object */;
647 val
* var_scope
/* var scope: Scope */;
648 val
* var8
/* : nullable Variable */;
649 val
* var_res
/* var res: nullable Variable */;
650 val
* var9
/* : null */;
651 short int var10
/* : Bool */;
652 short int var11
/* : Bool */;
653 val
* var_other
/* var other: nullable Object */;
654 short int var13
/* : Bool */;
655 short int var14
/* : Bool */;
656 val
* var16
/* : null */;
659 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
660 var3
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
661 if (unlikely(var3
== NULL
)) {
662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
672 var4
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_
);
677 var6
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_5
);
681 var7
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_5
);
685 var8
= nit__scope___nit__scope__Scope___get_variable(var_scope
, var_name
);
689 if (var_res
== NULL
) {
690 var10
= 0; /* is null */
692 var10
= 1; /* arg is null and recv is not */
695 { /* Inline kernel#Object#!= (var_res,var9) on <var_res:nullable Variable> */
698 var13
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable Variable(Variable)>*/;
713 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_5
); /* Direct call list#ListIterator#next on <var_5:ListIterator[Scope]>*/
719 BREAK_label
: (void)0;
721 { /* Inline abstract_collection#Iterator#finish (var_5) on <var_5:ListIterator[Scope]> */
731 /* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */
732 void nit__scope___nit__scope__ScopeVisitor___nit__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
733 val
* var_n
/* var n: ANode */;
736 ((void (*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nit__scope__ANode__accept_scope_visitor
]))(var_n
, self
) /* accept_scope_visitor on <var_n:ANode>*/;
740 /* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
741 void nit__scope___nit__scope__ScopeVisitor___enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
742 val
* var_node
/* var node: nullable AExpr */;
743 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
744 val
* var
/* : null */;
745 short int var1
/* : Bool */;
746 short int var2
/* : Bool */;
747 val
* var_other
/* var other: nullable Object */;
748 short int var4
/* : Bool */;
749 short int var6
/* : Bool */;
750 val
* var7
/* : Scope */;
751 val
* var_scope
/* var scope: Scope */;
752 val
* var10
/* : List[Scope] */;
753 val
* var12
/* : List[Scope] */;
757 if (var_node
== NULL
) {
758 var1
= 1; /* is null */
760 var1
= 0; /* arg is null but recv is not */
763 { /* Inline kernel#Object#== (var_node,var) on <var_node:nullable AExpr> */
766 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable AExpr(AExpr)> */
767 var6
= var_node
== var_other
;
783 var7
= NEW_nit__scope__Scope(&type_nit__scope__Scope
);
785 { /* Inline kernel#Object#init (var7) on <var7:Scope> */
791 { /* Inline scope#Scope#escapemark= (var_scope,var_escapemark) on <var_scope:Scope> */
792 var_scope
->attrs
[COLOR_nit__scope__Scope___escapemark
].val
= var_escapemark
; /* _escapemark on <var_scope:Scope> */
797 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
798 var12
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
799 if (unlikely(var12
== NULL
)) {
800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
809 standard___standard__List___standard__abstract_collection__Sequence__unshift(var10
, var_scope
); /* Direct call list#List#unshift on <var10:List[Scope]>*/
812 nit___nit__Visitor___enter_visit(self
, var_node
); /* Direct call parser_nodes#Visitor#enter_visit on <self:ScopeVisitor>*/
815 nit__scope___nit__scope__ScopeVisitor___shift_scope(self
); /* Direct call scope#ScopeVisitor#shift_scope on <self:ScopeVisitor>*/
819 /* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */
820 val
* nit__scope___nit__scope__ScopeVisitor___search_label(val
* self
, val
* p0
) {
821 val
* var
/* : nullable EscapeMark */;
822 val
* var_name
/* var name: String */;
823 val
* var1
/* : List[Scope] */;
824 val
* var3
/* : List[Scope] */;
825 val
* var_
/* var : List[Scope] */;
826 val
* var4
/* : ListIterator[nullable Object] */;
827 val
* var_5
/* var : ListIterator[Scope] */;
828 short int var6
/* : Bool */;
829 val
* var7
/* : nullable Object */;
830 val
* var_scope
/* var scope: Scope */;
831 val
* var8
/* : nullable EscapeMark */;
832 val
* var10
/* : nullable EscapeMark */;
833 val
* var_res
/* var res: nullable EscapeMark */;
834 short int var11
/* : Bool */;
835 val
* var12
/* : null */;
836 short int var13
/* : Bool */;
837 short int var14
/* : Bool */;
838 val
* var_other
/* var other: nullable Object */;
839 short int var16
/* : Bool */;
840 short int var17
/* : Bool */;
841 short int var_18
/* var : Bool */;
842 val
* var19
/* : nullable String */;
843 val
* var21
/* : nullable String */;
844 short int var22
/* : Bool */;
845 short int var23
/* : Bool */;
846 val
* var25
/* : null */;
849 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
850 var3
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
851 if (unlikely(var3
== NULL
)) {
852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
853 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
862 var4
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_
);
867 var6
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_5
);
871 var7
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_5
);
875 { /* Inline scope#Scope#escapemark (var_scope) on <var_scope:Scope> */
876 var10
= var_scope
->attrs
[COLOR_nit__scope__Scope___escapemark
].val
; /* _escapemark on <var_scope:Scope> */
883 if (var_res
== NULL
) {
884 var13
= 0; /* is null */
886 var13
= 1; /* arg is null and recv is not */
889 { /* Inline kernel#Object#!= (var_res,var12) on <var_res:nullable EscapeMark> */
892 var16
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable EscapeMark(EscapeMark)>*/;
904 { /* Inline scope#EscapeMark#name (var_res) on <var_res:nullable EscapeMark(EscapeMark)> */
905 var21
= var_res
->attrs
[COLOR_nit__scope__EscapeMark___name
].val
; /* _name on <var_res:nullable EscapeMark(EscapeMark)> */
911 var22
= 0; /* <var_name:String> cannot be null */
913 var23
= ((short int (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var19
, var_name
) /* == on <var19:nullable String>*/;
926 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_5
); /* Direct call list#ListIterator#next on <var_5:ListIterator[Scope]>*/
932 BREAK_label
: (void)0;
934 { /* Inline abstract_collection#Iterator#finish (var_5) on <var_5:ListIterator[Scope]> */
944 /* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
945 val
* nit__scope___nit__scope__ScopeVisitor___make_escape_mark(val
* self
, val
* p0
, short int p1
) {
946 val
* var
/* : EscapeMark */;
947 val
* var_nlabel
/* var nlabel: nullable ALabel */;
948 short int var_for_loop
/* var for_loop: Bool */;
949 val
* var1
/* : null */;
950 short int var2
/* : Bool */;
951 short int var3
/* : Bool */;
952 val
* var_other
/* var other: nullable Object */;
953 short int var5
/* : Bool */;
954 short int var6
/* : Bool */;
955 val
* var7
/* : nullable TId */;
956 val
* var9
/* : nullable TId */;
957 val
* var_nid
/* var nid: nullable TId */;
958 val
* var10
/* : null */;
959 short int var11
/* : Bool */;
960 short int var12
/* : Bool */;
961 val
* var_other14
/* var other: nullable Object */;
962 short int var15
/* : Bool */;
963 short int var17
/* : Bool */;
965 val
* var18
/* : String */;
966 char* var19
/* : NativeString */;
967 long var20
/* : Int */;
968 val
* var21
/* : FlatString */;
969 val
* var22
/* : nullable EscapeMark */;
970 val
* var_res
/* var res: nullable EscapeMark */;
971 val
* var23
/* : null */;
972 short int var24
/* : Bool */;
973 short int var25
/* : Bool */;
974 short int var27
/* : Bool */;
975 short int var28
/* : Bool */;
976 static val
* varonce29
;
977 val
* var30
/* : String */;
978 char* var31
/* : NativeString */;
979 long var32
/* : Int */;
980 val
* var33
/* : FlatString */;
981 static val
* varonce34
;
982 val
* var35
/* : String */;
983 char* var36
/* : NativeString */;
984 long var37
/* : Int */;
985 val
* var38
/* : FlatString */;
986 val
* var_name
/* var name: nullable String */;
987 val
* var39
/* : String */;
988 val
* var40
/* : nullable EscapeMark */;
989 val
* var_found
/* var found: nullable EscapeMark */;
990 val
* var41
/* : null */;
991 short int var42
/* : Bool */;
992 short int var43
/* : Bool */;
993 short int var45
/* : Bool */;
994 short int var46
/* : Bool */;
995 static val
* varonce47
;
996 val
* var48
/* : String */;
997 char* var49
/* : NativeString */;
998 long var50
/* : Int */;
999 val
* var51
/* : FlatString */;
1000 static val
* varonce52
;
1001 val
* var53
/* : String */;
1002 char* var54
/* : NativeString */;
1003 long var55
/* : Int */;
1004 val
* var56
/* : FlatString */;
1005 val
* var57
/* : Array[Object] */;
1006 long var58
/* : Int */;
1007 val
* var59
/* : NativeArray[Object] */;
1008 val
* var60
/* : String */;
1009 val
* var61
/* : null */;
1010 val
* var62
/* : EscapeMark */;
1011 val
* var_res63
/* var res: EscapeMark */;
1012 val
* var64
/* : EscapeMark */;
1016 if (var_nlabel
== NULL
) {
1017 var2
= 0; /* is null */
1019 var2
= 1; /* arg is null and recv is not */
1022 { /* Inline kernel#Object#!= (var_nlabel,var1) on <var_nlabel:nullable ALabel> */
1025 var5
= ((short int (*)(val
* self
, val
* p0
))(var_nlabel
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nlabel
, var_other
) /* == on <var_nlabel:nullable ALabel(ALabel)>*/;
1036 { /* Inline parser_nodes#ALabel#n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1037 var9
= var_nlabel
->attrs
[COLOR_nit__parser_nodes__ALabel___n_id
].val
; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1044 if (var_nid
== NULL
) {
1045 var11
= 1; /* is null */
1047 var11
= 0; /* arg is null but recv is not */
1050 { /* Inline kernel#Object#== (var_nid,var10) on <var_nid:nullable TId> */
1051 var_other14
= var10
;
1053 { /* Inline kernel#Object#is_same_instance (var_nid,var_other14) on <var_nid:nullable TId(TId)> */
1054 var17
= var_nid
== var_other14
;
1057 RET_LABEL16
:(void)0;
1062 RET_LABEL13
:(void)0;
1072 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
1077 var22
= nit__scope___nit__scope__ScopeVisitor___search_label(self
, var18
);
1081 if (var_res
== NULL
) {
1082 var24
= 0; /* is null */
1084 var24
= 1; /* arg is null and recv is not */
1087 { /* Inline kernel#Object#!= (var_res,var23) on <var_res:nullable EscapeMark> */
1090 var27
= ((short int (*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable EscapeMark(EscapeMark)>*/;
1095 RET_LABEL26
:(void)0;
1103 var31
= "Syntax error: anonymous label already defined.";
1105 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
1110 nit__scope___nit__scope__ScopeVisitor___error(self
, var_nlabel
, var30
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1119 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
1126 var39
= nit__lexer_work___Token___text(var_nid
);
1130 var40
= nit__scope___nit__scope__ScopeVisitor___search_label(self
, var_name
);
1134 if (var_found
== NULL
) {
1135 var42
= 0; /* is null */
1137 var42
= 1; /* arg is null and recv is not */
1140 { /* Inline kernel#Object#!= (var_found,var41) on <var_found:nullable EscapeMark> */
1143 var45
= ((short int (*)(val
* self
, val
* p0
))(var_found
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_found
, var_other
) /* == on <var_found:nullable EscapeMark(EscapeMark)>*/;
1148 RET_LABEL44
:(void)0;
1156 var49
= "Syntax error: label ";
1158 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
1165 var54
= " already defined.";
1167 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
1171 var57
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1172 { /* var57 = array_instance Array[Object] */
1174 var59
= NEW_standard__NativeArray(var58
, &type_standard__NativeArray__standard__Object
);
1175 ((struct instance_standard__NativeArray
*)var59
)->values
[0] = (val
*) var48
;
1176 ((struct instance_standard__NativeArray
*)var59
)->values
[1] = (val
*) var_name
;
1177 ((struct instance_standard__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
1179 ((void (*)(val
* self
, val
* p0
, long p1
))(var57
->class->vft
[COLOR_standard__array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
1183 var60
= ((val
* (*)(val
* self
))(var57
->class->vft
[COLOR_standard__string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
1186 nit__scope___nit__scope__ScopeVisitor___error(self
, var_nlabel
, var60
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1195 var62
= NEW_nit__EscapeMark(&type_nit__EscapeMark
);
1197 ((void (*)(val
* self
, val
* p0
))(var62
->class->vft
[COLOR_nit__scope__EscapeMark__name_61d
]))(var62
, var_name
) /* name= on <var62:EscapeMark>*/;
1200 ((void (*)(val
* self
))(var62
->class->vft
[COLOR_standard__kernel__Object__init
]))(var62
) /* init on <var62:EscapeMark>*/;
1204 var64
= NEW_nit__EscapeMark(&type_nit__EscapeMark
);
1206 ((void (*)(val
* self
, val
* p0
))(var64
->class->vft
[COLOR_nit__scope__EscapeMark__name_61d
]))(var64
, var_name
) /* name= on <var64:EscapeMark>*/;
1209 ((void (*)(val
* self
))(var64
->class->vft
[COLOR_standard__kernel__Object__init
]))(var64
) /* init on <var64:EscapeMark>*/;
1212 { /* Inline scope#EscapeMark#continue_mark= (var_res63,var64) on <var_res63:EscapeMark> */
1213 var_res63
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
= var64
; /* _continue_mark on <var_res63:EscapeMark> */
1214 RET_LABEL65
:(void)0;
1224 /* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
1225 val
* nit__scope___nit__scope__ScopeVisitor___get_escapemark(val
* self
, val
* p0
, val
* p1
) {
1226 val
* var
/* : nullable EscapeMark */;
1227 val
* var_node
/* var node: ANode */;
1228 val
* var_nlabel
/* var nlabel: nullable ALabel */;
1229 val
* var1
/* : null */;
1230 short int var2
/* : Bool */;
1231 short int var3
/* : Bool */;
1232 val
* var_other
/* var other: nullable Object */;
1233 short int var5
/* : Bool */;
1234 short int var6
/* : Bool */;
1235 val
* var7
/* : nullable TId */;
1236 val
* var9
/* : nullable TId */;
1237 val
* var_nid
/* var nid: nullable TId */;
1238 val
* var10
/* : null */;
1239 short int var11
/* : Bool */;
1240 short int var12
/* : Bool */;
1241 val
* var_other14
/* var other: nullable Object */;
1242 short int var15
/* : Bool */;
1243 short int var17
/* : Bool */;
1244 static val
* varonce
;
1245 val
* var18
/* : String */;
1246 char* var19
/* : NativeString */;
1247 long var20
/* : Int */;
1248 val
* var21
/* : FlatString */;
1249 val
* var22
/* : nullable EscapeMark */;
1250 val
* var_res
/* var res: nullable EscapeMark */;
1251 val
* var23
/* : null */;
1252 short int var24
/* : Bool */;
1253 short int var25
/* : Bool */;
1254 short int var27
/* : Bool */;
1255 short int var29
/* : Bool */;
1256 static val
* varonce30
;
1257 val
* var31
/* : String */;
1258 char* var32
/* : NativeString */;
1259 long var33
/* : Int */;
1260 val
* var34
/* : FlatString */;
1261 val
* var35
/* : null */;
1262 val
* var36
/* : String */;
1263 val
* var_name
/* var name: String */;
1264 val
* var37
/* : nullable EscapeMark */;
1265 val
* var_res38
/* var res: nullable EscapeMark */;
1266 val
* var39
/* : null */;
1267 short int var40
/* : Bool */;
1268 short int var41
/* : Bool */;
1269 short int var43
/* : Bool */;
1270 short int var45
/* : Bool */;
1271 static val
* varonce46
;
1272 val
* var47
/* : String */;
1273 char* var48
/* : NativeString */;
1274 long var49
/* : Int */;
1275 val
* var50
/* : FlatString */;
1276 static val
* varonce51
;
1277 val
* var52
/* : String */;
1278 char* var53
/* : NativeString */;
1279 long var54
/* : Int */;
1280 val
* var55
/* : FlatString */;
1281 val
* var56
/* : Array[Object] */;
1282 long var57
/* : Int */;
1283 val
* var58
/* : NativeArray[Object] */;
1284 val
* var59
/* : String */;
1285 val
* var60
/* : null */;
1286 val
* var61
/* : List[Scope] */;
1287 val
* var63
/* : List[Scope] */;
1288 val
* var_
/* var : List[Scope] */;
1289 val
* var64
/* : ListIterator[nullable Object] */;
1290 val
* var_65
/* var : ListIterator[Scope] */;
1291 short int var66
/* : Bool */;
1292 val
* var67
/* : nullable Object */;
1293 val
* var_scope
/* var scope: Scope */;
1294 val
* var68
/* : nullable EscapeMark */;
1295 val
* var70
/* : nullable EscapeMark */;
1296 val
* var_res71
/* var res: nullable EscapeMark */;
1297 val
* var72
/* : null */;
1298 short int var73
/* : Bool */;
1299 short int var74
/* : Bool */;
1300 short int var76
/* : Bool */;
1301 short int var77
/* : Bool */;
1302 static val
* varonce79
;
1303 val
* var80
/* : String */;
1304 char* var81
/* : NativeString */;
1305 long var82
/* : Int */;
1306 val
* var83
/* : FlatString */;
1307 val
* var84
/* : null */;
1311 if (var_nlabel
== NULL
) {
1312 var2
= 0; /* is null */
1314 var2
= 1; /* arg is null and recv is not */
1317 { /* Inline kernel#Object#!= (var_nlabel,var1) on <var_nlabel:nullable ALabel> */
1320 var5
= ((short int (*)(val
* self
, val
* p0
))(var_nlabel
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nlabel
, var_other
) /* == on <var_nlabel:nullable ALabel(ALabel)>*/;
1331 { /* Inline parser_nodes#ALabel#n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1332 var9
= var_nlabel
->attrs
[COLOR_nit__parser_nodes__ALabel___n_id
].val
; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1339 if (var_nid
== NULL
) {
1340 var11
= 1; /* is null */
1342 var11
= 0; /* arg is null but recv is not */
1345 { /* Inline kernel#Object#== (var_nid,var10) on <var_nid:nullable TId> */
1346 var_other14
= var10
;
1348 { /* Inline kernel#Object#is_same_instance (var_nid,var_other14) on <var_nid:nullable TId(TId)> */
1349 var17
= var_nid
== var_other14
;
1352 RET_LABEL16
:(void)0;
1357 RET_LABEL13
:(void)0;
1367 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
1372 var22
= nit__scope___nit__scope__ScopeVisitor___search_label(self
, var18
);
1376 if (var_res
== NULL
) {
1377 var24
= 1; /* is null */
1379 var24
= 0; /* arg is null but recv is not */
1382 { /* Inline kernel#Object#== (var_res,var23) on <var_res:nullable EscapeMark> */
1383 var_other14
= var23
;
1385 { /* Inline kernel#Object#is_same_instance (var_res,var_other14) on <var_res:nullable EscapeMark(EscapeMark)> */
1386 var29
= var_res
== var_other14
;
1389 RET_LABEL28
:(void)0;
1394 RET_LABEL26
:(void)0;
1402 var32
= "Syntax error: invalid anonymous label.";
1404 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
1409 nit__scope___nit__scope__ScopeVisitor___error(self
, var_nlabel
, var31
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1421 var36
= nit__lexer_work___Token___text(var_nid
);
1425 var37
= nit__scope___nit__scope__ScopeVisitor___search_label(self
, var_name
);
1429 if (var_res38
== NULL
) {
1430 var40
= 1; /* is null */
1432 var40
= 0; /* arg is null but recv is not */
1435 { /* Inline kernel#Object#== (var_res38,var39) on <var_res38:nullable EscapeMark> */
1436 var_other14
= var39
;
1438 { /* Inline kernel#Object#is_same_instance (var_res38,var_other14) on <var_res38:nullable EscapeMark(EscapeMark)> */
1439 var45
= var_res38
== var_other14
;
1442 RET_LABEL44
:(void)0;
1447 RET_LABEL42
:(void)0;
1455 var48
= "Syntax error: invalid label ";
1457 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
1466 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
1470 var56
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1471 { /* var56 = array_instance Array[Object] */
1473 var58
= NEW_standard__NativeArray(var57
, &type_standard__NativeArray__standard__Object
);
1474 ((struct instance_standard__NativeArray
*)var58
)->values
[0] = (val
*) var47
;
1475 ((struct instance_standard__NativeArray
*)var58
)->values
[1] = (val
*) var_name
;
1476 ((struct instance_standard__NativeArray
*)var58
)->values
[2] = (val
*) var52
;
1478 ((void (*)(val
* self
, val
* p0
, long p1
))(var56
->class->vft
[COLOR_standard__array__Array__with_native
]))(var56
, var58
, var57
) /* with_native on <var56:Array[Object]>*/;
1482 var59
= ((val
* (*)(val
* self
))(var56
->class->vft
[COLOR_standard__string__Object__to_s
]))(var56
) /* to_s on <var56:Array[Object]>*/;
1485 nit__scope___nit__scope__ScopeVisitor___error(self
, var_nlabel
, var59
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1496 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
1497 var63
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
1498 if (unlikely(var63
== NULL
)) {
1499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
1500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
1504 RET_LABEL62
:(void)0;
1509 var64
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_
);
1514 var66
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_65
);
1518 var67
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_65
);
1522 { /* Inline scope#Scope#escapemark (var_scope) on <var_scope:Scope> */
1523 var70
= var_scope
->attrs
[COLOR_nit__scope__Scope___escapemark
].val
; /* _escapemark on <var_scope:Scope> */
1525 RET_LABEL69
:(void)0;
1530 if (var_res71
== NULL
) {
1531 var73
= 0; /* is null */
1533 var73
= 1; /* arg is null and recv is not */
1536 { /* Inline kernel#Object#!= (var_res71,var72) on <var_res71:nullable EscapeMark> */
1539 var76
= ((short int (*)(val
* self
, val
* p0
))(var_res71
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res71
, var_other
) /* == on <var_res71:nullable EscapeMark(EscapeMark)>*/;
1544 RET_LABEL75
:(void)0;
1554 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_65
); /* Direct call list#ListIterator#next on <var_65:ListIterator[Scope]>*/
1560 BREAK_label
: (void)0;
1562 { /* Inline abstract_collection#Iterator#finish (var_65) on <var_65:ListIterator[Scope]> */
1563 RET_LABEL78
:(void)0;
1569 var81
= "Syntax Error: \'break\' statement outside block.";
1571 var83
= standard___standard__NativeString___to_s_with_length(var81
, var82
);
1576 nit__scope___nit__scope__ScopeVisitor___error(self
, var_node
, var80
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1585 /* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */
1586 void nit__scope___nit__scope__ScopeVisitor___error(val
* self
, val
* p0
, val
* p1
) {
1587 val
* var_node
/* var node: ANode */;
1588 val
* var_message
/* var message: String */;
1589 val
* var
/* : ToolContext */;
1590 val
* var2
/* : ToolContext */;
1591 val
* var3
/* : Location */;
1595 { /* Inline scope#ScopeVisitor#toolcontext (self) on <self:ScopeVisitor> */
1596 var2
= self
->attrs
[COLOR_nit__scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
1597 if (unlikely(var2
== NULL
)) {
1598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1599 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 70);
1607 var3
= ((val
* (*)(val
* self
))(var_node
->class->vft
[COLOR_nit__parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:ANode>*/;
1610 nit___nit__ToolContext___error(var
, var3
, var_message
); /* Direct call toolcontext#ToolContext#error on <var:ToolContext>*/
1614 /* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */
1615 val
* nit__scope___nit__scope__Scope___variables(val
* self
) {
1616 val
* var
/* : HashMap[String, Variable] */;
1617 val
* var1
/* : HashMap[String, Variable] */;
1618 var1
= self
->attrs
[COLOR_nit__scope__Scope___variables
].val
; /* _variables on <self:Scope> */
1619 if (unlikely(var1
== NULL
)) {
1620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1621 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 225);
1628 /* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */
1629 val
* nit__scope___nit__scope__Scope___escapemark(val
* self
) {
1630 val
* var
/* : nullable EscapeMark */;
1631 val
* var1
/* : nullable EscapeMark */;
1632 var1
= self
->attrs
[COLOR_nit__scope__Scope___escapemark
].val
; /* _escapemark on <self:Scope> */
1637 /* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */
1638 void nit__scope___nit__scope__Scope___escapemark_61d(val
* self
, val
* p0
) {
1639 self
->attrs
[COLOR_nit__scope__Scope___escapemark
].val
= p0
; /* _escapemark on <self:Scope> */
1642 /* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */
1643 val
* nit__scope___nit__scope__Scope___get_variable(val
* self
, val
* p0
) {
1644 val
* var
/* : nullable Variable */;
1645 val
* var_name
/* var name: String */;
1646 val
* var1
/* : HashMap[String, Variable] */;
1647 val
* var3
/* : HashMap[String, Variable] */;
1648 short int var4
/* : Bool */;
1649 val
* var5
/* : HashMap[String, Variable] */;
1650 val
* var7
/* : HashMap[String, Variable] */;
1651 val
* var8
/* : nullable Object */;
1652 val
* var9
/* : null */;
1655 { /* Inline scope#Scope#variables (self) on <self:Scope> */
1656 var3
= self
->attrs
[COLOR_nit__scope__Scope___variables
].val
; /* _variables on <self:Scope> */
1657 if (unlikely(var3
== NULL
)) {
1658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 225);
1667 var4
= standard___standard__MapRead___has_key(var1
, var_name
);
1671 { /* Inline scope#Scope#variables (self) on <self:Scope> */
1672 var7
= self
->attrs
[COLOR_nit__scope__Scope___variables
].val
; /* _variables on <self:Scope> */
1673 if (unlikely(var7
== NULL
)) {
1674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 225);
1683 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var5
, var_name
);
1695 /* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */
1696 void nit__scope___ANode___accept_scope_visitor(val
* self
, val
* p0
) {
1697 val
* var_v
/* var v: ScopeVisitor */;
1700 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
1704 /* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */
1705 void nit__scope___APropdef___do_scope(val
* self
, val
* p0
) {
1706 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1707 val
* var
/* : ScopeVisitor */;
1708 val
* var_v
/* var v: ScopeVisitor */;
1709 var_toolcontext
= p0
;
1710 var
= NEW_nit__scope__ScopeVisitor(&type_nit__scope__ScopeVisitor
);
1712 ((void (*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__scope__ScopeVisitor__toolcontext_61d
]))(var
, var_toolcontext
) /* toolcontext= on <var:ScopeVisitor>*/;
1715 ((void (*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
) /* init on <var:ScopeVisitor>*/;
1719 nit___nit__Visitor___enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
1722 nit__scope___nit__scope__ScopeVisitor___shift_scope(var_v
); /* Direct call scope#ScopeVisitor#shift_scope on <var_v:ScopeVisitor>*/
1726 /* method scope#AParam#variable for (self: AParam): nullable Variable */
1727 val
* nit__scope___AParam___variable(val
* self
) {
1728 val
* var
/* : nullable Variable */;
1729 val
* var1
/* : nullable Variable */;
1730 var1
= self
->attrs
[COLOR_nit__scope__AParam___variable
].val
; /* _variable on <self:AParam> */
1735 /* method scope#AParam#variable= for (self: AParam, nullable Variable) */
1736 void nit__scope___AParam___variable_61d(val
* self
, val
* p0
) {
1737 self
->attrs
[COLOR_nit__scope__AParam___variable
].val
= p0
; /* _variable on <self:AParam> */
1740 /* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */
1741 void nit__scope___AParam___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1742 val
* var_v
/* var v: ScopeVisitor */;
1743 val
* var
/* : TId */;
1744 val
* var2
/* : TId */;
1745 val
* var_nid
/* var nid: TId */;
1746 val
* var3
/* : Variable */;
1747 val
* var4
/* : String */;
1748 val
* var_variable
/* var variable: Variable */;
1749 short int var5
/* : Bool */;
1752 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___AParam___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AParam>*/;
1755 { /* Inline parser_nodes#AParam#n_id (self) on <self:AParam> */
1756 var2
= self
->attrs
[COLOR_nit__parser_nodes__AParam___n_id
].val
; /* _n_id on <self:AParam> */
1757 if (unlikely(var2
== NULL
)) {
1758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1520);
1767 var3
= NEW_nit__Variable(&type_nit__Variable
);
1769 var4
= nit__lexer_work___Token___text(var_nid
);
1772 ((void (*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__scope__Variable__name_61d
]))(var3
, var4
) /* name= on <var3:Variable>*/;
1775 ((void (*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
) /* init on <var3:Variable>*/;
1777 var_variable
= var3
;
1779 var5
= nit__scope___nit__scope__ScopeVisitor___register_variable(var_v
, var_nid
, var_variable
);
1782 { /* Inline scope#AParam#variable= (self,var_variable) on <self:AParam> */
1783 self
->attrs
[COLOR_nit__scope__AParam___variable
].val
= var_variable
; /* _variable on <self:AParam> */
1789 /* method scope#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */
1790 val
* nit__scope___AVardeclExpr___variable(val
* self
) {
1791 val
* var
/* : nullable Variable */;
1792 val
* var1
/* : nullable Variable */;
1793 var1
= self
->attrs
[COLOR_nit__scope__AVardeclExpr___variable
].val
; /* _variable on <self:AVardeclExpr> */
1798 /* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */
1799 void nit__scope___AVardeclExpr___variable_61d(val
* self
, val
* p0
) {
1800 self
->attrs
[COLOR_nit__scope__AVardeclExpr___variable
].val
= p0
; /* _variable on <self:AVardeclExpr> */
1803 /* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
1804 void nit__scope___AVardeclExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1805 val
* var_v
/* var v: ScopeVisitor */;
1806 val
* var
/* : TId */;
1807 val
* var2
/* : TId */;
1808 val
* var_nid
/* var nid: TId */;
1809 val
* var3
/* : Variable */;
1810 val
* var4
/* : String */;
1811 val
* var_variable
/* var variable: Variable */;
1812 short int var5
/* : Bool */;
1813 short int var6
/* : Bool */;
1816 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___AVardeclExpr___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AVardeclExpr>*/;
1819 { /* Inline parser_nodes#AVardeclExpr#n_id (self) on <self:AVardeclExpr> */
1820 var2
= self
->attrs
[COLOR_nit__parser_nodes__AVardeclExpr___n_id
].val
; /* _n_id on <self:AVardeclExpr> */
1821 if (unlikely(var2
== NULL
)) {
1822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
1823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1580);
1831 var3
= NEW_nit__Variable(&type_nit__Variable
);
1833 var4
= nit__lexer_work___Token___text(var_nid
);
1836 ((void (*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__scope__Variable__name_61d
]))(var3
, var4
) /* name= on <var3:Variable>*/;
1839 ((void (*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
) /* init on <var3:Variable>*/;
1841 var_variable
= var3
;
1843 var5
= nit__scope___nit__scope__ScopeVisitor___register_variable(var_v
, var_nid
, var_variable
);
1847 { /* Inline scope#Variable#warn_unread= (var_variable,var6) on <var_variable:Variable> */
1848 var_variable
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
= var6
; /* _warn_unread on <var_variable:Variable> */
1853 { /* Inline scope#AVardeclExpr#variable= (self,var_variable) on <self:AVardeclExpr> */
1854 self
->attrs
[COLOR_nit__scope__AVardeclExpr___variable
].val
= var_variable
; /* _variable on <self:AVardeclExpr> */
1860 /* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */
1861 void nit__scope___ASelfExpr___variable_61d(val
* self
, val
* p0
) {
1862 self
->attrs
[COLOR_nit__scope__ASelfExpr___variable
].val
= p0
; /* _variable on <self:ASelfExpr> */
1865 /* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
1866 void nit__scope___ASelfExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1867 val
* var_v
/* var v: ScopeVisitor */;
1868 val
* var
/* : Variable */;
1869 val
* var2
/* : Variable */;
1872 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___ASelfExpr___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASelfExpr>*/;
1875 { /* Inline scope#ScopeVisitor#selfvariable (var_v) on <var_v:ScopeVisitor> */
1876 var2
= var_v
->attrs
[COLOR_nit__scope__ScopeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:ScopeVisitor> */
1877 if (unlikely(var2
== NULL
)) {
1878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
1879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 73);
1887 { /* Inline scope#ASelfExpr#variable= (self,var) on <self:ASelfExpr> */
1888 self
->attrs
[COLOR_nit__scope__ASelfExpr___variable
].val
= var
; /* _variable on <self:ASelfExpr> */
1894 /* method scope#AEscapeExpr#escapemark for (self: AEscapeExpr): nullable EscapeMark */
1895 val
* nit__scope___AEscapeExpr___escapemark(val
* self
) {
1896 val
* var
/* : nullable EscapeMark */;
1897 val
* var1
/* : nullable EscapeMark */;
1898 var1
= self
->attrs
[COLOR_nit__scope__AEscapeExpr___escapemark
].val
; /* _escapemark on <self:AEscapeExpr> */
1903 /* method scope#AEscapeExpr#escapemark= for (self: AEscapeExpr, nullable EscapeMark) */
1904 void nit__scope___AEscapeExpr___escapemark_61d(val
* self
, val
* p0
) {
1905 self
->attrs
[COLOR_nit__scope__AEscapeExpr___escapemark
].val
= p0
; /* _escapemark on <self:AEscapeExpr> */
1908 /* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
1909 void nit__scope___AContinueExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1910 val
* var_v
/* var v: ScopeVisitor */;
1911 val
* var
/* : nullable ALabel */;
1912 val
* var2
/* : nullable ALabel */;
1913 val
* var3
/* : nullable EscapeMark */;
1914 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1915 val
* var4
/* : null */;
1916 short int var5
/* : Bool */;
1917 short int var6
/* : Bool */;
1918 val
* var_other
/* var other: nullable Object */;
1919 short int var8
/* : Bool */;
1920 short int var10
/* : Bool */;
1921 val
* var11
/* : nullable EscapeMark */;
1922 val
* var13
/* : nullable EscapeMark */;
1923 val
* var14
/* : null */;
1924 short int var15
/* : Bool */;
1925 short int var16
/* : Bool */;
1926 short int var18
/* : Bool */;
1927 short int var20
/* : Bool */;
1928 static val
* varonce
;
1929 val
* var21
/* : String */;
1930 char* var22
/* : NativeString */;
1931 long var23
/* : Int */;
1932 val
* var24
/* : FlatString */;
1933 val
* var25
/* : Array[AEscapeExpr] */;
1934 val
* var27
/* : Array[AEscapeExpr] */;
1937 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___AContinueExpr___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AContinueExpr>*/;
1940 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AContinueExpr> */
1941 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AContinueExpr> */
1947 var3
= nit__scope___nit__scope__ScopeVisitor___get_escapemark(var_v
, self
, var
);
1949 var_escapemark
= var3
;
1951 if (var_escapemark
== NULL
) {
1952 var5
= 1; /* is null */
1954 var5
= 0; /* arg is null but recv is not */
1957 { /* Inline kernel#Object#== (var_escapemark,var4) on <var_escapemark:nullable EscapeMark> */
1960 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1961 var10
= var_escapemark
== var_other
;
1978 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1979 var13
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1981 RET_LABEL12
:(void)0;
1984 var_escapemark
= var11
;
1986 if (var_escapemark
== NULL
) {
1987 var15
= 1; /* is null */
1989 var15
= 0; /* arg is null but recv is not */
1992 { /* Inline kernel#Object#== (var_escapemark,var14) on <var_escapemark:nullable EscapeMark> */
1995 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
1996 var20
= var_escapemark
== var_other
;
1999 RET_LABEL19
:(void)0;
2004 RET_LABEL17
:(void)0;
2012 var22
= "Error: cannot \'continue\', only \'break\'.";
2014 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
2019 nit__scope___nit__scope__ScopeVisitor___error(var_v
, self
, var21
); /* Direct call scope#ScopeVisitor#error on <var_v:ScopeVisitor>*/
2025 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2026 var27
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2027 if (unlikely(var27
== NULL
)) {
2028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
2033 RET_LABEL26
:(void)0;
2037 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var25
, self
); /* Direct call array#Array#add on <var25:Array[AEscapeExpr]>*/
2040 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:AContinueExpr> */
2041 self
->attrs
[COLOR_nit__scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:AContinueExpr> */
2042 RET_LABEL28
:(void)0;
2047 /* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
2048 void nit__scope___ABreakExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2049 val
* var_v
/* var v: ScopeVisitor */;
2050 val
* var
/* : nullable ALabel */;
2051 val
* var2
/* : nullable ALabel */;
2052 val
* var3
/* : nullable EscapeMark */;
2053 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
2054 val
* var4
/* : null */;
2055 short int var5
/* : Bool */;
2056 short int var6
/* : Bool */;
2057 val
* var_other
/* var other: nullable Object */;
2058 short int var8
/* : Bool */;
2059 short int var10
/* : Bool */;
2060 val
* var11
/* : Array[AEscapeExpr] */;
2061 val
* var13
/* : Array[AEscapeExpr] */;
2064 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___ABreakExpr___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ABreakExpr>*/;
2067 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ABreakExpr> */
2068 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ABreakExpr> */
2074 var3
= nit__scope___nit__scope__ScopeVisitor___get_escapemark(var_v
, self
, var
);
2076 var_escapemark
= var3
;
2078 if (var_escapemark
== NULL
) {
2079 var5
= 1; /* is null */
2081 var5
= 0; /* arg is null but recv is not */
2084 { /* Inline kernel#Object#== (var_escapemark,var4) on <var_escapemark:nullable EscapeMark> */
2087 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2088 var10
= var_escapemark
== var_other
;
2105 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2106 var13
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2107 if (unlikely(var13
== NULL
)) {
2108 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2109 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
2113 RET_LABEL12
:(void)0;
2117 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var11
, self
); /* Direct call array#Array#add on <var11:Array[AEscapeExpr]>*/
2120 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
2121 self
->attrs
[COLOR_nit__scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:ABreakExpr> */
2122 RET_LABEL14
:(void)0;
2127 /* method scope#ADoExpr#break_mark for (self: ADoExpr): nullable EscapeMark */
2128 val
* nit__scope___ADoExpr___break_mark(val
* self
) {
2129 val
* var
/* : nullable EscapeMark */;
2130 val
* var1
/* : nullable EscapeMark */;
2131 var1
= self
->attrs
[COLOR_nit__scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:ADoExpr> */
2136 /* method scope#ADoExpr#break_mark= for (self: ADoExpr, nullable EscapeMark) */
2137 void nit__scope___ADoExpr___break_mark_61d(val
* self
, val
* p0
) {
2138 self
->attrs
[COLOR_nit__scope__ADoExpr___break_mark
].val
= p0
; /* _break_mark on <self:ADoExpr> */
2141 /* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
2142 void nit__scope___ADoExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2143 val
* var_v
/* var v: ScopeVisitor */;
2144 val
* var
/* : nullable ALabel */;
2145 val
* var2
/* : nullable ALabel */;
2146 short int var3
/* : Bool */;
2147 val
* var4
/* : EscapeMark */;
2148 val
* var6
/* : nullable AExpr */;
2149 val
* var8
/* : nullable AExpr */;
2150 val
* var9
/* : nullable EscapeMark */;
2151 val
* var11
/* : nullable EscapeMark */;
2154 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ADoExpr> */
2155 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ADoExpr> */
2162 var4
= nit__scope___nit__scope__ScopeVisitor___make_escape_mark(var_v
, var
, var3
);
2165 { /* Inline scope#ADoExpr#break_mark= (self,var4) on <self:ADoExpr> */
2166 self
->attrs
[COLOR_nit__scope__ADoExpr___break_mark
].val
= var4
; /* _break_mark on <self:ADoExpr> */
2171 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
2172 var8
= self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
2178 { /* Inline scope#ADoExpr#break_mark (self) on <self:ADoExpr> */
2179 var11
= self
->attrs
[COLOR_nit__scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:ADoExpr> */
2181 RET_LABEL10
:(void)0;
2185 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var6
, var9
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2189 /* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
2190 void nit__scope___AIfExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2191 val
* var_v
/* var v: ScopeVisitor */;
2192 val
* var
/* : AExpr */;
2193 val
* var2
/* : AExpr */;
2194 val
* var3
/* : nullable AExpr */;
2195 val
* var5
/* : nullable AExpr */;
2196 val
* var6
/* : null */;
2197 val
* var7
/* : nullable AExpr */;
2198 val
* var9
/* : nullable AExpr */;
2199 val
* var10
/* : null */;
2202 { /* Inline parser_nodes#AIfExpr#n_expr (self) on <self:AIfExpr> */
2203 var2
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
2204 if (unlikely(var2
== NULL
)) {
2205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1664);
2214 nit___nit__Visitor___enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2217 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
2218 var5
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
2225 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var3
, var6
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2228 { /* Inline parser_nodes#AIfExpr#n_else (self) on <self:AIfExpr> */
2229 var9
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
2236 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var7
, var10
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2240 /* method scope#AWhileExpr#break_mark for (self: AWhileExpr): nullable EscapeMark */
2241 val
* nit__scope___AWhileExpr___break_mark(val
* self
) {
2242 val
* var
/* : nullable EscapeMark */;
2243 val
* var1
/* : nullable EscapeMark */;
2244 var1
= self
->attrs
[COLOR_nit__scope__AWhileExpr___break_mark
].val
; /* _break_mark on <self:AWhileExpr> */
2249 /* method scope#AWhileExpr#break_mark= for (self: AWhileExpr, nullable EscapeMark) */
2250 void nit__scope___AWhileExpr___break_mark_61d(val
* self
, val
* p0
) {
2251 self
->attrs
[COLOR_nit__scope__AWhileExpr___break_mark
].val
= p0
; /* _break_mark on <self:AWhileExpr> */
2254 /* method scope#AWhileExpr#continue_mark for (self: AWhileExpr): nullable EscapeMark */
2255 val
* nit__scope___AWhileExpr___continue_mark(val
* self
) {
2256 val
* var
/* : nullable EscapeMark */;
2257 val
* var1
/* : nullable EscapeMark */;
2258 var1
= self
->attrs
[COLOR_nit__scope__AWhileExpr___continue_mark
].val
; /* _continue_mark on <self:AWhileExpr> */
2263 /* method scope#AWhileExpr#continue_mark= for (self: AWhileExpr, nullable EscapeMark) */
2264 void nit__scope___AWhileExpr___continue_mark_61d(val
* self
, val
* p0
) {
2265 self
->attrs
[COLOR_nit__scope__AWhileExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:AWhileExpr> */
2268 /* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
2269 void nit__scope___AWhileExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2270 val
* var_v
/* var v: ScopeVisitor */;
2271 val
* var
/* : nullable ALabel */;
2272 val
* var2
/* : nullable ALabel */;
2273 short int var3
/* : Bool */;
2274 val
* var4
/* : EscapeMark */;
2275 val
* var_escapemark
/* var escapemark: EscapeMark */;
2276 val
* var6
/* : nullable EscapeMark */;
2277 val
* var8
/* : nullable EscapeMark */;
2278 val
* var10
/* : AExpr */;
2279 val
* var12
/* : AExpr */;
2280 val
* var13
/* : nullable AExpr */;
2281 val
* var15
/* : nullable AExpr */;
2284 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AWhileExpr> */
2285 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AWhileExpr> */
2292 var4
= nit__scope___nit__scope__ScopeVisitor___make_escape_mark(var_v
, var
, var3
);
2294 var_escapemark
= var4
;
2296 { /* Inline scope#AWhileExpr#break_mark= (self,var_escapemark) on <self:AWhileExpr> */
2297 self
->attrs
[COLOR_nit__scope__AWhileExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:AWhileExpr> */
2302 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2303 var8
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
2309 { /* Inline scope#AWhileExpr#continue_mark= (self,var6) on <self:AWhileExpr> */
2310 self
->attrs
[COLOR_nit__scope__AWhileExpr___continue_mark
].val
= var6
; /* _continue_mark on <self:AWhileExpr> */
2315 { /* Inline parser_nodes#AWhileExpr#n_expr (self) on <self:AWhileExpr> */
2316 var12
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
2317 if (unlikely(var12
== NULL
)) {
2318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1705);
2323 RET_LABEL11
:(void)0;
2327 nit___nit__Visitor___enter_visit(var_v
, var10
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2330 { /* Inline parser_nodes#AWhileExpr#n_block (self) on <self:AWhileExpr> */
2331 var15
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
2333 RET_LABEL14
:(void)0;
2337 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var13
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2341 /* method scope#ALoopExpr#break_mark for (self: ALoopExpr): nullable EscapeMark */
2342 val
* nit__scope___ALoopExpr___break_mark(val
* self
) {
2343 val
* var
/* : nullable EscapeMark */;
2344 val
* var1
/* : nullable EscapeMark */;
2345 var1
= self
->attrs
[COLOR_nit__scope__ALoopExpr___break_mark
].val
; /* _break_mark on <self:ALoopExpr> */
2350 /* method scope#ALoopExpr#break_mark= for (self: ALoopExpr, nullable EscapeMark) */
2351 void nit__scope___ALoopExpr___break_mark_61d(val
* self
, val
* p0
) {
2352 self
->attrs
[COLOR_nit__scope__ALoopExpr___break_mark
].val
= p0
; /* _break_mark on <self:ALoopExpr> */
2355 /* method scope#ALoopExpr#continue_mark for (self: ALoopExpr): nullable EscapeMark */
2356 val
* nit__scope___ALoopExpr___continue_mark(val
* self
) {
2357 val
* var
/* : nullable EscapeMark */;
2358 val
* var1
/* : nullable EscapeMark */;
2359 var1
= self
->attrs
[COLOR_nit__scope__ALoopExpr___continue_mark
].val
; /* _continue_mark on <self:ALoopExpr> */
2364 /* method scope#ALoopExpr#continue_mark= for (self: ALoopExpr, nullable EscapeMark) */
2365 void nit__scope___ALoopExpr___continue_mark_61d(val
* self
, val
* p0
) {
2366 self
->attrs
[COLOR_nit__scope__ALoopExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:ALoopExpr> */
2369 /* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
2370 void nit__scope___ALoopExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2371 val
* var_v
/* var v: ScopeVisitor */;
2372 val
* var
/* : nullable ALabel */;
2373 val
* var2
/* : nullable ALabel */;
2374 short int var3
/* : Bool */;
2375 val
* var4
/* : EscapeMark */;
2376 val
* var_escapemark
/* var escapemark: EscapeMark */;
2377 val
* var6
/* : nullable EscapeMark */;
2378 val
* var8
/* : nullable EscapeMark */;
2379 val
* var10
/* : nullable AExpr */;
2380 val
* var12
/* : nullable AExpr */;
2383 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ALoopExpr> */
2384 var2
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ALoopExpr> */
2391 var4
= nit__scope___nit__scope__ScopeVisitor___make_escape_mark(var_v
, var
, var3
);
2393 var_escapemark
= var4
;
2395 { /* Inline scope#ALoopExpr#break_mark= (self,var_escapemark) on <self:ALoopExpr> */
2396 self
->attrs
[COLOR_nit__scope__ALoopExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:ALoopExpr> */
2401 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2402 var8
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
2408 { /* Inline scope#ALoopExpr#continue_mark= (self,var6) on <self:ALoopExpr> */
2409 self
->attrs
[COLOR_nit__scope__ALoopExpr___continue_mark
].val
= var6
; /* _continue_mark on <self:ALoopExpr> */
2414 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
2415 var12
= self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
2417 RET_LABEL11
:(void)0;
2421 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var10
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2425 /* method scope#AForExpr#variables for (self: AForExpr): nullable Array[Variable] */
2426 val
* nit__scope___AForExpr___variables(val
* self
) {
2427 val
* var
/* : nullable Array[Variable] */;
2428 val
* var1
/* : nullable Array[Variable] */;
2429 var1
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
2434 /* method scope#AForExpr#variables= for (self: AForExpr, nullable Array[Variable]) */
2435 void nit__scope___AForExpr___variables_61d(val
* self
, val
* p0
) {
2436 self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
= p0
; /* _variables on <self:AForExpr> */
2439 /* method scope#AForExpr#break_mark for (self: AForExpr): nullable EscapeMark */
2440 val
* nit__scope___AForExpr___break_mark(val
* self
) {
2441 val
* var
/* : nullable EscapeMark */;
2442 val
* var1
/* : nullable EscapeMark */;
2443 var1
= self
->attrs
[COLOR_nit__scope__AForExpr___break_mark
].val
; /* _break_mark on <self:AForExpr> */
2448 /* method scope#AForExpr#break_mark= for (self: AForExpr, nullable EscapeMark) */
2449 void nit__scope___AForExpr___break_mark_61d(val
* self
, val
* p0
) {
2450 self
->attrs
[COLOR_nit__scope__AForExpr___break_mark
].val
= p0
; /* _break_mark on <self:AForExpr> */
2453 /* method scope#AForExpr#continue_mark for (self: AForExpr): nullable EscapeMark */
2454 val
* nit__scope___AForExpr___continue_mark(val
* self
) {
2455 val
* var
/* : nullable EscapeMark */;
2456 val
* var1
/* : nullable EscapeMark */;
2457 var1
= self
->attrs
[COLOR_nit__scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:AForExpr> */
2462 /* method scope#AForExpr#continue_mark= for (self: AForExpr, nullable EscapeMark) */
2463 void nit__scope___AForExpr___continue_mark_61d(val
* self
, val
* p0
) {
2464 self
->attrs
[COLOR_nit__scope__AForExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:AForExpr> */
2467 /* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
2468 void nit__scope___AForExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2469 val
* var_v
/* var v: ScopeVisitor */;
2470 val
* var
/* : AExpr */;
2471 val
* var2
/* : AExpr */;
2472 val
* var3
/* : List[Scope] */;
2473 val
* var5
/* : List[Scope] */;
2474 val
* var6
/* : Scope */;
2475 val
* var8
/* : Array[Variable] */;
2476 val
* var_variables
/* var variables: Array[Variable] */;
2477 val
* var10
/* : ANodes[TId] */;
2478 val
* var12
/* : ANodes[TId] */;
2479 val
* var_
/* var : ANodes[TId] */;
2480 val
* var13
/* : Iterator[ANode] */;
2481 val
* var_14
/* var : Iterator[TId] */;
2482 short int var15
/* : Bool */;
2483 val
* var16
/* : nullable Object */;
2484 val
* var_nid
/* var nid: TId */;
2485 val
* var17
/* : Variable */;
2486 val
* var18
/* : String */;
2487 val
* var_va
/* var va: Variable */;
2488 short int var19
/* : Bool */;
2489 val
* var21
/* : nullable ALabel */;
2490 val
* var23
/* : nullable ALabel */;
2491 short int var24
/* : Bool */;
2492 val
* var25
/* : EscapeMark */;
2493 val
* var_escapemark
/* var escapemark: EscapeMark */;
2494 val
* var27
/* : nullable EscapeMark */;
2495 val
* var29
/* : nullable EscapeMark */;
2496 val
* var31
/* : nullable AExpr */;
2497 val
* var33
/* : nullable AExpr */;
2500 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
2501 var2
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
2502 if (unlikely(var2
== NULL
)) {
2503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1738);
2512 nit___nit__Visitor___enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2515 { /* Inline scope#ScopeVisitor#scopes (var_v) on <var_v:ScopeVisitor> */
2516 var5
= var_v
->attrs
[COLOR_nit__scope__ScopeVisitor___scopes
].val
; /* _scopes on <var_v:ScopeVisitor> */
2517 if (unlikely(var5
== NULL
)) {
2518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
2519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 80);
2526 var6
= NEW_nit__scope__Scope(&type_nit__scope__Scope
);
2528 { /* Inline kernel#Object#init (var6) on <var6:Scope> */
2533 standard___standard__List___standard__abstract_collection__Sequence__unshift(var3
, var6
); /* Direct call list#List#unshift on <var3:List[Scope]>*/
2535 var8
= NEW_standard__Array(&type_standard__Array__nit__Variable
);
2537 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Variable]>*/
2539 var_variables
= var8
;
2541 { /* Inline scope#AForExpr#variables= (self,var_variables) on <self:AForExpr> */
2542 self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
= var_variables
; /* _variables on <self:AForExpr> */
2547 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
2548 var12
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_ids
].val
; /* _n_ids on <self:AForExpr> */
2549 if (unlikely(var12
== NULL
)) {
2550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
2551 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1735);
2555 RET_LABEL11
:(void)0;
2560 var13
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
2565 var15
= ((short int (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_14
) /* is_ok on <var_14:Iterator[TId]>*/;
2569 var16
= ((val
* (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_14
) /* item on <var_14:Iterator[TId]>*/;
2572 var17
= NEW_nit__Variable(&type_nit__Variable
);
2574 var18
= nit__lexer_work___Token___text(var_nid
);
2577 ((void (*)(val
* self
, val
* p0
))(var17
->class->vft
[COLOR_nit__scope__Variable__name_61d
]))(var17
, var18
) /* name= on <var17:Variable>*/;
2580 ((void (*)(val
* self
))(var17
->class->vft
[COLOR_standard__kernel__Object__init
]))(var17
) /* init on <var17:Variable>*/;
2584 var19
= nit__scope___nit__scope__ScopeVisitor___register_variable(var_v
, var_nid
, var_va
);
2587 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_variables
, var_va
); /* Direct call array#Array#add on <var_variables:Array[Variable]>*/
2590 ((void (*)(val
* self
))(var_14
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_14
) /* next on <var_14:Iterator[TId]>*/;
2596 BREAK_label
: (void)0;
2598 { /* Inline abstract_collection#Iterator#finish (var_14) on <var_14:Iterator[TId]> */
2599 RET_LABEL20
:(void)0;
2603 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AForExpr> */
2604 var23
= self
->attrs
[COLOR_nit__parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AForExpr> */
2606 RET_LABEL22
:(void)0;
2611 var25
= nit__scope___nit__scope__ScopeVisitor___make_escape_mark(var_v
, var21
, var24
);
2613 var_escapemark
= var25
;
2615 { /* Inline scope#AForExpr#break_mark= (self,var_escapemark) on <self:AForExpr> */
2616 self
->attrs
[COLOR_nit__scope__AForExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:AForExpr> */
2617 RET_LABEL26
:(void)0;
2621 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2622 var29
= var_escapemark
->attrs
[COLOR_nit__scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
2624 RET_LABEL28
:(void)0;
2628 { /* Inline scope#AForExpr#continue_mark= (self,var27) on <self:AForExpr> */
2629 self
->attrs
[COLOR_nit__scope__AForExpr___continue_mark
].val
= var27
; /* _continue_mark on <self:AForExpr> */
2630 RET_LABEL30
:(void)0;
2634 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
2635 var33
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
2637 RET_LABEL32
:(void)0;
2641 nit__scope___nit__scope__ScopeVisitor___enter_visit_block(var_v
, var31
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2644 nit__scope___nit__scope__ScopeVisitor___shift_scope(var_v
); /* Direct call scope#ScopeVisitor#shift_scope on <var_v:ScopeVisitor>*/
2648 /* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */
2649 val
* nit__scope___AVarFormExpr___variable(val
* self
) {
2650 val
* var
/* : nullable Variable */;
2651 val
* var1
/* : nullable Variable */;
2652 var1
= self
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarFormExpr> */
2657 /* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */
2658 void nit__scope___AVarFormExpr___variable_61d(val
* self
, val
* p0
) {
2659 self
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
= p0
; /* _variable on <self:AVarFormExpr> */
2662 /* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
2663 void nit__scope___ACallFormExpr___ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2664 val
* var_v
/* var v: ScopeVisitor */;
2665 val
* var
/* : AExpr */;
2666 val
* var2
/* : AExpr */;
2667 short int var3
/* : Bool */;
2670 val
* var4
/* : TId */;
2671 val
* var6
/* : TId */;
2672 val
* var7
/* : String */;
2673 val
* var_name
/* var name: String */;
2674 val
* var8
/* : nullable Variable */;
2675 val
* var_variable
/* var variable: nullable Variable */;
2676 val
* var9
/* : null */;
2677 short int var10
/* : Bool */;
2678 short int var11
/* : Bool */;
2679 val
* var_other
/* var other: nullable Object */;
2680 short int var13
/* : Bool */;
2681 short int var14
/* : Bool */;
2682 short int var15
/* : Bool */;
2683 val
* var16
/* : AExprs */;
2684 val
* var18
/* : AExprs */;
2685 val
* var19
/* : ANodes[AExpr] */;
2686 val
* var21
/* : ANodes[AExpr] */;
2687 short int var22
/* : Bool */;
2688 short int var23
/* : Bool */;
2689 short int var_
/* var : Bool */;
2690 val
* var24
/* : AExprs */;
2691 val
* var26
/* : AExprs */;
2692 short int var27
/* : Bool */;
2695 static val
* varonce
;
2696 val
* var30
/* : String */;
2697 char* var31
/* : NativeString */;
2698 long var32
/* : Int */;
2699 val
* var33
/* : FlatString */;
2700 static val
* varonce34
;
2701 val
* var35
/* : String */;
2702 char* var36
/* : NativeString */;
2703 long var37
/* : Int */;
2704 val
* var38
/* : FlatString */;
2705 val
* var39
/* : Array[Object] */;
2706 long var40
/* : Int */;
2707 val
* var41
/* : NativeArray[Object] */;
2708 val
* var42
/* : String */;
2709 val
* var43
/* : AVarFormExpr */;
2710 val
* var_n
/* var n: AExpr */;
2713 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ACallFormExpr> */
2714 var2
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ACallFormExpr> */
2715 if (unlikely(var2
== NULL
)) {
2716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2717 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1802);
2724 /* <var:AExpr> isa AImplicitSelfExpr */
2725 cltype
= type_nit__AImplicitSelfExpr
.color
;
2726 idtype
= type_nit__AImplicitSelfExpr
.id
;
2727 if(cltype
>= var
->type
->table_size
) {
2730 var3
= var
->type
->type_table
[cltype
] == idtype
;
2734 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallFormExpr> */
2735 var6
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallFormExpr> */
2736 if (unlikely(var6
== NULL
)) {
2737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1999);
2746 var7
= nit__lexer_work___Token___text(var4
);
2750 var8
= nit__scope___nit__scope__ScopeVisitor___search_variable(var_v
, var_name
);
2752 var_variable
= var8
;
2754 if (var_variable
== NULL
) {
2755 var10
= 0; /* is null */
2757 var10
= 1; /* arg is null and recv is not */
2760 { /* Inline kernel#Object#!= (var_variable,var9) on <var_variable:nullable Variable> */
2763 var13
= ((short int (*)(val
* self
, val
* p0
))(var_variable
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
2768 RET_LABEL12
:(void)0;
2774 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallFormExpr> */
2775 var18
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallFormExpr> */
2776 if (unlikely(var18
== NULL
)) {
2777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2778 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2002);
2782 RET_LABEL17
:(void)0;
2786 { /* Inline parser_nodes#AExprs#n_exprs (var16) on <var16:AExprs> */
2787 var21
= var16
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var16:AExprs> */
2788 if (unlikely(var21
== NULL
)) {
2789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2790 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
2794 RET_LABEL20
:(void)0;
2798 var22
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var19
);
2806 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallFormExpr> */
2807 var26
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallFormExpr> */
2808 if (unlikely(var26
== NULL
)) {
2809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2002);
2814 RET_LABEL25
:(void)0;
2817 /* <var24:AExprs> isa AParExprs */
2818 cltype28
= type_nit__AParExprs
.color
;
2819 idtype29
= type_nit__AParExprs
.id
;
2820 if(cltype28
>= var24
->type
->table_size
) {
2823 var27
= var24
->type
->type_table
[cltype28
] == idtype29
;
2833 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
2840 var36
= " is variable, not a function.";
2842 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
2846 var39
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2847 { /* var39 = array_instance Array[Object] */
2849 var41
= NEW_standard__NativeArray(var40
, &type_standard__NativeArray__standard__Object
);
2850 ((struct instance_standard__NativeArray
*)var41
)->values
[0] = (val
*) var30
;
2851 ((struct instance_standard__NativeArray
*)var41
)->values
[1] = (val
*) var_name
;
2852 ((struct instance_standard__NativeArray
*)var41
)->values
[2] = (val
*) var35
;
2854 ((void (*)(val
* self
, val
* p0
, long p1
))(var39
->class->vft
[COLOR_standard__array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
2858 var42
= ((val
* (*)(val
* self
))(var39
->class->vft
[COLOR_standard__string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
2861 nit__scope___nit__scope__ScopeVisitor___error(var_v
, self
, var42
); /* Direct call scope#ScopeVisitor#error on <var_v:ScopeVisitor>*/
2867 var43
= ((val
* (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope__ACallFormExpr__variable_create
]))(self
, var_variable
) /* variable_create on <self:ACallFormExpr>*/;
2871 { /* Inline scope#AVarFormExpr#variable= (var_n,var_variable) on <var_n:AExpr(AVarFormExpr)> */
2872 var_n
->attrs
[COLOR_nit__scope__AVarFormExpr___variable
].val
= var_variable
; /* _variable on <var_n:AExpr(AVarFormExpr)> */
2873 RET_LABEL44
:(void)0;
2877 nit___nit__Prod___ANode__replace_with(self
, var_n
); /* Direct call parser_nodes#Prod#replace_with on <self:ACallFormExpr>*/
2880 nit__scope___ANode___accept_scope_visitor(var_n
, var_v
); /* Direct call scope#ANode#accept_scope_visitor on <var_n:AExpr(AVarFormExpr)>*/
2888 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__scope___ACallFormExpr___ANode__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ACallFormExpr>*/;
2892 /* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */
2893 val
* nit__scope___ACallExpr___ACallFormExpr__variable_create(val
* self
, val
* p0
) {
2894 val
* var
/* : AVarFormExpr */;
2895 val
* var_variable
/* var variable: Variable */;
2896 short int var1
/* : Bool */;
2897 val
* var3
/* : AVarExpr */;
2898 val
* var4
/* : TId */;
2899 val
* var6
/* : TId */;
2903 { /* Inline scope#Variable#warn_unread= (var_variable,var1) on <var_variable:Variable> */
2904 var_variable
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
= var1
; /* _warn_unread on <var_variable:Variable> */
2908 var3
= NEW_nit__AVarExpr(&type_nit__AVarExpr
);
2910 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallExpr> */
2911 var6
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallExpr> */
2912 if (unlikely(var6
== NULL
)) {
2913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1999);
2922 nit__parser_prod___AVarExpr___init_avarexpr(var3
, var4
); /* Direct call parser_prod#AVarExpr#init_avarexpr on <var3:AVarExpr>*/
2929 /* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
2930 val
* nit__scope___ACallAssignExpr___ACallFormExpr__variable_create(val
* self
, val
* p0
) {
2931 val
* var
/* : AVarFormExpr */;
2932 val
* var_variable
/* var variable: Variable */;
2933 val
* var1
/* : AVarAssignExpr */;
2934 val
* var2
/* : TId */;
2935 val
* var4
/* : TId */;
2936 val
* var5
/* : TAssign */;
2937 val
* var7
/* : TAssign */;
2938 val
* var8
/* : AExpr */;
2939 val
* var10
/* : AExpr */;
2941 var1
= NEW_nit__AVarAssignExpr(&type_nit__AVarAssignExpr
);
2943 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallAssignExpr> */
2944 var4
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallAssignExpr> */
2945 if (unlikely(var4
== NULL
)) {
2946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1999);
2955 { /* Inline parser_nodes#AAssignFormExpr#n_assign (self) on <self:ACallAssignExpr> */
2956 var7
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_assign
].val
; /* _n_assign on <self:ACallAssignExpr> */
2957 if (unlikely(var7
== NULL
)) {
2958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
2959 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1769);
2967 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ACallAssignExpr> */
2968 var10
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ACallAssignExpr> */
2969 if (unlikely(var10
== NULL
)) {
2970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
2971 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1772);
2979 nit__parser_prod___AVarAssignExpr___init_avarassignexpr(var1
, var2
, var5
, var8
); /* Direct call parser_prod#AVarAssignExpr#init_avarassignexpr on <var1:AVarAssignExpr>*/
2986 /* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
2987 val
* nit__scope___ACallReassignExpr___ACallFormExpr__variable_create(val
* self
, val
* p0
) {
2988 val
* var
/* : AVarFormExpr */;
2989 val
* var_variable
/* var variable: Variable */;
2990 short int var1
/* : Bool */;
2991 val
* var3
/* : AVarReassignExpr */;
2992 val
* var4
/* : TId */;
2993 val
* var6
/* : TId */;
2994 val
* var7
/* : AAssignOp */;
2995 val
* var9
/* : AAssignOp */;
2996 val
* var10
/* : AExpr */;
2997 val
* var12
/* : AExpr */;
3001 { /* Inline scope#Variable#warn_unread= (var_variable,var1) on <var_variable:Variable> */
3002 var_variable
->attrs
[COLOR_nit__scope__Variable___warn_unread
].s
= var1
; /* _warn_unread on <var_variable:Variable> */
3006 var3
= NEW_nit__AVarReassignExpr(&type_nit__AVarReassignExpr
);
3008 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallReassignExpr> */
3009 var6
= self
->attrs
[COLOR_nit__parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallReassignExpr> */
3010 if (unlikely(var6
== NULL
)) {
3011 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3012 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1999);
3020 { /* Inline parser_nodes#AReassignFormExpr#n_assign_op (self) on <self:ACallReassignExpr> */
3021 var9
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_assign_op
].val
; /* _n_assign_op on <self:ACallReassignExpr> */
3022 if (unlikely(var9
== NULL
)) {
3023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
3024 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1780);
3032 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ACallReassignExpr> */
3033 var12
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ACallReassignExpr> */
3034 if (unlikely(var12
== NULL
)) {
3035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1783);
3040 RET_LABEL11
:(void)0;
3044 nit__parser_prod___AVarReassignExpr___init_avarreassignexpr(var3
, var4
, var7
, var10
); /* Direct call parser_prod#AVarReassignExpr#init_avarreassignexpr on <var3:AVarReassignExpr>*/