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 CHECK_NEW_scope__Scope(var1
);
322 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var1
) /* add on <var:List[Scope]>*/;
325 /* method scope#ScopeVisitor#init for (self: Object, ToolContext) */
326 void VIRTUAL_scope__ScopeVisitor__init(val
* self
, val
* p0
) {
327 scope__ScopeVisitor__init(self
, p0
);
330 /* method scope#ScopeVisitor#scopes for (self: ScopeVisitor): List[Scope] */
331 val
* scope__ScopeVisitor__scopes(val
* self
) {
332 val
* var
/* : List[Scope] */;
333 val
* var1
/* : List[Scope] */;
334 var1
= self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
; /* @scopes on <self:ScopeVisitor> */
336 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @scopes");
337 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 79);
344 /* method scope#ScopeVisitor#scopes for (self: Object): List[Scope] */
345 val
* VIRTUAL_scope__ScopeVisitor__scopes(val
* self
) {
346 val
* var
/* : List[Scope] */;
347 val
* var1
/* : List[Scope] */;
348 var1
= scope__ScopeVisitor__scopes(self
);
353 /* method scope#ScopeVisitor#scopes= for (self: ScopeVisitor, List[Scope]) */
354 void scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
355 self
->attrs
[COLOR_scope__ScopeVisitor___64dscopes
].val
= p0
; /* @scopes on <self:ScopeVisitor> */
358 /* method scope#ScopeVisitor#scopes= for (self: Object, List[Scope]) */
359 void VIRTUAL_scope__ScopeVisitor__scopes_61d(val
* self
, val
* p0
) {
360 scope__ScopeVisitor__scopes_61d(self
, p0
);
363 /* method scope#ScopeVisitor#register_variable for (self: ScopeVisitor, ANode, Variable): Bool */
364 short int scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
365 short int var
/* : Bool */;
366 val
* var_node
/* var node: ANode */;
367 val
* var_variable
/* var variable: Variable */;
368 val
* var1
/* : String */;
369 val
* var_name
/* var name: String */;
370 val
* var2
/* : nullable Variable */;
371 val
* var_found
/* var found: nullable Variable */;
372 val
* var3
/* : null */;
373 short int var4
/* : Bool */;
375 val
* var5
/* : String */;
376 char* var6
/* : NativeString */;
377 long var7
/* : Int */;
378 val
* var8
/* : String */;
379 static val
* varonce9
;
380 val
* var10
/* : String */;
381 char* var11
/* : NativeString */;
382 long var12
/* : Int */;
383 val
* var13
/* : String */;
384 val
* var14
/* : Array[Object] */;
385 long var15
/* : Int */;
386 val
* var16
/* : NativeArray[Object] */;
387 val
* var17
/* : String */;
388 short int var18
/* : Bool */;
389 val
* var19
/* : List[Scope] */;
390 val
* var20
/* : nullable Object */;
391 val
* var21
/* : HashMap[String, Variable] */;
392 short int var22
/* : Bool */;
395 var1
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
397 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(self
, var_name
) /* search_variable on <self:ScopeVisitor>*/;
400 if (var_found
== NULL
) {
401 var4
= 0; /* is null */
403 var4
= 1; /* arg is null and recv is not */
409 var6
= "Error: A variable named `";
411 var8
= string__NativeString__to_s_with_length(var6
, var7
);
418 var11
= "\' already exists";
420 var13
= string__NativeString__to_s_with_length(var11
, var12
);
424 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
425 { /* var14 = array_instance Array[Object] */
427 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
428 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
429 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_name
;
430 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
431 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
432 CHECK_NEW_array__Array(var14
);
434 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
435 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var17
) /* error on <self:ScopeVisitor>*/;
441 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
442 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:List[Scope]>*/;
443 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_scope__Scope__variables
]))(var20
) /* variables on <var20:nullable Object(Scope)>*/;
444 ((void (*)(val
*, val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var21
, var_name
, var_variable
) /* []= on <var21:HashMap[String, Variable]>*/;
451 /* method scope#ScopeVisitor#register_variable for (self: Object, ANode, Variable): Bool */
452 short int VIRTUAL_scope__ScopeVisitor__register_variable(val
* self
, val
* p0
, val
* p1
) {
453 short int var
/* : Bool */;
454 short int var1
/* : Bool */;
455 var1
= scope__ScopeVisitor__register_variable(self
, p0
, p1
);
460 /* method scope#ScopeVisitor#search_variable for (self: ScopeVisitor, String): nullable Variable */
461 val
* scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
462 val
* var
/* : nullable Variable */;
463 val
* var_name
/* var name: String */;
464 val
* var1
/* : List[Scope] */;
465 val
* var2
/* : Iterator[nullable Object] */;
466 short int var3
/* : Bool */;
467 val
* var4
/* : nullable Object */;
468 val
* var_scope
/* var scope: Scope */;
469 val
* var5
/* : nullable Variable */;
470 val
* var_res
/* var res: nullable Variable */;
471 val
* var6
/* : null */;
472 short int var7
/* : Bool */;
473 val
* var8
/* : null */;
475 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
476 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
478 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
480 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
482 var5
= ((val
* (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__get_variable
]))(var_scope
, var_name
) /* get_variable on <var_scope:Scope>*/;
485 if (var_res
== NULL
) {
486 var7
= 0; /* is null */
488 var7
= 1; /* arg is null and recv is not */
495 CONTINUE_label
: (void)0;
496 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
498 BREAK_label
: (void)0;
505 /* method scope#ScopeVisitor#search_variable for (self: Object, String): nullable Variable */
506 val
* VIRTUAL_scope__ScopeVisitor__search_variable(val
* self
, val
* p0
) {
507 val
* var
/* : nullable Variable */;
508 val
* var1
/* : nullable Variable */;
509 var1
= scope__ScopeVisitor__search_variable(self
, p0
);
514 /* method scope#ScopeVisitor#visit for (self: ScopeVisitor, ANode) */
515 void scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
516 val
* var_n
/* var n: ANode */;
518 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__ANode__accept_scope_visitor
]))(var_n
, self
) /* accept_scope_visitor on <var_n:ANode>*/;
521 /* method scope#ScopeVisitor#visit for (self: Object, ANode) */
522 void VIRTUAL_scope__ScopeVisitor__visit(val
* self
, val
* p0
) {
523 scope__ScopeVisitor__visit(self
, p0
);
526 /* method scope#ScopeVisitor#enter_visit_block for (self: ScopeVisitor, nullable AExpr, nullable EscapeMark) */
527 void scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
528 val
* var_node
/* var node: nullable AExpr */;
529 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
530 val
* var
/* : null */;
531 short int var1
/* : Bool */;
532 val
* var2
/* : Scope */;
533 val
* var_scope
/* var scope: Scope */;
534 val
* var3
/* : List[Scope] */;
535 val
* var4
/* : List[Scope] */;
536 val
* var5
/* : nullable Object */;
540 if (var_node
== NULL
) {
541 var1
= 1; /* is null */
543 var1
= 0; /* arg is null but recv is not */
549 var2
= NEW_scope__Scope(&type_scope__Scope
);
550 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
551 CHECK_NEW_scope__Scope(var2
);
553 ((void (*)(val
*, val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark_61d
]))(var_scope
, var_escapemark
) /* escapemark= on <var_scope:Scope>*/;
554 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
555 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var3
, var_scope
) /* unshift on <var3:List[Scope]>*/;
556 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(self
, var_node
) /* enter_visit on <self:ScopeVisitor>*/;
557 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
558 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var4
) /* shift on <var4:List[Scope]>*/;
562 /* method scope#ScopeVisitor#enter_visit_block for (self: Object, nullable AExpr, nullable EscapeMark) */
563 void VIRTUAL_scope__ScopeVisitor__enter_visit_block(val
* self
, val
* p0
, val
* p1
) {
564 scope__ScopeVisitor__enter_visit_block(self
, p0
, p1
);
567 /* method scope#ScopeVisitor#search_label for (self: ScopeVisitor, String): nullable EscapeMark */
568 val
* scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
569 val
* var
/* : nullable EscapeMark */;
570 val
* var_name
/* var name: String */;
571 val
* var1
/* : List[Scope] */;
572 val
* var2
/* : Iterator[nullable Object] */;
573 short int var3
/* : Bool */;
574 val
* var4
/* : nullable Object */;
575 val
* var_scope
/* var scope: Scope */;
576 val
* var5
/* : nullable EscapeMark */;
577 val
* var_res
/* var res: nullable EscapeMark */;
578 short int var6
/* : Bool */;
579 val
* var7
/* : null */;
580 short int var8
/* : Bool */;
581 short int var_
/* var : Bool */;
582 val
* var9
/* : nullable String */;
583 short int var10
/* : Bool */;
584 val
* var11
/* : null */;
586 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
587 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:List[Scope]>*/;
589 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
591 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
593 var5
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
596 if (var_res
== NULL
) {
597 var8
= 0; /* is null */
599 var8
= 1; /* arg is null and recv is not */
603 var9
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_res
) /* name on <var_res:nullable EscapeMark(EscapeMark)>*/;
605 var10
= 0; /* <var_name:String> cannot be null */
607 var10
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_name
) /* == on <var9:nullable String>*/;
618 CONTINUE_label
: (void)0;
619 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
621 BREAK_label
: (void)0;
628 /* method scope#ScopeVisitor#search_label for (self: Object, String): nullable EscapeMark */
629 val
* VIRTUAL_scope__ScopeVisitor__search_label(val
* self
, val
* p0
) {
630 val
* var
/* : nullable EscapeMark */;
631 val
* var1
/* : nullable EscapeMark */;
632 var1
= scope__ScopeVisitor__search_label(self
, p0
);
637 /* method scope#ScopeVisitor#make_escape_mark for (self: ScopeVisitor, nullable ALabel, Bool): EscapeMark */
638 val
* scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
639 val
* var
/* : EscapeMark */;
640 val
* var_nlabel
/* var nlabel: nullable ALabel */;
641 short int var_for_loop
/* var for_loop: Bool */;
642 val
* var1
/* : null */;
643 short int var2
/* : Bool */;
644 val
* var3
/* : TId */;
645 val
* var4
/* : String */;
646 val
* var_name
/* var name: nullable String */;
647 val
* var5
/* : nullable EscapeMark */;
648 val
* var_found
/* var found: nullable EscapeMark */;
649 val
* var6
/* : null */;
650 short int var7
/* : Bool */;
652 val
* var8
/* : String */;
653 char* var9
/* : NativeString */;
654 long var10
/* : Int */;
655 val
* var11
/* : String */;
656 static val
* varonce12
;
657 val
* var13
/* : String */;
658 char* var14
/* : NativeString */;
659 long var15
/* : Int */;
660 val
* var16
/* : String */;
661 val
* var17
/* : Array[Object] */;
662 long var18
/* : Int */;
663 val
* var19
/* : NativeArray[Object] */;
664 val
* var20
/* : String */;
665 val
* var21
/* : null */;
666 val
* var22
/* : EscapeMark */;
667 val
* var_res
/* var res: EscapeMark */;
671 if (var_nlabel
== NULL
) {
672 var2
= 0; /* is null */
674 var2
= 1; /* arg is null and recv is not */
677 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
678 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
680 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
683 if (var_found
== NULL
) {
684 var7
= 0; /* is null */
686 var7
= 1; /* arg is null and recv is not */
692 var9
= "Syntax error: label ";
694 var11
= string__NativeString__to_s_with_length(var9
, var10
);
701 var14
= " already defined.";
703 var16
= string__NativeString__to_s_with_length(var14
, var15
);
707 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
708 { /* var17 = array_instance Array[Object] */
710 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
711 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
712 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
713 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
714 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
715 CHECK_NEW_array__Array(var17
);
717 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
718 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
725 var22
= NEW_scope__EscapeMark(&type_scope__EscapeMark
);
726 ((void (*)(val
*, val
*, short int))(var22
->class->vft
[COLOR_scope__EscapeMark__init
]))(var22
, var_name
, var_for_loop
) /* init on <var22:EscapeMark>*/;
727 CHECK_NEW_scope__EscapeMark(var22
);
734 /* method scope#ScopeVisitor#make_escape_mark for (self: Object, nullable ALabel, Bool): EscapeMark */
735 val
* VIRTUAL_scope__ScopeVisitor__make_escape_mark(val
* self
, val
* p0
, short int p1
) {
736 val
* var
/* : EscapeMark */;
737 val
* var1
/* : EscapeMark */;
738 var1
= scope__ScopeVisitor__make_escape_mark(self
, p0
, p1
);
743 /* method scope#ScopeVisitor#get_escapemark for (self: ScopeVisitor, ANode, nullable ALabel): nullable EscapeMark */
744 val
* scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
745 val
* var
/* : nullable EscapeMark */;
746 val
* var_node
/* var node: ANode */;
747 val
* var_nlabel
/* var nlabel: nullable ALabel */;
748 val
* var1
/* : null */;
749 short int var2
/* : Bool */;
750 val
* var3
/* : TId */;
751 val
* var4
/* : String */;
752 val
* var_name
/* var name: String */;
753 val
* var5
/* : nullable EscapeMark */;
754 val
* var_res
/* var res: nullable EscapeMark */;
755 val
* var6
/* : null */;
756 short int var7
/* : Bool */;
758 val
* var8
/* : String */;
759 char* var9
/* : NativeString */;
760 long var10
/* : Int */;
761 val
* var11
/* : String */;
762 static val
* varonce12
;
763 val
* var13
/* : String */;
764 char* var14
/* : NativeString */;
765 long var15
/* : Int */;
766 val
* var16
/* : String */;
767 val
* var17
/* : Array[Object] */;
768 long var18
/* : Int */;
769 val
* var19
/* : NativeArray[Object] */;
770 val
* var20
/* : String */;
771 val
* var21
/* : null */;
772 val
* var22
/* : List[Scope] */;
773 val
* var23
/* : Iterator[nullable Object] */;
774 short int var24
/* : Bool */;
775 val
* var25
/* : nullable Object */;
776 val
* var_scope
/* var scope: Scope */;
777 val
* var26
/* : nullable EscapeMark */;
778 val
* var_res27
/* var res: nullable EscapeMark */;
779 val
* var28
/* : null */;
780 short int var29
/* : Bool */;
781 static val
* varonce30
;
782 val
* var31
/* : String */;
783 char* var32
/* : NativeString */;
784 long var33
/* : Int */;
785 val
* var34
/* : String */;
786 val
* var35
/* : null */;
790 if (var_nlabel
== NULL
) {
791 var2
= 0; /* is null */
793 var2
= 1; /* arg is null and recv is not */
796 var3
= ((val
* (*)(val
*))(var_nlabel
->class->vft
[COLOR_parser_nodes__ALabel__n_id
]))(var_nlabel
) /* n_id on <var_nlabel:nullable ALabel(ALabel)>*/;
797 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_parser_nodes__Token__text
]))(var3
) /* text on <var3:TId>*/;
799 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__search_label
]))(self
, var_name
) /* search_label on <self:ScopeVisitor>*/;
802 if (var_res
== NULL
) {
803 var7
= 1; /* is null */
805 var7
= 0; /* arg is null but recv is not */
811 var9
= "Syntax error: invalid label ";
813 var11
= string__NativeString__to_s_with_length(var9
, var10
);
822 var16
= string__NativeString__to_s_with_length(var14
, var15
);
826 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
827 { /* var17 = array_instance Array[Object] */
829 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
830 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
831 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_name
;
832 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
833 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
834 CHECK_NEW_array__Array(var17
);
836 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
837 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_nlabel
, var20
) /* error on <self:ScopeVisitor>*/;
846 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(self
) /* scopes on <self:ScopeVisitor>*/;
847 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:List[Scope]>*/;
849 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
851 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
853 var26
= ((val
* (*)(val
*))(var_scope
->class->vft
[COLOR_scope__Scope__escapemark
]))(var_scope
) /* escapemark on <var_scope:Scope>*/;
856 if (var_res27
== NULL
) {
857 var29
= 0; /* is null */
859 var29
= 1; /* arg is null and recv is not */
866 CONTINUE_label
: (void)0;
867 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
869 BREAK_label
: (void)0;
873 var32
= "Syntax Error: \'break\' statment outside block.";
875 var34
= string__NativeString__to_s_with_length(var32
, var33
);
879 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(self
, var_node
, var31
) /* error on <self:ScopeVisitor>*/;
887 /* method scope#ScopeVisitor#get_escapemark for (self: Object, ANode, nullable ALabel): nullable EscapeMark */
888 val
* VIRTUAL_scope__ScopeVisitor__get_escapemark(val
* self
, val
* p0
, val
* p1
) {
889 val
* var
/* : nullable EscapeMark */;
890 val
* var1
/* : nullable EscapeMark */;
891 var1
= scope__ScopeVisitor__get_escapemark(self
, p0
, p1
);
896 /* method scope#ScopeVisitor#error for (self: ScopeVisitor, ANode, String) */
897 void scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
898 val
* var_node
/* var node: ANode */;
899 val
* var_message
/* var message: String */;
900 val
* var
/* : ToolContext */;
901 val
* var1
/* : Location */;
904 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ScopeVisitor__toolcontext
]))(self
) /* toolcontext on <self:ScopeVisitor>*/;
905 var1
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:ANode>*/;
906 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var
, var1
, var_message
) /* error on <var:ToolContext>*/;
909 /* method scope#ScopeVisitor#error for (self: Object, ANode, String) */
910 void VIRTUAL_scope__ScopeVisitor__error(val
* self
, val
* p0
, val
* p1
) {
911 scope__ScopeVisitor__error(self
, p0
, p1
);
914 /* method scope#Scope#variables for (self: Scope): HashMap[String, Variable] */
915 val
* scope__Scope__variables(val
* self
) {
916 val
* var
/* : HashMap[String, Variable] */;
917 val
* var1
/* : HashMap[String, Variable] */;
918 var1
= self
->attrs
[COLOR_scope__Scope___64dvariables
].val
; /* @variables on <self:Scope> */
920 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @variables");
921 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 192);
928 /* method scope#Scope#variables for (self: Object): HashMap[String, Variable] */
929 val
* VIRTUAL_scope__Scope__variables(val
* self
) {
930 val
* var
/* : HashMap[String, Variable] */;
931 val
* var1
/* : HashMap[String, Variable] */;
932 var1
= scope__Scope__variables(self
);
937 /* method scope#Scope#variables= for (self: Scope, HashMap[String, Variable]) */
938 void scope__Scope__variables_61d(val
* self
, val
* p0
) {
939 self
->attrs
[COLOR_scope__Scope___64dvariables
].val
= p0
; /* @variables on <self:Scope> */
942 /* method scope#Scope#variables= for (self: Object, HashMap[String, Variable]) */
943 void VIRTUAL_scope__Scope__variables_61d(val
* self
, val
* p0
) {
944 scope__Scope__variables_61d(self
, p0
);
947 /* method scope#Scope#escapemark for (self: Scope): nullable EscapeMark */
948 val
* scope__Scope__escapemark(val
* self
) {
949 val
* var
/* : nullable EscapeMark */;
950 val
* var1
/* : nullable EscapeMark */;
951 var1
= self
->attrs
[COLOR_scope__Scope___64descapemark
].val
; /* @escapemark on <self:Scope> */
956 /* method scope#Scope#escapemark for (self: Object): nullable EscapeMark */
957 val
* VIRTUAL_scope__Scope__escapemark(val
* self
) {
958 val
* var
/* : nullable EscapeMark */;
959 val
* var1
/* : nullable EscapeMark */;
960 var1
= scope__Scope__escapemark(self
);
965 /* method scope#Scope#escapemark= for (self: Scope, nullable EscapeMark) */
966 void scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
967 self
->attrs
[COLOR_scope__Scope___64descapemark
].val
= p0
; /* @escapemark on <self:Scope> */
970 /* method scope#Scope#escapemark= for (self: Object, nullable EscapeMark) */
971 void VIRTUAL_scope__Scope__escapemark_61d(val
* self
, val
* p0
) {
972 scope__Scope__escapemark_61d(self
, p0
);
975 /* method scope#Scope#get_variable for (self: Scope, String): nullable Variable */
976 val
* scope__Scope__get_variable(val
* self
, val
* p0
) {
977 val
* var
/* : nullable Variable */;
978 val
* var_name
/* var name: String */;
979 val
* var1
/* : HashMap[String, Variable] */;
980 short int var2
/* : Bool */;
981 val
* var3
/* : HashMap[String, Variable] */;
982 val
* var4
/* : nullable Object */;
983 val
* var5
/* : null */;
985 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
986 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_name
) /* has_key on <var1:HashMap[String, Variable]>*/;
988 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__Scope__variables
]))(self
) /* variables on <self:Scope>*/;
989 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_name
) /* [] on <var3:HashMap[String, Variable]>*/;
1000 /* method scope#Scope#get_variable for (self: Object, String): nullable Variable */
1001 val
* VIRTUAL_scope__Scope__get_variable(val
* self
, val
* p0
) {
1002 val
* var
/* : nullable Variable */;
1003 val
* var1
/* : nullable Variable */;
1004 var1
= scope__Scope__get_variable(self
, p0
);
1009 /* method scope#Scope#init for (self: Scope) */
1010 void scope__Scope__init(val
* self
) {
1013 /* method scope#Scope#init for (self: Object) */
1014 void VIRTUAL_scope__Scope__init(val
* self
) {
1015 scope__Scope__init(self
);
1018 /* method scope#ANode#accept_scope_visitor for (self: ANode, ScopeVisitor) */
1019 void scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1020 val
* var_v
/* var v: ScopeVisitor */;
1022 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
1025 /* method scope#ANode#accept_scope_visitor for (self: Object, ScopeVisitor) */
1026 void VIRTUAL_scope__ANode__accept_scope_visitor(val
* self
, val
* p0
) {
1027 scope__ANode__accept_scope_visitor(self
, p0
);
1030 /* method scope#APropdef#do_scope for (self: APropdef, ToolContext) */
1031 void scope__APropdef__do_scope(val
* self
, val
* p0
) {
1032 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1033 val
* var
/* : ScopeVisitor */;
1034 val
* var_v
/* var v: ScopeVisitor */;
1035 var_toolcontext
= p0
;
1036 var
= NEW_scope__ScopeVisitor(&type_scope__ScopeVisitor
);
1037 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_scope__ScopeVisitor__init
]))(var
, var_toolcontext
) /* init on <var:ScopeVisitor>*/;
1038 CHECK_NEW_scope__ScopeVisitor(var
);
1040 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:ScopeVisitor>*/;
1043 /* method scope#APropdef#do_scope for (self: Object, ToolContext) */
1044 void VIRTUAL_scope__APropdef__do_scope(val
* self
, val
* p0
) {
1045 scope__APropdef__do_scope(self
, p0
);
1048 /* method scope#AParam#variable for (self: AParam): nullable Variable */
1049 val
* scope__AParam__variable(val
* self
) {
1050 val
* var
/* : nullable Variable */;
1051 val
* var1
/* : nullable Variable */;
1052 var1
= self
->attrs
[COLOR_scope__AParam___64dvariable
].val
; /* @variable on <self:AParam> */
1057 /* method scope#AParam#variable for (self: Object): nullable Variable */
1058 val
* VIRTUAL_scope__AParam__variable(val
* self
) {
1059 val
* var
/* : nullable Variable */;
1060 val
* var1
/* : nullable Variable */;
1061 var1
= scope__AParam__variable(self
);
1066 /* method scope#AParam#variable= for (self: AParam, nullable Variable) */
1067 void scope__AParam__variable_61d(val
* self
, val
* p0
) {
1068 self
->attrs
[COLOR_scope__AParam___64dvariable
].val
= p0
; /* @variable on <self:AParam> */
1071 /* method scope#AParam#variable= for (self: Object, nullable Variable) */
1072 void VIRTUAL_scope__AParam__variable_61d(val
* self
, val
* p0
) {
1073 scope__AParam__variable_61d(self
, p0
);
1076 /* method scope#AParam#accept_scope_visitor for (self: AParam, ScopeVisitor) */
1077 void scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
1078 val
* var_v
/* var v: ScopeVisitor */;
1079 val
* var
/* : TId */;
1080 val
* var_nid
/* var nid: TId */;
1081 val
* var1
/* : Variable */;
1082 val
* var2
/* : String */;
1083 val
* var_variable
/* var variable: Variable */;
1084 short int var3
/* : Bool */;
1086 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AParam>*/;
1087 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AParam__n_id
]))(self
) /* n_id on <self:AParam>*/;
1089 var1
= NEW_scope__Variable(&type_scope__Variable
);
1090 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1091 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
1092 CHECK_NEW_scope__Variable(var1
);
1093 var_variable
= var1
;
1094 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>*/;
1096 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AParam__variable_61d
]))(self
, var_variable
) /* variable= on <self:AParam>*/;
1099 /* method scope#AParam#accept_scope_visitor for (self: Object, ScopeVisitor) */
1100 void VIRTUAL_scope__AParam__accept_scope_visitor(val
* self
, val
* p0
) {
1101 scope__AParam__accept_scope_visitor(self
, p0
);
1104 /* method scope#AVardeclExpr#variable for (self: AVardeclExpr): nullable Variable */
1105 val
* scope__AVardeclExpr__variable(val
* self
) {
1106 val
* var
/* : nullable Variable */;
1107 val
* var1
/* : nullable Variable */;
1108 var1
= self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
; /* @variable on <self:AVardeclExpr> */
1113 /* method scope#AVardeclExpr#variable for (self: Object): nullable Variable */
1114 val
* VIRTUAL_scope__AVardeclExpr__variable(val
* self
) {
1115 val
* var
/* : nullable Variable */;
1116 val
* var1
/* : nullable Variable */;
1117 var1
= scope__AVardeclExpr__variable(self
);
1122 /* method scope#AVardeclExpr#variable= for (self: AVardeclExpr, nullable Variable) */
1123 void scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1124 self
->attrs
[COLOR_scope__AVardeclExpr___64dvariable
].val
= p0
; /* @variable on <self:AVardeclExpr> */
1127 /* method scope#AVardeclExpr#variable= for (self: Object, nullable Variable) */
1128 void VIRTUAL_scope__AVardeclExpr__variable_61d(val
* self
, val
* p0
) {
1129 scope__AVardeclExpr__variable_61d(self
, p0
);
1132 /* method scope#AVardeclExpr#accept_scope_visitor for (self: AVardeclExpr, ScopeVisitor) */
1133 void scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1134 val
* var_v
/* var v: ScopeVisitor */;
1135 val
* var
/* : TId */;
1136 val
* var_nid
/* var nid: TId */;
1137 val
* var1
/* : Variable */;
1138 val
* var2
/* : String */;
1139 val
* var_variable
/* var variable: Variable */;
1140 short int var3
/* : Bool */;
1142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AVardeclExpr>*/;
1143 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_id
]))(self
) /* n_id on <self:AVardeclExpr>*/;
1145 var1
= NEW_scope__Variable(&type_scope__Variable
);
1146 var2
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1147 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_scope__Variable__init
]))(var1
, var2
) /* init on <var1:Variable>*/;
1148 CHECK_NEW_scope__Variable(var1
);
1149 var_variable
= var1
;
1150 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>*/;
1152 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable_61d
]))(self
, var_variable
) /* variable= on <self:AVardeclExpr>*/;
1155 /* method scope#AVardeclExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1156 void VIRTUAL_scope__AVardeclExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1157 scope__AVardeclExpr__accept_scope_visitor(self
, p0
);
1160 /* method scope#ASelfExpr#variable for (self: ASelfExpr): nullable Variable */
1161 val
* scope__ASelfExpr__variable(val
* self
) {
1162 val
* var
/* : nullable Variable */;
1163 val
* var1
/* : nullable Variable */;
1164 var1
= self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
; /* @variable on <self:ASelfExpr> */
1169 /* method scope#ASelfExpr#variable for (self: Object): nullable Variable */
1170 val
* VIRTUAL_scope__ASelfExpr__variable(val
* self
) {
1171 val
* var
/* : nullable Variable */;
1172 val
* var1
/* : nullable Variable */;
1173 var1
= scope__ASelfExpr__variable(self
);
1178 /* method scope#ASelfExpr#variable= for (self: ASelfExpr, nullable Variable) */
1179 void scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1180 self
->attrs
[COLOR_scope__ASelfExpr___64dvariable
].val
= p0
; /* @variable on <self:ASelfExpr> */
1183 /* method scope#ASelfExpr#variable= for (self: Object, nullable Variable) */
1184 void VIRTUAL_scope__ASelfExpr__variable_61d(val
* self
, val
* p0
) {
1185 scope__ASelfExpr__variable_61d(self
, p0
);
1188 /* method scope#ASelfExpr#accept_scope_visitor for (self: ASelfExpr, ScopeVisitor) */
1189 void scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1190 val
* var_v
/* var v: ScopeVisitor */;
1191 val
* var
/* : Variable */;
1193 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ASelfExpr>*/;
1194 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__selfvariable
]))(var_v
) /* selfvariable on <var_v:ScopeVisitor>*/;
1195 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ASelfExpr__variable_61d
]))(self
, var
) /* variable= on <self:ASelfExpr>*/;
1198 /* method scope#ASelfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1199 void VIRTUAL_scope__ASelfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1200 scope__ASelfExpr__accept_scope_visitor(self
, p0
);
1203 /* method scope#AContinueExpr#escapemark for (self: AContinueExpr): nullable EscapeMark */
1204 val
* scope__AContinueExpr__escapemark(val
* self
) {
1205 val
* var
/* : nullable EscapeMark */;
1206 val
* var1
/* : nullable EscapeMark */;
1207 var1
= self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
; /* @escapemark on <self:AContinueExpr> */
1212 /* method scope#AContinueExpr#escapemark for (self: Object): nullable EscapeMark */
1213 val
* VIRTUAL_scope__AContinueExpr__escapemark(val
* self
) {
1214 val
* var
/* : nullable EscapeMark */;
1215 val
* var1
/* : nullable EscapeMark */;
1216 var1
= scope__AContinueExpr__escapemark(self
);
1221 /* method scope#AContinueExpr#escapemark= for (self: AContinueExpr, nullable EscapeMark) */
1222 void scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1223 self
->attrs
[COLOR_scope__AContinueExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AContinueExpr> */
1226 /* method scope#AContinueExpr#escapemark= for (self: Object, nullable EscapeMark) */
1227 void VIRTUAL_scope__AContinueExpr__escapemark_61d(val
* self
, val
* p0
) {
1228 scope__AContinueExpr__escapemark_61d(self
, p0
);
1231 /* method scope#AContinueExpr#accept_scope_visitor for (self: AContinueExpr, ScopeVisitor) */
1232 void scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1233 val
* var_v
/* var v: ScopeVisitor */;
1234 val
* var
/* : nullable ALabel */;
1235 val
* var1
/* : nullable EscapeMark */;
1236 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1237 val
* var2
/* : null */;
1238 short int var3
/* : Bool */;
1239 short int var4
/* : Bool */;
1240 short int var5
/* : Bool */;
1241 static val
* varonce
;
1242 val
* var6
/* : String */;
1243 char* var7
/* : NativeString */;
1244 long var8
/* : Int */;
1245 val
* var9
/* : String */;
1246 val
* var10
/* : Array[AContinueExpr] */;
1248 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:AContinueExpr>*/;
1249 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AContinueExpr>*/;
1250 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1251 var_escapemark
= var1
;
1253 if (var_escapemark
== NULL
) {
1254 var3
= 1; /* is null */
1256 var3
= 0; /* arg is null but recv is not */
1262 var4
= ((short int (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__for_loop
]))(var_escapemark
) /* for_loop on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1268 var7
= "Error: cannot \'continue\', only \'break\'.";
1270 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1274 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var6
) /* error on <var_v:ScopeVisitor>*/;
1277 var10
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__continues
]))(var_escapemark
) /* continues on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1278 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, self
) /* add on <var10:Array[AContinueExpr]>*/;
1279 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AContinueExpr>*/;
1282 /* method scope#AContinueExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1283 void VIRTUAL_scope__AContinueExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1284 scope__AContinueExpr__accept_scope_visitor(self
, p0
);
1287 /* method scope#ABreakExpr#escapemark for (self: ABreakExpr): nullable EscapeMark */
1288 val
* scope__ABreakExpr__escapemark(val
* self
) {
1289 val
* var
/* : nullable EscapeMark */;
1290 val
* var1
/* : nullable EscapeMark */;
1291 var1
= self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
; /* @escapemark on <self:ABreakExpr> */
1296 /* method scope#ABreakExpr#escapemark for (self: Object): nullable EscapeMark */
1297 val
* VIRTUAL_scope__ABreakExpr__escapemark(val
* self
) {
1298 val
* var
/* : nullable EscapeMark */;
1299 val
* var1
/* : nullable EscapeMark */;
1300 var1
= scope__ABreakExpr__escapemark(self
);
1305 /* method scope#ABreakExpr#escapemark= for (self: ABreakExpr, nullable EscapeMark) */
1306 void scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1307 self
->attrs
[COLOR_scope__ABreakExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ABreakExpr> */
1310 /* method scope#ABreakExpr#escapemark= for (self: Object, nullable EscapeMark) */
1311 void VIRTUAL_scope__ABreakExpr__escapemark_61d(val
* self
, val
* p0
) {
1312 scope__ABreakExpr__escapemark_61d(self
, p0
);
1315 /* method scope#ABreakExpr#accept_scope_visitor for (self: ABreakExpr, ScopeVisitor) */
1316 void scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1317 val
* var_v
/* var v: ScopeVisitor */;
1318 val
* var
/* : nullable ALabel */;
1319 val
* var1
/* : nullable EscapeMark */;
1320 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1321 val
* var2
/* : null */;
1322 short int var3
/* : Bool */;
1323 val
* var4
/* : Array[ABreakExpr] */;
1325 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ABreakExpr>*/;
1326 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ABreakExpr>*/;
1327 var1
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__get_escapemark
]))(var_v
, self
, var
) /* get_escapemark on <var_v:ScopeVisitor>*/;
1328 var_escapemark
= var1
;
1330 if (var_escapemark
== NULL
) {
1331 var3
= 1; /* is null */
1333 var3
= 0; /* arg is null but recv is not */
1339 var4
= ((val
* (*)(val
*))(var_escapemark
->class->vft
[COLOR_scope__EscapeMark__breaks
]))(var_escapemark
) /* breaks on <var_escapemark:nullable EscapeMark(EscapeMark)>*/;
1340 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, self
) /* add on <var4:Array[ABreakExpr]>*/;
1341 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ABreakExpr>*/;
1344 /* method scope#ABreakExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1345 void VIRTUAL_scope__ABreakExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1346 scope__ABreakExpr__accept_scope_visitor(self
, p0
);
1349 /* method scope#ADoExpr#escapemark for (self: ADoExpr): nullable EscapeMark */
1350 val
* scope__ADoExpr__escapemark(val
* self
) {
1351 val
* var
/* : nullable EscapeMark */;
1352 val
* var1
/* : nullable EscapeMark */;
1353 var1
= self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
; /* @escapemark on <self:ADoExpr> */
1358 /* method scope#ADoExpr#escapemark for (self: Object): nullable EscapeMark */
1359 val
* VIRTUAL_scope__ADoExpr__escapemark(val
* self
) {
1360 val
* var
/* : nullable EscapeMark */;
1361 val
* var1
/* : nullable EscapeMark */;
1362 var1
= scope__ADoExpr__escapemark(self
);
1367 /* method scope#ADoExpr#escapemark= for (self: ADoExpr, nullable EscapeMark) */
1368 void scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1369 self
->attrs
[COLOR_scope__ADoExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ADoExpr> */
1372 /* method scope#ADoExpr#escapemark= for (self: Object, nullable EscapeMark) */
1373 void VIRTUAL_scope__ADoExpr__escapemark_61d(val
* self
, val
* p0
) {
1374 scope__ADoExpr__escapemark_61d(self
, p0
);
1377 /* method scope#ADoExpr#accept_scope_visitor for (self: ADoExpr, ScopeVisitor) */
1378 void scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1379 val
* var_v
/* var v: ScopeVisitor */;
1380 val
* var
/* : nullable ALabel */;
1381 short int var1
/* : Bool */;
1382 val
* var2
/* : EscapeMark */;
1383 val
* var3
/* : nullable AExpr */;
1384 val
* var4
/* : nullable EscapeMark */;
1386 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ADoExpr>*/;
1388 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>*/;
1389 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark_61d
]))(self
, var2
) /* escapemark= on <self:ADoExpr>*/;
1390 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
1391 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
1392 ((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>*/;
1395 /* method scope#ADoExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1396 void VIRTUAL_scope__ADoExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1397 scope__ADoExpr__accept_scope_visitor(self
, p0
);
1400 /* method scope#AIfExpr#accept_scope_visitor for (self: AIfExpr, ScopeVisitor) */
1401 void scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1402 val
* var_v
/* var v: ScopeVisitor */;
1403 val
* var
/* : AExpr */;
1404 val
* var1
/* : nullable AExpr */;
1405 val
* var2
/* : null */;
1406 val
* var3
/* : nullable AExpr */;
1407 val
* var4
/* : null */;
1409 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
1410 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1411 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
1413 ((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>*/;
1414 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
1416 ((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>*/;
1419 /* method scope#AIfExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1420 void VIRTUAL_scope__AIfExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1421 scope__AIfExpr__accept_scope_visitor(self
, p0
);
1424 /* method scope#AWhileExpr#escapemark for (self: AWhileExpr): nullable EscapeMark */
1425 val
* scope__AWhileExpr__escapemark(val
* self
) {
1426 val
* var
/* : nullable EscapeMark */;
1427 val
* var1
/* : nullable EscapeMark */;
1428 var1
= self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
; /* @escapemark on <self:AWhileExpr> */
1433 /* method scope#AWhileExpr#escapemark for (self: Object): nullable EscapeMark */
1434 val
* VIRTUAL_scope__AWhileExpr__escapemark(val
* self
) {
1435 val
* var
/* : nullable EscapeMark */;
1436 val
* var1
/* : nullable EscapeMark */;
1437 var1
= scope__AWhileExpr__escapemark(self
);
1442 /* method scope#AWhileExpr#escapemark= for (self: AWhileExpr, nullable EscapeMark) */
1443 void scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1444 self
->attrs
[COLOR_scope__AWhileExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AWhileExpr> */
1447 /* method scope#AWhileExpr#escapemark= for (self: Object, nullable EscapeMark) */
1448 void VIRTUAL_scope__AWhileExpr__escapemark_61d(val
* self
, val
* p0
) {
1449 scope__AWhileExpr__escapemark_61d(self
, p0
);
1452 /* method scope#AWhileExpr#accept_scope_visitor for (self: AWhileExpr, ScopeVisitor) */
1453 void scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1454 val
* var_v
/* var v: ScopeVisitor */;
1455 val
* var
/* : nullable ALabel */;
1456 short int var1
/* : Bool */;
1457 val
* var2
/* : EscapeMark */;
1458 val
* var_escapemark
/* var escapemark: EscapeMark */;
1459 val
* var3
/* : AExpr */;
1460 val
* var4
/* : nullable AExpr */;
1462 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AWhileExpr>*/;
1464 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>*/;
1465 var_escapemark
= var2
;
1466 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AWhileExpr>*/;
1467 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
1468 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var3
) /* enter_visit on <var_v:ScopeVisitor>*/;
1469 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
1470 ((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>*/;
1473 /* method scope#AWhileExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1474 void VIRTUAL_scope__AWhileExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1475 scope__AWhileExpr__accept_scope_visitor(self
, p0
);
1478 /* method scope#ALoopExpr#escapemark for (self: ALoopExpr): nullable EscapeMark */
1479 val
* scope__ALoopExpr__escapemark(val
* self
) {
1480 val
* var
/* : nullable EscapeMark */;
1481 val
* var1
/* : nullable EscapeMark */;
1482 var1
= self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
; /* @escapemark on <self:ALoopExpr> */
1487 /* method scope#ALoopExpr#escapemark for (self: Object): nullable EscapeMark */
1488 val
* VIRTUAL_scope__ALoopExpr__escapemark(val
* self
) {
1489 val
* var
/* : nullable EscapeMark */;
1490 val
* var1
/* : nullable EscapeMark */;
1491 var1
= scope__ALoopExpr__escapemark(self
);
1496 /* method scope#ALoopExpr#escapemark= for (self: ALoopExpr, nullable EscapeMark) */
1497 void scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1498 self
->attrs
[COLOR_scope__ALoopExpr___64descapemark
].val
= p0
; /* @escapemark on <self:ALoopExpr> */
1501 /* method scope#ALoopExpr#escapemark= for (self: Object, nullable EscapeMark) */
1502 void VIRTUAL_scope__ALoopExpr__escapemark_61d(val
* self
, val
* p0
) {
1503 scope__ALoopExpr__escapemark_61d(self
, p0
);
1506 /* method scope#ALoopExpr#accept_scope_visitor for (self: ALoopExpr, ScopeVisitor) */
1507 void scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1508 val
* var_v
/* var v: ScopeVisitor */;
1509 val
* var
/* : nullable ALabel */;
1510 short int var1
/* : Bool */;
1511 val
* var2
/* : EscapeMark */;
1512 val
* var_escapemark
/* var escapemark: EscapeMark */;
1513 val
* var3
/* : nullable AExpr */;
1515 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:ALoopExpr>*/;
1517 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>*/;
1518 var_escapemark
= var2
;
1519 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:ALoopExpr>*/;
1520 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
1521 ((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>*/;
1524 /* method scope#ALoopExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1525 void VIRTUAL_scope__ALoopExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1526 scope__ALoopExpr__accept_scope_visitor(self
, p0
);
1529 /* method scope#AForExpr#variables for (self: AForExpr): nullable Array[Variable] */
1530 val
* scope__AForExpr__variables(val
* self
) {
1531 val
* var
/* : nullable Array[Variable] */;
1532 val
* var1
/* : nullable Array[Variable] */;
1533 var1
= self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
; /* @variables on <self:AForExpr> */
1538 /* method scope#AForExpr#variables for (self: Object): nullable Array[Variable] */
1539 val
* VIRTUAL_scope__AForExpr__variables(val
* self
) {
1540 val
* var
/* : nullable Array[Variable] */;
1541 val
* var1
/* : nullable Array[Variable] */;
1542 var1
= scope__AForExpr__variables(self
);
1547 /* method scope#AForExpr#variables= for (self: AForExpr, nullable Array[Variable]) */
1548 void scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1549 self
->attrs
[COLOR_scope__AForExpr___64dvariables
].val
= p0
; /* @variables on <self:AForExpr> */
1552 /* method scope#AForExpr#variables= for (self: Object, nullable Array[Variable]) */
1553 void VIRTUAL_scope__AForExpr__variables_61d(val
* self
, val
* p0
) {
1554 scope__AForExpr__variables_61d(self
, p0
);
1557 /* method scope#AForExpr#escapemark for (self: AForExpr): nullable EscapeMark */
1558 val
* scope__AForExpr__escapemark(val
* self
) {
1559 val
* var
/* : nullable EscapeMark */;
1560 val
* var1
/* : nullable EscapeMark */;
1561 var1
= self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
; /* @escapemark on <self:AForExpr> */
1566 /* method scope#AForExpr#escapemark for (self: Object): nullable EscapeMark */
1567 val
* VIRTUAL_scope__AForExpr__escapemark(val
* self
) {
1568 val
* var
/* : nullable EscapeMark */;
1569 val
* var1
/* : nullable EscapeMark */;
1570 var1
= scope__AForExpr__escapemark(self
);
1575 /* method scope#AForExpr#escapemark= for (self: AForExpr, nullable EscapeMark) */
1576 void scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1577 self
->attrs
[COLOR_scope__AForExpr___64descapemark
].val
= p0
; /* @escapemark on <self:AForExpr> */
1580 /* method scope#AForExpr#escapemark= for (self: Object, nullable EscapeMark) */
1581 void VIRTUAL_scope__AForExpr__escapemark_61d(val
* self
, val
* p0
) {
1582 scope__AForExpr__escapemark_61d(self
, p0
);
1585 /* method scope#AForExpr#accept_scope_visitor for (self: AForExpr, ScopeVisitor) */
1586 void scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1587 val
* var_v
/* var v: ScopeVisitor */;
1588 val
* var
/* : AExpr */;
1589 val
* var1
/* : List[Scope] */;
1590 val
* var2
/* : Scope */;
1591 val
* var3
/* : Array[Variable] */;
1592 val
* var_variables
/* var variables: Array[Variable] */;
1593 val
* var4
/* : ANodes[TId] */;
1594 val
* var5
/* : Iterator[nullable Object] */;
1595 short int var6
/* : Bool */;
1596 val
* var7
/* : nullable Object */;
1597 val
* var_nid
/* var nid: TId */;
1598 val
* var8
/* : Variable */;
1599 val
* var9
/* : String */;
1600 val
* var_va
/* var va: Variable */;
1601 short int var10
/* : Bool */;
1602 val
* var11
/* : nullable ALabel */;
1603 short int var12
/* : Bool */;
1604 val
* var13
/* : EscapeMark */;
1605 val
* var_escapemark
/* var escapemark: EscapeMark */;
1606 val
* var14
/* : nullable AExpr */;
1607 val
* var15
/* : List[Scope] */;
1608 val
* var16
/* : nullable Object */;
1610 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1611 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, var
) /* enter_visit on <var_v:ScopeVisitor>*/;
1612 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1613 var2
= NEW_scope__Scope(&type_scope__Scope
);
1614 ((void (*)(val
*))(var2
->class->vft
[COLOR_scope__Scope__init
]))(var2
) /* init on <var2:Scope>*/;
1615 CHECK_NEW_scope__Scope(var2
);
1616 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Sequence__unshift
]))(var1
, var2
) /* unshift on <var1:List[Scope]>*/;
1617 var3
= NEW_array__Array(&type_array__Arrayscope__Variable
);
1618 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Variable]>*/;
1619 CHECK_NEW_array__Array(var3
);
1620 var_variables
= var3
;
1621 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables_61d
]))(self
, var_variables
) /* variables= on <self:AForExpr>*/;
1622 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_ids
]))(self
) /* n_ids on <self:AForExpr>*/;
1623 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:ANodes[TId]>*/;
1625 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
1627 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
1629 var8
= NEW_scope__Variable(&type_scope__Variable
);
1630 var9
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:TId>*/;
1631 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_scope__Variable__init
]))(var8
, var9
) /* init on <var8:Variable>*/;
1632 CHECK_NEW_scope__Variable(var8
);
1634 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>*/;
1636 ((void (*)(val
*, val
*))(var_variables
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_variables
, var_va
) /* add on <var_variables:Array[Variable]>*/;
1637 CONTINUE_label
: (void)0;
1638 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
1640 BREAK_label
: (void)0;
1641 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALabelable__n_label
]))(self
) /* n_label on <self:AForExpr>*/;
1643 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>*/;
1644 var_escapemark
= var13
;
1645 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark_61d
]))(self
, var_escapemark
) /* escapemark= on <self:AForExpr>*/;
1646 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1647 ((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>*/;
1648 var15
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__scopes
]))(var_v
) /* scopes on <var_v:ScopeVisitor>*/;
1649 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var15
) /* shift on <var15:List[Scope]>*/;
1653 /* method scope#AForExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1654 void VIRTUAL_scope__AForExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1655 scope__AForExpr__accept_scope_visitor(self
, p0
);
1658 /* method scope#AVarFormExpr#variable for (self: AVarFormExpr): nullable Variable */
1659 val
* scope__AVarFormExpr__variable(val
* self
) {
1660 val
* var
/* : nullable Variable */;
1661 val
* var1
/* : nullable Variable */;
1662 var1
= self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
; /* @variable on <self:AVarFormExpr> */
1667 /* method scope#AVarFormExpr#variable for (self: Object): nullable Variable */
1668 val
* VIRTUAL_scope__AVarFormExpr__variable(val
* self
) {
1669 val
* var
/* : nullable Variable */;
1670 val
* var1
/* : nullable Variable */;
1671 var1
= scope__AVarFormExpr__variable(self
);
1676 /* method scope#AVarFormExpr#variable= for (self: AVarFormExpr, nullable Variable) */
1677 void scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1678 self
->attrs
[COLOR_scope__AVarFormExpr___64dvariable
].val
= p0
; /* @variable on <self:AVarFormExpr> */
1681 /* method scope#AVarFormExpr#variable= for (self: Object, nullable Variable) */
1682 void VIRTUAL_scope__AVarFormExpr__variable_61d(val
* self
, val
* p0
) {
1683 scope__AVarFormExpr__variable_61d(self
, p0
);
1686 /* method scope#ACallFormExpr#accept_scope_visitor for (self: ACallFormExpr, ScopeVisitor) */
1687 void scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1688 val
* var_v
/* var v: ScopeVisitor */;
1689 val
* var
/* : AExpr */;
1690 short int var1
/* : Bool */;
1693 val
* var2
/* : TId */;
1694 val
* var3
/* : String */;
1695 val
* var_name
/* var name: String */;
1696 val
* var4
/* : nullable Variable */;
1697 val
* var_variable
/* var variable: nullable Variable */;
1698 val
* var5
/* : null */;
1699 short int var6
/* : Bool */;
1700 short int var7
/* : Bool */;
1701 val
* var8
/* : AExprs */;
1702 val
* var9
/* : ANodes[AExpr] */;
1703 short int var10
/* : Bool */;
1704 short int var11
/* : Bool */;
1705 val
* var12
/* : AExprs */;
1706 short int var13
/* : Bool */;
1709 static val
* varonce
;
1710 val
* var16
/* : String */;
1711 char* var17
/* : NativeString */;
1712 long var18
/* : Int */;
1713 val
* var19
/* : String */;
1714 static val
* varonce20
;
1715 val
* var21
/* : String */;
1716 char* var22
/* : NativeString */;
1717 long var23
/* : Int */;
1718 val
* var24
/* : String */;
1719 val
* var25
/* : Array[Object] */;
1720 long var26
/* : Int */;
1721 val
* var27
/* : NativeArray[Object] */;
1722 val
* var28
/* : String */;
1723 val
* var29
/* : AVarFormExpr */;
1724 val
* var_n
/* var n: AExpr */;
1726 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ACallFormExpr>*/;
1727 /* <var:AExpr> isa AImplicitSelfExpr */
1728 cltype
= type_parser_nodes__AImplicitSelfExpr
.color
;
1729 idtype
= type_parser_nodes__AImplicitSelfExpr
.id
;
1730 if(cltype
>= var
->type
->table_size
) {
1733 var1
= var
->type
->type_table
[cltype
] == idtype
;
1736 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallFormExpr>*/;
1737 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_parser_nodes__Token__text
]))(var2
) /* text on <var2:TId>*/;
1739 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__search_variable
]))(var_v
, var_name
) /* search_variable on <var_v:ScopeVisitor>*/;
1740 var_variable
= var4
;
1742 if (var_variable
== NULL
) {
1743 var6
= 0; /* is null */
1745 var6
= 1; /* arg is null and recv is not */
1748 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1749 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var8
) /* n_exprs on <var8:AExprs>*/;
1750 var10
= ((short int (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var9
) /* is_empty on <var9:ANodes[AExpr]>*/;
1755 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_args
]))(self
) /* n_args on <self:ACallFormExpr>*/;
1756 /* <var12:AExprs> isa AParExprs */
1757 cltype14
= type_parser_nodes__AParExprs
.color
;
1758 idtype15
= type_parser_nodes__AParExprs
.id
;
1759 if(cltype14
>= var12
->type
->table_size
) {
1762 var13
= var12
->type
->type_table
[cltype14
] == idtype15
;
1772 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1779 var22
= " is variable, not a function.";
1781 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1785 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
1786 { /* var25 = array_instance Array[Object] */
1788 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
1789 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var16
;
1790 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var_name
;
1791 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
1792 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
1793 CHECK_NEW_array__Array(var25
);
1795 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
1796 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_scope__ScopeVisitor__error
]))(var_v
, self
, var28
) /* error on <var_v:ScopeVisitor>*/;
1800 var29
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__variable_create
]))(self
, var_variable
) /* variable_create on <self:ACallFormExpr>*/;
1802 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_scope__AVarFormExpr__variable_61d
]))(var_n
, var_variable
) /* variable= on <var_n:AExpr(AVarFormExpr)>*/;
1803 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__replace_with
]))(self
, var_n
) /* replace_with on <self:ACallFormExpr>*/;
1804 ((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)>*/;
1810 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_scope__ACallFormExpr__accept_scope_visitor
]))(self
, p0
) /* accept_scope_visitor on <self:ACallFormExpr>*/;
1813 /* method scope#ACallFormExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
1814 void VIRTUAL_scope__ACallFormExpr__accept_scope_visitor(val
* self
, val
* p0
) {
1815 scope__ACallFormExpr__accept_scope_visitor(self
, p0
);
1818 /* method scope#ACallFormExpr#variable_create for (self: ACallFormExpr, Variable): AVarFormExpr */
1819 val
* scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1820 val
* var
/* : AVarFormExpr */;
1821 const char* var_class_name
;
1822 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1823 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "variable_create", var_class_name
);
1824 fprintf(stderr
, " (%s:%d)\n", "src/scope.nit", 389);
1829 /* method scope#ACallFormExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1830 val
* VIRTUAL_scope__ACallFormExpr__variable_create(val
* self
, val
* p0
) {
1831 val
* var
/* : AVarFormExpr */;
1832 val
* var1
/* : AVarFormExpr */;
1833 var1
= scope__ACallFormExpr__variable_create(self
, p0
);
1838 /* method scope#ACallExpr#variable_create for (self: ACallExpr, Variable): AVarFormExpr */
1839 val
* scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1840 val
* var
/* : AVarFormExpr */;
1841 val
* var_variable
/* var variable: Variable */;
1842 val
* var1
/* : AVarExpr */;
1843 val
* var2
/* : TId */;
1845 var1
= NEW_parser_nodes__AVarExpr(&type_parser_nodes__AVarExpr
);
1846 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallExpr>*/;
1847 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarExpr__init_avarexpr
]))(var1
, var2
) /* init_avarexpr on <var1:AVarExpr>*/;
1848 CHECK_NEW_parser_nodes__AVarExpr(var1
);
1854 /* method scope#ACallExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1855 val
* VIRTUAL_scope__ACallExpr__variable_create(val
* self
, val
* p0
) {
1856 val
* var
/* : AVarFormExpr */;
1857 val
* var1
/* : AVarFormExpr */;
1858 var1
= scope__ACallExpr__variable_create(self
, p0
);
1863 /* method scope#ACallAssignExpr#variable_create for (self: ACallAssignExpr, Variable): AVarFormExpr */
1864 val
* scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1865 val
* var
/* : AVarFormExpr */;
1866 val
* var_variable
/* var variable: Variable */;
1867 val
* var1
/* : AVarAssignExpr */;
1868 val
* var2
/* : TId */;
1869 val
* var3
/* : TAssign */;
1870 val
* var4
/* : AExpr */;
1872 var1
= NEW_parser_nodes__AVarAssignExpr(&type_parser_nodes__AVarAssignExpr
);
1873 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallAssignExpr>*/;
1874 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_assign
]))(self
) /* n_assign on <self:ACallAssignExpr>*/;
1875 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:ACallAssignExpr>*/;
1876 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarAssignExpr__init_avarassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarassignexpr on <var1:AVarAssignExpr>*/;
1877 CHECK_NEW_parser_nodes__AVarAssignExpr(var1
);
1883 /* method scope#ACallAssignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1884 val
* VIRTUAL_scope__ACallAssignExpr__variable_create(val
* self
, val
* p0
) {
1885 val
* var
/* : AVarFormExpr */;
1886 val
* var1
/* : AVarFormExpr */;
1887 var1
= scope__ACallAssignExpr__variable_create(self
, p0
);
1892 /* method scope#ACallReassignExpr#variable_create for (self: ACallReassignExpr, Variable): AVarFormExpr */
1893 val
* scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1894 val
* var
/* : AVarFormExpr */;
1895 val
* var_variable
/* var variable: Variable */;
1896 val
* var1
/* : AVarReassignExpr */;
1897 val
* var2
/* : TId */;
1898 val
* var3
/* : AAssignOp */;
1899 val
* var4
/* : AExpr */;
1901 var1
= NEW_parser_nodes__AVarReassignExpr(&type_parser_nodes__AVarReassignExpr
);
1902 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ACallFormExpr__n_id
]))(self
) /* n_id on <self:ACallReassignExpr>*/;
1903 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_assign_op
]))(self
) /* n_assign_op on <self:ACallReassignExpr>*/;
1904 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ACallReassignExpr>*/;
1905 ((void (*)(val
*, val
*, val
*, val
*))(var1
->class->vft
[COLOR_parser_prod__AVarReassignExpr__init_avarreassignexpr
]))(var1
, var2
, var3
, var4
) /* init_avarreassignexpr on <var1:AVarReassignExpr>*/;
1906 CHECK_NEW_parser_nodes__AVarReassignExpr(var1
);
1912 /* method scope#ACallReassignExpr#variable_create for (self: Object, Variable): AVarFormExpr */
1913 val
* VIRTUAL_scope__ACallReassignExpr__variable_create(val
* self
, val
* p0
) {
1914 val
* var
/* : AVarFormExpr */;
1915 val
* var1
/* : AVarFormExpr */;
1916 var1
= scope__ACallReassignExpr__variable_create(self
, p0
);