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>*/;
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", "Uninitialized attribute @toolcontext");
73 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 47);
80 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: Object): ToolContext */
81 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
82 val
* var
/* : ToolContext */;
83 val
* var1
/* : ToolContext */;
84 var1
= local_var_init__LocalVarInitVisitor__toolcontext(self
);
89 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
90 void local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
91 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:LocalVarInitVisitor> */
94 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: Object, ToolContext) */
95 void VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
96 local_var_init__LocalVarInitVisitor__toolcontext_61d(self
, p0
);
99 /* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor, ToolContext) */
100 void local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
101 val
* var_toolcontext
/* var toolcontext: ToolContext */;
102 var_toolcontext
= p0
;
103 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:LocalVarInitVisitor>*/;
104 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext_61d
]))(self
, var_toolcontext
) /* toolcontext= on <self:LocalVarInitVisitor>*/;
107 /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */
108 void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
109 local_var_init__LocalVarInitVisitor__init(self
, p0
);
112 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
113 val
* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
114 val
* var
/* : Set[Variable] */;
115 val
* var1
/* : Set[Variable] */;
116 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
118 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @maybe_unset_vars");
119 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 54);
126 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: Object): Set[Variable] */
127 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
128 val
* var
/* : Set[Variable] */;
129 val
* var1
/* : Set[Variable] */;
130 var1
= local_var_init__LocalVarInitVisitor__maybe_unset_vars(self
);
135 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: LocalVarInitVisitor, Set[Variable]) */
136 void local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
137 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___64dmaybe_unset_vars
].val
= p0
; /* @maybe_unset_vars on <self:LocalVarInitVisitor> */
140 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars= for (self: Object, Set[Variable]) */
141 void VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(val
* self
, val
* p0
) {
142 local_var_init__LocalVarInitVisitor__maybe_unset_vars_61d(self
, p0
);
145 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
146 void local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
147 val
* var_node
/* var node: AExpr */;
148 val
* var_variable
/* var variable: nullable Variable */;
149 val
* var
/* : null */;
150 short int var1
/* : Bool */;
151 val
* var2
/* : Set[Variable] */;
155 if (var_variable
== NULL
) {
156 var1
= 0; /* is null */
158 var1
= 1; /* arg is null and recv is not */
161 fprintf(stderr
, "Runtime error: %s", "Assert failed");
162 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 59);
165 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
166 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_variable
) /* add on <var2:Set[Variable]>*/;
169 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */
170 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
171 local_var_init__LocalVarInitVisitor__mark_is_unset(self
, p0
, p1
);
174 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
175 void local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
176 val
* var_node
/* var node: AExpr */;
177 val
* var_variable
/* var variable: nullable Variable */;
178 val
* var
/* : null */;
179 short int var1
/* : Bool */;
180 val
* var2
/* : Set[Variable] */;
181 short int var3
/* : Bool */;
182 short int var4
/* : Bool */;
183 val
* var5
/* : nullable FlowContext */;
184 val
* var_flow
/* var flow: FlowContext */;
185 val
* var6
/* : Set[Variable] */;
189 if (var_variable
== NULL
) {
190 var1
= 0; /* is null */
192 var1
= 1; /* arg is null and recv is not */
195 fprintf(stderr
, "Runtime error: %s", "Assert failed");
196 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 65);
199 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
200 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
206 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
208 fprintf(stderr
, "Runtime error: %s", "Cast failed");
209 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 68);
213 var6
= ((val
* (*)(val
*))(var_flow
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(var_flow
) /* set_vars on <var_flow:FlowContext>*/;
214 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var6
, var_variable
) /* add on <var6:Set[Variable]>*/;
217 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */
218 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
219 local_var_init__LocalVarInitVisitor__mark_is_set(self
, p0
, p1
);
222 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
223 void local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
224 val
* var_node
/* var node: AExpr */;
225 val
* var_variable
/* var variable: nullable Variable */;
226 val
* var
/* : null */;
227 short int var1
/* : Bool */;
228 val
* var2
/* : Set[Variable] */;
229 short int var3
/* : Bool */;
230 short int var4
/* : Bool */;
231 val
* var5
/* : nullable FlowContext */;
232 val
* var_flow
/* var flow: FlowContext */;
233 short int var6
/* : Bool */;
234 short int var7
/* : Bool */;
235 val
* var8
/* : ToolContext */;
236 val
* var9
/* : Location */;
238 val
* var10
/* : String */;
239 char* var11
/* : NativeString */;
240 long var12
/* : Int */;
241 val
* var13
/* : String */;
242 static val
* varonce14
;
243 val
* var15
/* : String */;
244 char* var16
/* : NativeString */;
245 long var17
/* : Int */;
246 val
* var18
/* : String */;
247 val
* var19
/* : Array[Object] */;
248 long var20
/* : Int */;
249 val
* var21
/* : NativeArray[Object] */;
250 val
* var22
/* : String */;
251 val
* var23
/* : Set[Variable] */;
255 if (var_variable
== NULL
) {
256 var1
= 0; /* is null */
258 var1
= 1; /* arg is null and recv is not */
261 fprintf(stderr
, "Runtime error: %s", "Assert failed");
262 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 74);
265 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
266 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_variable
) /* has on <var2:Set[Variable]>*/;
272 var5
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_flow__AExpr__after_flow_context
]))(var_node
) /* after_flow_context on <var_node:AExpr>*/;
274 fprintf(stderr
, "Runtime error: %s", "Cast failed");
275 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 77);
279 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>*/;
282 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__toolcontext
]))(self
) /* toolcontext on <self:LocalVarInitVisitor>*/;
283 var9
= ((val
* (*)(val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__hot_location
]))(var_node
) /* hot_location on <var_node:AExpr>*/;
287 var11
= "Error: variable \'";
289 var13
= string__NativeString__to_s_with_length(var11
, var12
);
296 var16
= "\' is possibly unset.";
298 var18
= string__NativeString__to_s_with_length(var16
, var17
);
302 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
303 { /* var19 = array_instance Array[Object] */
305 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
306 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
307 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_variable
;
308 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
309 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
311 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
312 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var8
, var9
, var22
) /* error on <var8:ToolContext>*/;
313 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__LocalVarInitVisitor__maybe_unset_vars
]))(self
) /* maybe_unset_vars on <self:LocalVarInitVisitor>*/;
314 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var23
, var_variable
) /* remove on <var23:Set[Variable]>*/;
319 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */
320 void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
321 local_var_init__LocalVarInitVisitor__check_is_set(self
, p0
, p1
);
324 /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
325 void local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
326 val
* var_n
/* var n: ANode */;
328 ((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>*/;
331 /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */
332 void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
333 local_var_init__LocalVarInitVisitor__visit(self
, p0
);
336 /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
337 val
* local_var_init__FlowContext__set_vars(val
* self
) {
338 val
* var
/* : Set[Variable] */;
339 val
* var1
/* : Set[Variable] */;
340 var1
= self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
; /* @set_vars on <self:FlowContext> */
342 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @set_vars");
343 fprintf(stderr
, " (%s:%d)\n", "src/local_var_init.nit", 92);
350 /* method local_var_init#FlowContext#set_vars for (self: Object): Set[Variable] */
351 val
* VIRTUAL_local_var_init__FlowContext__set_vars(val
* self
) {
352 val
* var
/* : Set[Variable] */;
353 val
* var1
/* : Set[Variable] */;
354 var1
= local_var_init__FlowContext__set_vars(self
);
359 /* method local_var_init#FlowContext#set_vars= for (self: FlowContext, Set[Variable]) */
360 void local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
361 self
->attrs
[COLOR_local_var_init__FlowContext___64dset_vars
].val
= p0
; /* @set_vars on <self:FlowContext> */
364 /* method local_var_init#FlowContext#set_vars= for (self: Object, Set[Variable]) */
365 void VIRTUAL_local_var_init__FlowContext__set_vars_61d(val
* self
, val
* p0
) {
366 local_var_init__FlowContext__set_vars_61d(self
, p0
);
369 /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
370 short int local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
371 short int var
/* : Bool */;
372 val
* var_variable
/* var variable: Variable */;
373 val
* var1
/* : Set[Variable] */;
374 short int var2
/* : Bool */;
375 short int var3
/* : Bool */;
376 val
* var4
/* : Array[FlowContext] */;
377 val
* var_previous
/* var previous: Array[FlowContext] */;
378 long var5
/* : Int */;
379 long var6
/* : Int */;
380 short int var7
/* : Bool */;
381 short int var9
/* : Bool */;
382 short int var10
/* : Bool */;
383 long var11
/* : Int */;
384 long var12
/* : Int */;
385 short int var13
/* : Bool */;
386 short int var15
/* : Bool */;
387 val
* var16
/* : nullable Object */;
388 short int var17
/* : Bool */;
389 val
* var18
/* : Array[FlowContext] */;
390 val
* var19
/* : Iterator[nullable Object] */;
391 short int var20
/* : Bool */;
392 val
* var21
/* : nullable Object */;
393 val
* var_p
/* var p: FlowContext */;
394 short int var22
/* : Bool */;
395 short int var23
/* : Bool */;
396 short int var24
/* : Bool */;
397 val
* var25
/* : Set[Variable] */;
398 short int var26
/* : Bool */;
400 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
401 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_variable
) /* has on <var1:Set[Variable]>*/;
408 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
410 var5
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
412 { /* Inline kernel#Int#== (var5,var6) */
424 var11
= ((long (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_previous
) /* length on <var_previous:Array[FlowContext]>*/;
426 { /* Inline kernel#Int#== (var11,var12) */
427 var15
= var11
== var12
;
433 var16
= ((val
* (*)(val
*))(var_previous
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_previous
) /* first on <var_previous:Array[FlowContext]>*/;
434 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)>*/;
439 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_flow__FlowContext__previous
]))(self
) /* previous on <self:FlowContext>*/;
440 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[FlowContext]>*/;
442 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
444 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
446 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>*/;
454 CONTINUE_label
: (void)0;
455 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
457 BREAK_label
: (void)0;
458 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_local_var_init__FlowContext__set_vars
]))(self
) /* set_vars on <self:FlowContext>*/;
459 ((void (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var25
, var_variable
) /* add on <var25:Set[Variable]>*/;
466 /* method local_var_init#FlowContext#is_variable_set for (self: Object, Variable): Bool */
467 short int VIRTUAL_local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
468 short int var
/* : Bool */;
469 short int var1
/* : Bool */;
470 var1
= local_var_init__FlowContext__is_variable_set(self
, p0
);
475 /* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
476 void local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
477 val
* var_v
/* var v: LocalVarInitVisitor */;
479 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
482 /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
483 void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
484 local_var_init__ANode__accept_local_var_visitor(self
, p0
);
487 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
488 void local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
489 val
* var_v
/* var v: LocalVarInitVisitor */;
490 val
* var
/* : nullable AExpr */;
491 val
* var1
/* : null */;
492 short int var2
/* : Bool */;
493 val
* var3
/* : nullable Variable */;
495 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVardeclExpr>*/;
496 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
499 var2
= 1; /* is null */
501 var2
= 0; /* arg is null but recv is not */
504 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
505 ((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>*/;
510 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
511 void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
512 local_var_init__AVardeclExpr__accept_local_var_visitor(self
, p0
);
515 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
516 void local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
517 val
* var_v
/* var v: LocalVarInitVisitor */;
518 val
* var
/* : nullable Variable */;
520 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarExpr>*/;
521 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarExpr>*/;
522 ((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>*/;
525 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
526 void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
527 local_var_init__AVarExpr__accept_local_var_visitor(self
, p0
);
530 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
531 void local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
532 val
* var_v
/* var v: LocalVarInitVisitor */;
533 val
* var
/* : nullable Variable */;
535 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarAssignExpr>*/;
536 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarAssignExpr>*/;
537 ((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>*/;
540 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
541 void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
542 local_var_init__AVarAssignExpr__accept_local_var_visitor(self
, p0
);
545 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
546 void local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
547 val
* var_v
/* var v: LocalVarInitVisitor */;
548 val
* var
/* : nullable Variable */;
550 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarReassignExpr>*/;
551 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
552 ((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>*/;
555 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
556 void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
557 local_var_init__AVarReassignExpr__accept_local_var_visitor(self
, p0
);