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___local_var_init_phase
].val
; /* _local_var_init_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _local_var_init_phase");
9 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 24);
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 val
* var3
/* : Phase */;
21 { /* Inline local_var_init#ToolContext#local_var_init_phase (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_local_var_init__ToolContext___local_var_init_phase
].val
; /* _local_var_init_phase on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _local_var_init_phase");
25 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 24);
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 */;
39 val
* var2
/* : ToolContext */;
42 { /* Inline phase#Phase#toolcontext (self) on <self:LocalVarInitPhase> */
43 var2
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:LocalVarInitPhase> */
44 if (unlikely(var2
== NULL
)) {
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
46 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
54 local_var_init__APropdef__do_local_var_init(var_npropdef
, var
); /* Direct call local_var_init#APropdef#do_local_var_init on <var_npropdef:APropdef>*/
58 /* method local_var_init#LocalVarInitPhase#process_npropdef for (self: Object, APropdef) */
59 void VIRTUAL_local_var_init__LocalVarInitPhase__process_npropdef(val
* self
, val
* p0
) {
60 local_var_init__LocalVarInitPhase__process_npropdef(self
, p0
); /* Direct call local_var_init#LocalVarInitPhase#process_npropdef on <self:Object(LocalVarInitPhase)>*/
63 /* method local_var_init#APropdef#do_local_var_init for (self: APropdef, ToolContext) */
64 void local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
65 val
* var_toolcontext
/* var toolcontext: ToolContext */;
66 val
* var
/* : LocalVarInitVisitor */;
67 val
* var_v
/* var v: LocalVarInitVisitor */;
69 var
= NEW_local_var_init__LocalVarInitVisitor(&type_local_var_init__LocalVarInitVisitor
);
71 local_var_init__LocalVarInitVisitor__init(var
, var_toolcontext
); /* Direct call local_var_init#LocalVarInitVisitor#init on <var:LocalVarInitVisitor>*/
75 parser_nodes__Visitor__enter_visit(var_v
, self
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:LocalVarInitVisitor>*/
79 /* method local_var_init#APropdef#do_local_var_init for (self: Object, ToolContext) */
80 void VIRTUAL_local_var_init__APropdef__do_local_var_init(val
* self
, val
* p0
) {
81 local_var_init__APropdef__do_local_var_init(self
, p0
); /* Direct call local_var_init#APropdef#do_local_var_init on <self:Object(APropdef)>*/
84 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: LocalVarInitVisitor): ToolContext */
85 val
* local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
86 val
* var
/* : ToolContext */;
87 val
* var1
/* : ToolContext */;
88 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
; /* _toolcontext on <self:LocalVarInitVisitor> */
89 if (unlikely(var1
== NULL
)) {
90 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
91 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 45);
98 /* method local_var_init#LocalVarInitVisitor#toolcontext for (self: Object): ToolContext */
99 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext(val
* self
) {
100 val
* var
/* : ToolContext */;
101 val
* var1
/* : ToolContext */;
102 val
* var3
/* : ToolContext */;
103 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on <self:Object(LocalVarInitVisitor)> */
104 var3
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
; /* _toolcontext on <self:Object(LocalVarInitVisitor)> */
105 if (unlikely(var3
== NULL
)) {
106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
107 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 45);
117 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: LocalVarInitVisitor, ToolContext) */
118 void local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
119 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:LocalVarInitVisitor> */
122 /* method local_var_init#LocalVarInitVisitor#toolcontext= for (self: Object, ToolContext) */
123 void VIRTUAL_local_var_init__LocalVarInitVisitor__toolcontext_61d(val
* self
, val
* p0
) {
124 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext= (self,p0) on <self:Object(LocalVarInitVisitor)> */
125 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
= p0
; /* _toolcontext on <self:Object(LocalVarInitVisitor)> */
130 /* method local_var_init#LocalVarInitVisitor#init for (self: LocalVarInitVisitor, ToolContext) */
131 void local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
132 val
* var_toolcontext
/* var toolcontext: ToolContext */;
134 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:LocalVarInitVisitor>*/;
136 var_toolcontext
= p0
;
138 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext= (self,var_toolcontext) on <self:LocalVarInitVisitor> */
139 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
= var_toolcontext
; /* _toolcontext on <self:LocalVarInitVisitor> */
145 /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */
146 void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
147 local_var_init__LocalVarInitVisitor__init(self
, p0
); /* Direct call local_var_init#LocalVarInitVisitor#init on <self:Object(LocalVarInitVisitor)>*/
150 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
151 val
* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
152 val
* var
/* : Set[Variable] */;
153 val
* var1
/* : Set[Variable] */;
154 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
155 if (unlikely(var1
== NULL
)) {
156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
157 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
164 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: Object): Set[Variable] */
165 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
166 val
* var
/* : Set[Variable] */;
167 val
* var1
/* : Set[Variable] */;
168 val
* var3
/* : Set[Variable] */;
169 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:Object(LocalVarInitVisitor)> */
170 var3
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:Object(LocalVarInitVisitor)> */
171 if (unlikely(var3
== NULL
)) {
172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
173 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
183 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
184 void local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
185 val
* var_node
/* var node: AExpr */;
186 val
* var_variable
/* var variable: nullable Variable */;
187 val
* var
/* : null */;
188 short int var1
/* : Bool */;
189 short int var2
/* : Bool */;
190 val
* var_other
/* var other: nullable Object */;
191 short int var4
/* : Bool */;
192 short int var5
/* : Bool */;
193 short int var6
/* : Bool */;
194 val
* var7
/* : Set[Variable] */;
195 val
* var9
/* : Set[Variable] */;
199 if (var_variable
== NULL
) {
200 var1
= 0; /* is null */
202 var1
= 1; /* arg is null and recv is not */
205 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
208 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
218 if (unlikely(!var1
)) {
219 PRINT_ERROR("Runtime error: %s", "Assert failed");
220 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 57);
224 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
225 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
226 if (unlikely(var9
== NULL
)) {
227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
228 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
236 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var_variable
) /* add on <var7:Set[Variable]>*/;
240 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */
241 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
242 local_var_init__LocalVarInitVisitor__mark_is_unset(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on <self:Object(LocalVarInitVisitor)>*/
245 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
246 void local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
247 val
* var_node
/* var node: AExpr */;
248 val
* var_variable
/* var variable: nullable Variable */;
249 val
* var
/* : null */;
250 short int var1
/* : Bool */;
251 short int var2
/* : Bool */;
252 val
* var_other
/* var other: nullable Object */;
253 short int var4
/* : Bool */;
254 short int var5
/* : Bool */;
255 short int var6
/* : Bool */;
256 val
* var7
/* : Set[Variable] */;
257 val
* var9
/* : Set[Variable] */;
258 short int var10
/* : Bool */;
259 short int var11
/* : Bool */;
260 val
* var12
/* : nullable FlowContext */;
261 val
* var14
/* : nullable FlowContext */;
262 val
* var_flow
/* var flow: FlowContext */;
263 val
* var15
/* : Set[Variable] */;
264 val
* var17
/* : Set[Variable] */;
268 if (var_variable
== NULL
) {
269 var1
= 0; /* is null */
271 var1
= 1; /* arg is null and recv is not */
274 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
277 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
287 if (unlikely(!var1
)) {
288 PRINT_ERROR("Runtime error: %s", "Assert failed");
289 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 63);
293 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
294 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
295 if (unlikely(var9
== NULL
)) {
296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
297 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
305 var10
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_variable
) /* has on <var7:Set[Variable]>*/;
313 { /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
314 var14
= var_node
->attrs
[COLOR_flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
319 if (unlikely(var12
== NULL
)) {
320 PRINT_ERROR("Runtime error: %s", "Cast failed");
321 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 66);
326 { /* Inline local_var_init#FlowContext#set_vars (var_flow) on <var_flow:FlowContext> */
327 var17
= var_flow
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <var_flow:FlowContext> */
328 if (unlikely(var17
== NULL
)) {
329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
330 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 90);
338 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_variable
) /* add on <var15:Set[Variable]>*/;
342 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */
343 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
344 local_var_init__LocalVarInitVisitor__mark_is_set(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on <self:Object(LocalVarInitVisitor)>*/
347 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
348 void local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
349 val
* var_node
/* var node: AExpr */;
350 val
* var_variable
/* var variable: nullable Variable */;
351 val
* var
/* : null */;
352 short int var1
/* : Bool */;
353 short int var2
/* : Bool */;
354 val
* var_other
/* var other: nullable Object */;
355 short int var4
/* : Bool */;
356 short int var5
/* : Bool */;
357 short int var6
/* : Bool */;
358 val
* var7
/* : Set[Variable] */;
359 val
* var9
/* : Set[Variable] */;
360 short int var10
/* : Bool */;
361 short int var11
/* : Bool */;
362 val
* var12
/* : nullable FlowContext */;
363 val
* var14
/* : nullable FlowContext */;
364 val
* var_flow
/* var flow: FlowContext */;
365 short int var15
/* : Bool */;
366 short int var16
/* : Bool */;
367 val
* var17
/* : ToolContext */;
368 val
* var19
/* : ToolContext */;
369 val
* var20
/* : Location */;
371 val
* var21
/* : String */;
372 char* var22
/* : NativeString */;
373 long var23
/* : Int */;
374 val
* var24
/* : FlatString */;
375 static val
* varonce25
;
376 val
* var26
/* : String */;
377 char* var27
/* : NativeString */;
378 long var28
/* : Int */;
379 val
* var29
/* : FlatString */;
380 val
* var30
/* : Array[Object] */;
381 long var31
/* : Int */;
382 val
* var32
/* : NativeArray[Object] */;
383 val
* var33
/* : String */;
384 val
* var34
/* : Set[Variable] */;
385 val
* var36
/* : Set[Variable] */;
389 if (var_variable
== NULL
) {
390 var1
= 0; /* is null */
392 var1
= 1; /* arg is null and recv is not */
395 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
398 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
408 if (unlikely(!var1
)) {
409 PRINT_ERROR("Runtime error: %s", "Assert failed");
410 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 72);
414 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
415 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
416 if (unlikely(var9
== NULL
)) {
417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
418 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
426 var10
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_variable
) /* has on <var7:Set[Variable]>*/;
434 { /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
435 var14
= var_node
->attrs
[COLOR_flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
440 if (unlikely(var12
== NULL
)) {
441 PRINT_ERROR("Runtime error: %s", "Cast failed");
442 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 75);
447 var15
= local_var_init__FlowContext__is_variable_set(var_flow
, var_variable
);
452 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on <self:LocalVarInitVisitor> */
453 var19
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
; /* _toolcontext on <self:LocalVarInitVisitor> */
454 if (unlikely(var19
== NULL
)) {
455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
456 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 45);
464 var20
= parser_nodes__ANode__hot_location(var_node
);
469 var22
= "Error: variable \'";
471 var24
= string__NativeString__to_s_with_length(var22
, var23
);
478 var27
= "\' is possibly unset.";
480 var29
= string__NativeString__to_s_with_length(var27
, var28
);
484 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
485 { /* var30 = array_instance Array[Object] */
487 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
488 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var21
;
489 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var_variable
;
490 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var26
;
492 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
496 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
499 toolcontext__ToolContext__error(var17
, var20
, var33
); /* Direct call toolcontext#ToolContext#error on <var17:ToolContext>*/
502 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
503 var36
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
504 if (unlikely(var36
== NULL
)) {
505 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
506 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 52);
514 ((void (*)(val
*, val
*))(var34
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var34
, var_variable
) /* remove on <var34:Set[Variable]>*/;
520 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */
521 void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
522 local_var_init__LocalVarInitVisitor__check_is_set(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <self:Object(LocalVarInitVisitor)>*/
525 /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
526 void local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
527 val
* var_n
/* var n: ANode */;
530 ((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>*/;
534 /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */
535 void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
536 local_var_init__LocalVarInitVisitor__visit(self
, p0
); /* Direct call local_var_init#LocalVarInitVisitor#visit on <self:Object(LocalVarInitVisitor)>*/
539 /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
540 val
* local_var_init__FlowContext__set_vars(val
* self
) {
541 val
* var
/* : Set[Variable] */;
542 val
* var1
/* : Set[Variable] */;
543 var1
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
544 if (unlikely(var1
== NULL
)) {
545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
546 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 90);
553 /* method local_var_init#FlowContext#set_vars for (self: Object): Set[Variable] */
554 val
* VIRTUAL_local_var_init__FlowContext__set_vars(val
* self
) {
555 val
* var
/* : Set[Variable] */;
556 val
* var1
/* : Set[Variable] */;
557 val
* var3
/* : Set[Variable] */;
558 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:Object(FlowContext)> */
559 var3
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:Object(FlowContext)> */
560 if (unlikely(var3
== NULL
)) {
561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
562 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 90);
572 /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
573 short int local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
574 short int var
/* : Bool */;
575 val
* var_variable
/* var variable: Variable */;
576 val
* var1
/* : Set[Variable] */;
577 val
* var3
/* : Set[Variable] */;
578 short int var4
/* : Bool */;
579 short int var5
/* : Bool */;
580 val
* var6
/* : Array[FlowContext] */;
581 val
* var8
/* : Array[FlowContext] */;
582 val
* var_previous
/* var previous: Array[FlowContext] */;
583 long var9
/* : Int */;
584 long var11
/* : Int */;
585 long var12
/* : Int */;
586 short int var13
/* : Bool */;
587 short int var14
/* : Bool */;
588 short int var16
/* : Bool */;
589 short int var17
/* : Bool */;
590 long var18
/* : Int */;
591 long var20
/* : Int */;
592 long var21
/* : Int */;
593 short int var22
/* : Bool */;
594 short int var23
/* : Bool */;
595 short int var25
/* : Bool */;
596 val
* var26
/* : nullable Object */;
597 short int var27
/* : Bool */;
598 val
* var28
/* : Array[FlowContext] */;
599 val
* var30
/* : Array[FlowContext] */;
600 val
* var_
/* var : Array[FlowContext] */;
601 val
* var31
/* : ArrayIterator[nullable Object] */;
602 val
* var_32
/* var : ArrayIterator[FlowContext] */;
603 short int var33
/* : Bool */;
604 val
* var34
/* : nullable Object */;
605 val
* var_p
/* var p: FlowContext */;
606 short int var35
/* : Bool */;
607 short int var36
/* : Bool */;
608 short int var37
/* : Bool */;
609 val
* var39
/* : Set[Variable] */;
610 val
* var41
/* : Set[Variable] */;
611 short int var42
/* : Bool */;
614 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
615 var3
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
616 if (unlikely(var3
== NULL
)) {
617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
618 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 90);
626 var4
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_variable
) /* has on <var1:Set[Variable]>*/;
635 { /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
636 var8
= self
->attrs
[COLOR_flow__FlowContext___previous
].val
; /* _previous on <self:FlowContext> */
637 if (unlikely(var8
== NULL
)) {
638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
639 PRINT_ERROR(" (%s:%d)\n", "semantize/flow.nit", 189);
648 { /* Inline array#AbstractArrayRead#length (var_previous) on <var_previous:Array[FlowContext]> */
649 var11
= var_previous
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_previous:Array[FlowContext]> */
656 { /* Inline kernel#Int#== (var9,var12) on <var9:Int> */
657 var16
= var9
== var12
;
671 { /* Inline array#AbstractArrayRead#length (var_previous) on <var_previous:Array[FlowContext]> */
672 var20
= var_previous
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_previous:Array[FlowContext]> */
679 { /* Inline kernel#Int#== (var18,var21) on <var18:Int> */
680 var25
= var18
== var21
;
689 var26
= abstract_collection__SequenceRead__first(var_previous
);
692 var27
= local_var_init__FlowContext__is_variable_set(var26
, var_variable
);
699 { /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
700 var30
= self
->attrs
[COLOR_flow__FlowContext___previous
].val
; /* _previous on <self:FlowContext> */
701 if (unlikely(var30
== NULL
)) {
702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
703 PRINT_ERROR(" (%s:%d)\n", "semantize/flow.nit", 189);
712 var31
= array__AbstractArrayRead__iterator(var_
);
717 var33
= array__ArrayIterator__is_ok(var_32
);
721 var34
= array__ArrayIterator__item(var_32
);
725 var35
= local_var_init__FlowContext__is_variable_set(var_p
, var_variable
);
735 array__ArrayIterator__next(var_32
); /* Direct call array#ArrayIterator#next on <var_32:ArrayIterator[FlowContext]>*/
741 BREAK_label
: (void)0;
743 { /* Inline abstract_collection#Iterator#finish (var_32) on <var_32:ArrayIterator[FlowContext]> */
748 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
749 var41
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
750 if (unlikely(var41
== NULL
)) {
751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
752 PRINT_ERROR(" (%s:%d)\n", "semantize/local_var_init.nit", 90);
760 ((void (*)(val
*, val
*))(var39
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var39
, var_variable
) /* add on <var39:Set[Variable]>*/;
768 /* method local_var_init#FlowContext#is_variable_set for (self: Object, Variable): Bool */
769 short int VIRTUAL_local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
770 short int var
/* : Bool */;
771 short int var1
/* : Bool */;
772 var1
= local_var_init__FlowContext__is_variable_set(self
, p0
);
777 /* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
778 void local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
779 val
* var_v
/* var v: LocalVarInitVisitor */;
782 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
786 /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
787 void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
788 local_var_init__ANode__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#ANode#accept_local_var_visitor on <self:Object(ANode)>*/
791 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
792 void local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
793 val
* var_v
/* var v: LocalVarInitVisitor */;
794 val
* var
/* : nullable AExpr */;
795 val
* var2
/* : nullable AExpr */;
796 val
* var3
/* : null */;
797 short int var4
/* : Bool */;
798 short int var5
/* : Bool */;
799 val
* var_other
/* var other: nullable Object */;
800 short int var7
/* : Bool */;
801 short int var9
/* : Bool */;
802 val
* var10
/* : nullable Variable */;
803 val
* var12
/* : nullable Variable */;
806 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVardeclExpr>*/;
809 { /* Inline parser_nodes#AVardeclExpr#n_expr (self) on <self:AVardeclExpr> */
810 var2
= self
->attrs
[COLOR_parser_nodes__AVardeclExpr___n_expr
].val
; /* _n_expr on <self:AVardeclExpr> */
817 var4
= 1; /* is null */
819 var4
= 0; /* arg is null but recv is not */
822 { /* Inline kernel#Object#== (var,var3) on <var:nullable AExpr> */
825 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AExpr(AExpr)> */
826 var9
= var
== var_other
;
840 { /* Inline scope#AVardeclExpr#variable (self) on <self:AVardeclExpr> */
841 var12
= self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
; /* _variable on <self:AVardeclExpr> */
847 local_var_init__LocalVarInitVisitor__mark_is_unset(var_v
, self
, var10
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on <var_v:LocalVarInitVisitor>*/
853 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
854 void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
855 local_var_init__AVardeclExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVardeclExpr#accept_local_var_visitor on <self:Object(AVardeclExpr)>*/
858 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
859 void local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
860 val
* var_v
/* var v: LocalVarInitVisitor */;
861 val
* var
/* : nullable Variable */;
862 val
* var2
/* : nullable Variable */;
865 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarExpr>*/;
868 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarExpr> */
869 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarExpr> */
875 local_var_init__LocalVarInitVisitor__check_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
879 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
880 void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
881 local_var_init__AVarExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarExpr#accept_local_var_visitor on <self:Object(AVarExpr)>*/
884 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
885 void local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
886 val
* var_v
/* var v: LocalVarInitVisitor */;
887 val
* var
/* : nullable Variable */;
888 val
* var2
/* : nullable Variable */;
891 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarAssignExpr>*/;
894 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarAssignExpr> */
895 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarAssignExpr> */
901 local_var_init__LocalVarInitVisitor__mark_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on <var_v:LocalVarInitVisitor>*/
905 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
906 void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
907 local_var_init__AVarAssignExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarAssignExpr#accept_local_var_visitor on <self:Object(AVarAssignExpr)>*/
910 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
911 void local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
912 val
* var_v
/* var v: LocalVarInitVisitor */;
913 val
* var
/* : nullable Variable */;
914 val
* var2
/* : nullable Variable */;
917 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarReassignExpr>*/;
920 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarReassignExpr> */
921 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarReassignExpr> */
927 local_var_init__LocalVarInitVisitor__check_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
931 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
932 void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
933 local_var_init__AVarReassignExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarReassignExpr#accept_local_var_visitor on <self:Object(AVarReassignExpr)>*/