1 #include "local_var_init.sep.0.h"
2 /* method local_var_init#ToolContext#local_var_init_phase for (self: ToolContext): Phase */
3 val
* local_var_init__ToolContext__local_var_init_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_local_var_init__ToolContext___64dlocal_var_init_phase
].val
; /* @local_var_init_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @local_var_init_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 26);
16 /* method local_var_init#ToolContext#local_var_init_phase for (self: Object): Phase */
17 val
* VIRTUAL_local_var_init__ToolContext__local_var_init_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= local_var_init__ToolContext__local_var_init_phase(self
);
25 /* method local_var_init#ToolContext#local_var_init_phase= for (self: ToolContext, Phase) */
26 void local_var_init__ToolContext__local_var_init_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_local_var_init__ToolContext___64dlocal_var_init_phase
].val
= p0
; /* @local_var_init_phase on <self:ToolContext> */
30 /* method local_var_init#ToolContext#local_var_init_phase= for (self: Object, Phase) */
31 void VIRTUAL_local_var_init__ToolContext__local_var_init_phase_61d(val
* self
, val
* p0
) {
32 local_var_init__ToolContext__local_var_init_phase_61d(self
, p0
);
35 /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: LocalVarInitPhase, APropdef) */
36 void local_var_init__LocalVarInitPhase__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:LocalVarInitPhase>*/;
41 ((void (*)(val
*, val
*))(var_npropdef
->class->vft
[COLOR_local_var_init__APropdef__do_local_var_init
]))(var_npropdef
, var
) /* do_local_var_init on <var_npropdef:APropdef>*/;
44 /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: Object, APropdef) */
45 void VIRTUAL_local_var_init__LocalVarInitPhase__process_npropdef(val
* self
, val
* p0
) {
46 local_var_init__LocalVarInitPhase__process_npropdef(self
, p0
);
49 /* method local_var_init#APropdef#do_local_var_init for (self: APropdef, ToolContext) */
50 void local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
51 val
* var_toolcontext
/* var toolcontext: ToolContext */;
52 val
* var
/* : LocalVarInitVisitor */;
53 val
* var_v
/* var v: LocalVarInitVisitor */;
55 var
= NEW_local_var_init__LocalVarInitVisitor(&type_local_var_init__LocalVarInitVisitor
);
56 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__init
]))(var
, var_toolcontext
) /* init on <var:LocalVarInitVisitor>*/;
57 CHECK_NEW_local_var_init__LocalVarInitVisitor(var
);
59 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:LocalVarInitVisitor>*/;
62 /* method local_var_init#APropdef#do_local_var_init for (self: Object, ToolContext) */
63 void VIRTUAL_local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
64 local_var_init__APropdef__do_local_var_init(self
, p0
);
67 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: LocalVarInitVisitor): ToolContext */
68 val
* local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
69 val
* var
/* : ToolContext */;
70 val
* var1
/* : ToolContext */;
71 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext
].val
; /* @toolcontext on <self:LocalVarInitVisitor> */
73 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @toolcontext");
74 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 47);
81 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: Object): ToolContext */
82 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
83 val
* var
/* : ToolContext */;
84 val
* var1
/* : ToolContext */;
85 var1
= local_var_init__LocalVarInitVisitor__toolcontext(self
);
90 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
91 void local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
92 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:LocalVarInitVisitor> */
95 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: Object, ToolContext) */
96 void VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
97 local_var_init__LocalVarInitVisitor__toolcontext_61d(self
, p0
);
100 /* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor, ToolContext) */
101 void local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
102 val
* var_toolcontext
/* var toolcontext: ToolContext */;
103 var_toolcontext
= p0
;
104 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:LocalVarInitVisitor>*/;
105 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:LocalVarInitVisitor>*/;
108 /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */
109 void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
110 local_var_init__LocalVarInitVisitor__init(self
, p0
);
113 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
114 val
* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
115 val
* var
/* : Set[Variable] */;
116 val
* var1
/* : Set[Variable] */;
117 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
119 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @maybe_unset_vars");
120 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 54);
127 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: Object): Set[Variable] */
128 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
129 val
* var
/* : Set[Variable] */;
130 val
* var1
/* : Set[Variable] */;
131 var1
= local_var_init__LocalVarInitVisitor__maybe_unset_vars(self
);
136 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: LocalVarInitVisitor, Set[Variable]) */
137 void local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
138 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
= p0
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
141 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: Object, Set[Variable]) */
142 void VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
143 local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(self
, p0
);
146 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
147 void local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
148 val
* var_node
/* var node: AExpr */;
149 val
* var_variable
/* var variable: nullable Variable */;
150 val
* var
/* : null */;
151 short int var1
/* : Bool */;
152 val
* var2
/* : Set[Variable] */;
156 if (var_variable
== NULL
) {
157 var1
= 0; /* is null */
159 var1
= 1; /* arg is null and recv is not */
162 fprintf(stderr
, "Runtime error: %s", "Assert failed");
163 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 59);
166 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
167 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_variable
) /* add on <var2:Set[Variable]>*/;
170 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */
171 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
172 local_var_init__LocalVarInitVisitor__mark_is_unset(self
, p0
, p1
);
175 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
176 void local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
177 val
* var_node
/* var node: AExpr */;
178 val
* var_variable
/* var variable: nullable Variable */;
179 val
* var
/* : null */;
180 short int var1
/* : Bool */;
181 val
* var2
/* : Set[Variable] */;
182 short int var3
/* : Bool */;
183 short int var4
/* : Bool */;
184 val
* var5
/* : nullable FlowContext */;
185 val
* var_flow
/* var flow: FlowContext */;
186 val
* var6
/* : Set[Variable] */;
190 if (var_variable
== NULL
) {
191 var1
= 0; /* is null */
193 var1
= 1; /* arg is null and recv is not */
196 fprintf(stderr
, "Runtime error: %s", "Assert failed");
197 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 65);
200 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
201 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
207 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
209 fprintf(stderr
, "Runtime error: %s", "Cast failed");
210 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 68);
214 var6
= ((val
* (*)(val
*))(var_flow
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(var_flow
) /* set_vars on <var_flow:FlowContext>*/;
215 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var6
, var_variable
) /* add on <var6:Set[Variable]>*/;
218 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */
219 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
220 local_var_init__LocalVarInitVisitor__mark_is_set(self
, p0
, p1
);
223 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
224 void local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
225 val
* var_node
/* var node: AExpr */;
226 val
* var_variable
/* var variable: nullable Variable */;
227 val
* var
/* : null */;
228 short int var1
/* : Bool */;
229 val
* var2
/* : Set[Variable] */;
230 short int var3
/* : Bool */;
231 short int var4
/* : Bool */;
232 val
* var5
/* : nullable FlowContext */;
233 val
* var_flow
/* var flow: FlowContext */;
234 short int var6
/* : Bool */;
235 short int var7
/* : Bool */;
236 val
* var8
/* : ToolContext */;
237 val
* var9
/* : Location */;
239 val
* var10
/* : String */;
240 char* var11
/* : NativeString */;
241 long var12
/* : Int */;
242 val
* var13
/* : String */;
243 static val
* varonce14
;
244 val
* var15
/* : String */;
245 char* var16
/* : NativeString */;
246 long var17
/* : Int */;
247 val
* var18
/* : String */;
248 val
* var19
/* : Array[Object] */;
249 long var20
/* : Int */;
250 val
* var21
/* : NativeArray[Object] */;
251 val
* var22
/* : String */;
252 val
* var23
/* : Set[Variable] */;
256 if (var_variable
== NULL
) {
257 var1
= 0; /* is null */
259 var1
= 1; /* arg is null and recv is not */
262 fprintf(stderr
, "Runtime error: %s", "Assert failed");
263 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 74);
266 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
267 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
273 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
275 fprintf(stderr
, "Runtime error: %s", "Cast failed");
276 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 77);
280 var6
= ((short int (*)(val
*, val
*))(var_flow
->class->vft
[COLOR_local_var_init__FlowContext__is_variable_set
]))(var_flow
, var_variable
) /* is_variable_set on <var_flow:FlowContext>*/;
283 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext
]))(self
) /* toolcontext on <self:LocalVarInitVisitor>*/;
284 var9
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:AExpr>*/;
288 var11
= "Error: variable \'";
290 var13
= string__NativeString__to_s_with_length(var11
, var12
);
297 var16
= "\' is possibly unset.";
299 var18
= string__NativeString__to_s_with_length(var16
, var17
);
303 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
304 { /* var19 = array_instance Array[Object] */
306 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
307 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
308 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_variable
;
309 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
310 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
311 CHECK_NEW_array__Array(var19
);
313 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
314 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var8
, var9
, var22
) /* error on <var8:ToolContext>*/;
315 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
316 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var23
, var_variable
) /* remove on <var23:Set[Variable]>*/;
321 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */
322 void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
323 local_var_init__LocalVarInitVisitor__check_is_set(self
, p0
, p1
);
326 /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
327 void local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
328 val
* var_n
/* var n: ANode */;
330 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_local_var_init__ANode__accept_local_var_visitor
]))(var_n
, self
) /* accept_local_var_visitor on <var_n:ANode>*/;
333 /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */
334 void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
335 local_var_init__LocalVarInitVisitor__visit(self
, p0
);
338 /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
339 val
* local_var_init__FlowContext__set_vars(val
* self
) {
340 val
* var
/* : Set[Variable] */;
341 val
* var1
/* : Set[Variable] */;
342 var1
= self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
; /* @set_vars on <self:FlowContext> */
344 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @set_vars");
345 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 92);
352 /* method local_var_init#FlowContext#set_vars for (self: Object): Set[Variable] */
353 val
* VIRTUAL_local_var_init__FlowContext__set_vars(val
* self
) {
354 val
* var
/* : Set[Variable] */;
355 val
* var1
/* : Set[Variable] */;
356 var1
= local_var_init__FlowContext__set_vars(self
);
361 /* method local_var_init#FlowContext#set_vars= for (self: FlowContext, Set[Variable]) */
362 void local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
363 self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
= p0
; /* @set_vars on <self:FlowContext> */
366 /* method local_var_init#FlowContext#set_vars= for (self: Object, Set[Variable]) */
367 void VIRTUAL_local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
368 local_var_init__FlowContext__set_vars_61d(self
, p0
);
371 /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
372 short int local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
373 short int var
/* : Bool */;
374 val
* var_variable
/* var variable: Variable */;
375 val
* var1
/* : Set[Variable] */;
376 short int var2
/* : Bool */;
377 short int var3
/* : Bool */;
378 val
* var4
/* : Array[FlowContext] */;
379 val
* var_previous
/* var previous: Array[FlowContext] */;
380 long var5
/* : Int */;
381 long var6
/* : Int */;
382 short int var7
/* : Bool */;
383 short int var9
/* : Bool */;
384 short int var10
/* : Bool */;
385 long var11
/* : Int */;
386 long var12
/* : Int */;
387 short int var13
/* : Bool */;
388 short int var15
/* : Bool */;
389 val
* var16
/* : nullable Object */;
390 short int var17
/* : Bool */;
391 val
* var18
/* : Array[FlowContext] */;
392 val
* var19
/* : Iterator[nullable Object] */;
393 short int var20
/* : Bool */;
394 val
* var21
/* : nullable Object */;
395 val
* var_p
/* var p: FlowContext */;
396 short int var22
/* : Bool */;
397 short int var23
/* : Bool */;
398 short int var24
/* : Bool */;
399 val
* var25
/* : Set[Variable] */;
400 short int var26
/* : Bool */;
402 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
403 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_variable
) /* has on <var1:Set[Variable]>*/;
410 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
412 var5
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
414 { /* Inline kernel#Int#== (var5,var6) */
426 var11
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
428 { /* Inline kernel#Int#== (var11,var12) */
429 var15
= var11
== var12
;
435 var16
= ((val
* (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_previous
) /* first on <var_previous:Array[FlowContext]>*/;
436 var17
= ((short int (*)(val
*, val
*))(var16
->class->vft
[COLOR_local_var_init__FlowContext__is_variable_set
]))(var16
, var_variable
) /* is_variable_set on <var16:nullable Object(FlowContext)>*/;
441 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
442 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[FlowContext]>*/;
444 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
446 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
448 var22
= ((short int (*)(val
*, val
*))(var_p
->class->vft
[COLOR_local_var_init__FlowContext__is_variable_set
]))(var_p
, var_variable
) /* is_variable_set on <var_p:FlowContext>*/;
456 CONTINUE_label
: (void)0;
457 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
459 BREAK_label
: (void)0;
460 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
461 ((void (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var25
, var_variable
) /* add on <var25:Set[Variable]>*/;
468 /* method local_var_init#FlowContext#is_variable_set for (self: Object, Variable): Bool */
469 short int VIRTUAL_local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
470 short int var
/* : Bool */;
471 short int var1
/* : Bool */;
472 var1
= local_var_init__FlowContext__is_variable_set(self
, p0
);
477 /* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
478 void local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
479 val
* var_v
/* var v: LocalVarInitVisitor */;
481 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
484 /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
485 void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
486 local_var_init__ANode__accept_local_var_visitor(self
, p0
);
489 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
490 void local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
491 val
* var_v
/* var v: LocalVarInitVisitor */;
492 val
* var
/* : nullable AExpr */;
493 val
* var1
/* : null */;
494 short int var2
/* : Bool */;
495 val
* var3
/* : nullable Variable */;
497 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVardeclExpr>*/;
498 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
501 var2
= 1; /* is null */
503 var2
= 0; /* arg is null but recv is not */
506 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
507 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__mark_is_unset
]))(var_v
, self
, var3
) /* mark_is_unset on <var_v:LocalVarInitVisitor>*/;
512 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
513 void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
514 local_var_init__AVardeclExpr__accept_local_var_visitor(self
, p0
);
517 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
518 void local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
519 val
* var_v
/* var v: LocalVarInitVisitor */;
520 val
* var
/* : nullable Variable */;
522 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarExpr>*/;
523 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarExpr>*/;
524 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__check_is_set
]))(var_v
, self
, var
) /* check_is_set on <var_v:LocalVarInitVisitor>*/;
527 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
528 void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
529 local_var_init__AVarExpr__accept_local_var_visitor(self
, p0
);
532 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
533 void local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
534 val
* var_v
/* var v: LocalVarInitVisitor */;
535 val
* var
/* : nullable Variable */;
537 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarAssignExpr>*/;
538 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarAssignExpr>*/;
539 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__mark_is_set
]))(var_v
, self
, var
) /* mark_is_set on <var_v:LocalVarInitVisitor>*/;
542 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
543 void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
544 local_var_init__AVarAssignExpr__accept_local_var_visitor(self
, p0
);
547 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
548 void local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
549 val
* var_v
/* var v: LocalVarInitVisitor */;
550 val
* var
/* : nullable Variable */;
552 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarReassignExpr>*/;
553 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
554 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__check_is_set
]))(var_v
, self
, var
) /* check_is_set on <var_v:LocalVarInitVisitor>*/;
557 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
558 void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
559 local_var_init__AVarReassignExpr__accept_local_var_visitor(self
, p0
);