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___64dscope_phase
].val
; /* @scope_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @scope_phase", "src/scope.nit", 25);
15 /* method scope#ToolContext#scope_phase for (self: Object): Phase */
16 val
* VIRTUAL_scope__ToolContext__scope_phase(val
* self
) {
17 val
* var
/* : Phase */;
18 val
* var1
/* : Phase */;
19 var1
= scope__ToolContext__scope_phase(self
);
24 /* method scope#ToolContext#scope_phase= for (self: ToolContext, Phase) */
25 void scope__ToolContext__scope_phase_61d(val
* self
, val
* p0
) {
26 self
->attrs
[COLOR_scope__ToolContext___64dscope_phase
].val
= p0
; /* @scope_phase on <self:ToolContext> */
29 /* method scope#ToolContext#scope_phase= for (self: Object, Phase) */
30 void VIRTUAL_scope__ToolContext__scope_phase_61d(val
* self
, val
* p0
) {
31 scope__ToolContext__scope_phase_61d(self
, p0
);
34 /* method scope#ScopePhase#process_npropdef for (self: ScopePhase, APropdef) */
35 void scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
36 val
* var_npropdef
/* var npropdef: APropdef */;
37 val
* var
/* : ToolContext */;
39 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:ScopePhase>*/;
40 ((void (*)(val
*, val
*))(var_npropdef
->class->vft
[COLOR_scope__APropdef__do_scope
]))(var_npropdef
, var
) /* do_scope on <var_npropdef:APropdef>*/;
43 /* method scope#ScopePhase#process_npropdef for (self: Object, APropdef) */
44 void VIRTUAL_scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
45 scope__ScopePhase__process_npropdef(self
, p0
);
48 /* method scope#Variable#name for (self: Variable): String */
49 val
* scope__Variable__name(val
* self
) {
50 val
* var
/* : String */;
51 val
* var1
/* : String */;
52 var1
= self
->attrs
[COLOR_scope__Variable___64dname
].val
; /* @name on <self:Variable> */
54 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/scope.nit", 36);
61 /* method scope#Variable#name for (self: Object): String */
62 val
* VIRTUAL_scope__Variable__name(val
* self
) {
63 val
* var
/* : String */;
64 val
* var1
/* : String */;
65 var1
= scope__Variable__name(self
);
70 /* method scope#Variable#name= for (self: Variable, String) */
71 void scope__Variable__name_61d(val
* self
, val
* p0
) {
72 self
->attrs
[COLOR_scope__Variable___64dname
].val
= p0
; /* @name on <self:Variable> */
75 /* method scope#Variable#name= for (self: Object, String) */
76 void VIRTUAL_scope__Variable__name_61d(val
* self
, val
* p0
) {
77 scope__Variable__name_61d(self
, p0
);
80 /* method scope#Variable#to_s for (self: Variable): String */
81 val
* scope__Variable__to_s(val
* self
) {
82 val
* var
/* : String */;
83 val
* var1
/* : String */;
84 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Variable__name
]))(self
) /* name on <self:Variable>*/;
90 /* method scope#Variable#to_s for (self: Object): String */
91 val
* VIRTUAL_scope__Variable__to_s(val
* self
) {
92 val
* var
/* : String */;
93 val
* var1
/* : String */;
94 var1
= scope__Variable__to_s(self
);
99 /* method scope#Variable#init for (self: Variable, String) */
100 void scope__Variable__init(val
* self
, val
* p0
) {
101 self
->attrs
[COLOR_scope__Variable___64dname
].val
= p0
; /* @name on <self:Variable> */
104 /* method scope#Variable#init for (self: Object, String) */
105 void VIRTUAL_scope__Variable__init(val
* self
, val
* p0
) {
106 scope__Variable__init(self
, p0
);
109 /* method scope#EscapeMark#name for (self: EscapeMark): nullable String */
110 val
* scope__EscapeMark__name(val
* self
) {
111 val
* var
/* : nullable String */;
112 val
* var1
/* : nullable String */;
113 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
; /* @name on <self:EscapeMark> */
118 /* method scope#EscapeMark#name for (self: Object): nullable String */
119 val
* VIRTUAL_scope__EscapeMark__name(val
* self
) {
120 val
* var
/* : nullable String */;
121 val
* var1
/* : nullable String */;
122 var1
= scope__EscapeMark__name(self
);
127 /* method scope#EscapeMark#name= for (self: EscapeMark, nullable String) */
128 void scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
129 self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
= p0
; /* @name on <self:EscapeMark> */
132 /* method scope#EscapeMark#name= for (self: Object, nullable String) */
133 void VIRTUAL_scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
134 scope__EscapeMark__name_61d(self
, p0
);
137 /* method scope#EscapeMark#for_loop for (self: EscapeMark): Bool */
138 short int scope__EscapeMark__for_loop(val
* self
) {
139 short int var
/* : Bool */;
140 short int var1
/* : Bool */;
141 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
; /* @for_loop on <self:EscapeMark> */
146 /* method scope#EscapeMark#for_loop for (self: Object): Bool */
147 short int VIRTUAL_scope__EscapeMark__for_loop(val
* self
) {
148 short int var
/* : Bool */;
149 short int var1
/* : Bool */;
150 var1
= scope__EscapeMark__for_loop(self
);
155 /* method scope#EscapeMark#for_loop= for (self: EscapeMark, Bool) */
156 void scope__EscapeMark__for_loop_61d(val
* self
, short int p0
) {
157 self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
= p0
; /* @for_loop on <self:EscapeMark> */
160 /* method scope#EscapeMark#for_loop= for (self: Object, Bool) */
161 void VIRTUAL_scope__EscapeMark__for_loop_61d(val
* self
, short int p0
) {
162 scope__EscapeMark__for_loop_61d(self
, p0
);
165 /* method scope#EscapeMark#continues for (self: EscapeMark): Array[AContinueExpr] */
166 val
* scope__EscapeMark__continues(val
* self
) {
167 val
* var
/* : Array[AContinueExpr] */;
168 val
* var1
/* : Array[AContinueExpr] */;
169 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dcontinues
].val
; /* @continues on <self:EscapeMark> */
171 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @continues", "src/scope.nit", 58);
178 /* method scope#EscapeMark#continues for (self: Object): Array[AContinueExpr] */
179 val
* VIRTUAL_scope__EscapeMark__continues(val
* self
) {
180 val
* var
/* : Array[AContinueExpr] */;
181 val
* var1
/* : Array[AContinueExpr] */;
182 var1
= scope__EscapeMark__continues(self
);
187 /* method scope#EscapeMark#continues= for (self: EscapeMark, Array[AContinueExpr]) */
188 void scope__EscapeMark__continues_61d(val
* self
, val
* p0
) {
189 self
->attrs
[COLOR_scope__EscapeMark___64dcontinues
].val
= p0
; /* @continues on <self:EscapeMark> */
192 /* method scope#EscapeMark#continues= for (self: Object, Array[AContinueExpr]) */
193 void VIRTUAL_scope__EscapeMark__continues_61d(val
* self
, val
* p0
) {
194 scope__EscapeMark__continues_61d(self
, p0
);
197 /* method scope#EscapeMark#breaks for (self: EscapeMark): Array[ABreakExpr] */
198 val
* scope__EscapeMark__breaks(val
* self
) {
199 val
* var
/* : Array[ABreakExpr] */;
200 val
* var1
/* : Array[ABreakExpr] */;
201 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dbreaks
].val
; /* @breaks on <self:EscapeMark> */
203 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @breaks", "src/scope.nit", 61);
210 /* method scope#EscapeMark#breaks for (self: Object): Array[ABreakExpr] */
211 val
* VIRTUAL_scope__EscapeMark__breaks(val
* self
) {
212 val
* var
/* : Array[ABreakExpr] */;
213 val
* var1
/* : Array[ABreakExpr] */;
214 var1
= scope__EscapeMark__breaks(self
);
219 /* method scope#EscapeMark#breaks= for (self: EscapeMark, Array[ABreakExpr]) */
220 void scope__EscapeMark__breaks_61d(val
* self
, val
* p0
) {
221 self
->attrs
[COLOR_scope__EscapeMark___64dbreaks
].val
= p0
; /* @breaks on <self:EscapeMark> */
224 /* method scope#EscapeMark#breaks= for (self: Object, Array[ABreakExpr]) */
225 void VIRTUAL_scope__EscapeMark__breaks_61d(val
* self
, val
* p0
) {
226 scope__EscapeMark__breaks_61d(self
, p0
);
229 /* method scope#EscapeMark#init for (self: EscapeMark, nullable String, Bool) */
230 void scope__EscapeMark__init(val
* self
, val
* p0
, short int p1
) {
231 self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
= p0
; /* @name on <self:EscapeMark> */
232 self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
= p1
; /* @for_loop on <self:EscapeMark> */
235 /* method scope#EscapeMark#init for (self: Object, nullable String, Bool) */
236 void VIRTUAL_scope__EscapeMark__init(val
* self
, val
* p0
, short int p1
) {
237 scope__EscapeMark__init(self
, p0
, p1
);
240 /* method scope#ScopeVisitor#toolcontext for (self: ScopeVisitor): ToolContext */
241 val
* scope__ScopeVisitor__toolcontext(val
* self
) {
242 val
* var
/* : ToolContext */;
243 val
* var1
/* : ToolContext */;
244 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dtoolcontext
].val
; /* @toolcontext on <self:ScopeVisitor> */
246 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @toolcontext", "src/scope.nit", 74);
253 /* method scope#ScopeVisitor#toolcontext for (self: Object): ToolContext */
254 val
* VIRTUAL_scope__ScopeVisitor__toolcontext(val
* self
) {
255 val
* var
/* : ToolContext */;
256 val
* var1
/* : ToolContext */;
257 var1
= scope__ScopeVisitor__toolcontext(self
);
262 /* method scope#ScopeVisitor#toolcontext= for (self: ScopeVisitor, ToolContext) */
263 void scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
264 self
->attrs
[COLOR_scope__ScopeVisitor___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:ScopeVisitor> */
267 /* method scope#ScopeVisitor#toolcontext= for (self: Object, ToolContext) */
268 void VIRTUAL_scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
269 scope__ScopeVisitor__toolcontext_61d(self
, p0
);
272 /* method scope#ScopeVisitor#selfvariable for (self: ScopeVisitor): Variable */
273 val
* scope__ScopeVisitor__selfvariable(val
* self
) {
274 val
* var
/* : Variable */;
275 val
* var1
/* : Variable */;
276 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dselfvariable
].val
; /* @selfvariable on <self:ScopeVisitor> */
278 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @selfvariable", "src/scope.nit", 77);
285 /* method scope#ScopeVisitor#selfvariable for (self: Object): Variable */
286 val
* VIRTUAL_scope__ScopeVisitor__selfvariable(val
* self
) {
287 val
* var
/* : Variable */;
288 val
* var1
/* : Variable */;
289 var1
= scope__ScopeVisitor__selfvariable(self
);
294 /* method scope#ScopeVisitor#selfvariable= for (self: ScopeVisitor, Variable) */
295 void scope__ScopeVisitor__selfvariable_61d(val
* self
, val
* p0
) {
296 self
->attrs
[COLOR_scope__ScopeVisitor___64dselfvariable
].val
= p0
; /* @selfvariable on <self:ScopeVisitor> */
299 /* method scope#ScopeVisitor#selfvariable= for (self: Object, Variable) */
300 void VIRTUAL_scope__ScopeVisitor__selfvariable_61d(val
* self
, val
* p0
) {
301 scope__ScopeVisitor__selfvariable_61d(self
, p0
);
304 /* method scope#ScopeVisitor#init for (self: ScopeVisitor, ToolContext) */
305 void scope__ScopeVisitor__init(val
* self
, val
* p0
) {
306 val
* var_toolcontext
/* var toolcontext: ToolContext */;
307 val
* var
/* : List[Scope] */;
308 val
* var1
/* : Scope */;
309 var_toolcontext
= p0
;
310 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:ScopeVisitor>*/;
311 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:ScopeVisitor>*/;
312 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
313 var1
= NEW_scope__Scope(&type_scope__Scope
);
314 ((void (*)(val
*))(var1
->class->vft
[COLOR_scope__Scope__init
]))(var1
) /* init on <var1:Scope>*/;
315 CHECK_NEW_scope__Scope(var1
);
316 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var1
) /* add on <var:List[Scope]>*/;
319 /* method scope#ScopeVisitor#init for (self: Object, ToolContext) */
320 void VIRTUAL_scope__ScopeVisitor__init(val
* self
, val
* p0
) {
321 scope__ScopeVisitor__init(self
, p0
);
324 /* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */
325 val
* scope__ScopeVisitor__scopes(val
* self
) {
326 val
* var
/* : List[Scope] */;
327 val
* var1
/* : List[Scope] */;
328 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
; /* @scopes on <self:ScopeVisitor> */
330 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @scopes", "src/scope.nit", 85);
337 /* method scope#ScopeVisitor#scopes for (self: Object): List[Scope] */
338 val
* VIRTUAL_scope__ScopeVisitor__scopes(val
* self
) {
339 val
* var
/* : List[Scope] */;
340 val
* var1
/* : List[Scope] */;
341 var1
= scope__ScopeVisitor__scopes(self
);
346 /* method scope#ScopeVisitor#scopes= for (self: ScopeVisitor, List[Scope]) */
347 void scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
348 self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
= p0
; /* @scopes on <self:ScopeVisitor> */
351 /* method scope#ScopeVisitor#scopes= for (self: Object, List[Scope]) */
352 void VIRTUAL_scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
353 scope__ScopeVisitor__scopes_61d(self
, p0
);
356 /* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
357 short int scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
358 short int var
/* : Bool */;
359 val
* var_node
/* var node: ANode */;
360 val
* var_variable
/* var variable: Variable */;
361 val
* var1
/* : String */;
362 val
* var_name
/* var name: String */;
363 val
* var2
/* : nullable Variable */;
364 val
* var_found
/* var found: nullable Variable */;
365 val
* var3
/* : null */;
366 short int var4
/* : Bool */;
368 val
* var5
/* : String */;
369 char* var6
/* : NativeString */;
370 long var7
/* : Int */;
371 val
* var8
/* : String */;
372 static val
* varonce9
;
373 val
* var10
/* : String */;
374 char* var11
/* : NativeString */;
375 long var12
/* : Int */;
376 val
* var13
/* : String */;
377 val
* var14
/* : Array[Object] */;
378 long var15
/* : Int */;
379 val
* var16
/* : NativeArray[Object] */;
380 val
* var17
/* : String */;
381 short int var18
/* : Bool */;
382 val
* var19
/* : List[Scope] */;
383 val
* var20
/* : nullable Object */;
384 val
* var21
/* : HashMap[String, Variable] */;
385 short int var22
/* : Bool */;
388 var1
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
390 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(self
, var_name
) /* search_variable on <self:ScopeVisitor>*/;
393 if (var_found
== NULL
) {
394 var4
= 0; /* is null */
396 var4
= 1; /* arg is null and recv is not */
402 var6
= "Error: A variable named `";
404 var8
= string__NativeString__to_s_with_length(var6
, var7
);
411 var11
= "\' already exists";
413 var13
= string__NativeString__to_s_with_length(var11
, var12
);
417 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
418 { /* var14 = array_instance Array[Object] */
420 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
421 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
422 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_name
;
423 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
424 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
425 CHECK_NEW_array__Array(var14
);
427 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
428 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var17
) /* error on <self:ScopeVisitor>*/;
434 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
435 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:List[Scope]>*/;
436 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_scope__Scope__variables
]))(var20
) /* variables on <var20:nullable Object(Scope)>*/;
437 ((void (*)(val
*, val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var21
, var_name
, var_variable
) /* []= on <var21:HashMap[String, Variable]>*/;
444 /* method scope#ScopeVisitor#register_variable for (self: Object, ANode, Variable): Bool */
445 short int VIRTUAL_scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
446 short int var
/* : Bool */;
447 short int var1
/* : Bool */;
448 var1
= scope__ScopeVisitor__register_variable(self
, p0
, p1
);
453 /* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */
454 val
* scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
455 val
* var
/* : nullable Variable */;
456 val
* var_name
/* var name: String */;
457 val
* var1
/* : List[Scope] */;
458 val
* var2
/* : Iterator[nullable Object] */;
459 short int var3
/* : Bool */;
460 val
* var4
/* : nullable Object */;
461 val
* var_scope
/* var scope: Scope */;
462 val
* var5
/* : nullable Variable */;
463 val
* var_res
/* var res: nullable Variable */;
464 val
* var6
/* : null */;
465 short int var7
/* : Bool */;
466 val
* var8
/* : null */;
468 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
469 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
471 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
473 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
475 var5
= ((val
* (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__get_variable
]))(var_scope
, var_name
) /* get_variable on <var_scope:Scope>*/;
478 if (var_res
== NULL
) {
479 var7
= 0; /* is null */
481 var7
= 1; /* arg is null and recv is not */
488 CONTINUE_label
: (void)0;
489 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
491 BREAK_label
: (void)0;
498 /* method scope#ScopeVisitor#search_variable for (self: Object, String): nullable Variable */
499 val
* VIRTUAL_scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
500 val
* var
/* : nullable Variable */;
501 val
* var1
/* : nullable Variable */;
502 var1
= scope__ScopeVisitor__search_variable(self
, p0
);
507 /* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */
508 void scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
509 val
* var_n
/* var n: ANode */;
511 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, self
) /* accept_scope_visitor on <var_n:ANode>*/;
514 /* method scope#ScopeVisitor#visit for (self: Object, ANode) */
515 void VIRTUAL_scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
516 scope__ScopeVisitor__visit(self
, p0
);
519 /* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
520 void scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
521 val
* var_node
/* var node: nullable AExpr */;
522 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
523 val
* var
/* : null */;
524 short int var1
/* : Bool */;
525 val
* var2
/* : Scope */;
526 val
* var_scope
/* var scope: Scope */;
527 val
* var3
/* : List[Scope] */;
528 val
* var4
/* : List[Scope] */;
529 val
* var5
/* : nullable Object */;
533 if (var_node
== NULL
) {
534 var1
= 1; /* is null */
536 var1
= 0; /* arg is null but recv is not */
542 var2
= NEW_scope__Scope(&type_scope__Scope
);
543 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
544 CHECK_NEW_scope__Scope(var2
);
546 ((void (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark_61d
]))(var_scope
, var_escapemark
) /* escapemark= on <var_scope:Scope>*/;
547 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
548 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var3
, var_scope
) /* unshift on <var3:List[Scope]>*/;
549 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(self
, var_node
) /* enter_visit on <self:ScopeVisitor>*/;
550 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
551 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var4
) /* shift on <var4:List[Scope]>*/;
555 /* method scope#ScopeVisitor#enter_visit_block for (self: Object, nullable AExpr, nullable EscapeMark) */
556 void VIRTUAL_scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
557 scope__ScopeVisitor__enter_visit_block(self
, p0
, p1
);
560 /* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */
561 val
* scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
562 val
* var
/* : nullable EscapeMark */;
563 val
* var_name
/* var name: String */;
564 val
* var1
/* : List[Scope] */;
565 val
* var2
/* : Iterator[nullable Object] */;
566 short int var3
/* : Bool */;
567 val
* var4
/* : nullable Object */;
568 val
* var_scope
/* var scope: Scope */;
569 val
* var5
/* : nullable EscapeMark */;
570 val
* var_res
/* var res: nullable EscapeMark */;
571 short int var6
/* : Bool */;
572 val
* var7
/* : null */;
573 short int var8
/* : Bool */;
574 short int var_
/* var : Bool */;
575 val
* var9
/* : nullable String */;
576 short int var10
/* : Bool */;
577 val
* var11
/* : null */;
579 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
580 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
582 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
584 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
586 var5
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
589 if (var_res
== NULL
) {
590 var8
= 0; /* is null */
592 var8
= 1; /* arg is null and recv is not */
596 var9
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_res
) /* name on <var_res:nullable EscapeMark(EscapeMark)>*/;
598 var10
= 0; /* <var_name:String> cannot be null */
600 var10
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_name
) /* == on <var9:nullable String>*/;
611 CONTINUE_label
: (void)0;
612 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
614 BREAK_label
: (void)0;
621 /* method scope#ScopeVisitor#search_label for (self: Object, String): nullable EscapeMark */
622 val
* VIRTUAL_scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
623 val
* var
/* : nullable EscapeMark */;
624 val
* var1
/* : nullable EscapeMark */;
625 var1
= scope__ScopeVisitor__search_label(self
, p0
);
630 /* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
631 val
* scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
632 val
* var
/* : EscapeMark */;
633 val
* var_nlabel
/* var nlabel: nullable ALabel */;
634 short int var_for_loop
/* var for_loop: Bool */;
635 val
* var1
/* : null */;
636 short int var2
/* : Bool */;
637 val
* var3
/* : TId */;
638 val
* var4
/* : String */;
639 val
* var_name
/* var name: nullable String */;
640 val
* var5
/* : nullable EscapeMark */;
641 val
* var_found
/* var found: nullable EscapeMark */;
642 val
* var6
/* : null */;
643 short int var7
/* : Bool */;
645 val
* var8
/* : String */;
646 char* var9
/* : NativeString */;
647 long var10
/* : Int */;
648 val
* var11
/* : String */;
649 static val
* varonce12
;
650 val
* var13
/* : String */;
651 char* var14
/* : NativeString */;
652 long var15
/* : Int */;
653 val
* var16
/* : String */;
654 val
* var17
/* : Array[Object] */;
655 long var18
/* : Int */;
656 val
* var19
/* : NativeArray[Object] */;
657 val
* var20
/* : String */;
658 val
* var21
/* : null */;
659 val
* var22
/* : EscapeMark */;
660 val
* var_res
/* var res: EscapeMark */;
664 if (var_nlabel
== NULL
) {
665 var2
= 0; /* is null */
667 var2
= 1; /* arg is null and recv is not */
670 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
671 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
673 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
676 if (var_found
== NULL
) {
677 var7
= 0; /* is null */
679 var7
= 1; /* arg is null and recv is not */
685 var9
= "Syntax error: label ";
687 var11
= string__NativeString__to_s_with_length(var9
, var10
);
694 var14
= " already defined.";
696 var16
= string__NativeString__to_s_with_length(var14
, var15
);
700 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
701 { /* var17 = array_instance Array[Object] */
703 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
704 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
705 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
706 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
707 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
708 CHECK_NEW_array__Array(var17
);
710 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
711 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
718 var22
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
719 ((void (*)(val
*, val
*, short int))(var22
->class->vft
[COLOR_scope__EscapeMark__init
]))(var22
, var_name
, var_for_loop
) /* init on <var22:EscapeMark>*/;
720 CHECK_NEW_scope__EscapeMark(var22
);
727 /* method scope#ScopeVisitor#make_escape_mark for (self: Object, nullable ALabel, Bool): EscapeMark */
728 val
* VIRTUAL_scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
729 val
* var
/* : EscapeMark */;
730 val
* var1
/* : EscapeMark */;
731 var1
= scope__ScopeVisitor__make_escape_mark(self
, p0
, p1
);
736 /* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
737 val
* scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
738 val
* var
/* : nullable EscapeMark */;
739 val
* var_node
/* var node: ANode */;
740 val
* var_nlabel
/* var nlabel: nullable ALabel */;
741 val
* var1
/* : null */;
742 short int var2
/* : Bool */;
743 val
* var3
/* : TId */;
744 val
* var4
/* : String */;
745 val
* var_name
/* var name: String */;
746 val
* var5
/* : nullable EscapeMark */;
747 val
* var_res
/* var res: nullable EscapeMark */;
748 val
* var6
/* : null */;
749 short int var7
/* : Bool */;
751 val
* var8
/* : String */;
752 char* var9
/* : NativeString */;
753 long var10
/* : Int */;
754 val
* var11
/* : String */;
755 static val
* varonce12
;
756 val
* var13
/* : String */;
757 char* var14
/* : NativeString */;
758 long var15
/* : Int */;
759 val
* var16
/* : String */;
760 val
* var17
/* : Array[Object] */;
761 long var18
/* : Int */;
762 val
* var19
/* : NativeArray[Object] */;
763 val
* var20
/* : String */;
764 val
* var21
/* : null */;
765 val
* var22
/* : List[Scope] */;
766 val
* var23
/* : Iterator[nullable Object] */;
767 short int var24
/* : Bool */;
768 val
* var25
/* : nullable Object */;
769 val
* var_scope
/* var scope: Scope */;
770 val
* var26
/* : nullable EscapeMark */;
771 val
* var_res27
/* var res: nullable EscapeMark */;
772 val
* var28
/* : null */;
773 short int var29
/* : Bool */;
774 static val
* varonce30
;
775 val
* var31
/* : String */;
776 char* var32
/* : NativeString */;
777 long var33
/* : Int */;
778 val
* var34
/* : String */;
779 val
* var35
/* : null */;
783 if (var_nlabel
== NULL
) {
784 var2
= 0; /* is null */
786 var2
= 1; /* arg is null and recv is not */
789 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
790 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
792 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
795 if (var_res
== NULL
) {
796 var7
= 1; /* is null */
798 var7
= 0; /* arg is null but recv is not */
804 var9
= "Syntax error: invalid label ";
806 var11
= string__NativeString__to_s_with_length(var9
, var10
);
815 var16
= string__NativeString__to_s_with_length(var14
, var15
);
819 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
820 { /* var17 = array_instance Array[Object] */
822 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
823 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
824 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
825 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
826 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
827 CHECK_NEW_array__Array(var17
);
829 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
830 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
839 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
840 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:List[Scope]>*/;
842 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
844 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
846 var26
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
849 if (var_res27
== NULL
) {
850 var29
= 0; /* is null */
852 var29
= 1; /* arg is null and recv is not */
859 CONTINUE_label
: (void)0;
860 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
862 BREAK_label
: (void)0;
866 var32
= "Syntax Error: \'break\' statment outside block.";
868 var34
= string__NativeString__to_s_with_length(var32
, var33
);
872 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var31
) /* error on <self:ScopeVisitor>*/;
880 /* method scope#ScopeVisitor#get_escapemark for (self: Object, ANode, nullable ALabel): nullable EscapeMark */
881 val
* VIRTUAL_scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
882 val
* var
/* : nullable EscapeMark */;
883 val
* var1
/* : nullable EscapeMark */;
884 var1
= scope__ScopeVisitor__get_escapemark(self
, p0
, p1
);
889 /* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */
890 void scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
891 val
* var_node
/* var node: ANode */;
892 val
* var_message
/* var message: String */;
893 val
* var
/* : ToolContext */;
894 val
* var1
/* : Location */;
897 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__toolcontext
]))(self
) /* toolcontext on <self:ScopeVisitor>*/;
898 var1
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:ANode>*/;
899 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var
, var1
, var_message
) /* error on <var:ToolContext>*/;
902 /* method scope#ScopeVisitor#error for (self: Object, ANode, String) */
903 void VIRTUAL_scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
904 scope__ScopeVisitor__error(self
, p0
, p1
);
907 /* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */
908 val
* scope__Scope__variables(val
* self
) {
909 val
* var
/* : HashMap[String, Variable] */;
910 val
* var1
/* : HashMap[String, Variable] */;
911 var1
= self
->attrs
[COLOR_scope__Scope___64dvariables
].val
; /* @variables on <self:Scope> */
913 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @variables", "src/scope.nit", 198);
920 /* method scope#Scope#variables for (self: Object): HashMap[String, Variable] */
921 val
* VIRTUAL_scope__Scope__variables(val
* self
) {
922 val
* var
/* : HashMap[String, Variable] */;
923 val
* var1
/* : HashMap[String, Variable] */;
924 var1
= scope__Scope__variables(self
);
929 /* method scope#Scope#variables= for (self: Scope, HashMap[String, Variable]) */
930 void scope__Scope__variables_61d(val
* self
, val
* p0
) {
931 self
->attrs
[COLOR_scope__Scope___64dvariables
].val
= p0
; /* @variables on <self:Scope> */
934 /* method scope#Scope#variables= for (self: Object, HashMap[String, Variable]) */
935 void VIRTUAL_scope__Scope__variables_61d(val
* self
, val
* p0
) {
936 scope__Scope__variables_61d(self
, p0
);
939 /* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */
940 val
* scope__Scope__escapemark(val
* self
) {
941 val
* var
/* : nullable EscapeMark */;
942 val
* var1
/* : nullable EscapeMark */;
943 var1
= self
->attrs
[COLOR_scope__Scope___64descapemark
].val
; /* @escapemark on <self:Scope> */
948 /* method scope#Scope#escapemark for (self: Object): nullable EscapeMark */
949 val
* VIRTUAL_scope__Scope__escapemark(val
* self
) {
950 val
* var
/* : nullable EscapeMark */;
951 val
* var1
/* : nullable EscapeMark */;
952 var1
= scope__Scope__escapemark(self
);
957 /* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */
958 void scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
959 self
->attrs
[COLOR_scope__Scope___64descapemark
].val
= p0
; /* @escapemark on <self:Scope> */
962 /* method scope#Scope#escapemark= for (self: Object, nullable EscapeMark) */
963 void VIRTUAL_scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
964 scope__Scope__escapemark_61d(self
, p0
);
967 /* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */
968 val
* scope__Scope__get_variable(val
* self
, val
* p0
) {
969 val
* var
/* : nullable Variable */;
970 val
* var_name
/* var name: String */;
971 val
* var1
/* : HashMap[String, Variable] */;
972 short int var2
/* : Bool */;
973 val
* var3
/* : HashMap[String, Variable] */;
974 val
* var4
/* : nullable Object */;
975 val
* var5
/* : null */;
977 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
978 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_name
) /* has_key on <var1:HashMap[String, Variable]>*/;
980 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
981 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_name
) /* [] on <var3:HashMap[String, Variable]>*/;
992 /* method scope#Scope#get_variable for (self: Object, String): nullable Variable */
993 val
* VIRTUAL_scope__Scope__get_variable(val
* self
, val
* p0
) {
994 val
* var
/* : nullable Variable */;
995 val
* var1
/* : nullable Variable */;
996 var1
= scope__Scope__get_variable(self
, p0
);
1001 /* method scope#Scope#init for (self: Scope) */
1002 void scope__Scope__init(val
* self
) {
1005 /* method scope#Scope#init for (self: Object) */
1006 void VIRTUAL_scope__Scope__init(val
* self
) {
1007 scope__Scope__init(self
);
1010 /* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */
1011 void scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1012 val
* var_v
/* var v: ScopeVisitor */;
1014 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
1017 /* method scope#ANode#accept_scope_visitor for (self: Object, ScopeVisitor) */
1018 void VIRTUAL_scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1019 scope__ANode__accept_scope_visitor(self
, p0
);
1022 /* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */
1023 void scope__APropdef__do_scope(val
* self
, val
* p0
) {
1024 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1025 val
* var
/* : ScopeVisitor */;
1026 val
* var_v
/* var v: ScopeVisitor */;
1027 var_toolcontext
= p0
;
1028 var
= NEW_scope__ScopeVisitor(&type_scope__ScopeVisitor
);
1029 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_scope__ScopeVisitor__init
]))(var
, var_toolcontext
) /* init on <var:ScopeVisitor>*/;
1030 CHECK_NEW_scope__ScopeVisitor(var
);
1032 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:ScopeVisitor>*/;
1035 /* method scope#APropdef#do_scope for (self: Object, ToolContext) */
1036 void VIRTUAL_scope__APropdef__do_scope(val
* self
, val
* p0
) {
1037 scope__APropdef__do_scope(self
, p0
);
1040 /* method scope#AParam#variable for (self: AParam): nullable Variable */
1041 val
* scope__AParam__variable(val
* self
) {
1042 val
* var
/* : nullable Variable */;
1043 val
* var1
/* : nullable Variable */;
1044 var1
= self
->attrs
[COLOR_scope__AParam___64dvariable
].val
; /* @variable on <self:AParam> */
1049 /* method scope#AParam#variable for (self: Object): nullable Variable */
1050 val
* VIRTUAL_scope__AParam__variable(val
* self
) {
1051 val
* var
/* : nullable Variable */;
1052 val
* var1
/* : nullable Variable */;
1053 var1
= scope__AParam__variable(self
);
1058 /* method scope#AParam#variable= for (self: AParam, nullable Variable) */
1059 void scope__AParam__variable_61d(val
* self
, val
* p0
) {
1060 self
->attrs
[COLOR_scope__AParam___64dvariable
].val
= p0
; /* @variable on <self:AParam> */
1063 /* method scope#AParam#variable= for (self: Object, nullable Variable) */
1064 void VIRTUAL_scope__AParam__variable_61d(val
* self
, val
* p0
) {
1065 scope__AParam__variable_61d(self
, p0
);
1068 /* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */
1069 void scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
1070 val
* var_v
/* var v: ScopeVisitor */;
1071 val
* var
/* : TId */;
1072 val
* var_nid
/* var nid: TId */;
1073 val
* var1
/* : Variable */;
1074 val
* var2
/* : String */;
1075 val
* var_variable
/* var variable: Variable */;
1076 short int var3
/* : Bool */;
1078 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AParam>*/;
1079 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(self
) /* n_id on <self:AParam>*/;
1081 var1
= NEW_scope__Variable(&type_scope__Variable
);
1082 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1083 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
1084 CHECK_NEW_scope__Variable(var1
);
1085 var_variable
= var1
;
1086 var3
= ((short int (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__register_variable
]))(var_v
, var_nid
, var_variable
) /* register_variable on <var_v:ScopeVisitor>*/;
1088 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__variable_61d
]))(self
, var_variable
) /* variable= on <self:AParam>*/;
1091 /* method scope#AParam#accept_scope_visitor for (self: Object, ScopeVisitor) */
1092 void VIRTUAL_scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
1093 scope__AParam__accept_scope_visitor(self
, p0
);
1096 /* method scope#AClosureDecl#variable for (self: AClosureDecl): nullable ClosureVariable */
1097 val
* scope__AClosureDecl__variable(val
* self
) {
1098 val
* var
/* : nullable ClosureVariable */;
1099 val
* var1
/* : nullable ClosureVariable */;
1100 var1
= self
->attrs
[COLOR_scope__AClosureDecl___64dvariable
].val
; /* @variable on <self:AClosureDecl> */
1105 /* method scope#AClosureDecl#variable for (self: Object): nullable ClosureVariable */
1106 val
* VIRTUAL_scope__AClosureDecl__variable(val
* self
) {
1107 val
* var
/* : nullable ClosureVariable */;
1108 val
* var1
/* : nullable ClosureVariable */;
1109 var1
= scope__AClosureDecl__variable(self
);
1114 /* method scope#AClosureDecl#variable= for (self: AClosureDecl, nullable ClosureVariable) */
1115 void scope__AClosureDecl__variable_61d(val
* self
, val
* p0
) {
1116 self
->attrs
[COLOR_scope__AClosureDecl___64dvariable
].val
= p0
; /* @variable on <self:AClosureDecl> */
1119 /* method scope#AClosureDecl#variable= for (self: Object, nullable ClosureVariable) */
1120 void VIRTUAL_scope__AClosureDecl__variable_61d(val
* self
, val
* p0
) {
1121 scope__AClosureDecl__variable_61d(self
, p0
);
1124 /* method scope#AClosureDecl#accept_scope_visitor for (self: AClosureDecl, ScopeVisitor) */
1125 void scope__AClosureDecl__accept_scope_visitor(val
* self
, val
* p0
) {
1126 val
* var_v
/* var v: ScopeVisitor */;
1127 val
* var
/* : TId */;
1128 val
* var_nid
/* var nid: TId */;
1129 val
* var1
/* : ClosureVariable */;
1130 val
* var2
/* : String */;
1131 val
* var_variable
/* var variable: ClosureVariable */;
1132 short int var3
/* : Bool */;
1134 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClosureDecl__n_id
]))(self
) /* n_id on <self:AClosureDecl>*/;
1136 var1
= NEW_scope__ClosureVariable(&type_scope__ClosureVariable
);
1137 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1138 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:ClosureVariable>*/;
1139 CHECK_NEW_scope__ClosureVariable(var1
);
1140 var_variable
= var1
;
1141 var3
= ((short int (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__register_variable
]))(var_v
, var_nid
, var_variable
) /* register_variable on <var_v:ScopeVisitor>*/;
1143 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AClosureDecl__variable_61d
]))(self
, var_variable
) /* variable= on <self:AClosureDecl>*/;
1146 /* method scope#AClosureDecl#accept_scope_visitor for (self: Object, ScopeVisitor) */
1147 void VIRTUAL_scope__AClosureDecl__accept_scope_visitor(val
* self
, val
* p0
) {
1148 scope__AClosureDecl__accept_scope_visitor(self
, p0
);
1151 /* method scope#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */
1152 val
* scope__AVardeclExpr__variable(val
* self
) {
1153 val
* var
/* : nullable Variable */;
1154 val
* var1
/* : nullable Variable */;
1155 var1
= self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
; /* @variable on <self:AVardeclExpr> */
1160 /* method scope#AVardeclExpr#variable for (self: Object): nullable Variable */
1161 val
* VIRTUAL_scope__AVardeclExpr__variable(val
* self
) {
1162 val
* var
/* : nullable Variable */;
1163 val
* var1
/* : nullable Variable */;
1164 var1
= scope__AVardeclExpr__variable(self
);
1169 /* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */
1170 void scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1171 self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
= p0
; /* @variable on <self:AVardeclExpr> */
1174 /* method scope#AVardeclExpr#variable= for (self: Object, nullable Variable) */
1175 void VIRTUAL_scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1176 scope__AVardeclExpr__variable_61d(self
, p0
);
1179 /* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
1180 void scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1181 val
* var_v
/* var v: ScopeVisitor */;
1182 val
* var
/* : TId */;
1183 val
* var_nid
/* var nid: TId */;
1184 val
* var1
/* : Variable */;
1185 val
* var2
/* : String */;
1186 val
* var_variable
/* var variable: Variable */;
1187 short int var3
/* : Bool */;
1189 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AVardeclExpr>*/;
1190 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_id
]))(self
) /* n_id on <self:AVardeclExpr>*/;
1192 var1
= NEW_scope__Variable(&type_scope__Variable
);
1193 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1194 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
1195 CHECK_NEW_scope__Variable(var1
);
1196 var_variable
= var1
;
1197 var3
= ((short int (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__register_variable
]))(var_v
, var_nid
, var_variable
) /* register_variable on <var_v:ScopeVisitor>*/;
1199 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable_61d
]))(self
, var_variable
) /* variable= on <self:AVardeclExpr>*/;
1202 /* method scope#AVardeclExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1203 void VIRTUAL_scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1204 scope__AVardeclExpr__accept_scope_visitor(self
, p0
);
1207 /* method scope#ASelfExpr#variable for (self: ASelfExpr): nullable Variable */
1208 val
* scope__ASelfExpr__variable(val
* self
) {
1209 val
* var
/* : nullable Variable */;
1210 val
* var1
/* : nullable Variable */;
1211 var1
= self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
; /* @variable on <self:ASelfExpr> */
1216 /* method scope#ASelfExpr#variable for (self: Object): nullable Variable */
1217 val
* VIRTUAL_scope__ASelfExpr__variable(val
* self
) {
1218 val
* var
/* : nullable Variable */;
1219 val
* var1
/* : nullable Variable */;
1220 var1
= scope__ASelfExpr__variable(self
);
1225 /* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */
1226 void scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1227 self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
= p0
; /* @variable on <self:ASelfExpr> */
1230 /* method scope#ASelfExpr#variable= for (self: Object, nullable Variable) */
1231 void VIRTUAL_scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1232 scope__ASelfExpr__variable_61d(self
, p0
);
1235 /* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
1236 void scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1237 val
* var_v
/* var v: ScopeVisitor */;
1238 val
* var
/* : Variable */;
1240 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASelfExpr>*/;
1241 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__selfvariable
]))(var_v
) /* selfvariable on <var_v:ScopeVisitor>*/;
1242 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__variable_61d
]))(self
, var
) /* variable= on <self:ASelfExpr>*/;
1245 /* method scope#ASelfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1246 void VIRTUAL_scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1247 scope__ASelfExpr__accept_scope_visitor(self
, p0
);
1250 /* method scope#AContinueExpr#escapemark for (self: AContinueExpr): nullable EscapeMark */
1251 val
* scope__AContinueExpr__escapemark(val
* self
) {
1252 val
* var
/* : nullable EscapeMark */;
1253 val
* var1
/* : nullable EscapeMark */;
1254 var1
= self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
; /* @escapemark on <self:AContinueExpr> */
1259 /* method scope#AContinueExpr#escapemark for (self: Object): nullable EscapeMark */
1260 val
* VIRTUAL_scope__AContinueExpr__escapemark(val
* self
) {
1261 val
* var
/* : nullable EscapeMark */;
1262 val
* var1
/* : nullable EscapeMark */;
1263 var1
= scope__AContinueExpr__escapemark(self
);
1268 /* method scope#AContinueExpr#escapemark= for (self: AContinueExpr, nullable EscapeMark) */
1269 void scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1270 self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AContinueExpr> */
1273 /* method scope#AContinueExpr#escapemark= for (self: Object, nullable EscapeMark) */
1274 void VIRTUAL_scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1275 scope__AContinueExpr__escapemark_61d(self
, p0
);
1278 /* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
1279 void scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1280 val
* var_v
/* var v: ScopeVisitor */;
1281 val
* var
/* : nullable ALabel */;
1282 val
* var1
/* : nullable EscapeMark */;
1283 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1284 val
* var2
/* : null */;
1285 short int var3
/* : Bool */;
1286 short int var4
/* : Bool */;
1287 short int var5
/* : Bool */;
1288 static val
* varonce
;
1289 val
* var6
/* : String */;
1290 char* var7
/* : NativeString */;
1291 long var8
/* : Int */;
1292 val
* var9
/* : String */;
1293 val
* var10
/* : Array[AContinueExpr] */;
1295 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AContinueExpr>*/;
1296 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AContinueExpr>*/;
1297 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1298 var_escapemark
= var1
;
1300 if (var_escapemark
== NULL
) {
1301 var3
= 1; /* is null */
1303 var3
= 0; /* arg is null but recv is not */
1309 var4
= ((short int (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__for_loop
]))(var_escapemark
) /* for_loop on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1315 var7
= "Error: cannot \'continue\', only \'break\'.";
1317 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1321 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var6
) /* error on <var_v:ScopeVisitor>*/;
1324 var10
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__continues
]))(var_escapemark
) /* continues on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1325 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, self
) /* add on <var10:Array[AContinueExpr]>*/;
1326 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AContinueExpr>*/;
1329 /* method scope#AContinueExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1330 void VIRTUAL_scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1331 scope__AContinueExpr__accept_scope_visitor(self
, p0
);
1334 /* method scope#ABreakExpr#escapemark for (self: ABreakExpr): nullable EscapeMark */
1335 val
* scope__ABreakExpr__escapemark(val
* self
) {
1336 val
* var
/* : nullable EscapeMark */;
1337 val
* var1
/* : nullable EscapeMark */;
1338 var1
= self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
; /* @escapemark on <self:ABreakExpr> */
1343 /* method scope#ABreakExpr#escapemark for (self: Object): nullable EscapeMark */
1344 val
* VIRTUAL_scope__ABreakExpr__escapemark(val
* self
) {
1345 val
* var
/* : nullable EscapeMark */;
1346 val
* var1
/* : nullable EscapeMark */;
1347 var1
= scope__ABreakExpr__escapemark(self
);
1352 /* method scope#ABreakExpr#escapemark= for (self: ABreakExpr, nullable EscapeMark) */
1353 void scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1354 self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ABreakExpr> */
1357 /* method scope#ABreakExpr#escapemark= for (self: Object, nullable EscapeMark) */
1358 void VIRTUAL_scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1359 scope__ABreakExpr__escapemark_61d(self
, p0
);
1362 /* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
1363 void scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1364 val
* var_v
/* var v: ScopeVisitor */;
1365 val
* var
/* : nullable ALabel */;
1366 val
* var1
/* : nullable EscapeMark */;
1367 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1368 val
* var2
/* : null */;
1369 short int var3
/* : Bool */;
1370 val
* var4
/* : Array[ABreakExpr] */;
1372 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ABreakExpr>*/;
1373 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ABreakExpr>*/;
1374 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1375 var_escapemark
= var1
;
1377 if (var_escapemark
== NULL
) {
1378 var3
= 1; /* is null */
1380 var3
= 0; /* arg is null but recv is not */
1386 var4
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__breaks
]))(var_escapemark
) /* breaks on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1387 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, self
) /* add on <var4:Array[ABreakExpr]>*/;
1388 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ABreakExpr>*/;
1391 /* method scope#ABreakExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1392 void VIRTUAL_scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1393 scope__ABreakExpr__accept_scope_visitor(self
, p0
);
1396 /* method scope#ADoExpr#escapemark for (self: ADoExpr): nullable EscapeMark */
1397 val
* scope__ADoExpr__escapemark(val
* self
) {
1398 val
* var
/* : nullable EscapeMark */;
1399 val
* var1
/* : nullable EscapeMark */;
1400 var1
= self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
; /* @escapemark on <self:ADoExpr> */
1405 /* method scope#ADoExpr#escapemark for (self: Object): nullable EscapeMark */
1406 val
* VIRTUAL_scope__ADoExpr__escapemark(val
* self
) {
1407 val
* var
/* : nullable EscapeMark */;
1408 val
* var1
/* : nullable EscapeMark */;
1409 var1
= scope__ADoExpr__escapemark(self
);
1414 /* method scope#ADoExpr#escapemark= for (self: ADoExpr, nullable EscapeMark) */
1415 void scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1416 self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ADoExpr> */
1419 /* method scope#ADoExpr#escapemark= for (self: Object, nullable EscapeMark) */
1420 void VIRTUAL_scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1421 scope__ADoExpr__escapemark_61d(self
, p0
);
1424 /* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
1425 void scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1426 val
* var_v
/* var v: ScopeVisitor */;
1427 val
* var
/* : nullable ALabel */;
1428 short int var1
/* : Bool */;
1429 val
* var2
/* : EscapeMark */;
1430 val
* var3
/* : nullable AExpr */;
1431 val
* var4
/* : nullable EscapeMark */;
1433 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ADoExpr>*/;
1435 var2
= ((val
* (*)(val
*, val
*, short int))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__make_escape_mark
]))(var_v
, var
, var1
) /* make_escape_mark on <var_v:ScopeVisitor>*/;
1436 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var2
) /* escapemark= on <self:ADoExpr>*/;
1437 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
1438 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
1439 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var3
, var4
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1442 /* method scope#ADoExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1443 void VIRTUAL_scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1444 scope__ADoExpr__accept_scope_visitor(self
, p0
);
1447 /* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
1448 void scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1449 val
* var_v
/* var v: ScopeVisitor */;
1450 val
* var
/* : AExpr */;
1451 val
* var1
/* : nullable AExpr */;
1452 val
* var2
/* : null */;
1453 val
* var3
/* : nullable AExpr */;
1454 val
* var4
/* : null */;
1456 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
1457 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1458 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
1460 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var1
, var2
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1461 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
1463 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var3
, var4
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1466 /* method scope#AIfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1467 void VIRTUAL_scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1468 scope__AIfExpr__accept_scope_visitor(self
, p0
);
1471 /* method scope#AWhileExpr#escapemark for (self: AWhileExpr): nullable EscapeMark */
1472 val
* scope__AWhileExpr__escapemark(val
* self
) {
1473 val
* var
/* : nullable EscapeMark */;
1474 val
* var1
/* : nullable EscapeMark */;
1475 var1
= self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
; /* @escapemark on <self:AWhileExpr> */
1480 /* method scope#AWhileExpr#escapemark for (self: Object): nullable EscapeMark */
1481 val
* VIRTUAL_scope__AWhileExpr__escapemark(val
* self
) {
1482 val
* var
/* : nullable EscapeMark */;
1483 val
* var1
/* : nullable EscapeMark */;
1484 var1
= scope__AWhileExpr__escapemark(self
);
1489 /* method scope#AWhileExpr#escapemark= for (self: AWhileExpr, nullable EscapeMark) */
1490 void scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1491 self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AWhileExpr> */
1494 /* method scope#AWhileExpr#escapemark= for (self: Object, nullable EscapeMark) */
1495 void VIRTUAL_scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1496 scope__AWhileExpr__escapemark_61d(self
, p0
);
1499 /* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
1500 void scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1501 val
* var_v
/* var v: ScopeVisitor */;
1502 val
* var
/* : nullable ALabel */;
1503 short int var1
/* : Bool */;
1504 val
* var2
/* : EscapeMark */;
1505 val
* var_escapemark
/* var escapemark: EscapeMark */;
1506 val
* var3
/* : AExpr */;
1507 val
* var4
/* : nullable AExpr */;
1509 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AWhileExpr>*/;
1511 var2
= ((val
* (*)(val
*, val
*, short int))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__make_escape_mark
]))(var_v
, var
, var1
) /* make_escape_mark on <var_v:ScopeVisitor>*/;
1512 var_escapemark
= var2
;
1513 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AWhileExpr>*/;
1514 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
1515 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var3
) /* enter_visit on <var_v:ScopeVisitor>*/;
1516 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
1517 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var4
, var_escapemark
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1520 /* method scope#AWhileExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1521 void VIRTUAL_scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1522 scope__AWhileExpr__accept_scope_visitor(self
, p0
);
1525 /* method scope#ALoopExpr#escapemark for (self: ALoopExpr): nullable EscapeMark */
1526 val
* scope__ALoopExpr__escapemark(val
* self
) {
1527 val
* var
/* : nullable EscapeMark */;
1528 val
* var1
/* : nullable EscapeMark */;
1529 var1
= self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
; /* @escapemark on <self:ALoopExpr> */
1534 /* method scope#ALoopExpr#escapemark for (self: Object): nullable EscapeMark */
1535 val
* VIRTUAL_scope__ALoopExpr__escapemark(val
* self
) {
1536 val
* var
/* : nullable EscapeMark */;
1537 val
* var1
/* : nullable EscapeMark */;
1538 var1
= scope__ALoopExpr__escapemark(self
);
1543 /* method scope#ALoopExpr#escapemark= for (self: ALoopExpr, nullable EscapeMark) */
1544 void scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1545 self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ALoopExpr> */
1548 /* method scope#ALoopExpr#escapemark= for (self: Object, nullable EscapeMark) */
1549 void VIRTUAL_scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1550 scope__ALoopExpr__escapemark_61d(self
, p0
);
1553 /* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
1554 void scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1555 val
* var_v
/* var v: ScopeVisitor */;
1556 val
* var
/* : nullable ALabel */;
1557 short int var1
/* : Bool */;
1558 val
* var2
/* : EscapeMark */;
1559 val
* var_escapemark
/* var escapemark: EscapeMark */;
1560 val
* var3
/* : nullable AExpr */;
1562 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ALoopExpr>*/;
1564 var2
= ((val
* (*)(val
*, val
*, short int))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__make_escape_mark
]))(var_v
, var
, var1
) /* make_escape_mark on <var_v:ScopeVisitor>*/;
1565 var_escapemark
= var2
;
1566 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ALoopExpr>*/;
1567 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
1568 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var3
, var_escapemark
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1571 /* method scope#ALoopExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1572 void VIRTUAL_scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1573 scope__ALoopExpr__accept_scope_visitor(self
, p0
);
1576 /* method scope#AForExpr#variables for (self: AForExpr): nullable Array[Variable] */
1577 val
* scope__AForExpr__variables(val
* self
) {
1578 val
* var
/* : nullable Array[Variable] */;
1579 val
* var1
/* : nullable Array[Variable] */;
1580 var1
= self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
; /* @variables on <self:AForExpr> */
1585 /* method scope#AForExpr#variables for (self: Object): nullable Array[Variable] */
1586 val
* VIRTUAL_scope__AForExpr__variables(val
* self
) {
1587 val
* var
/* : nullable Array[Variable] */;
1588 val
* var1
/* : nullable Array[Variable] */;
1589 var1
= scope__AForExpr__variables(self
);
1594 /* method scope#AForExpr#variables= for (self: AForExpr, nullable Array[Variable]) */
1595 void scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1596 self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
= p0
; /* @variables on <self:AForExpr> */
1599 /* method scope#AForExpr#variables= for (self: Object, nullable Array[Variable]) */
1600 void VIRTUAL_scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1601 scope__AForExpr__variables_61d(self
, p0
);
1604 /* method scope#AForExpr#escapemark for (self: AForExpr): nullable EscapeMark */
1605 val
* scope__AForExpr__escapemark(val
* self
) {
1606 val
* var
/* : nullable EscapeMark */;
1607 val
* var1
/* : nullable EscapeMark */;
1608 var1
= self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
; /* @escapemark on <self:AForExpr> */
1613 /* method scope#AForExpr#escapemark for (self: Object): nullable EscapeMark */
1614 val
* VIRTUAL_scope__AForExpr__escapemark(val
* self
) {
1615 val
* var
/* : nullable EscapeMark */;
1616 val
* var1
/* : nullable EscapeMark */;
1617 var1
= scope__AForExpr__escapemark(self
);
1622 /* method scope#AForExpr#escapemark= for (self: AForExpr, nullable EscapeMark) */
1623 void scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1624 self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AForExpr> */
1627 /* method scope#AForExpr#escapemark= for (self: Object, nullable EscapeMark) */
1628 void VIRTUAL_scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1629 scope__AForExpr__escapemark_61d(self
, p0
);
1632 /* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
1633 void scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1634 val
* var_v
/* var v: ScopeVisitor */;
1635 val
* var
/* : AExpr */;
1636 val
* var1
/* : List[Scope] */;
1637 val
* var2
/* : Scope */;
1638 val
* var3
/* : Array[Variable] */;
1639 val
* var_variables
/* var variables: Array[Variable] */;
1640 val
* var4
/* : ANodes[TId] */;
1641 val
* var5
/* : Iterator[nullable Object] */;
1642 short int var6
/* : Bool */;
1643 val
* var7
/* : nullable Object */;
1644 val
* var_nid
/* var nid: TId */;
1645 val
* var8
/* : Variable */;
1646 val
* var9
/* : String */;
1647 val
* var_va
/* var va: Variable */;
1648 short int var10
/* : Bool */;
1649 val
* var11
/* : nullable ALabel */;
1650 short int var12
/* : Bool */;
1651 val
* var13
/* : EscapeMark */;
1652 val
* var_escapemark
/* var escapemark: EscapeMark */;
1653 val
* var14
/* : nullable AExpr */;
1654 val
* var15
/* : List[Scope] */;
1655 val
* var16
/* : nullable Object */;
1657 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1658 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1659 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1660 var2
= NEW_scope__Scope(&type_scope__Scope
);
1661 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
1662 CHECK_NEW_scope__Scope(var2
);
1663 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var1
, var2
) /* unshift on <var1:List[Scope]>*/;
1664 var3
= NEW_array__Array(&type_array__Arrayscope__Variable
);
1665 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Variable]>*/;
1666 CHECK_NEW_array__Array(var3
);
1667 var_variables
= var3
;
1668 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables_61d
]))(self
, var_variables
) /* variables= on <self:AForExpr>*/;
1669 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_ids
]))(self
) /* n_ids on <self:AForExpr>*/;
1670 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:ANodes[TId]>*/;
1672 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
1674 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
1676 var8
= NEW_scope__Variable(&type_scope__Variable
);
1677 var9
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1678 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_scope__Variable__init
]))(var8
, var9
) /* init on <var8:Variable>*/;
1679 CHECK_NEW_scope__Variable(var8
);
1681 var10
= ((short int (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__register_variable
]))(var_v
, var_nid
, var_va
) /* register_variable on <var_v:ScopeVisitor>*/;
1683 ((void (*)(val
*, val
*))(var_variables
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_variables
, var_va
) /* add on <var_variables:Array[Variable]>*/;
1684 CONTINUE_label
: (void)0;
1685 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
1687 BREAK_label
: (void)0;
1688 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AForExpr>*/;
1690 var13
= ((val
* (*)(val
*, val
*, short int))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__make_escape_mark
]))(var_v
, var11
, var12
) /* make_escape_mark on <var_v:ScopeVisitor>*/;
1691 var_escapemark
= var13
;
1692 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AForExpr>*/;
1693 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1694 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var14
, var_escapemark
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
1695 var15
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1696 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var15
) /* shift on <var15:List[Scope]>*/;
1700 /* method scope#AForExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1701 void VIRTUAL_scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1702 scope__AForExpr__accept_scope_visitor(self
, p0
);
1705 /* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */
1706 val
* scope__AVarFormExpr__variable(val
* self
) {
1707 val
* var
/* : nullable Variable */;
1708 val
* var1
/* : nullable Variable */;
1709 var1
= self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
; /* @variable on <self:AVarFormExpr> */
1714 /* method scope#AVarFormExpr#variable for (self: Object): nullable Variable */
1715 val
* VIRTUAL_scope__AVarFormExpr__variable(val
* self
) {
1716 val
* var
/* : nullable Variable */;
1717 val
* var1
/* : nullable Variable */;
1718 var1
= scope__AVarFormExpr__variable(self
);
1723 /* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */
1724 void scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1725 self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
= p0
; /* @variable on <self:AVarFormExpr> */
1728 /* method scope#AVarFormExpr#variable= for (self: Object, nullable Variable) */
1729 void VIRTUAL_scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1730 scope__AVarFormExpr__variable_61d(self
, p0
);
1733 /* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
1734 void scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1735 val
* var_v
/* var v: ScopeVisitor */;
1736 val
* var
/* : AExpr */;
1737 short int var1
/* : Bool */;
1740 val
* var2
/* : TId */;
1741 val
* var3
/* : String */;
1742 val
* var_name
/* var name: String */;
1743 val
* var4
/* : nullable Variable */;
1744 val
* var_variable
/* var variable: nullable Variable */;
1745 val
* var5
/* : null */;
1746 short int var6
/* : Bool */;
1747 short int var7
/* : Bool */;
1750 val
* var10
/* : AClosureCallExpr */;
1751 val
* var11
/* : TId */;
1752 val
* var12
/* : AExprs */;
1753 val
* var13
/* : ANodes[AClosureDef] */;
1754 val
* var_n
/* var n: AExpr */;
1755 short int var14
/* : Bool */;
1756 val
* var15
/* : AExprs */;
1757 val
* var16
/* : ANodes[AExpr] */;
1758 short int var17
/* : Bool */;
1759 short int var18
/* : Bool */;
1760 val
* var19
/* : AExprs */;
1761 short int var20
/* : Bool */;
1764 static val
* varonce
;
1765 val
* var23
/* : String */;
1766 char* var24
/* : NativeString */;
1767 long var25
/* : Int */;
1768 val
* var26
/* : String */;
1769 static val
* varonce27
;
1770 val
* var28
/* : String */;
1771 char* var29
/* : NativeString */;
1772 long var30
/* : Int */;
1773 val
* var31
/* : String */;
1774 val
* var32
/* : Array[Object] */;
1775 long var33
/* : Int */;
1776 val
* var34
/* : NativeArray[Object] */;
1777 val
* var35
/* : String */;
1778 val
* var36
/* : AVarFormExpr */;
1780 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ACallFormExpr>*/;
1781 /* <var:AExpr> isa AImplicitSelfExpr */
1782 cltype
= type_parser_nodes__AImplicitSelfExpr
.color
;
1783 idtype
= type_parser_nodes__AImplicitSelfExpr
.id
;
1784 if(cltype
>= var
->type
->table_size
) {
1787 var1
= var
->type
->type_table
[cltype
] == idtype
;
1790 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallFormExpr>*/;
1791 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__Token__text
]))(var2
) /* text on <var2:TId>*/;
1793 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(var_v
, var_name
) /* search_variable on <var_v:ScopeVisitor>*/;
1794 var_variable
= var4
;
1796 if (var_variable
== NULL
) {
1797 var6
= 0; /* is null */
1799 var6
= 1; /* arg is null and recv is not */
1802 /* <var_variable:nullable Variable(Variable)> isa ClosureVariable */
1803 cltype8
= type_scope__ClosureVariable
.color
;
1804 idtype9
= type_scope__ClosureVariable
.id
;
1805 if(cltype8
>= var_variable
->type
->table_size
) {
1808 var7
= var_variable
->type
->type_table
[cltype8
] == idtype9
;
1811 var10
= NEW_parser_nodes__AClosureCallExpr(&type_parser_nodes__AClosureCallExpr
);
1812 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallFormExpr>*/;
1813 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1814 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_closure_defs
]))(self
) /* n_closure_defs on <self:ACallFormExpr>*/;
1815 ((void (*)(val
*, val
*, val
*, val
*))(var10
->class->vft
[COLOR_parser_prod__AClosureCallExpr__init_aclosurecallexpr
]))(var10
, var11
, var12
, var13
) /* init_aclosurecallexpr on <var10:AClosureCallExpr>*/;
1816 CHECK_NEW_parser_nodes__AClosureCallExpr(var10
);
1818 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__AClosureCallExpr__variable_61d
]))(var_n
, var_variable
) /* variable= on <var_n:AExpr(AClosureCallExpr)>*/;
1820 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1821 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var15
) /* n_exprs on <var15:AExprs>*/;
1822 var17
= ((short int (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var16
) /* is_empty on <var16:ANodes[AExpr]>*/;
1827 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1828 /* <var19:AExprs> isa AParExprs */
1829 cltype21
= type_parser_nodes__AParExprs
.color
;
1830 idtype22
= type_parser_nodes__AParExprs
.id
;
1831 if(cltype21
>= var19
->type
->table_size
) {
1834 var20
= var19
->type
->type_table
[cltype21
] == idtype22
;
1844 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1851 var29
= " is variable, not a function.";
1853 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1857 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
1858 { /* var32 = array_instance Array[Object] */
1860 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
1861 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var23
;
1862 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_name
;
1863 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var28
;
1864 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
1865 CHECK_NEW_array__Array(var32
);
1867 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
1868 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var35
) /* error on <var_v:ScopeVisitor>*/;
1872 var36
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__variable_create
]))(self
, var_variable
) /* variable_create on <self:ACallFormExpr>*/;
1874 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(var_n
, var_variable
) /* variable= on <var_n:AExpr(AVarFormExpr)>*/;
1876 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_n
) /* replace_with on <self:ACallFormExpr>*/;
1877 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, var_v
) /* accept_scope_visitor on <var_n:AExpr>*/;
1883 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ACallFormExpr>*/;
1886 /* method scope#ACallFormExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1887 void VIRTUAL_scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1888 scope__ACallFormExpr__accept_scope_visitor(self
, p0
);
1891 /* method scope#ACallFormExpr#variable_create for (self: ACallFormExpr, Variable): AVarFormExpr */
1892 val
* scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1893 val
* var
/* : AVarFormExpr */;
1894 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/scope.nit", 412);
1899 /* method scope#ACallFormExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1900 val
* VIRTUAL_scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1901 val
* var
/* : AVarFormExpr */;
1902 val
* var1
/* : AVarFormExpr */;
1903 var1
= scope__ACallFormExpr__variable_create(self
, p0
);
1908 /* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */
1909 val
* scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1910 val
* var
/* : AVarFormExpr */;
1911 val
* var_variable
/* var variable: Variable */;
1912 val
* var1
/* : AVarExpr */;
1913 val
* var2
/* : TId */;
1915 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
1916 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallExpr>*/;
1917 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarExpr__init_avarexpr
]))(var1
, var2
) /* init_avarexpr on <var1:AVarExpr>*/;
1918 CHECK_NEW_parser_nodes__AVarExpr(var1
);
1924 /* method scope#ACallExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1925 val
* VIRTUAL_scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1926 val
* var
/* : AVarFormExpr */;
1927 val
* var1
/* : AVarFormExpr */;
1928 var1
= scope__ACallExpr__variable_create(self
, p0
);
1933 /* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
1934 val
* scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1935 val
* var
/* : AVarFormExpr */;
1936 val
* var_variable
/* var variable: Variable */;
1937 val
* var1
/* : AVarAssignExpr */;
1938 val
* var2
/* : TId */;
1939 val
* var3
/* : TAssign */;
1940 val
* var4
/* : AExpr */;
1942 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
1943 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallAssignExpr>*/;
1944 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_assign
]))(self
) /* n_assign on <self:ACallAssignExpr>*/;
1945 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:ACallAssignExpr>*/;
1946 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarAssignExpr__init_avarassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarassignexpr on <var1:AVarAssignExpr>*/;
1947 CHECK_NEW_parser_nodes__AVarAssignExpr(var1
);
1953 /* method scope#ACallAssignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1954 val
* VIRTUAL_scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1955 val
* var
/* : AVarFormExpr */;
1956 val
* var1
/* : AVarFormExpr */;
1957 var1
= scope__ACallAssignExpr__variable_create(self
, p0
);
1962 /* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
1963 val
* scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1964 val
* var
/* : AVarFormExpr */;
1965 val
* var_variable
/* var variable: Variable */;
1966 val
* var1
/* : AVarReassignExpr */;
1967 val
* var2
/* : TId */;
1968 val
* var3
/* : AAssignOp */;
1969 val
* var4
/* : AExpr */;
1971 var1
= NEW_parser_nodes__AVarReassignExpr(&type_parser_nodes__AVarReassignExpr
);
1972 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallReassignExpr>*/;
1973 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_assign_op
]))(self
) /* n_assign_op on <self:ACallReassignExpr>*/;
1974 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ACallReassignExpr>*/;
1975 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarReassignExpr__init_avarreassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarreassignexpr on <var1:AVarReassignExpr>*/;
1976 CHECK_NEW_parser_nodes__AVarReassignExpr(var1
);
1982 /* method scope#ACallReassignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1983 val
* VIRTUAL_scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1984 val
* var
/* : AVarFormExpr */;
1985 val
* var1
/* : AVarFormExpr */;
1986 var1
= scope__ACallReassignExpr__variable_create(self
, p0
);
1991 /* method scope#AClosureCallExpr#variable for (self: AClosureCallExpr): nullable ClosureVariable */
1992 val
* scope__AClosureCallExpr__variable(val
* self
) {
1993 val
* var
/* : nullable ClosureVariable */;
1994 val
* var1
/* : nullable ClosureVariable */;
1995 var1
= self
->attrs
[COLOR_scope__AClosureCallExpr___64dvariable
].val
; /* @variable on <self:AClosureCallExpr> */
2000 /* method scope#AClosureCallExpr#variable for (self: Object): nullable ClosureVariable */
2001 val
* VIRTUAL_scope__AClosureCallExpr__variable(val
* self
) {
2002 val
* var
/* : nullable ClosureVariable */;
2003 val
* var1
/* : nullable ClosureVariable */;
2004 var1
= scope__AClosureCallExpr__variable(self
);
2009 /* method scope#AClosureCallExpr#variable= for (self: AClosureCallExpr, nullable ClosureVariable) */
2010 void scope__AClosureCallExpr__variable_61d(val
* self
, val
* p0
) {
2011 self
->attrs
[COLOR_scope__AClosureCallExpr___64dvariable
].val
= p0
; /* @variable on <self:AClosureCallExpr> */
2014 /* method scope#AClosureCallExpr#variable= for (self: Object, nullable ClosureVariable) */
2015 void VIRTUAL_scope__AClosureCallExpr__variable_61d(val
* self
, val
* p0
) {
2016 scope__AClosureCallExpr__variable_61d(self
, p0
);
2019 /* method scope#ASendExpr#escapemark for (self: ASendExpr): nullable EscapeMark */
2020 val
* scope__ASendExpr__escapemark(val
* self
) {
2021 val
* var
/* : nullable EscapeMark */;
2022 val
* var1
/* : nullable EscapeMark */;
2023 var1
= self
->attrs
[COLOR_scope__ASendExpr___64descapemark
].val
; /* @escapemark on <self:ASendExpr> */
2028 /* method scope#ASendExpr#escapemark for (self: Object): nullable EscapeMark */
2029 val
* VIRTUAL_scope__ASendExpr__escapemark(val
* self
) {
2030 val
* var
/* : nullable EscapeMark */;
2031 val
* var1
/* : nullable EscapeMark */;
2032 var1
= scope__ASendExpr__escapemark(self
);
2037 /* method scope#ASendExpr#escapemark= for (self: ASendExpr, nullable EscapeMark) */
2038 void scope__ASendExpr__escapemark_61d(val
* self
, val
* p0
) {
2039 self
->attrs
[COLOR_scope__ASendExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ASendExpr> */
2042 /* method scope#ASendExpr#escapemark= for (self: Object, nullable EscapeMark) */
2043 void VIRTUAL_scope__ASendExpr__escapemark_61d(val
* self
, val
* p0
) {
2044 scope__ASendExpr__escapemark_61d(self
, p0
);
2047 /* method scope#ASendExpr#accept_scope_visitor for (self: ASendExpr, ScopeVisitor) */
2048 void scope__ASendExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2049 val
* var_v
/* var v: ScopeVisitor */;
2050 val
* var
/* : ANodes[AClosureDef] */;
2051 long var1
/* : Int */;
2052 long var2
/* : Int */;
2053 short int var3
/* : Bool */;
2054 short int var5
/* : Bool */;
2057 short int var6
/* : Bool */;
2058 val
* var7
/* : ANodes[AClosureDef] */;
2059 val
* var8
/* : nullable Object */;
2060 val
* var9
/* : nullable ALabel */;
2061 short int var10
/* : Bool */;
2062 val
* var11
/* : EscapeMark */;
2063 val
* var_escapemark
/* var escapemark: EscapeMark */;
2065 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_closure_defs
]))(self
) /* n_closure_defs on <self:ASendExpr>*/;
2066 var1
= ((long (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var
) /* length on <var:ANodes[AClosureDef]>*/;
2068 { /* Inline kernel#Int#> (var1,var2) */
2069 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2070 /* <var2:Int> isa OTHER */
2071 var5
= 1; /* easy <var2:Int> isa OTHER*/
2073 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2082 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_closure_defs
]))(self
) /* n_closure_defs on <self:ASendExpr>*/;
2083 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var7
) /* last on <var7:ANodes[AClosureDef]>*/;
2084 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(var8
) /* n_label on <var8:nullable Object(AClosureDef)>*/;
2086 var11
= ((val
* (*)(val
*, val
*, short int))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__make_escape_mark
]))(var_v
, var9
, var10
) /* make_escape_mark on <var_v:ScopeVisitor>*/;
2087 var_escapemark
= var11
;
2088 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASendExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ASendExpr>*/;
2091 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASendExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASendExpr>*/;
2094 /* method scope#ASendExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
2095 void VIRTUAL_scope__ASendExpr__accept_scope_visitor(val
* self
, val
* p0
) {
2096 scope__ASendExpr__accept_scope_visitor(self
, p0
);
2099 /* method scope#AClosureDef#variables for (self: AClosureDef): nullable Array[Variable] */
2100 val
* scope__AClosureDef__variables(val
* self
) {
2101 val
* var
/* : nullable Array[Variable] */;
2102 val
* var1
/* : nullable Array[Variable] */;
2103 var1
= self
->attrs
[COLOR_scope__AClosureDef___64dvariables
].val
; /* @variables on <self:AClosureDef> */
2108 /* method scope#AClosureDef#variables for (self: Object): nullable Array[Variable] */
2109 val
* VIRTUAL_scope__AClosureDef__variables(val
* self
) {
2110 val
* var
/* : nullable Array[Variable] */;
2111 val
* var1
/* : nullable Array[Variable] */;
2112 var1
= scope__AClosureDef__variables(self
);
2117 /* method scope#AClosureDef#variables= for (self: AClosureDef, nullable Array[Variable]) */
2118 void scope__AClosureDef__variables_61d(val
* self
, val
* p0
) {
2119 self
->attrs
[COLOR_scope__AClosureDef___64dvariables
].val
= p0
; /* @variables on <self:AClosureDef> */
2122 /* method scope#AClosureDef#variables= for (self: Object, nullable Array[Variable]) */
2123 void VIRTUAL_scope__AClosureDef__variables_61d(val
* self
, val
* p0
) {
2124 scope__AClosureDef__variables_61d(self
, p0
);
2127 /* method scope#AClosureDef#escapemark for (self: AClosureDef): nullable EscapeMark */
2128 val
* scope__AClosureDef__escapemark(val
* self
) {
2129 val
* var
/* : nullable EscapeMark */;
2130 val
* var1
/* : nullable EscapeMark */;
2131 var1
= self
->attrs
[COLOR_scope__AClosureDef___64descapemark
].val
; /* @escapemark on <self:AClosureDef> */
2136 /* method scope#AClosureDef#escapemark for (self: Object): nullable EscapeMark */
2137 val
* VIRTUAL_scope__AClosureDef__escapemark(val
* self
) {
2138 val
* var
/* : nullable EscapeMark */;
2139 val
* var1
/* : nullable EscapeMark */;
2140 var1
= scope__AClosureDef__escapemark(self
);
2145 /* method scope#AClosureDef#escapemark= for (self: AClosureDef, nullable EscapeMark) */
2146 void scope__AClosureDef__escapemark_61d(val
* self
, val
* p0
) {
2147 self
->attrs
[COLOR_scope__AClosureDef___64descapemark
].val
= p0
; /* @escapemark on <self:AClosureDef> */
2150 /* method scope#AClosureDef#escapemark= for (self: Object, nullable EscapeMark) */
2151 void VIRTUAL_scope__AClosureDef__escapemark_61d(val
* self
, val
* p0
) {
2152 scope__AClosureDef__escapemark_61d(self
, p0
);
2155 /* method scope#AClosureDef#accept_scope_visitor for (self: AClosureDef, ScopeVisitor) */
2156 void scope__AClosureDef__accept_scope_visitor(val
* self
, val
* p0
) {
2157 val
* var_v
/* var v: ScopeVisitor */;
2158 val
* var
/* : List[Scope] */;
2159 val
* var1
/* : Scope */;
2160 val
* var2
/* : Array[Variable] */;
2161 val
* var_variables
/* var variables: Array[Variable] */;
2162 val
* var3
/* : ANodes[TId] */;
2163 val
* var4
/* : Iterator[nullable Object] */;
2164 short int var5
/* : Bool */;
2165 val
* var6
/* : nullable Object */;
2166 val
* var_nid
/* var nid: TId */;
2167 val
* var7
/* : Variable */;
2168 val
* var8
/* : String */;
2169 val
* var_va
/* var va: Variable */;
2170 short int var9
/* : Bool */;
2171 val
* var10
/* : nullable ANode */;
2172 short int var11
/* : Bool */;
2175 val
* var12
/* : nullable EscapeMark */;
2176 val
* var13
/* : nullable AExpr */;
2177 val
* var14
/* : nullable EscapeMark */;
2178 val
* var15
/* : List[Scope] */;
2179 val
* var16
/* : nullable Object */;
2181 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
2182 var1
= NEW_scope__Scope(&type_scope__Scope
);
2183 ((void (*)(val
*))(var1
->class->vft
[COLOR_scope__Scope__init
]))(var1
) /* init on <var1:Scope>*/;
2184 CHECK_NEW_scope__Scope(var1
);
2185 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var
, var1
) /* unshift on <var:List[Scope]>*/;
2186 var2
= NEW_array__Array(&type_array__Arrayscope__Variable
);
2187 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Variable]>*/;
2188 CHECK_NEW_array__Array(var2
);
2189 var_variables
= var2
;
2190 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AClosureDef__variables_61d
]))(self
, var_variables
) /* variables= on <self:AClosureDef>*/;
2191 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClosureDef__n_ids
]))(self
) /* n_ids on <self:AClosureDef>*/;
2192 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:ANodes[TId]>*/;
2194 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2196 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2198 var7
= NEW_scope__Variable(&type_scope__Variable
);
2199 var8
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
2200 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_scope__Variable__init
]))(var7
, var8
) /* init on <var7:Variable>*/;
2201 CHECK_NEW_scope__Variable(var7
);
2203 var9
= ((short int (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__register_variable
]))(var_v
, var_nid
, var_va
) /* register_variable on <var_v:ScopeVisitor>*/;
2205 ((void (*)(val
*, val
*))(var_variables
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_variables
, var_va
) /* add on <var_variables:Array[Variable]>*/;
2206 CONTINUE_label
: (void)0;
2207 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2209 BREAK_label
: (void)0;
2210 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__parent
]))(self
) /* parent on <self:AClosureDef>*/;
2211 /* <var10:nullable ANode> isa ASendExpr */
2212 cltype
= type_parser_nodes__ASendExpr
.color
;
2213 idtype
= type_parser_nodes__ASendExpr
.id
;
2217 if(cltype
>= var10
->type
->table_size
) {
2220 var11
= var10
->type
->type_table
[cltype
] == idtype
;
2224 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/scope.nit", 476);
2227 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_scope__ASendExpr__escapemark
]))(var10
) /* escapemark on <var10:nullable ANode(ASendExpr)>*/;
2228 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AClosureDef__escapemark_61d
]))(self
, var12
) /* escapemark= on <self:AClosureDef>*/;
2229 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClosureDef__n_expr
]))(self
) /* n_expr on <self:AClosureDef>*/;
2230 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AClosureDef__escapemark
]))(self
) /* escapemark on <self:AClosureDef>*/;
2231 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__enter_visit_block
]))(var_v
, var13
, var14
) /* enter_visit_block on <var_v:ScopeVisitor>*/;
2232 var15
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
2233 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var15
) /* shift on <var15:List[Scope]>*/;
2237 /* method scope#AClosureDef#accept_scope_visitor for (self: Object, ScopeVisitor) */
2238 void VIRTUAL_scope__AClosureDef__accept_scope_visitor(val
* self
, val
* p0
) {
2239 scope__AClosureDef__accept_scope_visitor(self
, p0
);