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 (%s:%d)\n", "Uninitialized attribute @local_var_init_phase", "src/local_var_init.nit", 26);
15 /* method local_var_init#ToolContext#local_var_init_phase for (self: Object): Phase */
16 val
* VIRTUAL_local_var_init__ToolContext__local_var_init_phase(val
* self
) {
17 val
* var
/* : Phase */;
18 val
* var1
/* : Phase */;
19 var1
= local_var_init__ToolContext__local_var_init_phase(self
);
24 /* method local_var_init#ToolContext#local_var_init_phase= for (self: ToolContext, Phase) */
25 void local_var_init__ToolContext__local_var_init_phase_61d(val
* self
, val
* p0
) {
26 self
->attrs
[COLOR_local_var_init__ToolContext___64dlocal_var_init_phase
].val
= p0
; /* @local_var_init_phase on <self:ToolContext> */
29 /* method local_var_init#ToolContext#local_var_init_phase= for (self: Object, Phase) */
30 void VIRTUAL_local_var_init__ToolContext__local_var_init_phase_61d(val
* self
, val
* p0
) {
31 local_var_init__ToolContext__local_var_init_phase_61d(self
, p0
);
34 /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: LocalVarInitPhase, APropdef) */
35 void local_var_init__LocalVarInitPhase__process_npropdef(val
* self
, val
* p0
) {
36 val
* var_npropdef
/* var npropdef: APropdef */;
37 val
* var
/* : ToolContext */;
39 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:LocalVarInitPhase>*/;
40 ((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>*/;
43 /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: Object, APropdef) */
44 void VIRTUAL_local_var_init__LocalVarInitPhase__process_npropdef(val
* self
, val
* p0
) {
45 local_var_init__LocalVarInitPhase__process_npropdef(self
, p0
);
48 /* method local_var_init#APropdef#do_local_var_init for (self: APropdef, ToolContext) */
49 void local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
50 val
* var_toolcontext
/* var toolcontext: ToolContext */;
51 val
* var
/* : LocalVarInitVisitor */;
52 val
* var_v
/* var v: LocalVarInitVisitor */;
54 var
= NEW_local_var_init__LocalVarInitVisitor(&type_local_var_init__LocalVarInitVisitor
);
55 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__init
]))(var
, var_toolcontext
) /* init on <var:LocalVarInitVisitor>*/;
56 CHECK_NEW_local_var_init__LocalVarInitVisitor(var
);
58 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_v
, self
) /* enter_visit on <var_v:LocalVarInitVisitor>*/;
61 /* method local_var_init#APropdef#do_local_var_init for (self: Object, ToolContext) */
62 void VIRTUAL_local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
63 local_var_init__APropdef__do_local_var_init(self
, p0
);
66 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: LocalVarInitVisitor): ToolContext */
67 val
* local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
68 val
* var
/* : ToolContext */;
69 val
* var1
/* : ToolContext */;
70 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext
].val
; /* @toolcontext on <self:LocalVarInitVisitor> */
72 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @toolcontext", "src/local_var_init.nit", 47);
79 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: Object): ToolContext */
80 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
81 val
* var
/* : ToolContext */;
82 val
* var1
/* : ToolContext */;
83 var1
= local_var_init__LocalVarInitVisitor__toolcontext(self
);
88 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
89 void local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
90 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:LocalVarInitVisitor> */
93 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: Object, ToolContext) */
94 void VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
95 local_var_init__LocalVarInitVisitor__toolcontext_61d(self
, p0
);
98 /* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor, ToolContext) */
99 void local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
100 val
* var_toolcontext
/* var toolcontext: ToolContext */;
101 var_toolcontext
= p0
;
102 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:LocalVarInitVisitor>*/;
103 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:LocalVarInitVisitor>*/;
106 /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */
107 void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
108 local_var_init__LocalVarInitVisitor__init(self
, p0
);
111 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
112 val
* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
113 val
* var
/* : Set[Variable] */;
114 val
* var1
/* : Set[Variable] */;
115 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
117 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @maybe_unset_vars", "src/local_var_init.nit", 54);
124 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: Object): Set[Variable] */
125 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
126 val
* var
/* : Set[Variable] */;
127 val
* var1
/* : Set[Variable] */;
128 var1
= local_var_init__LocalVarInitVisitor__maybe_unset_vars(self
);
133 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: LocalVarInitVisitor, Set[Variable]) */
134 void local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
135 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
= p0
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
138 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: Object, Set[Variable]) */
139 void VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
140 local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(self
, p0
);
143 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
144 void local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
145 val
* var_node
/* var node: AExpr */;
146 val
* var_variable
/* var variable: nullable Variable */;
147 val
* var
/* : null */;
148 short int var1
/* : Bool */;
149 val
* var2
/* : Set[Variable] */;
153 if (var_variable
== NULL
) {
154 var1
= 0; /* is null */
156 var1
= 1; /* arg is null and recv is not */
159 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/local_var_init.nit", 59);
162 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
163 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_variable
) /* add on <var2:Set[Variable]>*/;
166 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */
167 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
168 local_var_init__LocalVarInitVisitor__mark_is_unset(self
, p0
, p1
);
171 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
172 void local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
173 val
* var_node
/* var node: AExpr */;
174 val
* var_variable
/* var variable: nullable Variable */;
175 val
* var
/* : null */;
176 short int var1
/* : Bool */;
177 val
* var2
/* : Set[Variable] */;
178 short int var3
/* : Bool */;
179 short int var4
/* : Bool */;
180 val
* var5
/* : nullable FlowContext */;
181 val
* var_flow
/* var flow: FlowContext */;
182 val
* var6
/* : Set[Variable] */;
186 if (var_variable
== NULL
) {
187 var1
= 0; /* is null */
189 var1
= 1; /* arg is null and recv is not */
192 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/local_var_init.nit", 65);
195 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
196 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
202 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
204 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/local_var_init.nit", 68);
208 var6
= ((val
* (*)(val
*))(var_flow
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(var_flow
) /* set_vars on <var_flow:FlowContext>*/;
209 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var6
, var_variable
) /* add on <var6:Set[Variable]>*/;
212 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */
213 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
214 local_var_init__LocalVarInitVisitor__mark_is_set(self
, p0
, p1
);
217 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
218 void local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
219 val
* var_node
/* var node: AExpr */;
220 val
* var_variable
/* var variable: nullable Variable */;
221 val
* var
/* : null */;
222 short int var1
/* : Bool */;
223 val
* var2
/* : Set[Variable] */;
224 short int var3
/* : Bool */;
225 short int var4
/* : Bool */;
226 val
* var5
/* : nullable FlowContext */;
227 val
* var_flow
/* var flow: FlowContext */;
228 short int var6
/* : Bool */;
229 short int var7
/* : Bool */;
230 val
* var8
/* : ToolContext */;
231 val
* var9
/* : Location */;
233 val
* var10
/* : String */;
234 char* var11
/* : NativeString */;
235 long var12
/* : Int */;
236 val
* var13
/* : String */;
237 static val
* varonce14
;
238 val
* var15
/* : String */;
239 char* var16
/* : NativeString */;
240 long var17
/* : Int */;
241 val
* var18
/* : String */;
242 val
* var19
/* : Array[Object] */;
243 long var20
/* : Int */;
244 val
* var21
/* : NativeArray[Object] */;
245 val
* var22
/* : String */;
246 val
* var23
/* : Set[Variable] */;
250 if (var_variable
== NULL
) {
251 var1
= 0; /* is null */
253 var1
= 1; /* arg is null and recv is not */
256 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/local_var_init.nit", 74);
259 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
260 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
266 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
268 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/local_var_init.nit", 77);
272 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>*/;
275 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext
]))(self
) /* toolcontext on <self:LocalVarInitVisitor>*/;
276 var9
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:AExpr>*/;
280 var11
= "Error: variable \'";
282 var13
= string__NativeString__to_s_with_length(var11
, var12
);
289 var16
= "\' is possibly unset.";
291 var18
= string__NativeString__to_s_with_length(var16
, var17
);
295 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
296 { /* var19 = array_instance Array[Object] */
298 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
299 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
300 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_variable
;
301 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
302 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
303 CHECK_NEW_array__Array(var19
);
305 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
306 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var8
, var9
, var22
) /* error on <var8:ToolContext>*/;
307 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
308 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var23
, var_variable
) /* remove on <var23:Set[Variable]>*/;
313 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */
314 void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
315 local_var_init__LocalVarInitVisitor__check_is_set(self
, p0
, p1
);
318 /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
319 void local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
320 val
* var_n
/* var n: ANode */;
322 ((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>*/;
325 /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */
326 void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
327 local_var_init__LocalVarInitVisitor__visit(self
, p0
);
330 /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
331 val
* local_var_init__FlowContext__set_vars(val
* self
) {
332 val
* var
/* : Set[Variable] */;
333 val
* var1
/* : Set[Variable] */;
334 var1
= self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
; /* @set_vars on <self:FlowContext> */
336 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @set_vars", "src/local_var_init.nit", 92);
343 /* method local_var_init#FlowContext#set_vars for (self: Object): Set[Variable] */
344 val
* VIRTUAL_local_var_init__FlowContext__set_vars(val
* self
) {
345 val
* var
/* : Set[Variable] */;
346 val
* var1
/* : Set[Variable] */;
347 var1
= local_var_init__FlowContext__set_vars(self
);
352 /* method local_var_init#FlowContext#set_vars= for (self: FlowContext, Set[Variable]) */
353 void local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
354 self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
= p0
; /* @set_vars on <self:FlowContext> */
357 /* method local_var_init#FlowContext#set_vars= for (self: Object, Set[Variable]) */
358 void VIRTUAL_local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
359 local_var_init__FlowContext__set_vars_61d(self
, p0
);
362 /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
363 short int local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
364 short int var
/* : Bool */;
365 val
* var_variable
/* var variable: Variable */;
366 val
* var1
/* : Set[Variable] */;
367 short int var2
/* : Bool */;
368 short int var3
/* : Bool */;
369 val
* var4
/* : Array[FlowContext] */;
370 val
* var_previous
/* var previous: Array[FlowContext] */;
371 long var5
/* : Int */;
372 long var6
/* : Int */;
373 short int var7
/* : Bool */;
374 short int var9
/* : Bool */;
375 short int var10
/* : Bool */;
376 long var11
/* : Int */;
377 long var12
/* : Int */;
378 short int var13
/* : Bool */;
379 short int var15
/* : Bool */;
380 val
* var16
/* : nullable Object */;
381 short int var17
/* : Bool */;
382 val
* var18
/* : Array[FlowContext] */;
383 val
* var19
/* : Iterator[nullable Object] */;
384 short int var20
/* : Bool */;
385 val
* var21
/* : nullable Object */;
386 val
* var_p
/* var p: FlowContext */;
387 short int var22
/* : Bool */;
388 short int var23
/* : Bool */;
389 short int var24
/* : Bool */;
390 val
* var25
/* : Set[Variable] */;
391 short int var26
/* : Bool */;
393 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
394 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_variable
) /* has on <var1:Set[Variable]>*/;
401 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
403 var5
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
405 { /* Inline kernel#Int#== (var5,var6) */
417 var11
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
419 { /* Inline kernel#Int#== (var11,var12) */
420 var15
= var11
== var12
;
426 var16
= ((val
* (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_previous
) /* first on <var_previous:Array[FlowContext]>*/;
427 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)>*/;
432 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
433 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[FlowContext]>*/;
435 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
437 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
439 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>*/;
447 CONTINUE_label
: (void)0;
448 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
450 BREAK_label
: (void)0;
451 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
452 ((void (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var25
, var_variable
) /* add on <var25:Set[Variable]>*/;
459 /* method local_var_init#FlowContext#is_variable_set for (self: Object, Variable): Bool */
460 short int VIRTUAL_local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
461 short int var
/* : Bool */;
462 short int var1
/* : Bool */;
463 var1
= local_var_init__FlowContext__is_variable_set(self
, p0
);
468 /* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
469 void local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
470 val
* var_v
/* var v: LocalVarInitVisitor */;
472 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
475 /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
476 void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
477 local_var_init__ANode__accept_local_var_visitor(self
, p0
);
480 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
481 void local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
482 val
* var_v
/* var v: LocalVarInitVisitor */;
483 val
* var
/* : nullable AExpr */;
484 val
* var1
/* : null */;
485 short int var2
/* : Bool */;
486 val
* var3
/* : nullable Variable */;
488 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVardeclExpr>*/;
489 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
492 var2
= 1; /* is null */
494 var2
= 0; /* arg is null but recv is not */
497 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
498 ((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>*/;
503 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
504 void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
505 local_var_init__AVardeclExpr__accept_local_var_visitor(self
, p0
);
508 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
509 void local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
510 val
* var_v
/* var v: LocalVarInitVisitor */;
511 val
* var
/* : nullable Variable */;
513 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarExpr>*/;
514 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarExpr>*/;
515 ((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>*/;
518 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
519 void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
520 local_var_init__AVarExpr__accept_local_var_visitor(self
, p0
);
523 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
524 void local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
525 val
* var_v
/* var v: LocalVarInitVisitor */;
526 val
* var
/* : nullable Variable */;
528 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarAssignExpr>*/;
529 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarAssignExpr>*/;
530 ((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>*/;
533 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
534 void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
535 local_var_init__AVarAssignExpr__accept_local_var_visitor(self
, p0
);
538 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
539 void local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
540 val
* var_v
/* var v: LocalVarInitVisitor */;
541 val
* var
/* : nullable Variable */;
543 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarReassignExpr>*/;
544 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
545 ((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>*/;
548 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
549 void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
550 local_var_init__AVarReassignExpr__accept_local_var_visitor(self
, p0
);