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", "Uninitialized attribute @scope_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 25);
16 /* method scope#ToolContext#scope_phase for (self: Object): Phase */
17 val
* VIRTUAL_scope__ToolContext__scope_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= scope__ToolContext__scope_phase(self
);
25 /* method scope#ToolContext#scope_phase= for (self: ToolContext, Phase) */
26 void scope__ToolContext__scope_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_scope__ToolContext___64dscope_phase
].val
= p0
; /* @scope_phase on <self:ToolContext> */
30 /* method scope#ToolContext#scope_phase= for (self: Object, Phase) */
31 void VIRTUAL_scope__ToolContext__scope_phase_61d(val
* self
, val
* p0
) {
32 scope__ToolContext__scope_phase_61d(self
, p0
);
35 /* method scope#ScopePhase#process_npropdef for (self: ScopePhase, APropdef) */
36 void scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
37 val
* var_npropdef
/* var npropdef: APropdef */;
38 val
* var
/* : ToolContext */;
40 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:ScopePhase>*/;
41 ((void (*)(val
*, val
*))(var_npropdef
->class->vft
[COLOR_scope__APropdef__do_scope
]))(var_npropdef
, var
) /* do_scope on <var_npropdef:APropdef>*/;
44 /* method scope#ScopePhase#process_npropdef for (self: Object, APropdef) */
45 void VIRTUAL_scope__ScopePhase__process_npropdef(val
* self
, val
* p0
) {
46 scope__ScopePhase__process_npropdef(self
, p0
);
49 /* method scope#Variable#name for (self: Variable): String */
50 val
* scope__Variable__name(val
* self
) {
51 val
* var
/* : String */;
52 val
* var1
/* : String */;
53 var1
= self
->attrs
[COLOR_scope__Variable___64dname
].val
; /* @name on <self:Variable> */
55 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
56 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 36);
63 /* method scope#Variable#name for (self: Object): String */
64 val
* VIRTUAL_scope__Variable__name(val
* self
) {
65 val
* var
/* : String */;
66 val
* var1
/* : String */;
67 var1
= scope__Variable__name(self
);
72 /* method scope#Variable#name= for (self: Variable, String) */
73 void scope__Variable__name_61d(val
* self
, val
* p0
) {
74 self
->attrs
[COLOR_scope__Variable___64dname
].val
= p0
; /* @name on <self:Variable> */
77 /* method scope#Variable#name= for (self: Object, String) */
78 void VIRTUAL_scope__Variable__name_61d(val
* self
, val
* p0
) {
79 scope__Variable__name_61d(self
, p0
);
82 /* method scope#Variable#to_s for (self: Variable): String */
83 val
* scope__Variable__to_s(val
* self
) {
84 val
* var
/* : String */;
85 val
* var1
/* : String */;
86 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Variable__name
]))(self
) /* name on <self:Variable>*/;
92 /* method scope#Variable#to_s for (self: Object): String */
93 val
* VIRTUAL_scope__Variable__to_s(val
* self
) {
94 val
* var
/* : String */;
95 val
* var1
/* : String */;
96 var1
= scope__Variable__to_s(self
);
101 /* method scope#Variable#init for (self: Variable, String) */
102 void scope__Variable__init(val
* self
, val
* p0
) {
103 self
->attrs
[COLOR_scope__Variable___64dname
].val
= p0
; /* @name on <self:Variable> */
106 /* method scope#Variable#init for (self: Object, String) */
107 void VIRTUAL_scope__Variable__init(val
* self
, val
* p0
) {
108 scope__Variable__init(self
, p0
);
111 /* method scope#EscapeMark#name for (self: EscapeMark): nullable String */
112 val
* scope__EscapeMark__name(val
* self
) {
113 val
* var
/* : nullable String */;
114 val
* var1
/* : nullable String */;
115 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
; /* @name on <self:EscapeMark> */
120 /* method scope#EscapeMark#name for (self: Object): nullable String */
121 val
* VIRTUAL_scope__EscapeMark__name(val
* self
) {
122 val
* var
/* : nullable String */;
123 val
* var1
/* : nullable String */;
124 var1
= scope__EscapeMark__name(self
);
129 /* method scope#EscapeMark#name= for (self: EscapeMark, nullable String) */
130 void scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
131 self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
= p0
; /* @name on <self:EscapeMark> */
134 /* method scope#EscapeMark#name= for (self: Object, nullable String) */
135 void VIRTUAL_scope__EscapeMark__name_61d(val
* self
, val
* p0
) {
136 scope__EscapeMark__name_61d(self
, p0
);
139 /* method scope#EscapeMark#for_loop for (self: EscapeMark): Bool */
140 short int scope__EscapeMark__for_loop(val
* self
) {
141 short int var
/* : Bool */;
142 short int var1
/* : Bool */;
143 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
; /* @for_loop on <self:EscapeMark> */
148 /* method scope#EscapeMark#for_loop for (self: Object): Bool */
149 short int VIRTUAL_scope__EscapeMark__for_loop(val
* self
) {
150 short int var
/* : Bool */;
151 short int var1
/* : Bool */;
152 var1
= scope__EscapeMark__for_loop(self
);
157 /* method scope#EscapeMark#for_loop= for (self: EscapeMark, Bool) */
158 void scope__EscapeMark__for_loop_61d(val
* self
, short int p0
) {
159 self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
= p0
; /* @for_loop on <self:EscapeMark> */
162 /* method scope#EscapeMark#for_loop= for (self: Object, Bool) */
163 void VIRTUAL_scope__EscapeMark__for_loop_61d(val
* self
, short int p0
) {
164 scope__EscapeMark__for_loop_61d(self
, p0
);
167 /* method scope#EscapeMark#continues for (self: EscapeMark): Array[AContinueExpr] */
168 val
* scope__EscapeMark__continues(val
* self
) {
169 val
* var
/* : Array[AContinueExpr] */;
170 val
* var1
/* : Array[AContinueExpr] */;
171 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dcontinues
].val
; /* @continues on <self:EscapeMark> */
173 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @continues");
174 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 53);
181 /* method scope#EscapeMark#continues for (self: Object): Array[AContinueExpr] */
182 val
* VIRTUAL_scope__EscapeMark__continues(val
* self
) {
183 val
* var
/* : Array[AContinueExpr] */;
184 val
* var1
/* : Array[AContinueExpr] */;
185 var1
= scope__EscapeMark__continues(self
);
190 /* method scope#EscapeMark#continues= for (self: EscapeMark, Array[AContinueExpr]) */
191 void scope__EscapeMark__continues_61d(val
* self
, val
* p0
) {
192 self
->attrs
[COLOR_scope__EscapeMark___64dcontinues
].val
= p0
; /* @continues on <self:EscapeMark> */
195 /* method scope#EscapeMark#continues= for (self: Object, Array[AContinueExpr]) */
196 void VIRTUAL_scope__EscapeMark__continues_61d(val
* self
, val
* p0
) {
197 scope__EscapeMark__continues_61d(self
, p0
);
200 /* method scope#EscapeMark#breaks for (self: EscapeMark): Array[ABreakExpr] */
201 val
* scope__EscapeMark__breaks(val
* self
) {
202 val
* var
/* : Array[ABreakExpr] */;
203 val
* var1
/* : Array[ABreakExpr] */;
204 var1
= self
->attrs
[COLOR_scope__EscapeMark___64dbreaks
].val
; /* @breaks on <self:EscapeMark> */
206 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @breaks");
207 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 56);
214 /* method scope#EscapeMark#breaks for (self: Object): Array[ABreakExpr] */
215 val
* VIRTUAL_scope__EscapeMark__breaks(val
* self
) {
216 val
* var
/* : Array[ABreakExpr] */;
217 val
* var1
/* : Array[ABreakExpr] */;
218 var1
= scope__EscapeMark__breaks(self
);
223 /* method scope#EscapeMark#breaks= for (self: EscapeMark, Array[ABreakExpr]) */
224 void scope__EscapeMark__breaks_61d(val
* self
, val
* p0
) {
225 self
->attrs
[COLOR_scope__EscapeMark___64dbreaks
].val
= p0
; /* @breaks on <self:EscapeMark> */
228 /* method scope#EscapeMark#breaks= for (self: Object, Array[ABreakExpr]) */
229 void VIRTUAL_scope__EscapeMark__breaks_61d(val
* self
, val
* p0
) {
230 scope__EscapeMark__breaks_61d(self
, p0
);
233 /* method scope#EscapeMark#init for (self: EscapeMark, nullable String, Bool) */
234 void scope__EscapeMark__init(val
* self
, val
* p0
, short int p1
) {
235 self
->attrs
[COLOR_scope__EscapeMark___64dname
].val
= p0
; /* @name on <self:EscapeMark> */
236 self
->attrs
[COLOR_scope__EscapeMark___64dfor_loop
].s
= p1
; /* @for_loop on <self:EscapeMark> */
239 /* method scope#EscapeMark#init for (self: Object, nullable String, Bool) */
240 void VIRTUAL_scope__EscapeMark__init(val
* self
, val
* p0
, short int p1
) {
241 scope__EscapeMark__init(self
, p0
, p1
);
244 /* method scope#ScopeVisitor#toolcontext for (self: ScopeVisitor): ToolContext */
245 val
* scope__ScopeVisitor__toolcontext(val
* self
) {
246 val
* var
/* : ToolContext */;
247 val
* var1
/* : ToolContext */;
248 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dtoolcontext
].val
; /* @toolcontext on <self:ScopeVisitor> */
250 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @toolcontext");
251 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 68);
258 /* method scope#ScopeVisitor#toolcontext for (self: Object): ToolContext */
259 val
* VIRTUAL_scope__ScopeVisitor__toolcontext(val
* self
) {
260 val
* var
/* : ToolContext */;
261 val
* var1
/* : ToolContext */;
262 var1
= scope__ScopeVisitor__toolcontext(self
);
267 /* method scope#ScopeVisitor#toolcontext= for (self: ScopeVisitor, ToolContext) */
268 void scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
269 self
->attrs
[COLOR_scope__ScopeVisitor___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:ScopeVisitor> */
272 /* method scope#ScopeVisitor#toolcontext= for (self: Object, ToolContext) */
273 void VIRTUAL_scope__ScopeVisitor__toolcontext_61d(val
* self
, val
* p0
) {
274 scope__ScopeVisitor__toolcontext_61d(self
, p0
);
277 /* method scope#ScopeVisitor#selfvariable for (self: ScopeVisitor): Variable */
278 val
* scope__ScopeVisitor__selfvariable(val
* self
) {
279 val
* var
/* : Variable */;
280 val
* var1
/* : Variable */;
281 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dselfvariable
].val
; /* @selfvariable on <self:ScopeVisitor> */
283 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @selfvariable");
284 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 71);
291 /* method scope#ScopeVisitor#selfvariable for (self: Object): Variable */
292 val
* VIRTUAL_scope__ScopeVisitor__selfvariable(val
* self
) {
293 val
* var
/* : Variable */;
294 val
* var1
/* : Variable */;
295 var1
= scope__ScopeVisitor__selfvariable(self
);
300 /* method scope#ScopeVisitor#selfvariable= for (self: ScopeVisitor, Variable) */
301 void scope__ScopeVisitor__selfvariable_61d(val
* self
, val
* p0
) {
302 self
->attrs
[COLOR_scope__ScopeVisitor___64dselfvariable
].val
= p0
; /* @selfvariable on <self:ScopeVisitor> */
305 /* method scope#ScopeVisitor#selfvariable= for (self: Object, Variable) */
306 void VIRTUAL_scope__ScopeVisitor__selfvariable_61d(val
* self
, val
* p0
) {
307 scope__ScopeVisitor__selfvariable_61d(self
, p0
);
310 /* method scope#ScopeVisitor#init for (self: ScopeVisitor, ToolContext) */
311 void scope__ScopeVisitor__init(val
* self
, val
* p0
) {
312 val
* var_toolcontext
/* var toolcontext: ToolContext */;
313 val
* var
/* : List[Scope] */;
314 val
* var1
/* : Scope */;
315 var_toolcontext
= p0
;
316 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:ScopeVisitor>*/;
317 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:ScopeVisitor>*/;
318 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
319 var1
= NEW_scope__Scope(&type_scope__Scope
);
320 ((void (*)(val
*))(var1
->class->vft
[COLOR_scope__Scope__init
]))(var1
) /* init on <var1:Scope>*/;
321 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var1
) /* add on <var:List[Scope]>*/;
324 /* method scope#ScopeVisitor#init for (self: Object, ToolContext) */
325 void VIRTUAL_scope__ScopeVisitor__init(val
* self
, val
* p0
) {
326 scope__ScopeVisitor__init(self
, p0
);
329 /* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */
330 val
* scope__ScopeVisitor__scopes(val
* self
) {
331 val
* var
/* : List[Scope] */;
332 val
* var1
/* : List[Scope] */;
333 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
; /* @scopes on <self:ScopeVisitor> */
335 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @scopes");
336 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 79);
343 /* method scope#ScopeVisitor#scopes for (self: Object): List[Scope] */
344 val
* VIRTUAL_scope__ScopeVisitor__scopes(val
* self
) {
345 val
* var
/* : List[Scope] */;
346 val
* var1
/* : List[Scope] */;
347 var1
= scope__ScopeVisitor__scopes(self
);
352 /* method scope#ScopeVisitor#scopes= for (self: ScopeVisitor, List[Scope]) */
353 void scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
354 self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
= p0
; /* @scopes on <self:ScopeVisitor> */
357 /* method scope#ScopeVisitor#scopes= for (self: Object, List[Scope]) */
358 void VIRTUAL_scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
359 scope__ScopeVisitor__scopes_61d(self
, p0
);
362 /* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
363 short int scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
364 short int var
/* : Bool */;
365 val
* var_node
/* var node: ANode */;
366 val
* var_variable
/* var variable: Variable */;
367 val
* var1
/* : String */;
368 val
* var_name
/* var name: String */;
369 val
* var2
/* : nullable Variable */;
370 val
* var_found
/* var found: nullable Variable */;
371 val
* var3
/* : null */;
372 short int var4
/* : Bool */;
374 val
* var5
/* : String */;
375 char* var6
/* : NativeString */;
376 long var7
/* : Int */;
377 val
* var8
/* : String */;
378 static val
* varonce9
;
379 val
* var10
/* : String */;
380 char* var11
/* : NativeString */;
381 long var12
/* : Int */;
382 val
* var13
/* : String */;
383 val
* var14
/* : Array[Object] */;
384 long var15
/* : Int */;
385 val
* var16
/* : NativeArray[Object] */;
386 val
* var17
/* : String */;
387 short int var18
/* : Bool */;
388 val
* var19
/* : List[Scope] */;
389 val
* var20
/* : nullable Object */;
390 val
* var21
/* : HashMap[String, Variable] */;
391 short int var22
/* : Bool */;
394 var1
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
396 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(self
, var_name
) /* search_variable on <self:ScopeVisitor>*/;
399 if (var_found
== NULL
) {
400 var4
= 0; /* is null */
402 var4
= 1; /* arg is null and recv is not */
408 var6
= "Error: A variable named `";
410 var8
= string__NativeString__to_s_with_length(var6
, var7
);
417 var11
= "\' already exists";
419 var13
= string__NativeString__to_s_with_length(var11
, var12
);
423 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
424 { /* var14 = array_instance Array[Object] */
426 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
427 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
428 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_name
;
429 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
430 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
432 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
433 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var17
) /* error on <self:ScopeVisitor>*/;
439 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
440 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:List[Scope]>*/;
441 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_scope__Scope__variables
]))(var20
) /* variables on <var20:nullable Object(Scope)>*/;
442 ((void (*)(val
*, val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var21
, var_name
, var_variable
) /* []= on <var21:HashMap[String, Variable]>*/;
449 /* method scope#ScopeVisitor#register_variable for (self: Object, ANode, Variable): Bool */
450 short int VIRTUAL_scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
451 short int var
/* : Bool */;
452 short int var1
/* : Bool */;
453 var1
= scope__ScopeVisitor__register_variable(self
, p0
, p1
);
458 /* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */
459 val
* scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
460 val
* var
/* : nullable Variable */;
461 val
* var_name
/* var name: String */;
462 val
* var1
/* : List[Scope] */;
463 val
* var2
/* : Iterator[nullable Object] */;
464 short int var3
/* : Bool */;
465 val
* var4
/* : nullable Object */;
466 val
* var_scope
/* var scope: Scope */;
467 val
* var5
/* : nullable Variable */;
468 val
* var_res
/* var res: nullable Variable */;
469 val
* var6
/* : null */;
470 short int var7
/* : Bool */;
471 val
* var8
/* : null */;
473 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
474 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
476 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
478 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
480 var5
= ((val
* (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__get_variable
]))(var_scope
, var_name
) /* get_variable on <var_scope:Scope>*/;
483 if (var_res
== NULL
) {
484 var7
= 0; /* is null */
486 var7
= 1; /* arg is null and recv is not */
493 CONTINUE_label
: (void)0;
494 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
496 BREAK_label
: (void)0;
503 /* method scope#ScopeVisitor#search_variable for (self: Object, String): nullable Variable */
504 val
* VIRTUAL_scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
505 val
* var
/* : nullable Variable */;
506 val
* var1
/* : nullable Variable */;
507 var1
= scope__ScopeVisitor__search_variable(self
, p0
);
512 /* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */
513 void scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
514 val
* var_n
/* var n: ANode */;
516 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, self
) /* accept_scope_visitor on <var_n:ANode>*/;
519 /* method scope#ScopeVisitor#visit for (self: Object, ANode) */
520 void VIRTUAL_scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
521 scope__ScopeVisitor__visit(self
, p0
);
524 /* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
525 void scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
526 val
* var_node
/* var node: nullable AExpr */;
527 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
528 val
* var
/* : null */;
529 short int var1
/* : Bool */;
530 val
* var2
/* : Scope */;
531 val
* var_scope
/* var scope: Scope */;
532 val
* var3
/* : List[Scope] */;
533 val
* var4
/* : List[Scope] */;
534 val
* var5
/* : nullable Object */;
538 if (var_node
== NULL
) {
539 var1
= 1; /* is null */
541 var1
= 0; /* arg is null but recv is not */
547 var2
= NEW_scope__Scope(&type_scope__Scope
);
548 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
550 ((void (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark_61d
]))(var_scope
, var_escapemark
) /* escapemark= on <var_scope:Scope>*/;
551 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
552 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var3
, var_scope
) /* unshift on <var3:List[Scope]>*/;
553 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(self
, var_node
) /* enter_visit on <self:ScopeVisitor>*/;
554 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
555 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var4
) /* shift on <var4:List[Scope]>*/;
559 /* method scope#ScopeVisitor#enter_visit_block for (self: Object, nullable AExpr, nullable EscapeMark) */
560 void VIRTUAL_scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
561 scope__ScopeVisitor__enter_visit_block(self
, p0
, p1
);
564 /* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */
565 val
* scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
566 val
* var
/* : nullable EscapeMark */;
567 val
* var_name
/* var name: String */;
568 val
* var1
/* : List[Scope] */;
569 val
* var2
/* : Iterator[nullable Object] */;
570 short int var3
/* : Bool */;
571 val
* var4
/* : nullable Object */;
572 val
* var_scope
/* var scope: Scope */;
573 val
* var5
/* : nullable EscapeMark */;
574 val
* var_res
/* var res: nullable EscapeMark */;
575 short int var6
/* : Bool */;
576 val
* var7
/* : null */;
577 short int var8
/* : Bool */;
578 short int var_
/* var : Bool */;
579 val
* var9
/* : nullable String */;
580 short int var10
/* : Bool */;
581 val
* var11
/* : null */;
583 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
584 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
586 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
588 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
590 var5
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
593 if (var_res
== NULL
) {
594 var8
= 0; /* is null */
596 var8
= 1; /* arg is null and recv is not */
600 var9
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_res
) /* name on <var_res:nullable EscapeMark(EscapeMark)>*/;
602 var10
= 0; /* <var_name:String> cannot be null */
604 var10
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_name
) /* == on <var9:nullable String>*/;
615 CONTINUE_label
: (void)0;
616 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
618 BREAK_label
: (void)0;
625 /* method scope#ScopeVisitor#search_label for (self: Object, String): nullable EscapeMark */
626 val
* VIRTUAL_scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
627 val
* var
/* : nullable EscapeMark */;
628 val
* var1
/* : nullable EscapeMark */;
629 var1
= scope__ScopeVisitor__search_label(self
, p0
);
634 /* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
635 val
* scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
636 val
* var
/* : EscapeMark */;
637 val
* var_nlabel
/* var nlabel: nullable ALabel */;
638 short int var_for_loop
/* var for_loop: Bool */;
639 val
* var1
/* : null */;
640 short int var2
/* : Bool */;
641 val
* var3
/* : TId */;
642 val
* var4
/* : String */;
643 val
* var_name
/* var name: nullable String */;
644 val
* var5
/* : nullable EscapeMark */;
645 val
* var_found
/* var found: nullable EscapeMark */;
646 val
* var6
/* : null */;
647 short int var7
/* : Bool */;
649 val
* var8
/* : String */;
650 char* var9
/* : NativeString */;
651 long var10
/* : Int */;
652 val
* var11
/* : String */;
653 static val
* varonce12
;
654 val
* var13
/* : String */;
655 char* var14
/* : NativeString */;
656 long var15
/* : Int */;
657 val
* var16
/* : String */;
658 val
* var17
/* : Array[Object] */;
659 long var18
/* : Int */;
660 val
* var19
/* : NativeArray[Object] */;
661 val
* var20
/* : String */;
662 val
* var21
/* : null */;
663 val
* var22
/* : EscapeMark */;
664 val
* var_res
/* var res: EscapeMark */;
668 if (var_nlabel
== NULL
) {
669 var2
= 0; /* is null */
671 var2
= 1; /* arg is null and recv is not */
674 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
675 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
677 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
680 if (var_found
== NULL
) {
681 var7
= 0; /* is null */
683 var7
= 1; /* arg is null and recv is not */
689 var9
= "Syntax error: label ";
691 var11
= string__NativeString__to_s_with_length(var9
, var10
);
698 var14
= " already defined.";
700 var16
= string__NativeString__to_s_with_length(var14
, var15
);
704 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
705 { /* var17 = array_instance Array[Object] */
707 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
708 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
709 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
710 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
711 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
713 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
714 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
721 var22
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
722 ((void (*)(val
*, val
*, short int))(var22
->class->vft
[COLOR_scope__EscapeMark__init
]))(var22
, var_name
, var_for_loop
) /* init on <var22:EscapeMark>*/;
729 /* method scope#ScopeVisitor#make_escape_mark for (self: Object, nullable ALabel, Bool): EscapeMark */
730 val
* VIRTUAL_scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
731 val
* var
/* : EscapeMark */;
732 val
* var1
/* : EscapeMark */;
733 var1
= scope__ScopeVisitor__make_escape_mark(self
, p0
, p1
);
738 /* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
739 val
* scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
740 val
* var
/* : nullable EscapeMark */;
741 val
* var_node
/* var node: ANode */;
742 val
* var_nlabel
/* var nlabel: nullable ALabel */;
743 val
* var1
/* : null */;
744 short int var2
/* : Bool */;
745 val
* var3
/* : TId */;
746 val
* var4
/* : String */;
747 val
* var_name
/* var name: String */;
748 val
* var5
/* : nullable EscapeMark */;
749 val
* var_res
/* var res: nullable EscapeMark */;
750 val
* var6
/* : null */;
751 short int var7
/* : Bool */;
753 val
* var8
/* : String */;
754 char* var9
/* : NativeString */;
755 long var10
/* : Int */;
756 val
* var11
/* : String */;
757 static val
* varonce12
;
758 val
* var13
/* : String */;
759 char* var14
/* : NativeString */;
760 long var15
/* : Int */;
761 val
* var16
/* : String */;
762 val
* var17
/* : Array[Object] */;
763 long var18
/* : Int */;
764 val
* var19
/* : NativeArray[Object] */;
765 val
* var20
/* : String */;
766 val
* var21
/* : null */;
767 val
* var22
/* : List[Scope] */;
768 val
* var23
/* : Iterator[nullable Object] */;
769 short int var24
/* : Bool */;
770 val
* var25
/* : nullable Object */;
771 val
* var_scope
/* var scope: Scope */;
772 val
* var26
/* : nullable EscapeMark */;
773 val
* var_res27
/* var res: nullable EscapeMark */;
774 val
* var28
/* : null */;
775 short int var29
/* : Bool */;
776 static val
* varonce30
;
777 val
* var31
/* : String */;
778 char* var32
/* : NativeString */;
779 long var33
/* : Int */;
780 val
* var34
/* : String */;
781 val
* var35
/* : null */;
785 if (var_nlabel
== NULL
) {
786 var2
= 0; /* is null */
788 var2
= 1; /* arg is null and recv is not */
791 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
792 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
794 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
797 if (var_res
== NULL
) {
798 var7
= 1; /* is null */
800 var7
= 0; /* arg is null but recv is not */
806 var9
= "Syntax error: invalid label ";
808 var11
= string__NativeString__to_s_with_length(var9
, var10
);
817 var16
= string__NativeString__to_s_with_length(var14
, var15
);
821 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
822 { /* var17 = array_instance Array[Object] */
824 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
825 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
826 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
827 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
828 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
830 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
831 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
840 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
841 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:List[Scope]>*/;
843 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
845 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
847 var26
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
850 if (var_res27
== NULL
) {
851 var29
= 0; /* is null */
853 var29
= 1; /* arg is null and recv is not */
860 CONTINUE_label
: (void)0;
861 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
863 BREAK_label
: (void)0;
867 var32
= "Syntax Error: \'break\' statment outside block.";
869 var34
= string__NativeString__to_s_with_length(var32
, var33
);
873 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var31
) /* error on <self:ScopeVisitor>*/;
881 /* method scope#ScopeVisitor#get_escapemark for (self: Object, ANode, nullable ALabel): nullable EscapeMark */
882 val
* VIRTUAL_scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
883 val
* var
/* : nullable EscapeMark */;
884 val
* var1
/* : nullable EscapeMark */;
885 var1
= scope__ScopeVisitor__get_escapemark(self
, p0
, p1
);
890 /* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */
891 void scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
892 val
* var_node
/* var node: ANode */;
893 val
* var_message
/* var message: String */;
894 val
* var
/* : ToolContext */;
895 val
* var1
/* : Location */;
898 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__toolcontext
]))(self
) /* toolcontext on <self:ScopeVisitor>*/;
899 var1
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:ANode>*/;
900 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var
, var1
, var_message
) /* error on <var:ToolContext>*/;
903 /* method scope#ScopeVisitor#error for (self: Object, ANode, String) */
904 void VIRTUAL_scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
905 scope__ScopeVisitor__error(self
, p0
, p1
);
908 /* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */
909 val
* scope__Scope__variables(val
* self
) {
910 val
* var
/* : HashMap[String, Variable] */;
911 val
* var1
/* : HashMap[String, Variable] */;
912 var1
= self
->attrs
[COLOR_scope__Scope___64dvariables
].val
; /* @variables on <self:Scope> */
914 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @variables");
915 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 192);
922 /* method scope#Scope#variables for (self: Object): HashMap[String, Variable] */
923 val
* VIRTUAL_scope__Scope__variables(val
* self
) {
924 val
* var
/* : HashMap[String, Variable] */;
925 val
* var1
/* : HashMap[String, Variable] */;
926 var1
= scope__Scope__variables(self
);
931 /* method scope#Scope#variables= for (self: Scope, HashMap[String, Variable]) */
932 void scope__Scope__variables_61d(val
* self
, val
* p0
) {
933 self
->attrs
[COLOR_scope__Scope___64dvariables
].val
= p0
; /* @variables on <self:Scope> */
936 /* method scope#Scope#variables= for (self: Object, HashMap[String, Variable]) */
937 void VIRTUAL_scope__Scope__variables_61d(val
* self
, val
* p0
) {
938 scope__Scope__variables_61d(self
, p0
);
941 /* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */
942 val
* scope__Scope__escapemark(val
* self
) {
943 val
* var
/* : nullable EscapeMark */;
944 val
* var1
/* : nullable EscapeMark */;
945 var1
= self
->attrs
[COLOR_scope__Scope___64descapemark
].val
; /* @escapemark on <self:Scope> */
950 /* method scope#Scope#escapemark for (self: Object): nullable EscapeMark */
951 val
* VIRTUAL_scope__Scope__escapemark(val
* self
) {
952 val
* var
/* : nullable EscapeMark */;
953 val
* var1
/* : nullable EscapeMark */;
954 var1
= scope__Scope__escapemark(self
);
959 /* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */
960 void scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
961 self
->attrs
[COLOR_scope__Scope___64descapemark
].val
= p0
; /* @escapemark on <self:Scope> */
964 /* method scope#Scope#escapemark= for (self: Object, nullable EscapeMark) */
965 void VIRTUAL_scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
966 scope__Scope__escapemark_61d(self
, p0
);
969 /* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */
970 val
* scope__Scope__get_variable(val
* self
, val
* p0
) {
971 val
* var
/* : nullable Variable */;
972 val
* var_name
/* var name: String */;
973 val
* var1
/* : HashMap[String, Variable] */;
974 short int var2
/* : Bool */;
975 val
* var3
/* : HashMap[String, Variable] */;
976 val
* var4
/* : nullable Object */;
977 val
* var5
/* : null */;
979 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
980 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_name
) /* has_key on <var1:HashMap[String, Variable]>*/;
982 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
983 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_name
) /* [] on <var3:HashMap[String, Variable]>*/;
994 /* method scope#Scope#get_variable for (self: Object, String): nullable Variable */
995 val
* VIRTUAL_scope__Scope__get_variable(val
* self
, val
* p0
) {
996 val
* var
/* : nullable Variable */;
997 val
* var1
/* : nullable Variable */;
998 var1
= scope__Scope__get_variable(self
, p0
);
1003 /* method scope#Scope#init for (self: Scope) */
1004 void scope__Scope__init(val
* self
) {
1007 /* method scope#Scope#init for (self: Object) */
1008 void VIRTUAL_scope__Scope__init(val
* self
) {
1009 scope__Scope__init(self
);
1012 /* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */
1013 void scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1014 val
* var_v
/* var v: ScopeVisitor */;
1016 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
1019 /* method scope#ANode#accept_scope_visitor for (self: Object, ScopeVisitor) */
1020 void VIRTUAL_scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1021 scope__ANode__accept_scope_visitor(self
, p0
);
1024 /* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */
1025 void scope__APropdef__do_scope(val
* self
, val
* p0
) {
1026 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1027 val
* var
/* : ScopeVisitor */;
1028 val
* var_v
/* var v: ScopeVisitor */;
1029 var_toolcontext
= p0
;
1030 var
= NEW_scope__ScopeVisitor(&type_scope__ScopeVisitor
);
1031 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_scope__ScopeVisitor__init
]))(var
, var_toolcontext
) /* init on <var:ScopeVisitor>*/;
1033 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:ScopeVisitor>*/;
1036 /* method scope#APropdef#do_scope for (self: Object, ToolContext) */
1037 void VIRTUAL_scope__APropdef__do_scope(val
* self
, val
* p0
) {
1038 scope__APropdef__do_scope(self
, p0
);
1041 /* method scope#AParam#variable for (self: AParam): nullable Variable */
1042 val
* scope__AParam__variable(val
* self
) {
1043 val
* var
/* : nullable Variable */;
1044 val
* var1
/* : nullable Variable */;
1045 var1
= self
->attrs
[COLOR_scope__AParam___64dvariable
].val
; /* @variable on <self:AParam> */
1050 /* method scope#AParam#variable for (self: Object): nullable Variable */
1051 val
* VIRTUAL_scope__AParam__variable(val
* self
) {
1052 val
* var
/* : nullable Variable */;
1053 val
* var1
/* : nullable Variable */;
1054 var1
= scope__AParam__variable(self
);
1059 /* method scope#AParam#variable= for (self: AParam, nullable Variable) */
1060 void scope__AParam__variable_61d(val
* self
, val
* p0
) {
1061 self
->attrs
[COLOR_scope__AParam___64dvariable
].val
= p0
; /* @variable on <self:AParam> */
1064 /* method scope#AParam#variable= for (self: Object, nullable Variable) */
1065 void VIRTUAL_scope__AParam__variable_61d(val
* self
, val
* p0
) {
1066 scope__AParam__variable_61d(self
, p0
);
1069 /* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */
1070 void scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
1071 val
* var_v
/* var v: ScopeVisitor */;
1072 val
* var
/* : TId */;
1073 val
* var_nid
/* var nid: TId */;
1074 val
* var1
/* : Variable */;
1075 val
* var2
/* : String */;
1076 val
* var_variable
/* var variable: Variable */;
1077 short int var3
/* : Bool */;
1079 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AParam>*/;
1080 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(self
) /* n_id on <self:AParam>*/;
1082 var1
= NEW_scope__Variable(&type_scope__Variable
);
1083 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1084 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
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#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */
1097 val
* scope__AVardeclExpr__variable(val
* self
) {
1098 val
* var
/* : nullable Variable */;
1099 val
* var1
/* : nullable Variable */;
1100 var1
= self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
; /* @variable on <self:AVardeclExpr> */
1105 /* method scope#AVardeclExpr#variable for (self: Object): nullable Variable */
1106 val
* VIRTUAL_scope__AVardeclExpr__variable(val
* self
) {
1107 val
* var
/* : nullable Variable */;
1108 val
* var1
/* : nullable Variable */;
1109 var1
= scope__AVardeclExpr__variable(self
);
1114 /* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */
1115 void scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1116 self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
= p0
; /* @variable on <self:AVardeclExpr> */
1119 /* method scope#AVardeclExpr#variable= for (self: Object, nullable Variable) */
1120 void VIRTUAL_scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1121 scope__AVardeclExpr__variable_61d(self
, p0
);
1124 /* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
1125 void scope__AVardeclExpr__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
/* : Variable */;
1130 val
* var2
/* : String */;
1131 val
* var_variable
/* var variable: Variable */;
1132 short int var3
/* : Bool */;
1134 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AVardeclExpr>*/;
1135 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_id
]))(self
) /* n_id on <self:AVardeclExpr>*/;
1137 var1
= NEW_scope__Variable(&type_scope__Variable
);
1138 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1139 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
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__AVardeclExpr__variable_61d
]))(self
, var_variable
) /* variable= on <self:AVardeclExpr>*/;
1146 /* method scope#AVardeclExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1147 void VIRTUAL_scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1148 scope__AVardeclExpr__accept_scope_visitor(self
, p0
);
1151 /* method scope#ASelfExpr#variable for (self: ASelfExpr): nullable Variable */
1152 val
* scope__ASelfExpr__variable(val
* self
) {
1153 val
* var
/* : nullable Variable */;
1154 val
* var1
/* : nullable Variable */;
1155 var1
= self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
; /* @variable on <self:ASelfExpr> */
1160 /* method scope#ASelfExpr#variable for (self: Object): nullable Variable */
1161 val
* VIRTUAL_scope__ASelfExpr__variable(val
* self
) {
1162 val
* var
/* : nullable Variable */;
1163 val
* var1
/* : nullable Variable */;
1164 var1
= scope__ASelfExpr__variable(self
);
1169 /* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */
1170 void scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1171 self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
= p0
; /* @variable on <self:ASelfExpr> */
1174 /* method scope#ASelfExpr#variable= for (self: Object, nullable Variable) */
1175 void VIRTUAL_scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1176 scope__ASelfExpr__variable_61d(self
, p0
);
1179 /* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
1180 void scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1181 val
* var_v
/* var v: ScopeVisitor */;
1182 val
* var
/* : Variable */;
1184 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASelfExpr>*/;
1185 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__selfvariable
]))(var_v
) /* selfvariable on <var_v:ScopeVisitor>*/;
1186 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__variable_61d
]))(self
, var
) /* variable= on <self:ASelfExpr>*/;
1189 /* method scope#ASelfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1190 void VIRTUAL_scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1191 scope__ASelfExpr__accept_scope_visitor(self
, p0
);
1194 /* method scope#AContinueExpr#escapemark for (self: AContinueExpr): nullable EscapeMark */
1195 val
* scope__AContinueExpr__escapemark(val
* self
) {
1196 val
* var
/* : nullable EscapeMark */;
1197 val
* var1
/* : nullable EscapeMark */;
1198 var1
= self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
; /* @escapemark on <self:AContinueExpr> */
1203 /* method scope#AContinueExpr#escapemark for (self: Object): nullable EscapeMark */
1204 val
* VIRTUAL_scope__AContinueExpr__escapemark(val
* self
) {
1205 val
* var
/* : nullable EscapeMark */;
1206 val
* var1
/* : nullable EscapeMark */;
1207 var1
= scope__AContinueExpr__escapemark(self
);
1212 /* method scope#AContinueExpr#escapemark= for (self: AContinueExpr, nullable EscapeMark) */
1213 void scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1214 self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AContinueExpr> */
1217 /* method scope#AContinueExpr#escapemark= for (self: Object, nullable EscapeMark) */
1218 void VIRTUAL_scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1219 scope__AContinueExpr__escapemark_61d(self
, p0
);
1222 /* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
1223 void scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1224 val
* var_v
/* var v: ScopeVisitor */;
1225 val
* var
/* : nullable ALabel */;
1226 val
* var1
/* : nullable EscapeMark */;
1227 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1228 val
* var2
/* : null */;
1229 short int var3
/* : Bool */;
1230 short int var4
/* : Bool */;
1231 short int var5
/* : Bool */;
1232 static val
* varonce
;
1233 val
* var6
/* : String */;
1234 char* var7
/* : NativeString */;
1235 long var8
/* : Int */;
1236 val
* var9
/* : String */;
1237 val
* var10
/* : Array[AContinueExpr] */;
1239 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AContinueExpr>*/;
1240 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AContinueExpr>*/;
1241 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1242 var_escapemark
= var1
;
1244 if (var_escapemark
== NULL
) {
1245 var3
= 1; /* is null */
1247 var3
= 0; /* arg is null but recv is not */
1253 var4
= ((short int (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__for_loop
]))(var_escapemark
) /* for_loop on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1259 var7
= "Error: cannot \'continue\', only \'break\'.";
1261 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1265 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var6
) /* error on <var_v:ScopeVisitor>*/;
1268 var10
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__continues
]))(var_escapemark
) /* continues on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1269 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, self
) /* add on <var10:Array[AContinueExpr]>*/;
1270 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AContinueExpr>*/;
1273 /* method scope#AContinueExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1274 void VIRTUAL_scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1275 scope__AContinueExpr__accept_scope_visitor(self
, p0
);
1278 /* method scope#ABreakExpr#escapemark for (self: ABreakExpr): nullable EscapeMark */
1279 val
* scope__ABreakExpr__escapemark(val
* self
) {
1280 val
* var
/* : nullable EscapeMark */;
1281 val
* var1
/* : nullable EscapeMark */;
1282 var1
= self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
; /* @escapemark on <self:ABreakExpr> */
1287 /* method scope#ABreakExpr#escapemark for (self: Object): nullable EscapeMark */
1288 val
* VIRTUAL_scope__ABreakExpr__escapemark(val
* self
) {
1289 val
* var
/* : nullable EscapeMark */;
1290 val
* var1
/* : nullable EscapeMark */;
1291 var1
= scope__ABreakExpr__escapemark(self
);
1296 /* method scope#ABreakExpr#escapemark= for (self: ABreakExpr, nullable EscapeMark) */
1297 void scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1298 self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ABreakExpr> */
1301 /* method scope#ABreakExpr#escapemark= for (self: Object, nullable EscapeMark) */
1302 void VIRTUAL_scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1303 scope__ABreakExpr__escapemark_61d(self
, p0
);
1306 /* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
1307 void scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1308 val
* var_v
/* var v: ScopeVisitor */;
1309 val
* var
/* : nullable ALabel */;
1310 val
* var1
/* : nullable EscapeMark */;
1311 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1312 val
* var2
/* : null */;
1313 short int var3
/* : Bool */;
1314 val
* var4
/* : Array[ABreakExpr] */;
1316 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ABreakExpr>*/;
1317 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ABreakExpr>*/;
1318 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1319 var_escapemark
= var1
;
1321 if (var_escapemark
== NULL
) {
1322 var3
= 1; /* is null */
1324 var3
= 0; /* arg is null but recv is not */
1330 var4
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__breaks
]))(var_escapemark
) /* breaks on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1331 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, self
) /* add on <var4:Array[ABreakExpr]>*/;
1332 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ABreakExpr>*/;
1335 /* method scope#ABreakExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1336 void VIRTUAL_scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1337 scope__ABreakExpr__accept_scope_visitor(self
, p0
);
1340 /* method scope#ADoExpr#escapemark for (self: ADoExpr): nullable EscapeMark */
1341 val
* scope__ADoExpr__escapemark(val
* self
) {
1342 val
* var
/* : nullable EscapeMark */;
1343 val
* var1
/* : nullable EscapeMark */;
1344 var1
= self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
; /* @escapemark on <self:ADoExpr> */
1349 /* method scope#ADoExpr#escapemark for (self: Object): nullable EscapeMark */
1350 val
* VIRTUAL_scope__ADoExpr__escapemark(val
* self
) {
1351 val
* var
/* : nullable EscapeMark */;
1352 val
* var1
/* : nullable EscapeMark */;
1353 var1
= scope__ADoExpr__escapemark(self
);
1358 /* method scope#ADoExpr#escapemark= for (self: ADoExpr, nullable EscapeMark) */
1359 void scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1360 self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ADoExpr> */
1363 /* method scope#ADoExpr#escapemark= for (self: Object, nullable EscapeMark) */
1364 void VIRTUAL_scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1365 scope__ADoExpr__escapemark_61d(self
, p0
);
1368 /* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
1369 void scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1370 val
* var_v
/* var v: ScopeVisitor */;
1371 val
* var
/* : nullable ALabel */;
1372 short int var1
/* : Bool */;
1373 val
* var2
/* : EscapeMark */;
1374 val
* var3
/* : nullable AExpr */;
1375 val
* var4
/* : nullable EscapeMark */;
1377 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ADoExpr>*/;
1379 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>*/;
1380 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var2
) /* escapemark= on <self:ADoExpr>*/;
1381 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
1382 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
1383 ((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>*/;
1386 /* method scope#ADoExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1387 void VIRTUAL_scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1388 scope__ADoExpr__accept_scope_visitor(self
, p0
);
1391 /* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
1392 void scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1393 val
* var_v
/* var v: ScopeVisitor */;
1394 val
* var
/* : AExpr */;
1395 val
* var1
/* : nullable AExpr */;
1396 val
* var2
/* : null */;
1397 val
* var3
/* : nullable AExpr */;
1398 val
* var4
/* : null */;
1400 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
1401 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1402 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
1404 ((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>*/;
1405 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
1407 ((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>*/;
1410 /* method scope#AIfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1411 void VIRTUAL_scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1412 scope__AIfExpr__accept_scope_visitor(self
, p0
);
1415 /* method scope#AWhileExpr#escapemark for (self: AWhileExpr): nullable EscapeMark */
1416 val
* scope__AWhileExpr__escapemark(val
* self
) {
1417 val
* var
/* : nullable EscapeMark */;
1418 val
* var1
/* : nullable EscapeMark */;
1419 var1
= self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
; /* @escapemark on <self:AWhileExpr> */
1424 /* method scope#AWhileExpr#escapemark for (self: Object): nullable EscapeMark */
1425 val
* VIRTUAL_scope__AWhileExpr__escapemark(val
* self
) {
1426 val
* var
/* : nullable EscapeMark */;
1427 val
* var1
/* : nullable EscapeMark */;
1428 var1
= scope__AWhileExpr__escapemark(self
);
1433 /* method scope#AWhileExpr#escapemark= for (self: AWhileExpr, nullable EscapeMark) */
1434 void scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1435 self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AWhileExpr> */
1438 /* method scope#AWhileExpr#escapemark= for (self: Object, nullable EscapeMark) */
1439 void VIRTUAL_scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1440 scope__AWhileExpr__escapemark_61d(self
, p0
);
1443 /* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
1444 void scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1445 val
* var_v
/* var v: ScopeVisitor */;
1446 val
* var
/* : nullable ALabel */;
1447 short int var1
/* : Bool */;
1448 val
* var2
/* : EscapeMark */;
1449 val
* var_escapemark
/* var escapemark: EscapeMark */;
1450 val
* var3
/* : AExpr */;
1451 val
* var4
/* : nullable AExpr */;
1453 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AWhileExpr>*/;
1455 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>*/;
1456 var_escapemark
= var2
;
1457 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AWhileExpr>*/;
1458 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
1459 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var3
) /* enter_visit on <var_v:ScopeVisitor>*/;
1460 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
1461 ((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>*/;
1464 /* method scope#AWhileExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1465 void VIRTUAL_scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1466 scope__AWhileExpr__accept_scope_visitor(self
, p0
);
1469 /* method scope#ALoopExpr#escapemark for (self: ALoopExpr): nullable EscapeMark */
1470 val
* scope__ALoopExpr__escapemark(val
* self
) {
1471 val
* var
/* : nullable EscapeMark */;
1472 val
* var1
/* : nullable EscapeMark */;
1473 var1
= self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
; /* @escapemark on <self:ALoopExpr> */
1478 /* method scope#ALoopExpr#escapemark for (self: Object): nullable EscapeMark */
1479 val
* VIRTUAL_scope__ALoopExpr__escapemark(val
* self
) {
1480 val
* var
/* : nullable EscapeMark */;
1481 val
* var1
/* : nullable EscapeMark */;
1482 var1
= scope__ALoopExpr__escapemark(self
);
1487 /* method scope#ALoopExpr#escapemark= for (self: ALoopExpr, nullable EscapeMark) */
1488 void scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1489 self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ALoopExpr> */
1492 /* method scope#ALoopExpr#escapemark= for (self: Object, nullable EscapeMark) */
1493 void VIRTUAL_scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1494 scope__ALoopExpr__escapemark_61d(self
, p0
);
1497 /* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
1498 void scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1499 val
* var_v
/* var v: ScopeVisitor */;
1500 val
* var
/* : nullable ALabel */;
1501 short int var1
/* : Bool */;
1502 val
* var2
/* : EscapeMark */;
1503 val
* var_escapemark
/* var escapemark: EscapeMark */;
1504 val
* var3
/* : nullable AExpr */;
1506 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ALoopExpr>*/;
1508 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>*/;
1509 var_escapemark
= var2
;
1510 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ALoopExpr>*/;
1511 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
1512 ((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>*/;
1515 /* method scope#ALoopExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1516 void VIRTUAL_scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1517 scope__ALoopExpr__accept_scope_visitor(self
, p0
);
1520 /* method scope#AForExpr#variables for (self: AForExpr): nullable Array[Variable] */
1521 val
* scope__AForExpr__variables(val
* self
) {
1522 val
* var
/* : nullable Array[Variable] */;
1523 val
* var1
/* : nullable Array[Variable] */;
1524 var1
= self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
; /* @variables on <self:AForExpr> */
1529 /* method scope#AForExpr#variables for (self: Object): nullable Array[Variable] */
1530 val
* VIRTUAL_scope__AForExpr__variables(val
* self
) {
1531 val
* var
/* : nullable Array[Variable] */;
1532 val
* var1
/* : nullable Array[Variable] */;
1533 var1
= scope__AForExpr__variables(self
);
1538 /* method scope#AForExpr#variables= for (self: AForExpr, nullable Array[Variable]) */
1539 void scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1540 self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
= p0
; /* @variables on <self:AForExpr> */
1543 /* method scope#AForExpr#variables= for (self: Object, nullable Array[Variable]) */
1544 void VIRTUAL_scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1545 scope__AForExpr__variables_61d(self
, p0
);
1548 /* method scope#AForExpr#escapemark for (self: AForExpr): nullable EscapeMark */
1549 val
* scope__AForExpr__escapemark(val
* self
) {
1550 val
* var
/* : nullable EscapeMark */;
1551 val
* var1
/* : nullable EscapeMark */;
1552 var1
= self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
; /* @escapemark on <self:AForExpr> */
1557 /* method scope#AForExpr#escapemark for (self: Object): nullable EscapeMark */
1558 val
* VIRTUAL_scope__AForExpr__escapemark(val
* self
) {
1559 val
* var
/* : nullable EscapeMark */;
1560 val
* var1
/* : nullable EscapeMark */;
1561 var1
= scope__AForExpr__escapemark(self
);
1566 /* method scope#AForExpr#escapemark= for (self: AForExpr, nullable EscapeMark) */
1567 void scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1568 self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AForExpr> */
1571 /* method scope#AForExpr#escapemark= for (self: Object, nullable EscapeMark) */
1572 void VIRTUAL_scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1573 scope__AForExpr__escapemark_61d(self
, p0
);
1576 /* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
1577 void scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1578 val
* var_v
/* var v: ScopeVisitor */;
1579 val
* var
/* : AExpr */;
1580 val
* var1
/* : List[Scope] */;
1581 val
* var2
/* : Scope */;
1582 val
* var3
/* : Array[Variable] */;
1583 val
* var_variables
/* var variables: Array[Variable] */;
1584 val
* var4
/* : ANodes[TId] */;
1585 val
* var5
/* : Iterator[nullable Object] */;
1586 short int var6
/* : Bool */;
1587 val
* var7
/* : nullable Object */;
1588 val
* var_nid
/* var nid: TId */;
1589 val
* var8
/* : Variable */;
1590 val
* var9
/* : String */;
1591 val
* var_va
/* var va: Variable */;
1592 short int var10
/* : Bool */;
1593 val
* var11
/* : nullable ALabel */;
1594 short int var12
/* : Bool */;
1595 val
* var13
/* : EscapeMark */;
1596 val
* var_escapemark
/* var escapemark: EscapeMark */;
1597 val
* var14
/* : nullable AExpr */;
1598 val
* var15
/* : List[Scope] */;
1599 val
* var16
/* : nullable Object */;
1601 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1602 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1603 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1604 var2
= NEW_scope__Scope(&type_scope__Scope
);
1605 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
1606 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var1
, var2
) /* unshift on <var1:List[Scope]>*/;
1607 var3
= NEW_array__Array(&type_array__Arrayscope__Variable
);
1608 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Variable]>*/;
1609 var_variables
= var3
;
1610 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables_61d
]))(self
, var_variables
) /* variables= on <self:AForExpr>*/;
1611 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_ids
]))(self
) /* n_ids on <self:AForExpr>*/;
1612 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:ANodes[TId]>*/;
1614 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
1616 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
1618 var8
= NEW_scope__Variable(&type_scope__Variable
);
1619 var9
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1620 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_scope__Variable__init
]))(var8
, var9
) /* init on <var8:Variable>*/;
1622 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>*/;
1624 ((void (*)(val
*, val
*))(var_variables
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_variables
, var_va
) /* add on <var_variables:Array[Variable]>*/;
1625 CONTINUE_label
: (void)0;
1626 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
1628 BREAK_label
: (void)0;
1629 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AForExpr>*/;
1631 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>*/;
1632 var_escapemark
= var13
;
1633 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AForExpr>*/;
1634 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1635 ((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>*/;
1636 var15
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1637 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var15
) /* shift on <var15:List[Scope]>*/;
1641 /* method scope#AForExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1642 void VIRTUAL_scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1643 scope__AForExpr__accept_scope_visitor(self
, p0
);
1646 /* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */
1647 val
* scope__AVarFormExpr__variable(val
* self
) {
1648 val
* var
/* : nullable Variable */;
1649 val
* var1
/* : nullable Variable */;
1650 var1
= self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
; /* @variable on <self:AVarFormExpr> */
1655 /* method scope#AVarFormExpr#variable for (self: Object): nullable Variable */
1656 val
* VIRTUAL_scope__AVarFormExpr__variable(val
* self
) {
1657 val
* var
/* : nullable Variable */;
1658 val
* var1
/* : nullable Variable */;
1659 var1
= scope__AVarFormExpr__variable(self
);
1664 /* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */
1665 void scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1666 self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
= p0
; /* @variable on <self:AVarFormExpr> */
1669 /* method scope#AVarFormExpr#variable= for (self: Object, nullable Variable) */
1670 void VIRTUAL_scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1671 scope__AVarFormExpr__variable_61d(self
, p0
);
1674 /* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
1675 void scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1676 val
* var_v
/* var v: ScopeVisitor */;
1677 val
* var
/* : AExpr */;
1678 short int var1
/* : Bool */;
1681 val
* var2
/* : TId */;
1682 val
* var3
/* : String */;
1683 val
* var_name
/* var name: String */;
1684 val
* var4
/* : nullable Variable */;
1685 val
* var_variable
/* var variable: nullable Variable */;
1686 val
* var5
/* : null */;
1687 short int var6
/* : Bool */;
1688 short int var7
/* : Bool */;
1689 val
* var8
/* : AExprs */;
1690 val
* var9
/* : ANodes[AExpr] */;
1691 short int var10
/* : Bool */;
1692 short int var11
/* : Bool */;
1693 val
* var12
/* : AExprs */;
1694 short int var13
/* : Bool */;
1697 static val
* varonce
;
1698 val
* var16
/* : String */;
1699 char* var17
/* : NativeString */;
1700 long var18
/* : Int */;
1701 val
* var19
/* : String */;
1702 static val
* varonce20
;
1703 val
* var21
/* : String */;
1704 char* var22
/* : NativeString */;
1705 long var23
/* : Int */;
1706 val
* var24
/* : String */;
1707 val
* var25
/* : Array[Object] */;
1708 long var26
/* : Int */;
1709 val
* var27
/* : NativeArray[Object] */;
1710 val
* var28
/* : String */;
1711 val
* var29
/* : AVarFormExpr */;
1712 val
* var_n
/* var n: AExpr */;
1714 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ACallFormExpr>*/;
1715 /* <var:AExpr> isa AImplicitSelfExpr */
1716 cltype
= type_parser_nodes__AImplicitSelfExpr
.color
;
1717 idtype
= type_parser_nodes__AImplicitSelfExpr
.id
;
1718 if(cltype
>= var
->type
->table_size
) {
1721 var1
= var
->type
->type_table
[cltype
] == idtype
;
1724 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallFormExpr>*/;
1725 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__Token__text
]))(var2
) /* text on <var2:TId>*/;
1727 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(var_v
, var_name
) /* search_variable on <var_v:ScopeVisitor>*/;
1728 var_variable
= var4
;
1730 if (var_variable
== NULL
) {
1731 var6
= 0; /* is null */
1733 var6
= 1; /* arg is null and recv is not */
1736 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1737 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var8
) /* n_exprs on <var8:AExprs>*/;
1738 var10
= ((short int (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var9
) /* is_empty on <var9:ANodes[AExpr]>*/;
1743 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1744 /* <var12:AExprs> isa AParExprs */
1745 cltype14
= type_parser_nodes__AParExprs
.color
;
1746 idtype15
= type_parser_nodes__AParExprs
.id
;
1747 if(cltype14
>= var12
->type
->table_size
) {
1750 var13
= var12
->type
->type_table
[cltype14
] == idtype15
;
1760 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1767 var22
= " is variable, not a function.";
1769 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1773 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
1774 { /* var25 = array_instance Array[Object] */
1776 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
1777 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var16
;
1778 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var_name
;
1779 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
1780 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
1782 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
1783 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var28
) /* error on <var_v:ScopeVisitor>*/;
1787 var29
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__variable_create
]))(self
, var_variable
) /* variable_create on <self:ACallFormExpr>*/;
1789 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(var_n
, var_variable
) /* variable= on <var_n:AExpr(AVarFormExpr)>*/;
1790 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_n
) /* replace_with on <self:ACallFormExpr>*/;
1791 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, var_v
) /* accept_scope_visitor on <var_n:AExpr(AVarFormExpr)>*/;
1797 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ACallFormExpr>*/;
1800 /* method scope#ACallFormExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1801 void VIRTUAL_scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1802 scope__ACallFormExpr__accept_scope_visitor(self
, p0
);
1805 /* method scope#ACallFormExpr#variable_create for (self: ACallFormExpr, Variable): AVarFormExpr */
1806 val
* scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1807 val
* var
/* : AVarFormExpr */;
1808 const char* var_class_name
;
1809 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1810 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "variable_create", var_class_name
);
1811 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 389);
1816 /* method scope#ACallFormExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1817 val
* VIRTUAL_scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1818 val
* var
/* : AVarFormExpr */;
1819 val
* var1
/* : AVarFormExpr */;
1820 var1
= scope__ACallFormExpr__variable_create(self
, p0
);
1825 /* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */
1826 val
* scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1827 val
* var
/* : AVarFormExpr */;
1828 val
* var_variable
/* var variable: Variable */;
1829 val
* var1
/* : AVarExpr */;
1830 val
* var2
/* : TId */;
1832 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
1833 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallExpr>*/;
1834 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarExpr__init_avarexpr
]))(var1
, var2
) /* init_avarexpr on <var1:AVarExpr>*/;
1840 /* method scope#ACallExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1841 val
* VIRTUAL_scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1842 val
* var
/* : AVarFormExpr */;
1843 val
* var1
/* : AVarFormExpr */;
1844 var1
= scope__ACallExpr__variable_create(self
, p0
);
1849 /* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
1850 val
* scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1851 val
* var
/* : AVarFormExpr */;
1852 val
* var_variable
/* var variable: Variable */;
1853 val
* var1
/* : AVarAssignExpr */;
1854 val
* var2
/* : TId */;
1855 val
* var3
/* : TAssign */;
1856 val
* var4
/* : AExpr */;
1858 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
1859 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallAssignExpr>*/;
1860 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_assign
]))(self
) /* n_assign on <self:ACallAssignExpr>*/;
1861 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:ACallAssignExpr>*/;
1862 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarAssignExpr__init_avarassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarassignexpr on <var1:AVarAssignExpr>*/;
1868 /* method scope#ACallAssignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1869 val
* VIRTUAL_scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1870 val
* var
/* : AVarFormExpr */;
1871 val
* var1
/* : AVarFormExpr */;
1872 var1
= scope__ACallAssignExpr__variable_create(self
, p0
);
1877 /* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
1878 val
* scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1879 val
* var
/* : AVarFormExpr */;
1880 val
* var_variable
/* var variable: Variable */;
1881 val
* var1
/* : AVarReassignExpr */;
1882 val
* var2
/* : TId */;
1883 val
* var3
/* : AAssignOp */;
1884 val
* var4
/* : AExpr */;
1886 var1
= NEW_parser_nodes__AVarReassignExpr(&type_parser_nodes__AVarReassignExpr
);
1887 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallReassignExpr>*/;
1888 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_assign_op
]))(self
) /* n_assign_op on <self:ACallReassignExpr>*/;
1889 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ACallReassignExpr>*/;
1890 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarReassignExpr__init_avarreassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarreassignexpr on <var1:AVarReassignExpr>*/;
1896 /* method scope#ACallReassignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1897 val
* VIRTUAL_scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1898 val
* var
/* : AVarFormExpr */;
1899 val
* var1
/* : AVarFormExpr */;
1900 var1
= scope__ACallReassignExpr__variable_create(self
, p0
);