1 #include "scope.sep.0.h"
2 /* method scope#ToolContext#scope_phase for (self: ToolContext): Phase */
3 val
* scope__ToolContext__scope_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_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", "semantize/scope.nit", 23);
16 /* method scope#ToolContext#scope_phase for (self: Object): Phase */
17 val
* VIRTUAL_scope__ToolContext__scope_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 val
* var3
/* : Phase */;
21 { /* Inline scope#ToolContext#scope_phase (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_scope__ToolContext___scope_phase
].val
; /* _scope_phase on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scope_phase");
25 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 23);
35 /* method scope#ScopePhase#process_npropdef for (self: ScopePhase, APropdef) */
36 void scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
37 val
* var_npropdef
/* var npropdef: APropdef */;
38 val
* var
/* : ToolContext */;
39 val
* var2
/* : ToolContext */;
42 { /* Inline phase#Phase#toolcontext (self) on <self:ScopePhase> */
43 var2
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ScopePhase> */
44 if (unlikely(var2
== NULL
)) {
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
46 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
54 scope__APropdef__do_scope(var_npropdef
, var
); /* Direct call scope#APropdef#do_scope on <var_npropdef:APropdef>*/
58 /* method scope#ScopePhase#process_npropdef for (self: Object, APropdef) */
59 void VIRTUAL_scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
60 scope__ScopePhase__process_npropdef(self
, p0
); /* Direct call scope#ScopePhase#process_npropdef on <self:Object(ScopePhase)>*/
63 /* method scope#Variable#name for (self: Variable): String */
64 val
* scope__Variable__name(val
* self
) {
65 val
* var
/* : String */;
66 val
* var1
/* : String */;
67 var1
= self
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <self:Variable> */
68 if (unlikely(var1
== NULL
)) {
69 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
70 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
77 /* method scope#Variable#name for (self: Object): String */
78 val
* VIRTUAL_scope__Variable__name(val
* self
) {
79 val
* var
/* : String */;
80 val
* var1
/* : String */;
81 val
* var3
/* : String */;
82 { /* Inline scope#Variable#name (self) on <self:Object(Variable)> */
83 var3
= self
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <self:Object(Variable)> */
84 if (unlikely(var3
== NULL
)) {
85 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
86 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
96 /* method scope#Variable#name= for (self: Variable, String) */
97 void scope__Variable__name_61d(val
* self
, val
* p0
) {
98 self
->attrs
[COLOR_scope__Variable___name
].val
= p0
; /* _name on <self:Variable> */
101 /* method scope#Variable#name= for (self: Object, String) */
102 void VIRTUAL_scope__Variable__name_61d(val
* self
, val
* p0
) {
103 { /* Inline scope#Variable#name= (self,p0) on <self:Object(Variable)> */
104 self
->attrs
[COLOR_scope__Variable___name
].val
= p0
; /* _name on <self:Object(Variable)> */
109 /* method scope#Variable#to_s for (self: Variable): String */
110 val
* scope__Variable__to_s(val
* self
) {
111 val
* var
/* : String */;
112 val
* var1
/* : String */;
113 val
* var3
/* : String */;
115 { /* Inline scope#Variable#name (self) on <self:Variable> */
116 var3
= self
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <self:Variable> */
117 if (unlikely(var3
== NULL
)) {
118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
119 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
131 /* method scope#Variable#to_s for (self: Object): String */
132 val
* VIRTUAL_scope__Variable__to_s(val
* self
) {
133 val
* var
/* : String */;
134 val
* var1
/* : String */;
135 var1
= scope__Variable__to_s(self
);
140 /* method scope#Variable#location for (self: Variable): nullable Location */
141 val
* scope__Variable__location(val
* self
) {
142 val
* var
/* : nullable Location */;
143 val
* var1
/* : nullable Location */;
144 var1
= self
->attrs
[COLOR_scope__Variable___location
].val
; /* _location on <self:Variable> */
149 /* method scope#Variable#location for (self: Object): nullable Location */
150 val
* VIRTUAL_scope__Variable__location(val
* self
) {
151 val
* var
/* : nullable Location */;
152 val
* var1
/* : nullable Location */;
153 val
* var3
/* : nullable Location */;
154 { /* Inline scope#Variable#location (self) on <self:Object(Variable)> */
155 var3
= self
->attrs
[COLOR_scope__Variable___location
].val
; /* _location on <self:Object(Variable)> */
163 /* method scope#Variable#location= for (self: Variable, nullable Location) */
164 void scope__Variable__location_61d(val
* self
, val
* p0
) {
165 self
->attrs
[COLOR_scope__Variable___location
].val
= p0
; /* _location on <self:Variable> */
168 /* method scope#Variable#location= for (self: Object, nullable Location) */
169 void VIRTUAL_scope__Variable__location_61d(val
* self
, val
* p0
) {
170 { /* Inline scope#Variable#location= (self,p0) on <self:Object(Variable)> */
171 self
->attrs
[COLOR_scope__Variable___location
].val
= p0
; /* _location on <self:Object(Variable)> */
176 /* method scope#Variable#warn_unread for (self: Variable): Bool */
177 short int scope__Variable__warn_unread(val
* self
) {
178 short int var
/* : Bool */;
179 short int var1
/* : Bool */;
180 var1
= self
->attrs
[COLOR_scope__Variable___warn_unread
].s
; /* _warn_unread on <self:Variable> */
185 /* method scope#Variable#warn_unread for (self: Object): Bool */
186 short int VIRTUAL_scope__Variable__warn_unread(val
* self
) {
187 short int var
/* : Bool */;
188 short int var1
/* : Bool */;
189 short int var3
/* : Bool */;
190 { /* Inline scope#Variable#warn_unread (self) on <self:Object(Variable)> */
191 var3
= self
->attrs
[COLOR_scope__Variable___warn_unread
].s
; /* _warn_unread on <self:Object(Variable)> */
199 /* method scope#Variable#warn_unread= for (self: Variable, Bool) */
200 void scope__Variable__warn_unread_61d(val
* self
, short int p0
) {
201 self
->attrs
[COLOR_scope__Variable___warn_unread
].s
= p0
; /* _warn_unread on <self:Variable> */
204 /* method scope#Variable#warn_unread= for (self: Object, Bool) */
205 void VIRTUAL_scope__Variable__warn_unread_61d(val
* self
, short int p0
) {
206 { /* Inline scope#Variable#warn_unread= (self,p0) on <self:Object(Variable)> */
207 self
->attrs
[COLOR_scope__Variable___warn_unread
].s
= p0
; /* _warn_unread on <self:Object(Variable)> */
212 /* method scope#Variable#init for (self: Variable) */
213 void scope__Variable__init(val
* self
) {
215 ((void (*)(val
*))(self
->class->vft
[COLOR_scope__Variable__init
]))(self
) /* init on <self:Variable>*/;
219 /* method scope#Variable#init for (self: Object) */
220 void VIRTUAL_scope__Variable__init(val
* self
) {
221 { /* Inline scope#Variable#init (self) on <self:Object(Variable)> */
223 ((void (*)(val
*))(self
->class->vft
[COLOR_scope__Variable__init
]))(self
) /* init on <self:Object(Variable)>*/;
229 /* method scope#EscapeMark#name for (self: EscapeMark): nullable String */
230 val
* scope__EscapeMark__name(val
* self
) {
231 val
* var
/* : nullable String */;
232 val
* var1
/* : nullable String */;
233 var1
= self
->attrs
[COLOR_scope__EscapeMark___name
].val
; /* _name on <self:EscapeMark> */
238 /* method scope#EscapeMark#name for (self: Object): nullable String */
239 val
* VIRTUAL_scope__EscapeMark__name(val
* self
) {
240 val
* var
/* : nullable String */;
241 val
* var1
/* : nullable String */;
242 val
* var3
/* : nullable String */;
243 { /* Inline scope#EscapeMark#name (self) on <self:Object(EscapeMark)> */
244 var3
= self
->attrs
[COLOR_scope__EscapeMark___name
].val
; /* _name on <self:Object(EscapeMark)> */
252 /* method scope#EscapeMark#name= for (self: EscapeMark, nullable String) */
253 void scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
254 self
->attrs
[COLOR_scope__EscapeMark___name
].val
= p0
; /* _name on <self:EscapeMark> */
257 /* method scope#EscapeMark#name= for (self: Object, nullable String) */
258 void VIRTUAL_scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
259 { /* Inline scope#EscapeMark#name= (self,p0) on <self:Object(EscapeMark)> */
260 self
->attrs
[COLOR_scope__EscapeMark___name
].val
= p0
; /* _name on <self:Object(EscapeMark)> */
265 /* method scope#EscapeMark#continue_mark for (self: EscapeMark): nullable EscapeMark */
266 val
* scope__EscapeMark__continue_mark(val
* self
) {
267 val
* var
/* : nullable EscapeMark */;
268 val
* var1
/* : nullable EscapeMark */;
269 var1
= self
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <self:EscapeMark> */
274 /* method scope#EscapeMark#continue_mark for (self: Object): nullable EscapeMark */
275 val
* VIRTUAL_scope__EscapeMark__continue_mark(val
* self
) {
276 val
* var
/* : nullable EscapeMark */;
277 val
* var1
/* : nullable EscapeMark */;
278 val
* var3
/* : nullable EscapeMark */;
279 { /* Inline scope#EscapeMark#continue_mark (self) on <self:Object(EscapeMark)> */
280 var3
= self
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <self:Object(EscapeMark)> */
288 /* method scope#EscapeMark#continue_mark= for (self: EscapeMark, nullable EscapeMark) */
289 void scope__EscapeMark__continue_mark_61d(val
* self
, val
* p0
) {
290 self
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
= p0
; /* _continue_mark on <self:EscapeMark> */
293 /* method scope#EscapeMark#continue_mark= for (self: Object, nullable EscapeMark) */
294 void VIRTUAL_scope__EscapeMark__continue_mark_61d(val
* self
, val
* p0
) {
295 { /* Inline scope#EscapeMark#continue_mark= (self,p0) on <self:Object(EscapeMark)> */
296 self
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
= p0
; /* _continue_mark on <self:Object(EscapeMark)> */
301 /* method scope#EscapeMark#escapes for (self: EscapeMark): Array[AEscapeExpr] */
302 val
* scope__EscapeMark__escapes(val
* self
) {
303 val
* var
/* : Array[AEscapeExpr] */;
304 val
* var1
/* : Array[AEscapeExpr] */;
305 var1
= self
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <self:EscapeMark> */
306 if (unlikely(var1
== NULL
)) {
307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
308 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
315 /* method scope#EscapeMark#escapes for (self: Object): Array[AEscapeExpr] */
316 val
* VIRTUAL_scope__EscapeMark__escapes(val
* self
) {
317 val
* var
/* : Array[AEscapeExpr] */;
318 val
* var1
/* : Array[AEscapeExpr] */;
319 val
* var3
/* : Array[AEscapeExpr] */;
320 { /* Inline scope#EscapeMark#escapes (self) on <self:Object(EscapeMark)> */
321 var3
= self
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <self:Object(EscapeMark)> */
322 if (unlikely(var3
== NULL
)) {
323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
324 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
334 /* method scope#EscapeMark#init for (self: EscapeMark) */
335 void scope__EscapeMark__init(val
* self
) {
337 ((void (*)(val
*))(self
->class->vft
[COLOR_scope__EscapeMark__init
]))(self
) /* init on <self:EscapeMark>*/;
341 /* method scope#EscapeMark#init for (self: Object) */
342 void VIRTUAL_scope__EscapeMark__init(val
* self
) {
343 { /* Inline scope#EscapeMark#init (self) on <self:Object(EscapeMark)> */
345 ((void (*)(val
*))(self
->class->vft
[COLOR_scope__EscapeMark__init
]))(self
) /* init on <self:Object(EscapeMark)>*/;
351 /* method scope#ScopeVisitor#toolcontext for (self: ScopeVisitor): ToolContext */
352 val
* scope__ScopeVisitor__toolcontext(val
* self
) {
353 val
* var
/* : ToolContext */;
354 val
* var1
/* : ToolContext */;
355 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
356 if (unlikely(var1
== NULL
)) {
357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
358 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 69);
365 /* method scope#ScopeVisitor#toolcontext for (self: Object): ToolContext */
366 val
* VIRTUAL_scope__ScopeVisitor__toolcontext(val
* self
) {
367 val
* var
/* : ToolContext */;
368 val
* var1
/* : ToolContext */;
369 val
* var3
/* : ToolContext */;
370 { /* Inline scope#ScopeVisitor#toolcontext (self) on <self:Object(ScopeVisitor)> */
371 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:Object(ScopeVisitor)> */
372 if (unlikely(var3
== NULL
)) {
373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
374 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 69);
384 /* method scope#ScopeVisitor#toolcontext= for (self: ScopeVisitor, ToolContext) */
385 void scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
386 self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:ScopeVisitor> */
389 /* method scope#ScopeVisitor#toolcontext= for (self: Object, ToolContext) */
390 void VIRTUAL_scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
391 { /* Inline scope#ScopeVisitor#toolcontext= (self,p0) on <self:Object(ScopeVisitor)> */
392 self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:Object(ScopeVisitor)> */
397 /* method scope#ScopeVisitor#selfvariable for (self: ScopeVisitor): Variable */
398 val
* scope__ScopeVisitor__selfvariable(val
* self
) {
399 val
* var
/* : Variable */;
400 val
* var1
/* : Variable */;
401 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___selfvariable
].val
; /* _selfvariable on <self:ScopeVisitor> */
402 if (unlikely(var1
== NULL
)) {
403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
404 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 72);
411 /* method scope#ScopeVisitor#selfvariable for (self: Object): Variable */
412 val
* VIRTUAL_scope__ScopeVisitor__selfvariable(val
* self
) {
413 val
* var
/* : Variable */;
414 val
* var1
/* : Variable */;
415 val
* var3
/* : Variable */;
416 { /* Inline scope#ScopeVisitor#selfvariable (self) on <self:Object(ScopeVisitor)> */
417 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___selfvariable
].val
; /* _selfvariable on <self:Object(ScopeVisitor)> */
418 if (unlikely(var3
== NULL
)) {
419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
420 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 72);
430 /* method scope#ScopeVisitor#init for (self: ScopeVisitor, ToolContext) */
431 void scope__ScopeVisitor__init(val
* self
, val
* p0
) {
432 val
* var_toolcontext
/* var toolcontext: ToolContext */;
433 val
* var
/* : List[Scope] */;
434 val
* var3
/* : List[Scope] */;
435 val
* var4
/* : Scope */;
437 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:ScopeVisitor>*/;
439 var_toolcontext
= p0
;
441 { /* Inline scope#ScopeVisitor#toolcontext= (self,var_toolcontext) on <self:ScopeVisitor> */
442 self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
= var_toolcontext
; /* _toolcontext on <self:ScopeVisitor> */
447 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
448 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
449 if (unlikely(var3
== NULL
)) {
450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
451 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
458 var4
= NEW_scope__Scope(&type_scope__Scope
);
460 ((void (*)(val
*))(var4
->class->vft
[COLOR_kernel__Object__init
]))(var4
) /* init on <var4:Scope>*/;
463 abstract_collection__Sequence__add(var
, var4
); /* Direct call abstract_collection#Sequence#add on <var:List[Scope]>*/
467 /* method scope#ScopeVisitor#init for (self: Object, ToolContext) */
468 void VIRTUAL_scope__ScopeVisitor__init(val
* self
, val
* p0
) {
469 scope__ScopeVisitor__init(self
, p0
); /* Direct call scope#ScopeVisitor#init on <self:Object(ScopeVisitor)>*/
472 /* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */
473 val
* scope__ScopeVisitor__scopes(val
* self
) {
474 val
* var
/* : List[Scope] */;
475 val
* var1
/* : List[Scope] */;
476 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
477 if (unlikely(var1
== NULL
)) {
478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
479 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
486 /* method scope#ScopeVisitor#scopes for (self: Object): List[Scope] */
487 val
* VIRTUAL_scope__ScopeVisitor__scopes(val
* self
) {
488 val
* var
/* : List[Scope] */;
489 val
* var1
/* : List[Scope] */;
490 val
* var3
/* : List[Scope] */;
491 { /* Inline scope#ScopeVisitor#scopes (self) on <self:Object(ScopeVisitor)> */
492 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:Object(ScopeVisitor)> */
493 if (unlikely(var3
== NULL
)) {
494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
495 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
505 /* method scope#ScopeVisitor#shift_scope for (self: ScopeVisitor) */
506 void scope__ScopeVisitor__shift_scope(val
* self
) {
507 val
* var
/* : List[Scope] */;
508 val
* var2
/* : List[Scope] */;
509 short int var3
/* : Bool */;
510 short int var4
/* : Bool */;
511 val
* var5
/* : List[Scope] */;
512 val
* var7
/* : List[Scope] */;
513 val
* var8
/* : nullable Object */;
514 val
* var_scope
/* var scope: Scope */;
515 val
* var9
/* : HashMap[String, Variable] */;
516 val
* var11
/* : HashMap[String, Variable] */;
517 val
* var12
/* : RemovableCollection[nullable Object] */;
518 val
* var14
/* : RemovableCollection[nullable Object] */;
519 val
* var_
/* var : RemovableCollection[Variable] */;
520 val
* var15
/* : Iterator[nullable Object] */;
521 val
* var_16
/* var : Iterator[Variable] */;
522 short int var17
/* : Bool */;
523 val
* var18
/* : nullable Object */;
524 val
* var_v
/* var v: Variable */;
525 short int var19
/* : Bool */;
526 short int var21
/* : Bool */;
527 val
* var22
/* : ToolContext */;
528 val
* var24
/* : ToolContext */;
529 val
* var25
/* : nullable Location */;
530 val
* var27
/* : nullable Location */;
532 val
* var28
/* : String */;
533 char* var29
/* : NativeString */;
534 long var30
/* : Int */;
535 val
* var31
/* : FlatString */;
536 static val
* varonce32
;
537 val
* var33
/* : String */;
538 char* var34
/* : NativeString */;
539 long var35
/* : Int */;
540 val
* var36
/* : FlatString */;
541 val
* var37
/* : String */;
542 val
* var39
/* : String */;
543 static val
* varonce40
;
544 val
* var41
/* : String */;
545 char* var42
/* : NativeString */;
546 long var43
/* : Int */;
547 val
* var44
/* : FlatString */;
548 val
* var45
/* : Array[Object] */;
549 long var46
/* : Int */;
550 val
* var47
/* : NativeArray[Object] */;
551 val
* var48
/* : String */;
553 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
554 var2
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
555 if (unlikely(var2
== NULL
)) {
556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
557 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
565 var3
= list__List__is_empty(var
);
568 if (unlikely(!var4
)) {
569 PRINT_ERROR("Runtime error: %s", "Assert failed");
570 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 86);
574 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
575 var7
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
576 if (unlikely(var7
== NULL
)) {
577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
578 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
586 var8
= list__List__shift(var5
);
590 { /* Inline scope#Scope#variables (var_scope) on <var_scope:Scope> */
591 var11
= var_scope
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <var_scope:Scope> */
592 if (unlikely(var11
== NULL
)) {
593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
594 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
602 { /* Inline hash_collection#HashMap#values (var9) on <var9:HashMap[String, Variable]> */
603 var14
= var9
->attrs
[COLOR_hash_collection__HashMap___values
].val
; /* _values on <var9:HashMap[String, Variable]> */
604 if (unlikely(var14
== NULL
)) {
605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
606 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/hash_collection.nit", 250);
615 var15
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:RemovableCollection[Variable]>*/;
620 var17
= ((short int (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_16
) /* is_ok on <var_16:Iterator[Variable]>*/;
624 var18
= ((val
* (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_16
) /* item on <var_16:Iterator[Variable]>*/;
628 { /* Inline scope#Variable#warn_unread (var_v) on <var_v:Variable> */
629 var21
= var_v
->attrs
[COLOR_scope__Variable___warn_unread
].s
; /* _warn_unread on <var_v:Variable> */
636 { /* Inline scope#ScopeVisitor#toolcontext (self) on <self:ScopeVisitor> */
637 var24
= self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
638 if (unlikely(var24
== NULL
)) {
639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
640 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 69);
648 { /* Inline scope#Variable#location (var_v) on <var_v:Variable> */
649 var27
= var_v
->attrs
[COLOR_scope__Variable___location
].val
; /* _location on <var_v:Variable> */
657 var29
= "unread-variable";
659 var31
= string__NativeString__to_s_with_length(var29
, var30
);
666 var34
= "Warning: local variable ";
668 var36
= string__NativeString__to_s_with_length(var34
, var35
);
673 { /* Inline scope#Variable#name (var_v) on <var_v:Variable> */
674 var39
= var_v
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <var_v:Variable> */
675 if (unlikely(var39
== NULL
)) {
676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
677 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
687 var42
= " is never read.";
689 var44
= string__NativeString__to_s_with_length(var42
, var43
);
693 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
694 { /* var45 = array_instance Array[Object] */
696 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
697 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var33
;
698 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var37
;
699 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var41
;
701 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
705 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
708 toolcontext__ToolContext__advice(var22
, var25
, var28
, var48
); /* Direct call toolcontext#ToolContext#advice on <var22:ToolContext>*/
713 ((void (*)(val
*))(var_16
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_16
) /* next on <var_16:Iterator[Variable]>*/;
719 BREAK_label
: (void)0;
721 { /* Inline abstract_collection#Iterator#finish (var_16) on <var_16:Iterator[Variable]> */
727 /* method scope#ScopeVisitor#shift_scope for (self: Object) */
728 void VIRTUAL_scope__ScopeVisitor__shift_scope(val
* self
) {
729 scope__ScopeVisitor__shift_scope(self
); /* Direct call scope#ScopeVisitor#shift_scope on <self:Object(ScopeVisitor)>*/
732 /* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
733 short int scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
734 short int var
/* : Bool */;
735 val
* var_node
/* var node: ANode */;
736 val
* var_variable
/* var variable: Variable */;
737 val
* var1
/* : String */;
738 val
* var3
/* : String */;
739 val
* var_name
/* var name: String */;
740 val
* var4
/* : nullable Variable */;
741 val
* var_found
/* var found: nullable Variable */;
742 val
* var5
/* : null */;
743 short int var6
/* : Bool */;
744 short int var7
/* : Bool */;
745 val
* var_other
/* var other: nullable Object */;
746 short int var9
/* : Bool */;
747 short int var10
/* : Bool */;
748 short int var11
/* : Bool */;
750 val
* var12
/* : String */;
751 char* var13
/* : NativeString */;
752 long var14
/* : Int */;
753 val
* var15
/* : FlatString */;
754 static val
* varonce16
;
755 val
* var17
/* : String */;
756 char* var18
/* : NativeString */;
757 long var19
/* : Int */;
758 val
* var20
/* : FlatString */;
759 val
* var21
/* : Array[Object] */;
760 long var22
/* : Int */;
761 val
* var23
/* : NativeArray[Object] */;
762 val
* var24
/* : String */;
763 short int var25
/* : Bool */;
764 val
* var26
/* : List[Scope] */;
765 val
* var28
/* : List[Scope] */;
766 val
* var29
/* : nullable Object */;
767 val
* var30
/* : HashMap[String, Variable] */;
768 val
* var32
/* : HashMap[String, Variable] */;
769 val
* var33
/* : Location */;
770 val
* var35
/* : Location */;
771 short int var37
/* : Bool */;
775 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
776 var3
= var_variable
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
777 if (unlikely(var3
== NULL
)) {
778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
779 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
788 var4
= scope__ScopeVisitor__search_variable(self
, var_name
);
792 if (var_found
== NULL
) {
793 var6
= 0; /* is null */
795 var6
= 1; /* arg is null and recv is not */
798 { /* Inline kernel#Object#!= (var_found,var5) on <var_found:nullable Variable> */
801 var10
= ((short int (*)(val
*, val
*))(var_found
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_found
, var_other
) /* == on <var_found:nullable Variable(Variable)>*/;
815 var13
= "Error: A variable named `";
817 var15
= string__NativeString__to_s_with_length(var13
, var14
);
824 var18
= "\' already exists";
826 var20
= string__NativeString__to_s_with_length(var18
, var19
);
830 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
831 { /* var21 = array_instance Array[Object] */
833 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
834 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var12
;
835 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var_name
;
836 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
838 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
842 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
845 scope__ScopeVisitor__error(self
, var_node
, var24
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
853 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
854 var28
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
855 if (unlikely(var28
== NULL
)) {
856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
857 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
865 var29
= list__List__first(var26
);
868 { /* Inline scope#Scope#variables (var29) on <var29:nullable Object(Scope)> */
869 var32
= var29
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <var29:nullable Object(Scope)> */
870 if (unlikely(var32
== NULL
)) {
871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
872 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
880 hash_collection__HashMap___91d_93d_61d(var30
, var_name
, var_variable
); /* Direct call hash_collection#HashMap#[]= on <var30:HashMap[String, Variable]>*/
883 { /* Inline parser_nodes#ANode#location (var_node) on <var_node:ANode> */
884 var35
= var_node
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_node:ANode> */
885 if (unlikely(var35
== NULL
)) {
886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
887 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
895 { /* Inline scope#Variable#location= (var_variable,var33) on <var_variable:Variable> */
896 var_variable
->attrs
[COLOR_scope__Variable___location
].val
= var33
; /* _location on <var_variable:Variable> */
906 /* method scope#ScopeVisitor#register_variable for (self: Object, ANode, Variable): Bool */
907 short int VIRTUAL_scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
908 short int var
/* : Bool */;
909 short int var1
/* : Bool */;
910 var1
= scope__ScopeVisitor__register_variable(self
, p0
, p1
);
915 /* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */
916 val
* scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
917 val
* var
/* : nullable Variable */;
918 val
* var_name
/* var name: String */;
919 val
* var1
/* : List[Scope] */;
920 val
* var3
/* : List[Scope] */;
921 val
* var_
/* var : List[Scope] */;
922 val
* var4
/* : ListIterator[nullable Object] */;
923 val
* var_5
/* var : ListIterator[Scope] */;
924 short int var6
/* : Bool */;
925 val
* var7
/* : nullable Object */;
926 val
* var_scope
/* var scope: Scope */;
927 val
* var8
/* : nullable Variable */;
928 val
* var_res
/* var res: nullable Variable */;
929 val
* var9
/* : null */;
930 short int var10
/* : Bool */;
931 short int var11
/* : Bool */;
932 val
* var_other
/* var other: nullable Object */;
933 short int var13
/* : Bool */;
934 short int var14
/* : Bool */;
935 short int var15
/* : Bool */;
936 val
* var17
/* : null */;
939 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
940 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
941 if (unlikely(var3
== NULL
)) {
942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
943 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
952 var4
= list__List__iterator(var_
);
957 var6
= list__ListIterator__is_ok(var_5
);
961 var7
= list__ListIterator__item(var_5
);
965 var8
= scope__Scope__get_variable(var_scope
, var_name
);
969 if (var_res
== NULL
) {
970 var10
= 0; /* is null */
972 var10
= 1; /* arg is null and recv is not */
975 { /* Inline kernel#Object#!= (var_res,var9) on <var_res:nullable Variable> */
978 var14
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable Variable(Variable)>*/;
994 list__ListIterator__next(var_5
); /* Direct call list#ListIterator#next on <var_5:ListIterator[Scope]>*/
1000 BREAK_label
: (void)0;
1002 { /* Inline abstract_collection#Iterator#finish (var_5) on <var_5:ListIterator[Scope]> */
1003 RET_LABEL16
:(void)0;
1012 /* method scope#ScopeVisitor#search_variable for (self: Object, String): nullable Variable */
1013 val
* VIRTUAL_scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
1014 val
* var
/* : nullable Variable */;
1015 val
* var1
/* : nullable Variable */;
1016 var1
= scope__ScopeVisitor__search_variable(self
, p0
);
1021 /* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */
1022 void scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
1023 val
* var_n
/* var n: ANode */;
1026 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, self
) /* accept_scope_visitor on <var_n:ANode>*/;
1030 /* method scope#ScopeVisitor#visit for (self: Object, ANode) */
1031 void VIRTUAL_scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
1032 scope__ScopeVisitor__visit(self
, p0
); /* Direct call scope#ScopeVisitor#visit on <self:Object(ScopeVisitor)>*/
1035 /* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
1036 void scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
1037 val
* var_node
/* var node: nullable AExpr */;
1038 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1039 val
* var
/* : null */;
1040 short int var1
/* : Bool */;
1041 short int var2
/* : Bool */;
1042 val
* var_other
/* var other: nullable Object */;
1043 short int var4
/* : Bool */;
1044 short int var6
/* : Bool */;
1045 val
* var7
/* : Scope */;
1046 val
* var_scope
/* var scope: Scope */;
1047 val
* var9
/* : List[Scope] */;
1048 val
* var11
/* : List[Scope] */;
1050 var_escapemark
= p1
;
1052 if (var_node
== NULL
) {
1053 var1
= 1; /* is null */
1055 var1
= 0; /* arg is null but recv is not */
1058 { /* Inline kernel#Object#== (var_node,var) on <var_node:nullable AExpr> */
1061 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable AExpr(AExpr)> */
1062 var6
= var_node
== var_other
;
1078 var7
= NEW_scope__Scope(&type_scope__Scope
);
1080 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Scope>*/;
1084 { /* Inline scope#Scope#escapemark= (var_scope,var_escapemark) on <var_scope:Scope> */
1085 var_scope
->attrs
[COLOR_scope__Scope___escapemark
].val
= var_escapemark
; /* _escapemark on <var_scope:Scope> */
1090 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
1091 var11
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
1092 if (unlikely(var11
== NULL
)) {
1093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
1094 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
1098 RET_LABEL10
:(void)0;
1102 list__List__unshift(var9
, var_scope
); /* Direct call list#List#unshift on <var9:List[Scope]>*/
1105 parser_nodes__Visitor__enter_visit(self
, var_node
); /* Direct call parser_nodes#Visitor#enter_visit on <self:ScopeVisitor>*/
1108 scope__ScopeVisitor__shift_scope(self
); /* Direct call scope#ScopeVisitor#shift_scope on <self:ScopeVisitor>*/
1112 /* method scope#ScopeVisitor#enter_visit_block for (self: Object, nullable AExpr, nullable EscapeMark) */
1113 void VIRTUAL_scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
1114 scope__ScopeVisitor__enter_visit_block(self
, p0
, p1
); /* Direct call scope#ScopeVisitor#enter_visit_block on <self:Object(ScopeVisitor)>*/
1117 /* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */
1118 val
* scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
1119 val
* var
/* : nullable EscapeMark */;
1120 val
* var_name
/* var name: String */;
1121 val
* var1
/* : List[Scope] */;
1122 val
* var3
/* : List[Scope] */;
1123 val
* var_
/* var : List[Scope] */;
1124 val
* var4
/* : ListIterator[nullable Object] */;
1125 val
* var_5
/* var : ListIterator[Scope] */;
1126 short int var6
/* : Bool */;
1127 val
* var7
/* : nullable Object */;
1128 val
* var_scope
/* var scope: Scope */;
1129 val
* var8
/* : nullable EscapeMark */;
1130 val
* var10
/* : nullable EscapeMark */;
1131 val
* var_res
/* var res: nullable EscapeMark */;
1132 short int var11
/* : Bool */;
1133 val
* var12
/* : null */;
1134 short int var13
/* : Bool */;
1135 short int var14
/* : Bool */;
1136 val
* var_other
/* var other: nullable Object */;
1137 short int var16
/* : Bool */;
1138 short int var17
/* : Bool */;
1139 short int var18
/* : Bool */;
1140 short int var_19
/* var : Bool */;
1141 val
* var20
/* : nullable String */;
1142 val
* var22
/* : nullable String */;
1143 short int var23
/* : Bool */;
1144 short int var24
/* : Bool */;
1145 val
* var26
/* : null */;
1148 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
1149 var3
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
1150 if (unlikely(var3
== NULL
)) {
1151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
1152 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
1161 var4
= list__List__iterator(var_
);
1166 var6
= list__ListIterator__is_ok(var_5
);
1170 var7
= list__ListIterator__item(var_5
);
1174 { /* Inline scope#Scope#escapemark (var_scope) on <var_scope:Scope> */
1175 var10
= var_scope
->attrs
[COLOR_scope__Scope___escapemark
].val
; /* _escapemark on <var_scope:Scope> */
1182 if (var_res
== NULL
) {
1183 var13
= 0; /* is null */
1185 var13
= 1; /* arg is null and recv is not */
1188 { /* Inline kernel#Object#!= (var_res,var12) on <var_res:nullable EscapeMark> */
1191 var17
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable EscapeMark(EscapeMark)>*/;
1197 RET_LABEL15
:(void)0;
1204 { /* Inline scope#EscapeMark#name (var_res) on <var_res:nullable EscapeMark(EscapeMark)> */
1205 var22
= var_res
->attrs
[COLOR_scope__EscapeMark___name
].val
; /* _name on <var_res:nullable EscapeMark(EscapeMark)> */
1207 RET_LABEL21
:(void)0;
1210 if (var20
== NULL
) {
1211 var23
= 0; /* <var_name:String> cannot be null */
1213 var24
= string__FlatString___61d_61d(var20
, var_name
);
1226 list__ListIterator__next(var_5
); /* Direct call list#ListIterator#next on <var_5:ListIterator[Scope]>*/
1232 BREAK_label
: (void)0;
1234 { /* Inline abstract_collection#Iterator#finish (var_5) on <var_5:ListIterator[Scope]> */
1235 RET_LABEL25
:(void)0;
1244 /* method scope#ScopeVisitor#search_label for (self: Object, String): nullable EscapeMark */
1245 val
* VIRTUAL_scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
1246 val
* var
/* : nullable EscapeMark */;
1247 val
* var1
/* : nullable EscapeMark */;
1248 var1
= scope__ScopeVisitor__search_label(self
, p0
);
1253 /* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
1254 val
* scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
1255 val
* var
/* : EscapeMark */;
1256 val
* var_nlabel
/* var nlabel: nullable ALabel */;
1257 short int var_for_loop
/* var for_loop: Bool */;
1258 val
* var1
/* : null */;
1259 short int var2
/* : Bool */;
1260 short int var3
/* : Bool */;
1261 val
* var_other
/* var other: nullable Object */;
1262 short int var5
/* : Bool */;
1263 short int var6
/* : Bool */;
1264 short int var7
/* : Bool */;
1265 val
* var8
/* : nullable TId */;
1266 val
* var10
/* : nullable TId */;
1267 val
* var_nid
/* var nid: nullable TId */;
1268 val
* var11
/* : null */;
1269 short int var12
/* : Bool */;
1270 short int var13
/* : Bool */;
1271 val
* var_other15
/* var other: nullable Object */;
1272 short int var16
/* : Bool */;
1273 short int var18
/* : Bool */;
1274 static val
* varonce
;
1275 val
* var19
/* : String */;
1276 char* var20
/* : NativeString */;
1277 long var21
/* : Int */;
1278 val
* var22
/* : FlatString */;
1279 val
* var23
/* : nullable EscapeMark */;
1280 val
* var_res
/* var res: nullable EscapeMark */;
1281 val
* var24
/* : null */;
1282 short int var25
/* : Bool */;
1283 short int var26
/* : Bool */;
1284 short int var28
/* : Bool */;
1285 short int var29
/* : Bool */;
1286 short int var30
/* : Bool */;
1287 static val
* varonce31
;
1288 val
* var32
/* : String */;
1289 char* var33
/* : NativeString */;
1290 long var34
/* : Int */;
1291 val
* var35
/* : FlatString */;
1292 static val
* varonce36
;
1293 val
* var37
/* : String */;
1294 char* var38
/* : NativeString */;
1295 long var39
/* : Int */;
1296 val
* var40
/* : FlatString */;
1297 val
* var_name
/* var name: nullable String */;
1298 val
* var41
/* : String */;
1299 val
* var42
/* : nullable EscapeMark */;
1300 val
* var_found
/* var found: nullable EscapeMark */;
1301 val
* var43
/* : null */;
1302 short int var44
/* : Bool */;
1303 short int var45
/* : Bool */;
1304 short int var47
/* : Bool */;
1305 short int var48
/* : Bool */;
1306 short int var49
/* : Bool */;
1307 static val
* varonce50
;
1308 val
* var51
/* : String */;
1309 char* var52
/* : NativeString */;
1310 long var53
/* : Int */;
1311 val
* var54
/* : FlatString */;
1312 static val
* varonce55
;
1313 val
* var56
/* : String */;
1314 char* var57
/* : NativeString */;
1315 long var58
/* : Int */;
1316 val
* var59
/* : FlatString */;
1317 val
* var60
/* : Array[Object] */;
1318 long var61
/* : Int */;
1319 val
* var62
/* : NativeArray[Object] */;
1320 val
* var63
/* : String */;
1321 val
* var64
/* : null */;
1322 val
* var65
/* : EscapeMark */;
1323 val
* var_res66
/* var res: EscapeMark */;
1324 val
* var67
/* : EscapeMark */;
1328 if (var_nlabel
== NULL
) {
1329 var2
= 0; /* is null */
1331 var2
= 1; /* arg is null and recv is not */
1334 { /* Inline kernel#Object#!= (var_nlabel,var1) on <var_nlabel:nullable ALabel> */
1337 var6
= ((short int (*)(val
*, val
*))(var_nlabel
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nlabel
, var_other
) /* == on <var_nlabel:nullable ALabel(ALabel)>*/;
1349 { /* Inline parser_nodes#ALabel#n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1350 var10
= var_nlabel
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1357 if (var_nid
== NULL
) {
1358 var12
= 1; /* is null */
1360 var12
= 0; /* arg is null but recv is not */
1363 { /* Inline kernel#Object#== (var_nid,var11) on <var_nid:nullable TId> */
1364 var_other15
= var11
;
1366 { /* Inline kernel#Object#is_same_instance (var_nid,var_other15) on <var_nid:nullable TId(TId)> */
1367 var18
= var_nid
== var_other15
;
1370 RET_LABEL17
:(void)0;
1375 RET_LABEL14
:(void)0;
1385 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1390 var23
= scope__ScopeVisitor__search_label(self
, var19
);
1394 if (var_res
== NULL
) {
1395 var25
= 0; /* is null */
1397 var25
= 1; /* arg is null and recv is not */
1400 { /* Inline kernel#Object#!= (var_res,var24) on <var_res:nullable EscapeMark> */
1403 var29
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable EscapeMark(EscapeMark)>*/;
1409 RET_LABEL27
:(void)0;
1417 var33
= "Syntax error: anonymous label already defined.";
1419 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1424 scope__ScopeVisitor__error(self
, var_nlabel
, var32
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1433 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1440 var41
= lexer_work__Token__text(var_nid
);
1444 var42
= scope__ScopeVisitor__search_label(self
, var_name
);
1448 if (var_found
== NULL
) {
1449 var44
= 0; /* is null */
1451 var44
= 1; /* arg is null and recv is not */
1454 { /* Inline kernel#Object#!= (var_found,var43) on <var_found:nullable EscapeMark> */
1457 var48
= ((short int (*)(val
*, val
*))(var_found
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_found
, var_other
) /* == on <var_found:nullable EscapeMark(EscapeMark)>*/;
1463 RET_LABEL46
:(void)0;
1471 var52
= "Syntax error: label ";
1473 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1480 var57
= " already defined.";
1482 var59
= string__NativeString__to_s_with_length(var57
, var58
);
1486 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
1487 { /* var60 = array_instance Array[Object] */
1489 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
1490 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var51
;
1491 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var_name
;
1492 ((struct instance_array__NativeArray
*)var62
)->values
[2] = (val
*) var56
;
1494 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
1498 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
1501 scope__ScopeVisitor__error(self
, var_nlabel
, var63
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1510 var65
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
1512 ((void (*)(val
*, val
*))(var65
->class->vft
[COLOR_scope__EscapeMark__name_61d
]))(var65
, var_name
) /* name= on <var65:EscapeMark>*/;
1515 ((void (*)(val
*))(var65
->class->vft
[COLOR_kernel__Object__init
]))(var65
) /* init on <var65:EscapeMark>*/;
1519 var67
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
1521 ((void (*)(val
*, val
*))(var67
->class->vft
[COLOR_scope__EscapeMark__name_61d
]))(var67
, var_name
) /* name= on <var67:EscapeMark>*/;
1524 ((void (*)(val
*))(var67
->class->vft
[COLOR_kernel__Object__init
]))(var67
) /* init on <var67:EscapeMark>*/;
1527 { /* Inline scope#EscapeMark#continue_mark= (var_res66,var67) on <var_res66:EscapeMark> */
1528 var_res66
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
= var67
; /* _continue_mark on <var_res66:EscapeMark> */
1529 RET_LABEL68
:(void)0;
1539 /* method scope#ScopeVisitor#make_escape_mark for (self: Object, nullable ALabel, Bool): EscapeMark */
1540 val
* VIRTUAL_scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
1541 val
* var
/* : EscapeMark */;
1542 val
* var1
/* : EscapeMark */;
1543 var1
= scope__ScopeVisitor__make_escape_mark(self
, p0
, p1
);
1548 /* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
1549 val
* scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
1550 val
* var
/* : nullable EscapeMark */;
1551 val
* var_node
/* var node: ANode */;
1552 val
* var_nlabel
/* var nlabel: nullable ALabel */;
1553 val
* var1
/* : null */;
1554 short int var2
/* : Bool */;
1555 short int var3
/* : Bool */;
1556 val
* var_other
/* var other: nullable Object */;
1557 short int var5
/* : Bool */;
1558 short int var6
/* : Bool */;
1559 short int var7
/* : Bool */;
1560 val
* var8
/* : nullable TId */;
1561 val
* var10
/* : nullable TId */;
1562 val
* var_nid
/* var nid: nullable TId */;
1563 val
* var11
/* : null */;
1564 short int var12
/* : Bool */;
1565 short int var13
/* : Bool */;
1566 val
* var_other15
/* var other: nullable Object */;
1567 short int var16
/* : Bool */;
1568 short int var18
/* : Bool */;
1569 static val
* varonce
;
1570 val
* var19
/* : String */;
1571 char* var20
/* : NativeString */;
1572 long var21
/* : Int */;
1573 val
* var22
/* : FlatString */;
1574 val
* var23
/* : nullable EscapeMark */;
1575 val
* var_res
/* var res: nullable EscapeMark */;
1576 val
* var24
/* : null */;
1577 short int var25
/* : Bool */;
1578 short int var26
/* : Bool */;
1579 short int var28
/* : Bool */;
1580 short int var30
/* : Bool */;
1581 static val
* varonce31
;
1582 val
* var32
/* : String */;
1583 char* var33
/* : NativeString */;
1584 long var34
/* : Int */;
1585 val
* var35
/* : FlatString */;
1586 val
* var36
/* : null */;
1587 val
* var37
/* : String */;
1588 val
* var_name
/* var name: String */;
1589 val
* var38
/* : nullable EscapeMark */;
1590 val
* var_res39
/* var res: nullable EscapeMark */;
1591 val
* var40
/* : null */;
1592 short int var41
/* : Bool */;
1593 short int var42
/* : Bool */;
1594 short int var44
/* : Bool */;
1595 short int var46
/* : Bool */;
1596 static val
* varonce47
;
1597 val
* var48
/* : String */;
1598 char* var49
/* : NativeString */;
1599 long var50
/* : Int */;
1600 val
* var51
/* : FlatString */;
1601 static val
* varonce52
;
1602 val
* var53
/* : String */;
1603 char* var54
/* : NativeString */;
1604 long var55
/* : Int */;
1605 val
* var56
/* : FlatString */;
1606 val
* var57
/* : Array[Object] */;
1607 long var58
/* : Int */;
1608 val
* var59
/* : NativeArray[Object] */;
1609 val
* var60
/* : String */;
1610 val
* var61
/* : null */;
1611 val
* var62
/* : List[Scope] */;
1612 val
* var64
/* : List[Scope] */;
1613 val
* var_
/* var : List[Scope] */;
1614 val
* var65
/* : ListIterator[nullable Object] */;
1615 val
* var_66
/* var : ListIterator[Scope] */;
1616 short int var67
/* : Bool */;
1617 val
* var68
/* : nullable Object */;
1618 val
* var_scope
/* var scope: Scope */;
1619 val
* var69
/* : nullable EscapeMark */;
1620 val
* var71
/* : nullable EscapeMark */;
1621 val
* var_res72
/* var res: nullable EscapeMark */;
1622 val
* var73
/* : null */;
1623 short int var74
/* : Bool */;
1624 short int var75
/* : Bool */;
1625 short int var77
/* : Bool */;
1626 short int var78
/* : Bool */;
1627 short int var79
/* : Bool */;
1628 static val
* varonce81
;
1629 val
* var82
/* : String */;
1630 char* var83
/* : NativeString */;
1631 long var84
/* : Int */;
1632 val
* var85
/* : FlatString */;
1633 val
* var86
/* : null */;
1637 if (var_nlabel
== NULL
) {
1638 var2
= 0; /* is null */
1640 var2
= 1; /* arg is null and recv is not */
1643 { /* Inline kernel#Object#!= (var_nlabel,var1) on <var_nlabel:nullable ALabel> */
1646 var6
= ((short int (*)(val
*, val
*))(var_nlabel
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nlabel
, var_other
) /* == on <var_nlabel:nullable ALabel(ALabel)>*/;
1658 { /* Inline parser_nodes#ALabel#n_id (var_nlabel) on <var_nlabel:nullable ALabel(ALabel)> */
1659 var10
= var_nlabel
->attrs
[COLOR_parser_nodes__ALabel___n_id
].val
; /* _n_id on <var_nlabel:nullable ALabel(ALabel)> */
1666 if (var_nid
== NULL
) {
1667 var12
= 1; /* is null */
1669 var12
= 0; /* arg is null but recv is not */
1672 { /* Inline kernel#Object#== (var_nid,var11) on <var_nid:nullable TId> */
1673 var_other15
= var11
;
1675 { /* Inline kernel#Object#is_same_instance (var_nid,var_other15) on <var_nid:nullable TId(TId)> */
1676 var18
= var_nid
== var_other15
;
1679 RET_LABEL17
:(void)0;
1684 RET_LABEL14
:(void)0;
1694 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1699 var23
= scope__ScopeVisitor__search_label(self
, var19
);
1703 if (var_res
== NULL
) {
1704 var25
= 1; /* is null */
1706 var25
= 0; /* arg is null but recv is not */
1709 { /* Inline kernel#Object#== (var_res,var24) on <var_res:nullable EscapeMark> */
1710 var_other15
= var24
;
1712 { /* Inline kernel#Object#is_same_instance (var_res,var_other15) on <var_res:nullable EscapeMark(EscapeMark)> */
1713 var30
= var_res
== var_other15
;
1716 RET_LABEL29
:(void)0;
1721 RET_LABEL27
:(void)0;
1729 var33
= "Syntax error: invalid anonymous label.";
1731 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1736 scope__ScopeVisitor__error(self
, var_nlabel
, var32
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1748 var37
= lexer_work__Token__text(var_nid
);
1752 var38
= scope__ScopeVisitor__search_label(self
, var_name
);
1756 if (var_res39
== NULL
) {
1757 var41
= 1; /* is null */
1759 var41
= 0; /* arg is null but recv is not */
1762 { /* Inline kernel#Object#== (var_res39,var40) on <var_res39:nullable EscapeMark> */
1763 var_other15
= var40
;
1765 { /* Inline kernel#Object#is_same_instance (var_res39,var_other15) on <var_res39:nullable EscapeMark(EscapeMark)> */
1766 var46
= var_res39
== var_other15
;
1769 RET_LABEL45
:(void)0;
1774 RET_LABEL43
:(void)0;
1782 var49
= "Syntax error: invalid label ";
1784 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1793 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1797 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
1798 { /* var57 = array_instance Array[Object] */
1800 var59
= NEW_array__NativeArray(var58
, &type_array__NativeArraykernel__Object
);
1801 ((struct instance_array__NativeArray
*)var59
)->values
[0] = (val
*) var48
;
1802 ((struct instance_array__NativeArray
*)var59
)->values
[1] = (val
*) var_name
;
1803 ((struct instance_array__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
1805 ((void (*)(val
*, val
*, long))(var57
->class->vft
[COLOR_array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
1809 var60
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
1812 scope__ScopeVisitor__error(self
, var_nlabel
, var60
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1823 { /* Inline scope#ScopeVisitor#scopes (self) on <self:ScopeVisitor> */
1824 var64
= self
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <self:ScopeVisitor> */
1825 if (unlikely(var64
== NULL
)) {
1826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
1827 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
1831 RET_LABEL63
:(void)0;
1836 var65
= list__List__iterator(var_
);
1841 var67
= list__ListIterator__is_ok(var_66
);
1845 var68
= list__ListIterator__item(var_66
);
1849 { /* Inline scope#Scope#escapemark (var_scope) on <var_scope:Scope> */
1850 var71
= var_scope
->attrs
[COLOR_scope__Scope___escapemark
].val
; /* _escapemark on <var_scope:Scope> */
1852 RET_LABEL70
:(void)0;
1857 if (var_res72
== NULL
) {
1858 var74
= 0; /* is null */
1860 var74
= 1; /* arg is null and recv is not */
1863 { /* Inline kernel#Object#!= (var_res72,var73) on <var_res72:nullable EscapeMark> */
1866 var78
= ((short int (*)(val
*, val
*))(var_res72
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res72
, var_other
) /* == on <var_res72:nullable EscapeMark(EscapeMark)>*/;
1872 RET_LABEL76
:(void)0;
1882 list__ListIterator__next(var_66
); /* Direct call list#ListIterator#next on <var_66:ListIterator[Scope]>*/
1888 BREAK_label
: (void)0;
1890 { /* Inline abstract_collection#Iterator#finish (var_66) on <var_66:ListIterator[Scope]> */
1891 RET_LABEL80
:(void)0;
1897 var83
= "Syntax Error: \'break\' statement outside block.";
1899 var85
= string__NativeString__to_s_with_length(var83
, var84
);
1904 scope__ScopeVisitor__error(self
, var_node
, var82
); /* Direct call scope#ScopeVisitor#error on <self:ScopeVisitor>*/
1913 /* method scope#ScopeVisitor#get_escapemark for (self: Object, ANode, nullable ALabel): nullable EscapeMark */
1914 val
* VIRTUAL_scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
1915 val
* var
/* : nullable EscapeMark */;
1916 val
* var1
/* : nullable EscapeMark */;
1917 var1
= scope__ScopeVisitor__get_escapemark(self
, p0
, p1
);
1922 /* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */
1923 void scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
1924 val
* var_node
/* var node: ANode */;
1925 val
* var_message
/* var message: String */;
1926 val
* var
/* : ToolContext */;
1927 val
* var2
/* : ToolContext */;
1928 val
* var3
/* : Location */;
1932 { /* Inline scope#ScopeVisitor#toolcontext (self) on <self:ScopeVisitor> */
1933 var2
= self
->attrs
[COLOR_scope__ScopeVisitor___toolcontext
].val
; /* _toolcontext on <self:ScopeVisitor> */
1934 if (unlikely(var2
== NULL
)) {
1935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1936 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 69);
1944 var3
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:ANode>*/;
1947 toolcontext__ToolContext__error(var
, var3
, var_message
); /* Direct call toolcontext#ToolContext#error on <var:ToolContext>*/
1951 /* method scope#ScopeVisitor#error for (self: Object, ANode, String) */
1952 void VIRTUAL_scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
1953 scope__ScopeVisitor__error(self
, p0
, p1
); /* Direct call scope#ScopeVisitor#error on <self:Object(ScopeVisitor)>*/
1956 /* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */
1957 val
* scope__Scope__variables(val
* self
) {
1958 val
* var
/* : HashMap[String, Variable] */;
1959 val
* var1
/* : HashMap[String, Variable] */;
1960 var1
= self
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <self:Scope> */
1961 if (unlikely(var1
== NULL
)) {
1962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1963 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
1970 /* method scope#Scope#variables for (self: Object): HashMap[String, Variable] */
1971 val
* VIRTUAL_scope__Scope__variables(val
* self
) {
1972 val
* var
/* : HashMap[String, Variable] */;
1973 val
* var1
/* : HashMap[String, Variable] */;
1974 val
* var3
/* : HashMap[String, Variable] */;
1975 { /* Inline scope#Scope#variables (self) on <self:Object(Scope)> */
1976 var3
= self
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <self:Object(Scope)> */
1977 if (unlikely(var3
== NULL
)) {
1978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
1979 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
1989 /* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */
1990 val
* scope__Scope__escapemark(val
* self
) {
1991 val
* var
/* : nullable EscapeMark */;
1992 val
* var1
/* : nullable EscapeMark */;
1993 var1
= self
->attrs
[COLOR_scope__Scope___escapemark
].val
; /* _escapemark on <self:Scope> */
1998 /* method scope#Scope#escapemark for (self: Object): nullable EscapeMark */
1999 val
* VIRTUAL_scope__Scope__escapemark(val
* self
) {
2000 val
* var
/* : nullable EscapeMark */;
2001 val
* var1
/* : nullable EscapeMark */;
2002 val
* var3
/* : nullable EscapeMark */;
2003 { /* Inline scope#Scope#escapemark (self) on <self:Object(Scope)> */
2004 var3
= self
->attrs
[COLOR_scope__Scope___escapemark
].val
; /* _escapemark on <self:Object(Scope)> */
2012 /* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */
2013 void scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
2014 self
->attrs
[COLOR_scope__Scope___escapemark
].val
= p0
; /* _escapemark on <self:Scope> */
2017 /* method scope#Scope#escapemark= for (self: Object, nullable EscapeMark) */
2018 void VIRTUAL_scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
2019 { /* Inline scope#Scope#escapemark= (self,p0) on <self:Object(Scope)> */
2020 self
->attrs
[COLOR_scope__Scope___escapemark
].val
= p0
; /* _escapemark on <self:Object(Scope)> */
2025 /* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */
2026 val
* scope__Scope__get_variable(val
* self
, val
* p0
) {
2027 val
* var
/* : nullable Variable */;
2028 val
* var_name
/* var name: String */;
2029 val
* var1
/* : HashMap[String, Variable] */;
2030 val
* var3
/* : HashMap[String, Variable] */;
2031 short int var4
/* : Bool */;
2032 val
* var5
/* : HashMap[String, Variable] */;
2033 val
* var7
/* : HashMap[String, Variable] */;
2034 val
* var8
/* : nullable Object */;
2035 val
* var9
/* : null */;
2038 { /* Inline scope#Scope#variables (self) on <self:Scope> */
2039 var3
= self
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <self:Scope> */
2040 if (unlikely(var3
== NULL
)) {
2041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
2042 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
2050 var4
= abstract_collection__MapRead__has_key(var1
, var_name
);
2054 { /* Inline scope#Scope#variables (self) on <self:Scope> */
2055 var7
= self
->attrs
[COLOR_scope__Scope___variables
].val
; /* _variables on <self:Scope> */
2056 if (unlikely(var7
== NULL
)) {
2057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
2058 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 225);
2066 var8
= hash_collection__HashMap___91d_93d(var5
, var_name
);
2078 /* method scope#Scope#get_variable for (self: Object, String): nullable Variable */
2079 val
* VIRTUAL_scope__Scope__get_variable(val
* self
, val
* p0
) {
2080 val
* var
/* : nullable Variable */;
2081 val
* var1
/* : nullable Variable */;
2082 var1
= scope__Scope__get_variable(self
, p0
);
2087 /* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */
2088 void scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2089 val
* var_v
/* var v: ScopeVisitor */;
2092 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
2096 /* method scope#ANode#accept_scope_visitor for (self: Object, ScopeVisitor) */
2097 void VIRTUAL_scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
2098 scope__ANode__accept_scope_visitor(self
, p0
); /* Direct call scope#ANode#accept_scope_visitor on <self:Object(ANode)>*/
2101 /* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */
2102 void scope__APropdef__do_scope(val
* self
, val
* p0
) {
2103 val
* var_toolcontext
/* var toolcontext: ToolContext */;
2104 val
* var
/* : ScopeVisitor */;
2105 val
* var_v
/* var v: ScopeVisitor */;
2106 var_toolcontext
= p0
;
2107 var
= NEW_scope__ScopeVisitor(&type_scope__ScopeVisitor
);
2109 scope__ScopeVisitor__init(var
, var_toolcontext
); /* Direct call scope#ScopeVisitor#init on <var:ScopeVisitor>*/
2113 parser_nodes__Visitor__enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2116 scope__ScopeVisitor__shift_scope(var_v
); /* Direct call scope#ScopeVisitor#shift_scope on <var_v:ScopeVisitor>*/
2120 /* method scope#APropdef#do_scope for (self: Object, ToolContext) */
2121 void VIRTUAL_scope__APropdef__do_scope(val
* self
, val
* p0
) {
2122 scope__APropdef__do_scope(self
, p0
); /* Direct call scope#APropdef#do_scope on <self:Object(APropdef)>*/
2125 /* method scope#AParam#variable for (self: AParam): nullable Variable */
2126 val
* scope__AParam__variable(val
* self
) {
2127 val
* var
/* : nullable Variable */;
2128 val
* var1
/* : nullable Variable */;
2129 var1
= self
->attrs
[COLOR_scope__AParam___variable
].val
; /* _variable on <self:AParam> */
2134 /* method scope#AParam#variable for (self: Object): nullable Variable */
2135 val
* VIRTUAL_scope__AParam__variable(val
* self
) {
2136 val
* var
/* : nullable Variable */;
2137 val
* var1
/* : nullable Variable */;
2138 val
* var3
/* : nullable Variable */;
2139 { /* Inline scope#AParam#variable (self) on <self:Object(AParam)> */
2140 var3
= self
->attrs
[COLOR_scope__AParam___variable
].val
; /* _variable on <self:Object(AParam)> */
2148 /* method scope#AParam#variable= for (self: AParam, nullable Variable) */
2149 void scope__AParam__variable_61d(val
* self
, val
* p0
) {
2150 self
->attrs
[COLOR_scope__AParam___variable
].val
= p0
; /* _variable on <self:AParam> */
2153 /* method scope#AParam#variable= for (self: Object, nullable Variable) */
2154 void VIRTUAL_scope__AParam__variable_61d(val
* self
, val
* p0
) {
2155 { /* Inline scope#AParam#variable= (self,p0) on <self:Object(AParam)> */
2156 self
->attrs
[COLOR_scope__AParam___variable
].val
= p0
; /* _variable on <self:Object(AParam)> */
2161 /* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */
2162 void scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
2163 val
* var_v
/* var v: ScopeVisitor */;
2164 val
* var
/* : TId */;
2165 val
* var2
/* : TId */;
2166 val
* var_nid
/* var nid: TId */;
2167 val
* var3
/* : Variable */;
2168 val
* var4
/* : String */;
2169 val
* var_variable
/* var variable: Variable */;
2170 short int var5
/* : Bool */;
2173 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AParam>*/;
2176 { /* Inline parser_nodes#AParam#n_id (self) on <self:AParam> */
2177 var2
= self
->attrs
[COLOR_parser_nodes__AParam___n_id
].val
; /* _n_id on <self:AParam> */
2178 if (unlikely(var2
== NULL
)) {
2179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2180 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1287);
2188 var3
= NEW_scope__Variable(&type_scope__Variable
);
2190 var4
= lexer_work__Token__text(var_nid
);
2193 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_scope__Variable__name_61d
]))(var3
, var4
) /* name= on <var3:Variable>*/;
2196 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Variable>*/;
2198 var_variable
= var3
;
2200 var5
= scope__ScopeVisitor__register_variable(var_v
, var_nid
, var_variable
);
2203 { /* Inline scope#AParam#variable= (self,var_variable) on <self:AParam> */
2204 self
->attrs
[COLOR_scope__AParam___variable
].val
= var_variable
; /* _variable on <self:AParam> */
2210 /* method scope#AParam#accept_scope_visitor for (self: Object, ScopeVisitor) */
2211 void VIRTUAL_scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
2212 scope__AParam__accept_scope_visitor(self
, p0
); /* Direct call scope#AParam#accept_scope_visitor on <self:Object(AParam)>*/
2215 /* method scope#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */
2216 val
* scope__AVardeclExpr__variable(val
* self
) {
2217 val
* var
/* : nullable Variable */;
2218 val
* var1
/* : nullable Variable */;
2219 var1
= self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
; /* _variable on <self:AVardeclExpr> */
2224 /* method scope#AVardeclExpr#variable for (self: Object): nullable Variable */
2225 val
* VIRTUAL_scope__AVardeclExpr__variable(val
* self
) {
2226 val
* var
/* : nullable Variable */;
2227 val
* var1
/* : nullable Variable */;
2228 val
* var3
/* : nullable Variable */;
2229 { /* Inline scope#AVardeclExpr#variable (self) on <self:Object(AVardeclExpr)> */
2230 var3
= self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
; /* _variable on <self:Object(AVardeclExpr)> */
2238 /* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */
2239 void scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
2240 self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
= p0
; /* _variable on <self:AVardeclExpr> */
2243 /* method scope#AVardeclExpr#variable= for (self: Object, nullable Variable) */
2244 void VIRTUAL_scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
2245 { /* Inline scope#AVardeclExpr#variable= (self,p0) on <self:Object(AVardeclExpr)> */
2246 self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
= p0
; /* _variable on <self:Object(AVardeclExpr)> */
2251 /* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
2252 void scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2253 val
* var_v
/* var v: ScopeVisitor */;
2254 val
* var
/* : TId */;
2255 val
* var2
/* : TId */;
2256 val
* var_nid
/* var nid: TId */;
2257 val
* var3
/* : Variable */;
2258 val
* var4
/* : String */;
2259 val
* var_variable
/* var variable: Variable */;
2260 short int var5
/* : Bool */;
2261 short int var6
/* : Bool */;
2264 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AVardeclExpr>*/;
2267 { /* Inline parser_nodes#AVardeclExpr#n_id (self) on <self:AVardeclExpr> */
2268 var2
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_id
].val
; /* _n_id on <self:AVardeclExpr> */
2269 if (unlikely(var2
== NULL
)) {
2270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2271 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1329);
2279 var3
= NEW_scope__Variable(&type_scope__Variable
);
2281 var4
= lexer_work__Token__text(var_nid
);
2284 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_scope__Variable__name_61d
]))(var3
, var4
) /* name= on <var3:Variable>*/;
2287 ((void (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__init
]))(var3
) /* init on <var3:Variable>*/;
2289 var_variable
= var3
;
2291 var5
= scope__ScopeVisitor__register_variable(var_v
, var_nid
, var_variable
);
2295 { /* Inline scope#Variable#warn_unread= (var_variable,var6) on <var_variable:Variable> */
2296 var_variable
->attrs
[COLOR_scope__Variable___warn_unread
].s
= var6
; /* _warn_unread on <var_variable:Variable> */
2301 { /* Inline scope#AVardeclExpr#variable= (self,var_variable) on <self:AVardeclExpr> */
2302 self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
= var_variable
; /* _variable on <self:AVardeclExpr> */
2308 /* method scope#AVardeclExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2309 void VIRTUAL_scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2310 scope__AVardeclExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#AVardeclExpr#accept_scope_visitor on <self:Object(AVardeclExpr)>*/
2313 /* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */
2314 void scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
2315 self
->attrs
[COLOR_scope__ASelfExpr___variable
].val
= p0
; /* _variable on <self:ASelfExpr> */
2318 /* method scope#ASelfExpr#variable= for (self: Object, nullable Variable) */
2319 void VIRTUAL_scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
2320 { /* Inline scope#ASelfExpr#variable= (self,p0) on <self:Object(ASelfExpr)> */
2321 self
->attrs
[COLOR_scope__ASelfExpr___variable
].val
= p0
; /* _variable on <self:Object(ASelfExpr)> */
2326 /* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
2327 void scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2328 val
* var_v
/* var v: ScopeVisitor */;
2329 val
* var
/* : Variable */;
2330 val
* var2
/* : Variable */;
2333 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASelfExpr>*/;
2336 { /* Inline scope#ScopeVisitor#selfvariable (var_v) on <var_v:ScopeVisitor> */
2337 var2
= var_v
->attrs
[COLOR_scope__ScopeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:ScopeVisitor> */
2338 if (unlikely(var2
== NULL
)) {
2339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
2340 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 72);
2348 { /* Inline scope#ASelfExpr#variable= (self,var) on <self:ASelfExpr> */
2349 self
->attrs
[COLOR_scope__ASelfExpr___variable
].val
= var
; /* _variable on <self:ASelfExpr> */
2355 /* method scope#ASelfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2356 void VIRTUAL_scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2357 scope__ASelfExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#ASelfExpr#accept_scope_visitor on <self:Object(ASelfExpr)>*/
2360 /* method scope#AEscapeExpr#escapemark for (self: AEscapeExpr): nullable EscapeMark */
2361 val
* scope__AEscapeExpr__escapemark(val
* self
) {
2362 val
* var
/* : nullable EscapeMark */;
2363 val
* var1
/* : nullable EscapeMark */;
2364 var1
= self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
; /* _escapemark on <self:AEscapeExpr> */
2369 /* method scope#AEscapeExpr#escapemark for (self: Object): nullable EscapeMark */
2370 val
* VIRTUAL_scope__AEscapeExpr__escapemark(val
* self
) {
2371 val
* var
/* : nullable EscapeMark */;
2372 val
* var1
/* : nullable EscapeMark */;
2373 val
* var3
/* : nullable EscapeMark */;
2374 { /* Inline scope#AEscapeExpr#escapemark (self) on <self:Object(AEscapeExpr)> */
2375 var3
= self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
; /* _escapemark on <self:Object(AEscapeExpr)> */
2383 /* method scope#AEscapeExpr#escapemark= for (self: AEscapeExpr, nullable EscapeMark) */
2384 void scope__AEscapeExpr__escapemark_61d(val
* self
, val
* p0
) {
2385 self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
= p0
; /* _escapemark on <self:AEscapeExpr> */
2388 /* method scope#AEscapeExpr#escapemark= for (self: Object, nullable EscapeMark) */
2389 void VIRTUAL_scope__AEscapeExpr__escapemark_61d(val
* self
, val
* p0
) {
2390 { /* Inline scope#AEscapeExpr#escapemark= (self,p0) on <self:Object(AEscapeExpr)> */
2391 self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
= p0
; /* _escapemark on <self:Object(AEscapeExpr)> */
2396 /* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
2397 void scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2398 val
* var_v
/* var v: ScopeVisitor */;
2399 val
* var
/* : nullable ALabel */;
2400 val
* var2
/* : nullable ALabel */;
2401 val
* var3
/* : nullable EscapeMark */;
2402 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
2403 val
* var4
/* : null */;
2404 short int var5
/* : Bool */;
2405 short int var6
/* : Bool */;
2406 val
* var_other
/* var other: nullable Object */;
2407 short int var8
/* : Bool */;
2408 short int var10
/* : Bool */;
2409 val
* var11
/* : nullable EscapeMark */;
2410 val
* var13
/* : nullable EscapeMark */;
2411 val
* var14
/* : null */;
2412 short int var15
/* : Bool */;
2413 short int var16
/* : Bool */;
2414 short int var18
/* : Bool */;
2415 short int var20
/* : Bool */;
2416 static val
* varonce
;
2417 val
* var21
/* : String */;
2418 char* var22
/* : NativeString */;
2419 long var23
/* : Int */;
2420 val
* var24
/* : FlatString */;
2421 val
* var25
/* : Array[AEscapeExpr] */;
2422 val
* var27
/* : Array[AEscapeExpr] */;
2425 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AContinueExpr>*/;
2428 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AContinueExpr> */
2429 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AContinueExpr> */
2435 var3
= scope__ScopeVisitor__get_escapemark(var_v
, self
, var
);
2437 var_escapemark
= var3
;
2439 if (var_escapemark
== NULL
) {
2440 var5
= 1; /* is null */
2442 var5
= 0; /* arg is null but recv is not */
2445 { /* Inline kernel#Object#== (var_escapemark,var4) on <var_escapemark:nullable EscapeMark> */
2448 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2449 var10
= var_escapemark
== var_other
;
2466 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2467 var13
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2469 RET_LABEL12
:(void)0;
2472 var_escapemark
= var11
;
2474 if (var_escapemark
== NULL
) {
2475 var15
= 1; /* is null */
2477 var15
= 0; /* arg is null but recv is not */
2480 { /* Inline kernel#Object#== (var_escapemark,var14) on <var_escapemark:nullable EscapeMark> */
2483 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2484 var20
= var_escapemark
== var_other
;
2487 RET_LABEL19
:(void)0;
2492 RET_LABEL17
:(void)0;
2500 var22
= "Error: cannot \'continue\', only \'break\'.";
2502 var24
= string__NativeString__to_s_with_length(var22
, var23
);
2507 scope__ScopeVisitor__error(var_v
, self
, var21
); /* Direct call scope#ScopeVisitor#error on <var_v:ScopeVisitor>*/
2513 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2514 var27
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2515 if (unlikely(var27
== NULL
)) {
2516 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2517 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
2521 RET_LABEL26
:(void)0;
2525 array__Array__add(var25
, self
); /* Direct call array#Array#add on <var25:Array[AEscapeExpr]>*/
2528 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:AContinueExpr> */
2529 self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:AContinueExpr> */
2530 RET_LABEL28
:(void)0;
2535 /* method scope#AContinueExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2536 void VIRTUAL_scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2537 scope__AContinueExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#AContinueExpr#accept_scope_visitor on <self:Object(AContinueExpr)>*/
2540 /* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
2541 void scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2542 val
* var_v
/* var v: ScopeVisitor */;
2543 val
* var
/* : nullable ALabel */;
2544 val
* var2
/* : nullable ALabel */;
2545 val
* var3
/* : nullable EscapeMark */;
2546 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
2547 val
* var4
/* : null */;
2548 short int var5
/* : Bool */;
2549 short int var6
/* : Bool */;
2550 val
* var_other
/* var other: nullable Object */;
2551 short int var8
/* : Bool */;
2552 short int var10
/* : Bool */;
2553 val
* var11
/* : Array[AEscapeExpr] */;
2554 val
* var13
/* : Array[AEscapeExpr] */;
2557 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ABreakExpr>*/;
2560 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ABreakExpr> */
2561 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ABreakExpr> */
2567 var3
= scope__ScopeVisitor__get_escapemark(var_v
, self
, var
);
2569 var_escapemark
= var3
;
2571 if (var_escapemark
== NULL
) {
2572 var5
= 1; /* is null */
2574 var5
= 0; /* arg is null but recv is not */
2577 { /* Inline kernel#Object#== (var_escapemark,var4) on <var_escapemark:nullable EscapeMark> */
2580 { /* Inline kernel#Object#is_same_instance (var_escapemark,var_other) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2581 var10
= var_escapemark
== var_other
;
2598 { /* Inline scope#EscapeMark#escapes (var_escapemark) on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2599 var13
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <var_escapemark:nullable EscapeMark(EscapeMark)> */
2600 if (unlikely(var13
== NULL
)) {
2601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
2602 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
2606 RET_LABEL12
:(void)0;
2610 array__Array__add(var11
, self
); /* Direct call array#Array#add on <var11:Array[AEscapeExpr]>*/
2613 { /* Inline scope#AEscapeExpr#escapemark= (self,var_escapemark) on <self:ABreakExpr> */
2614 self
->attrs
[COLOR_scope__AEscapeExpr___escapemark
].val
= var_escapemark
; /* _escapemark on <self:ABreakExpr> */
2615 RET_LABEL14
:(void)0;
2620 /* method scope#ABreakExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2621 void VIRTUAL_scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2622 scope__ABreakExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#ABreakExpr#accept_scope_visitor on <self:Object(ABreakExpr)>*/
2625 /* method scope#ADoExpr#break_mark for (self: ADoExpr): nullable EscapeMark */
2626 val
* scope__ADoExpr__break_mark(val
* self
) {
2627 val
* var
/* : nullable EscapeMark */;
2628 val
* var1
/* : nullable EscapeMark */;
2629 var1
= self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:ADoExpr> */
2634 /* method scope#ADoExpr#break_mark for (self: Object): nullable EscapeMark */
2635 val
* VIRTUAL_scope__ADoExpr__break_mark(val
* self
) {
2636 val
* var
/* : nullable EscapeMark */;
2637 val
* var1
/* : nullable EscapeMark */;
2638 val
* var3
/* : nullable EscapeMark */;
2639 { /* Inline scope#ADoExpr#break_mark (self) on <self:Object(ADoExpr)> */
2640 var3
= self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:Object(ADoExpr)> */
2648 /* method scope#ADoExpr#break_mark= for (self: ADoExpr, nullable EscapeMark) */
2649 void scope__ADoExpr__break_mark_61d(val
* self
, val
* p0
) {
2650 self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
= p0
; /* _break_mark on <self:ADoExpr> */
2653 /* method scope#ADoExpr#break_mark= for (self: Object, nullable EscapeMark) */
2654 void VIRTUAL_scope__ADoExpr__break_mark_61d(val
* self
, val
* p0
) {
2655 { /* Inline scope#ADoExpr#break_mark= (self,p0) on <self:Object(ADoExpr)> */
2656 self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
= p0
; /* _break_mark on <self:Object(ADoExpr)> */
2661 /* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
2662 void scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2663 val
* var_v
/* var v: ScopeVisitor */;
2664 val
* var
/* : nullable ALabel */;
2665 val
* var2
/* : nullable ALabel */;
2666 short int var3
/* : Bool */;
2667 val
* var4
/* : EscapeMark */;
2668 val
* var6
/* : nullable AExpr */;
2669 val
* var8
/* : nullable AExpr */;
2670 val
* var9
/* : nullable EscapeMark */;
2671 val
* var11
/* : nullable EscapeMark */;
2674 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ADoExpr> */
2675 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ADoExpr> */
2682 var4
= scope__ScopeVisitor__make_escape_mark(var_v
, var
, var3
);
2685 { /* Inline scope#ADoExpr#break_mark= (self,var4) on <self:ADoExpr> */
2686 self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
= var4
; /* _break_mark on <self:ADoExpr> */
2691 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
2692 var8
= self
->attrs
[COLOR_parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
2698 { /* Inline scope#ADoExpr#break_mark (self) on <self:ADoExpr> */
2699 var11
= self
->attrs
[COLOR_scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:ADoExpr> */
2701 RET_LABEL10
:(void)0;
2705 scope__ScopeVisitor__enter_visit_block(var_v
, var6
, var9
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2709 /* method scope#ADoExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2710 void VIRTUAL_scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2711 scope__ADoExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#ADoExpr#accept_scope_visitor on <self:Object(ADoExpr)>*/
2714 /* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
2715 void scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2716 val
* var_v
/* var v: ScopeVisitor */;
2717 val
* var
/* : AExpr */;
2718 val
* var2
/* : AExpr */;
2719 val
* var3
/* : nullable AExpr */;
2720 val
* var5
/* : nullable AExpr */;
2721 val
* var6
/* : null */;
2722 val
* var7
/* : nullable AExpr */;
2723 val
* var9
/* : nullable AExpr */;
2724 val
* var10
/* : null */;
2727 { /* Inline parser_nodes#AIfExpr#n_expr (self) on <self:AIfExpr> */
2728 var2
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
2729 if (unlikely(var2
== NULL
)) {
2730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2731 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1387);
2739 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2742 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
2743 var5
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
2750 scope__ScopeVisitor__enter_visit_block(var_v
, var3
, var6
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2753 { /* Inline parser_nodes#AIfExpr#n_else (self) on <self:AIfExpr> */
2754 var9
= self
->attrs
[COLOR_parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
2761 scope__ScopeVisitor__enter_visit_block(var_v
, var7
, var10
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2765 /* method scope#AIfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2766 void VIRTUAL_scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2767 scope__AIfExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#AIfExpr#accept_scope_visitor on <self:Object(AIfExpr)>*/
2770 /* method scope#AWhileExpr#break_mark for (self: AWhileExpr): nullable EscapeMark */
2771 val
* scope__AWhileExpr__break_mark(val
* self
) {
2772 val
* var
/* : nullable EscapeMark */;
2773 val
* var1
/* : nullable EscapeMark */;
2774 var1
= self
->attrs
[COLOR_scope__AWhileExpr___break_mark
].val
; /* _break_mark on <self:AWhileExpr> */
2779 /* method scope#AWhileExpr#break_mark for (self: Object): nullable EscapeMark */
2780 val
* VIRTUAL_scope__AWhileExpr__break_mark(val
* self
) {
2781 val
* var
/* : nullable EscapeMark */;
2782 val
* var1
/* : nullable EscapeMark */;
2783 val
* var3
/* : nullable EscapeMark */;
2784 { /* Inline scope#AWhileExpr#break_mark (self) on <self:Object(AWhileExpr)> */
2785 var3
= self
->attrs
[COLOR_scope__AWhileExpr___break_mark
].val
; /* _break_mark on <self:Object(AWhileExpr)> */
2793 /* method scope#AWhileExpr#break_mark= for (self: AWhileExpr, nullable EscapeMark) */
2794 void scope__AWhileExpr__break_mark_61d(val
* self
, val
* p0
) {
2795 self
->attrs
[COLOR_scope__AWhileExpr___break_mark
].val
= p0
; /* _break_mark on <self:AWhileExpr> */
2798 /* method scope#AWhileExpr#break_mark= for (self: Object, nullable EscapeMark) */
2799 void VIRTUAL_scope__AWhileExpr__break_mark_61d(val
* self
, val
* p0
) {
2800 { /* Inline scope#AWhileExpr#break_mark= (self,p0) on <self:Object(AWhileExpr)> */
2801 self
->attrs
[COLOR_scope__AWhileExpr___break_mark
].val
= p0
; /* _break_mark on <self:Object(AWhileExpr)> */
2806 /* method scope#AWhileExpr#continue_mark for (self: AWhileExpr): nullable EscapeMark */
2807 val
* scope__AWhileExpr__continue_mark(val
* self
) {
2808 val
* var
/* : nullable EscapeMark */;
2809 val
* var1
/* : nullable EscapeMark */;
2810 var1
= self
->attrs
[COLOR_scope__AWhileExpr___continue_mark
].val
; /* _continue_mark on <self:AWhileExpr> */
2815 /* method scope#AWhileExpr#continue_mark for (self: Object): nullable EscapeMark */
2816 val
* VIRTUAL_scope__AWhileExpr__continue_mark(val
* self
) {
2817 val
* var
/* : nullable EscapeMark */;
2818 val
* var1
/* : nullable EscapeMark */;
2819 val
* var3
/* : nullable EscapeMark */;
2820 { /* Inline scope#AWhileExpr#continue_mark (self) on <self:Object(AWhileExpr)> */
2821 var3
= self
->attrs
[COLOR_scope__AWhileExpr___continue_mark
].val
; /* _continue_mark on <self:Object(AWhileExpr)> */
2829 /* method scope#AWhileExpr#continue_mark= for (self: AWhileExpr, nullable EscapeMark) */
2830 void scope__AWhileExpr__continue_mark_61d(val
* self
, val
* p0
) {
2831 self
->attrs
[COLOR_scope__AWhileExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:AWhileExpr> */
2834 /* method scope#AWhileExpr#continue_mark= for (self: Object, nullable EscapeMark) */
2835 void VIRTUAL_scope__AWhileExpr__continue_mark_61d(val
* self
, val
* p0
) {
2836 { /* Inline scope#AWhileExpr#continue_mark= (self,p0) on <self:Object(AWhileExpr)> */
2837 self
->attrs
[COLOR_scope__AWhileExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:Object(AWhileExpr)> */
2842 /* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
2843 void scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2844 val
* var_v
/* var v: ScopeVisitor */;
2845 val
* var
/* : nullable ALabel */;
2846 val
* var2
/* : nullable ALabel */;
2847 short int var3
/* : Bool */;
2848 val
* var4
/* : EscapeMark */;
2849 val
* var_escapemark
/* var escapemark: EscapeMark */;
2850 val
* var6
/* : nullable EscapeMark */;
2851 val
* var8
/* : nullable EscapeMark */;
2852 val
* var10
/* : AExpr */;
2853 val
* var12
/* : AExpr */;
2854 val
* var13
/* : nullable AExpr */;
2855 val
* var15
/* : nullable AExpr */;
2858 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AWhileExpr> */
2859 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AWhileExpr> */
2866 var4
= scope__ScopeVisitor__make_escape_mark(var_v
, var
, var3
);
2868 var_escapemark
= var4
;
2870 { /* Inline scope#AWhileExpr#break_mark= (self,var_escapemark) on <self:AWhileExpr> */
2871 self
->attrs
[COLOR_scope__AWhileExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:AWhileExpr> */
2876 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
2877 var8
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
2883 { /* Inline scope#AWhileExpr#continue_mark= (self,var6) on <self:AWhileExpr> */
2884 self
->attrs
[COLOR_scope__AWhileExpr___continue_mark
].val
= var6
; /* _continue_mark on <self:AWhileExpr> */
2889 { /* Inline parser_nodes#AWhileExpr#n_expr (self) on <self:AWhileExpr> */
2890 var12
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
2891 if (unlikely(var12
== NULL
)) {
2892 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2893 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1408);
2897 RET_LABEL11
:(void)0;
2901 parser_nodes__Visitor__enter_visit(var_v
, var10
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
2904 { /* Inline parser_nodes#AWhileExpr#n_block (self) on <self:AWhileExpr> */
2905 var15
= self
->attrs
[COLOR_parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
2907 RET_LABEL14
:(void)0;
2911 scope__ScopeVisitor__enter_visit_block(var_v
, var13
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
2915 /* method scope#AWhileExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2916 void VIRTUAL_scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2917 scope__AWhileExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#AWhileExpr#accept_scope_visitor on <self:Object(AWhileExpr)>*/
2920 /* method scope#ALoopExpr#break_mark for (self: ALoopExpr): nullable EscapeMark */
2921 val
* scope__ALoopExpr__break_mark(val
* self
) {
2922 val
* var
/* : nullable EscapeMark */;
2923 val
* var1
/* : nullable EscapeMark */;
2924 var1
= self
->attrs
[COLOR_scope__ALoopExpr___break_mark
].val
; /* _break_mark on <self:ALoopExpr> */
2929 /* method scope#ALoopExpr#break_mark for (self: Object): nullable EscapeMark */
2930 val
* VIRTUAL_scope__ALoopExpr__break_mark(val
* self
) {
2931 val
* var
/* : nullable EscapeMark */;
2932 val
* var1
/* : nullable EscapeMark */;
2933 val
* var3
/* : nullable EscapeMark */;
2934 { /* Inline scope#ALoopExpr#break_mark (self) on <self:Object(ALoopExpr)> */
2935 var3
= self
->attrs
[COLOR_scope__ALoopExpr___break_mark
].val
; /* _break_mark on <self:Object(ALoopExpr)> */
2943 /* method scope#ALoopExpr#break_mark= for (self: ALoopExpr, nullable EscapeMark) */
2944 void scope__ALoopExpr__break_mark_61d(val
* self
, val
* p0
) {
2945 self
->attrs
[COLOR_scope__ALoopExpr___break_mark
].val
= p0
; /* _break_mark on <self:ALoopExpr> */
2948 /* method scope#ALoopExpr#break_mark= for (self: Object, nullable EscapeMark) */
2949 void VIRTUAL_scope__ALoopExpr__break_mark_61d(val
* self
, val
* p0
) {
2950 { /* Inline scope#ALoopExpr#break_mark= (self,p0) on <self:Object(ALoopExpr)> */
2951 self
->attrs
[COLOR_scope__ALoopExpr___break_mark
].val
= p0
; /* _break_mark on <self:Object(ALoopExpr)> */
2956 /* method scope#ALoopExpr#continue_mark for (self: ALoopExpr): nullable EscapeMark */
2957 val
* scope__ALoopExpr__continue_mark(val
* self
) {
2958 val
* var
/* : nullable EscapeMark */;
2959 val
* var1
/* : nullable EscapeMark */;
2960 var1
= self
->attrs
[COLOR_scope__ALoopExpr___continue_mark
].val
; /* _continue_mark on <self:ALoopExpr> */
2965 /* method scope#ALoopExpr#continue_mark for (self: Object): nullable EscapeMark */
2966 val
* VIRTUAL_scope__ALoopExpr__continue_mark(val
* self
) {
2967 val
* var
/* : nullable EscapeMark */;
2968 val
* var1
/* : nullable EscapeMark */;
2969 val
* var3
/* : nullable EscapeMark */;
2970 { /* Inline scope#ALoopExpr#continue_mark (self) on <self:Object(ALoopExpr)> */
2971 var3
= self
->attrs
[COLOR_scope__ALoopExpr___continue_mark
].val
; /* _continue_mark on <self:Object(ALoopExpr)> */
2979 /* method scope#ALoopExpr#continue_mark= for (self: ALoopExpr, nullable EscapeMark) */
2980 void scope__ALoopExpr__continue_mark_61d(val
* self
, val
* p0
) {
2981 self
->attrs
[COLOR_scope__ALoopExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:ALoopExpr> */
2984 /* method scope#ALoopExpr#continue_mark= for (self: Object, nullable EscapeMark) */
2985 void VIRTUAL_scope__ALoopExpr__continue_mark_61d(val
* self
, val
* p0
) {
2986 { /* Inline scope#ALoopExpr#continue_mark= (self,p0) on <self:Object(ALoopExpr)> */
2987 self
->attrs
[COLOR_scope__ALoopExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:Object(ALoopExpr)> */
2992 /* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
2993 void scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2994 val
* var_v
/* var v: ScopeVisitor */;
2995 val
* var
/* : nullable ALabel */;
2996 val
* var2
/* : nullable ALabel */;
2997 short int var3
/* : Bool */;
2998 val
* var4
/* : EscapeMark */;
2999 val
* var_escapemark
/* var escapemark: EscapeMark */;
3000 val
* var6
/* : nullable EscapeMark */;
3001 val
* var8
/* : nullable EscapeMark */;
3002 val
* var10
/* : nullable AExpr */;
3003 val
* var12
/* : nullable AExpr */;
3006 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:ALoopExpr> */
3007 var2
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:ALoopExpr> */
3014 var4
= scope__ScopeVisitor__make_escape_mark(var_v
, var
, var3
);
3016 var_escapemark
= var4
;
3018 { /* Inline scope#ALoopExpr#break_mark= (self,var_escapemark) on <self:ALoopExpr> */
3019 self
->attrs
[COLOR_scope__ALoopExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:ALoopExpr> */
3024 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
3025 var8
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
3031 { /* Inline scope#ALoopExpr#continue_mark= (self,var6) on <self:ALoopExpr> */
3032 self
->attrs
[COLOR_scope__ALoopExpr___continue_mark
].val
= var6
; /* _continue_mark on <self:ALoopExpr> */
3037 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
3038 var12
= self
->attrs
[COLOR_parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
3040 RET_LABEL11
:(void)0;
3044 scope__ScopeVisitor__enter_visit_block(var_v
, var10
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
3048 /* method scope#ALoopExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
3049 void VIRTUAL_scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
3050 scope__ALoopExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#ALoopExpr#accept_scope_visitor on <self:Object(ALoopExpr)>*/
3053 /* method scope#AForExpr#variables for (self: AForExpr): nullable Array[Variable] */
3054 val
* scope__AForExpr__variables(val
* self
) {
3055 val
* var
/* : nullable Array[Variable] */;
3056 val
* var1
/* : nullable Array[Variable] */;
3057 var1
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
3062 /* method scope#AForExpr#variables for (self: Object): nullable Array[Variable] */
3063 val
* VIRTUAL_scope__AForExpr__variables(val
* self
) {
3064 val
* var
/* : nullable Array[Variable] */;
3065 val
* var1
/* : nullable Array[Variable] */;
3066 val
* var3
/* : nullable Array[Variable] */;
3067 { /* Inline scope#AForExpr#variables (self) on <self:Object(AForExpr)> */
3068 var3
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:Object(AForExpr)> */
3076 /* method scope#AForExpr#variables= for (self: AForExpr, nullable Array[Variable]) */
3077 void scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
3078 self
->attrs
[COLOR_scope__AForExpr___variables
].val
= p0
; /* _variables on <self:AForExpr> */
3081 /* method scope#AForExpr#variables= for (self: Object, nullable Array[Variable]) */
3082 void VIRTUAL_scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
3083 { /* Inline scope#AForExpr#variables= (self,p0) on <self:Object(AForExpr)> */
3084 self
->attrs
[COLOR_scope__AForExpr___variables
].val
= p0
; /* _variables on <self:Object(AForExpr)> */
3089 /* method scope#AForExpr#break_mark for (self: AForExpr): nullable EscapeMark */
3090 val
* scope__AForExpr__break_mark(val
* self
) {
3091 val
* var
/* : nullable EscapeMark */;
3092 val
* var1
/* : nullable EscapeMark */;
3093 var1
= self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
; /* _break_mark on <self:AForExpr> */
3098 /* method scope#AForExpr#break_mark for (self: Object): nullable EscapeMark */
3099 val
* VIRTUAL_scope__AForExpr__break_mark(val
* self
) {
3100 val
* var
/* : nullable EscapeMark */;
3101 val
* var1
/* : nullable EscapeMark */;
3102 val
* var3
/* : nullable EscapeMark */;
3103 { /* Inline scope#AForExpr#break_mark (self) on <self:Object(AForExpr)> */
3104 var3
= self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
; /* _break_mark on <self:Object(AForExpr)> */
3112 /* method scope#AForExpr#break_mark= for (self: AForExpr, nullable EscapeMark) */
3113 void scope__AForExpr__break_mark_61d(val
* self
, val
* p0
) {
3114 self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
= p0
; /* _break_mark on <self:AForExpr> */
3117 /* method scope#AForExpr#break_mark= for (self: Object, nullable EscapeMark) */
3118 void VIRTUAL_scope__AForExpr__break_mark_61d(val
* self
, val
* p0
) {
3119 { /* Inline scope#AForExpr#break_mark= (self,p0) on <self:Object(AForExpr)> */
3120 self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
= p0
; /* _break_mark on <self:Object(AForExpr)> */
3125 /* method scope#AForExpr#continue_mark for (self: AForExpr): nullable EscapeMark */
3126 val
* scope__AForExpr__continue_mark(val
* self
) {
3127 val
* var
/* : nullable EscapeMark */;
3128 val
* var1
/* : nullable EscapeMark */;
3129 var1
= self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:AForExpr> */
3134 /* method scope#AForExpr#continue_mark for (self: Object): nullable EscapeMark */
3135 val
* VIRTUAL_scope__AForExpr__continue_mark(val
* self
) {
3136 val
* var
/* : nullable EscapeMark */;
3137 val
* var1
/* : nullable EscapeMark */;
3138 val
* var3
/* : nullable EscapeMark */;
3139 { /* Inline scope#AForExpr#continue_mark (self) on <self:Object(AForExpr)> */
3140 var3
= self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:Object(AForExpr)> */
3148 /* method scope#AForExpr#continue_mark= for (self: AForExpr, nullable EscapeMark) */
3149 void scope__AForExpr__continue_mark_61d(val
* self
, val
* p0
) {
3150 self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:AForExpr> */
3153 /* method scope#AForExpr#continue_mark= for (self: Object, nullable EscapeMark) */
3154 void VIRTUAL_scope__AForExpr__continue_mark_61d(val
* self
, val
* p0
) {
3155 { /* Inline scope#AForExpr#continue_mark= (self,p0) on <self:Object(AForExpr)> */
3156 self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
= p0
; /* _continue_mark on <self:Object(AForExpr)> */
3161 /* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
3162 void scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
3163 val
* var_v
/* var v: ScopeVisitor */;
3164 val
* var
/* : AExpr */;
3165 val
* var2
/* : AExpr */;
3166 val
* var3
/* : List[Scope] */;
3167 val
* var5
/* : List[Scope] */;
3168 val
* var6
/* : Scope */;
3169 val
* var7
/* : Array[Variable] */;
3170 val
* var_variables
/* var variables: Array[Variable] */;
3171 val
* var9
/* : ANodes[TId] */;
3172 val
* var11
/* : ANodes[TId] */;
3173 val
* var_
/* var : ANodes[TId] */;
3174 val
* var12
/* : Iterator[ANode] */;
3175 val
* var_13
/* var : Iterator[TId] */;
3176 short int var14
/* : Bool */;
3177 val
* var15
/* : nullable Object */;
3178 val
* var_nid
/* var nid: TId */;
3179 val
* var16
/* : Variable */;
3180 val
* var17
/* : String */;
3181 val
* var_va
/* var va: Variable */;
3182 short int var18
/* : Bool */;
3183 val
* var20
/* : nullable ALabel */;
3184 val
* var22
/* : nullable ALabel */;
3185 short int var23
/* : Bool */;
3186 val
* var24
/* : EscapeMark */;
3187 val
* var_escapemark
/* var escapemark: EscapeMark */;
3188 val
* var26
/* : nullable EscapeMark */;
3189 val
* var28
/* : nullable EscapeMark */;
3190 val
* var30
/* : nullable AExpr */;
3191 val
* var32
/* : nullable AExpr */;
3194 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
3195 var2
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
3196 if (unlikely(var2
== NULL
)) {
3197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3198 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
3206 parser_nodes__Visitor__enter_visit(var_v
, var
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:ScopeVisitor>*/
3209 { /* Inline scope#ScopeVisitor#scopes (var_v) on <var_v:ScopeVisitor> */
3210 var5
= var_v
->attrs
[COLOR_scope__ScopeVisitor___scopes
].val
; /* _scopes on <var_v:ScopeVisitor> */
3211 if (unlikely(var5
== NULL
)) {
3212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _scopes");
3213 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 80);
3220 var6
= NEW_scope__Scope(&type_scope__Scope
);
3222 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:Scope>*/;
3225 list__List__unshift(var3
, var6
); /* Direct call list#List#unshift on <var3:List[Scope]>*/
3227 var7
= NEW_array__Array(&type_array__Arrayscope__Variable
);
3229 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[Variable]>*/;
3231 var_variables
= var7
;
3233 { /* Inline scope#AForExpr#variables= (self,var_variables) on <self:AForExpr> */
3234 self
->attrs
[COLOR_scope__AForExpr___variables
].val
= var_variables
; /* _variables on <self:AForExpr> */
3239 { /* Inline parser_nodes#AForExpr#n_ids (self) on <self:AForExpr> */
3240 var11
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_ids
].val
; /* _n_ids on <self:AForExpr> */
3241 if (unlikely(var11
== NULL
)) {
3242 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_ids");
3243 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1426);
3247 RET_LABEL10
:(void)0;
3252 var12
= parser_nodes__ANodes__iterator(var_
);
3257 var14
= ((short int (*)(val
*))(var_13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_13
) /* is_ok on <var_13:Iterator[TId]>*/;
3261 var15
= ((val
* (*)(val
*))(var_13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_13
) /* item on <var_13:Iterator[TId]>*/;
3264 var16
= NEW_scope__Variable(&type_scope__Variable
);
3266 var17
= lexer_work__Token__text(var_nid
);
3269 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_scope__Variable__name_61d
]))(var16
, var17
) /* name= on <var16:Variable>*/;
3272 ((void (*)(val
*))(var16
->class->vft
[COLOR_kernel__Object__init
]))(var16
) /* init on <var16:Variable>*/;
3276 var18
= scope__ScopeVisitor__register_variable(var_v
, var_nid
, var_va
);
3279 array__Array__add(var_variables
, var_va
); /* Direct call array#Array#add on <var_variables:Array[Variable]>*/
3282 ((void (*)(val
*))(var_13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_13
) /* next on <var_13:Iterator[TId]>*/;
3288 BREAK_label
: (void)0;
3290 { /* Inline abstract_collection#Iterator#finish (var_13) on <var_13:Iterator[TId]> */
3291 RET_LABEL19
:(void)0;
3295 { /* Inline parser_nodes#ALabelable#n_label (self) on <self:AForExpr> */
3296 var22
= self
->attrs
[COLOR_parser_nodes__ALabelable___n_label
].val
; /* _n_label on <self:AForExpr> */
3298 RET_LABEL21
:(void)0;
3303 var24
= scope__ScopeVisitor__make_escape_mark(var_v
, var20
, var23
);
3305 var_escapemark
= var24
;
3307 { /* Inline scope#AForExpr#break_mark= (self,var_escapemark) on <self:AForExpr> */
3308 self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
= var_escapemark
; /* _break_mark on <self:AForExpr> */
3309 RET_LABEL25
:(void)0;
3313 { /* Inline scope#EscapeMark#continue_mark (var_escapemark) on <var_escapemark:EscapeMark> */
3314 var28
= var_escapemark
->attrs
[COLOR_scope__EscapeMark___continue_mark
].val
; /* _continue_mark on <var_escapemark:EscapeMark> */
3316 RET_LABEL27
:(void)0;
3320 { /* Inline scope#AForExpr#continue_mark= (self,var26) on <self:AForExpr> */
3321 self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
= var26
; /* _continue_mark on <self:AForExpr> */
3322 RET_LABEL29
:(void)0;
3326 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
3327 var32
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
3329 RET_LABEL31
:(void)0;
3333 scope__ScopeVisitor__enter_visit_block(var_v
, var30
, var_escapemark
); /* Direct call scope#ScopeVisitor#enter_visit_block on <var_v:ScopeVisitor>*/
3336 scope__ScopeVisitor__shift_scope(var_v
); /* Direct call scope#ScopeVisitor#shift_scope on <var_v:ScopeVisitor>*/
3340 /* method scope#AForExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
3341 void VIRTUAL_scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
3342 scope__AForExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#AForExpr#accept_scope_visitor on <self:Object(AForExpr)>*/
3345 /* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */
3346 val
* scope__AVarFormExpr__variable(val
* self
) {
3347 val
* var
/* : nullable Variable */;
3348 val
* var1
/* : nullable Variable */;
3349 var1
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarFormExpr> */
3354 /* method scope#AVarFormExpr#variable for (self: Object): nullable Variable */
3355 val
* VIRTUAL_scope__AVarFormExpr__variable(val
* self
) {
3356 val
* var
/* : nullable Variable */;
3357 val
* var1
/* : nullable Variable */;
3358 val
* var3
/* : nullable Variable */;
3359 { /* Inline scope#AVarFormExpr#variable (self) on <self:Object(AVarFormExpr)> */
3360 var3
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:Object(AVarFormExpr)> */
3368 /* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */
3369 void scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
3370 self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
= p0
; /* _variable on <self:AVarFormExpr> */
3373 /* method scope#AVarFormExpr#variable= for (self: Object, nullable Variable) */
3374 void VIRTUAL_scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
3375 { /* Inline scope#AVarFormExpr#variable= (self,p0) on <self:Object(AVarFormExpr)> */
3376 self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
= p0
; /* _variable on <self:Object(AVarFormExpr)> */
3381 /* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
3382 void scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
3383 val
* var_v
/* var v: ScopeVisitor */;
3384 val
* var
/* : AExpr */;
3385 val
* var2
/* : AExpr */;
3386 short int var3
/* : Bool */;
3389 val
* var4
/* : TId */;
3390 val
* var6
/* : TId */;
3391 val
* var7
/* : String */;
3392 val
* var_name
/* var name: String */;
3393 val
* var8
/* : nullable Variable */;
3394 val
* var_variable
/* var variable: nullable Variable */;
3395 val
* var9
/* : null */;
3396 short int var10
/* : Bool */;
3397 short int var11
/* : Bool */;
3398 val
* var_other
/* var other: nullable Object */;
3399 short int var13
/* : Bool */;
3400 short int var14
/* : Bool */;
3401 short int var15
/* : Bool */;
3402 short int var16
/* : Bool */;
3403 val
* var17
/* : AExprs */;
3404 val
* var19
/* : AExprs */;
3405 val
* var20
/* : ANodes[AExpr] */;
3406 val
* var22
/* : ANodes[AExpr] */;
3407 short int var23
/* : Bool */;
3408 short int var24
/* : Bool */;
3409 short int var_
/* var : Bool */;
3410 val
* var25
/* : AExprs */;
3411 val
* var27
/* : AExprs */;
3412 short int var28
/* : Bool */;
3415 static val
* varonce
;
3416 val
* var31
/* : String */;
3417 char* var32
/* : NativeString */;
3418 long var33
/* : Int */;
3419 val
* var34
/* : FlatString */;
3420 static val
* varonce35
;
3421 val
* var36
/* : String */;
3422 char* var37
/* : NativeString */;
3423 long var38
/* : Int */;
3424 val
* var39
/* : FlatString */;
3425 val
* var40
/* : Array[Object] */;
3426 long var41
/* : Int */;
3427 val
* var42
/* : NativeArray[Object] */;
3428 val
* var43
/* : String */;
3429 val
* var44
/* : AVarFormExpr */;
3430 val
* var_n
/* var n: AExpr */;
3433 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ACallFormExpr> */
3434 var2
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ACallFormExpr> */
3435 if (unlikely(var2
== NULL
)) {
3436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3437 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
3444 /* <var:AExpr> isa AImplicitSelfExpr */
3445 cltype
= type_parser_nodes__AImplicitSelfExpr
.color
;
3446 idtype
= type_parser_nodes__AImplicitSelfExpr
.id
;
3447 if(cltype
>= var
->type
->table_size
) {
3450 var3
= var
->type
->type_table
[cltype
] == idtype
;
3454 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallFormExpr> */
3455 var6
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallFormExpr> */
3456 if (unlikely(var6
== NULL
)) {
3457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3458 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
3466 var7
= lexer_work__Token__text(var4
);
3470 var8
= scope__ScopeVisitor__search_variable(var_v
, var_name
);
3472 var_variable
= var8
;
3474 if (var_variable
== NULL
) {
3475 var10
= 0; /* is null */
3477 var10
= 1; /* arg is null and recv is not */
3480 { /* Inline kernel#Object#!= (var_variable,var9) on <var_variable:nullable Variable> */
3483 var14
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
3489 RET_LABEL12
:(void)0;
3495 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallFormExpr> */
3496 var19
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallFormExpr> */
3497 if (unlikely(var19
== NULL
)) {
3498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
3499 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
3503 RET_LABEL18
:(void)0;
3507 { /* Inline parser_nodes#AExprs#n_exprs (var17) on <var17:AExprs> */
3508 var22
= var17
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var17:AExprs> */
3509 if (unlikely(var22
== NULL
)) {
3510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3511 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
3515 RET_LABEL21
:(void)0;
3519 var23
= parser_nodes__ANodes__is_empty(var20
);
3527 { /* Inline parser_nodes#ACallFormExpr#n_args (self) on <self:ACallFormExpr> */
3528 var27
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_args
].val
; /* _n_args on <self:ACallFormExpr> */
3529 if (unlikely(var27
== NULL
)) {
3530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
3531 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1647);
3535 RET_LABEL26
:(void)0;
3538 /* <var25:AExprs> isa AParExprs */
3539 cltype29
= type_parser_nodes__AParExprs
.color
;
3540 idtype30
= type_parser_nodes__AParExprs
.id
;
3541 if(cltype29
>= var25
->type
->table_size
) {
3544 var28
= var25
->type
->type_table
[cltype29
] == idtype30
;
3554 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3561 var37
= " is variable, not a function.";
3563 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3567 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
3568 { /* var40 = array_instance Array[Object] */
3570 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
3571 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var31
;
3572 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var_name
;
3573 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var36
;
3575 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
3579 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
3582 scope__ScopeVisitor__error(var_v
, self
, var43
); /* Direct call scope#ScopeVisitor#error on <var_v:ScopeVisitor>*/
3588 var44
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__variable_create
]))(self
, var_variable
) /* variable_create on <self:ACallFormExpr>*/;
3592 { /* Inline scope#AVarFormExpr#variable= (var_n,var_variable) on <var_n:AExpr(AVarFormExpr)> */
3593 var_n
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
= var_variable
; /* _variable on <var_n:AExpr(AVarFormExpr)> */
3594 RET_LABEL45
:(void)0;
3598 parser_nodes__Prod__replace_with(self
, var_n
); /* Direct call parser_nodes#Prod#replace_with on <self:ACallFormExpr>*/
3601 scope__ANode__accept_scope_visitor(var_n
, var_v
); /* Direct call scope#ANode#accept_scope_visitor on <var_n:AExpr(AVarFormExpr)>*/
3609 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ACallFormExpr>*/;
3613 /* method scope#ACallFormExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
3614 void VIRTUAL_scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
3615 scope__ACallFormExpr__accept_scope_visitor(self
, p0
); /* Direct call scope#ACallFormExpr#accept_scope_visitor on <self:Object(ACallFormExpr)>*/
3618 /* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */
3619 val
* scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
3620 val
* var
/* : AVarFormExpr */;
3621 val
* var_variable
/* var variable: Variable */;
3622 short int var1
/* : Bool */;
3623 val
* var3
/* : AVarExpr */;
3624 val
* var4
/* : TId */;
3625 val
* var6
/* : TId */;
3629 { /* Inline scope#Variable#warn_unread= (var_variable,var1) on <var_variable:Variable> */
3630 var_variable
->attrs
[COLOR_scope__Variable___warn_unread
].s
= var1
; /* _warn_unread on <var_variable:Variable> */
3634 var3
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
3636 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallExpr> */
3637 var6
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallExpr> */
3638 if (unlikely(var6
== NULL
)) {
3639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3640 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
3648 parser_prod__AVarExpr__init_avarexpr(var3
, var4
); /* Direct call parser_prod#AVarExpr#init_avarexpr on <var3:AVarExpr>*/
3655 /* method scope#ACallExpr#variable_create for (self: Object, Variable): AVarFormExpr */
3656 val
* VIRTUAL_scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
3657 val
* var
/* : AVarFormExpr */;
3658 val
* var1
/* : AVarFormExpr */;
3659 var1
= scope__ACallExpr__variable_create(self
, p0
);
3664 /* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
3665 val
* scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
3666 val
* var
/* : AVarFormExpr */;
3667 val
* var_variable
/* var variable: Variable */;
3668 val
* var1
/* : AVarAssignExpr */;
3669 val
* var2
/* : TId */;
3670 val
* var4
/* : TId */;
3671 val
* var5
/* : TAssign */;
3672 val
* var7
/* : TAssign */;
3673 val
* var8
/* : AExpr */;
3674 val
* var10
/* : AExpr */;
3676 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
3678 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallAssignExpr> */
3679 var4
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallAssignExpr> */
3680 if (unlikely(var4
== NULL
)) {
3681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3682 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
3690 { /* Inline parser_nodes#AAssignFormExpr#n_assign (self) on <self:ACallAssignExpr> */
3691 var7
= self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_assign
].val
; /* _n_assign on <self:ACallAssignExpr> */
3692 if (unlikely(var7
== NULL
)) {
3693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign");
3694 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1444);
3702 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:ACallAssignExpr> */
3703 var10
= self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:ACallAssignExpr> */
3704 if (unlikely(var10
== NULL
)) {
3705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3706 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1445);
3714 parser_prod__AVarAssignExpr__init_avarassignexpr(var1
, var2
, var5
, var8
); /* Direct call parser_prod#AVarAssignExpr#init_avarassignexpr on <var1:AVarAssignExpr>*/
3721 /* method scope#ACallAssignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
3722 val
* VIRTUAL_scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
3723 val
* var
/* : AVarFormExpr */;
3724 val
* var1
/* : AVarFormExpr */;
3725 var1
= scope__ACallAssignExpr__variable_create(self
, p0
);
3730 /* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
3731 val
* scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
3732 val
* var
/* : AVarFormExpr */;
3733 val
* var_variable
/* var variable: Variable */;
3734 short int var1
/* : Bool */;
3735 val
* var3
/* : AVarReassignExpr */;
3736 val
* var4
/* : TId */;
3737 val
* var6
/* : TId */;
3738 val
* var7
/* : AAssignOp */;
3739 val
* var9
/* : AAssignOp */;
3740 val
* var10
/* : AExpr */;
3741 val
* var12
/* : AExpr */;
3745 { /* Inline scope#Variable#warn_unread= (var_variable,var1) on <var_variable:Variable> */
3746 var_variable
->attrs
[COLOR_scope__Variable___warn_unread
].s
= var1
; /* _warn_unread on <var_variable:Variable> */
3750 var3
= NEW_parser_nodes__AVarReassignExpr(&type_parser_nodes__AVarReassignExpr
);
3752 { /* Inline parser_nodes#ACallFormExpr#n_id (self) on <self:ACallReassignExpr> */
3753 var6
= self
->attrs
[COLOR_parser_nodes__ACallFormExpr___n_id
].val
; /* _n_id on <self:ACallReassignExpr> */
3754 if (unlikely(var6
== NULL
)) {
3755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3756 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1644);
3764 { /* Inline parser_nodes#AReassignFormExpr#n_assign_op (self) on <self:ACallReassignExpr> */
3765 var9
= self
->attrs
[COLOR_parser_nodes__AReassignFormExpr___n_assign_op
].val
; /* _n_assign_op on <self:ACallReassignExpr> */
3766 if (unlikely(var9
== NULL
)) {
3767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_assign_op");
3768 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1451);
3776 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ACallReassignExpr> */
3777 var12
= self
->attrs
[COLOR_parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ACallReassignExpr> */
3778 if (unlikely(var12
== NULL
)) {
3779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
3780 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452);
3784 RET_LABEL11
:(void)0;
3788 parser_prod__AVarReassignExpr__init_avarreassignexpr(var3
, var4
, var7
, var10
); /* Direct call parser_prod#AVarReassignExpr#init_avarreassignexpr on <var3:AVarReassignExpr>*/
3795 /* method scope#ACallReassignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
3796 val
* VIRTUAL_scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
3797 val
* var
/* : AVarFormExpr */;
3798 val
* var1
/* : AVarFormExpr */;
3799 var1
= scope__ACallReassignExpr__variable_create(self
, p0
);