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", "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 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", "src/local_var_init.nit", 26);
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", "src/phase.nit", 145);
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", "src/local_var_init.nit", 47);
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", "src/local_var_init.nit", 47);
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 { /* Inline parser_nodes#Visitor#init (self) on <self:LocalVarInitVisitor> */
138 var_toolcontext
= p0
;
140 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext= (self,var_toolcontext) on <self:LocalVarInitVisitor> */
141 self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
= var_toolcontext
; /* _toolcontext on <self:LocalVarInitVisitor> */
147 /* method local_var_init#LocalVarInitVisitor#init for (self: Object, ToolContext) */
148 void VIRTUAL_local_var_init__LocalVarInitVisitor__init(val
* self
, val
* p0
) {
149 local_var_init__LocalVarInitVisitor__init(self
, p0
); /* Direct call local_var_init#LocalVarInitVisitor#init on <self:Object(LocalVarInitVisitor)>*/
152 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: LocalVarInitVisitor): Set[Variable] */
153 val
* local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
154 val
* var
/* : Set[Variable] */;
155 val
* var1
/* : Set[Variable] */;
156 var1
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
157 if (unlikely(var1
== NULL
)) {
158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
159 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
166 /* method local_var_init#LocalVarInitVisitor#maybe_unset_vars for (self: Object): Set[Variable] */
167 val
* VIRTUAL_local_var_init__LocalVarInitVisitor__maybe_unset_vars(val
* self
) {
168 val
* var
/* : Set[Variable] */;
169 val
* var1
/* : Set[Variable] */;
170 val
* var3
/* : Set[Variable] */;
171 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:Object(LocalVarInitVisitor)> */
172 var3
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:Object(LocalVarInitVisitor)> */
173 if (unlikely(var3
== NULL
)) {
174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
175 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
185 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
186 void local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
187 val
* var_node
/* var node: AExpr */;
188 val
* var_variable
/* var variable: nullable Variable */;
189 val
* var
/* : null */;
190 short int var1
/* : Bool */;
191 short int var2
/* : Bool */;
192 val
* var_other
/* var other: nullable Object */;
193 short int var4
/* : Bool */;
194 short int var5
/* : Bool */;
195 short int var6
/* : Bool */;
196 val
* var7
/* : Set[Variable] */;
197 val
* var9
/* : Set[Variable] */;
201 if (var_variable
== NULL
) {
202 var1
= 0; /* is null */
204 var1
= 1; /* arg is null and recv is not */
207 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
210 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
220 if (unlikely(!var1
)) {
221 PRINT_ERROR("Runtime error: %s", "Assert failed");
222 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 59);
226 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
227 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
228 if (unlikely(var9
== NULL
)) {
229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
230 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
238 ((void (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var7
, var_variable
) /* add on <var7:Set[Variable]>*/;
242 /* method local_var_init#LocalVarInitVisitor#mark_is_unset for (self: Object, AExpr, nullable Variable) */
243 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_unset(val
* self
, val
* p0
, val
* p1
) {
244 local_var_init__LocalVarInitVisitor__mark_is_unset(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on <self:Object(LocalVarInitVisitor)>*/
247 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
248 void local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
249 val
* var_node
/* var node: AExpr */;
250 val
* var_variable
/* var variable: nullable Variable */;
251 val
* var
/* : null */;
252 short int var1
/* : Bool */;
253 short int var2
/* : Bool */;
254 val
* var_other
/* var other: nullable Object */;
255 short int var4
/* : Bool */;
256 short int var5
/* : Bool */;
257 short int var6
/* : Bool */;
258 val
* var7
/* : Set[Variable] */;
259 val
* var9
/* : Set[Variable] */;
260 short int var10
/* : Bool */;
261 short int var11
/* : Bool */;
262 val
* var12
/* : nullable FlowContext */;
263 val
* var14
/* : nullable FlowContext */;
264 val
* var_flow
/* var flow: FlowContext */;
265 val
* var15
/* : Set[Variable] */;
266 val
* var17
/* : Set[Variable] */;
270 if (var_variable
== NULL
) {
271 var1
= 0; /* is null */
273 var1
= 1; /* arg is null and recv is not */
276 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
279 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
289 if (unlikely(!var1
)) {
290 PRINT_ERROR("Runtime error: %s", "Assert failed");
291 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 65);
295 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
296 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
297 if (unlikely(var9
== NULL
)) {
298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
299 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
307 var10
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_variable
) /* has on <var7:Set[Variable]>*/;
315 { /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
316 var14
= var_node
->attrs
[COLOR_flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
321 if (unlikely(var12
== NULL
)) {
322 PRINT_ERROR("Runtime error: %s", "Cast failed");
323 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 68);
328 { /* Inline local_var_init#FlowContext#set_vars (var_flow) on <var_flow:FlowContext> */
329 var17
= var_flow
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <var_flow:FlowContext> */
330 if (unlikely(var17
== NULL
)) {
331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
332 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92);
340 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_variable
) /* add on <var15:Set[Variable]>*/;
344 /* method local_var_init#LocalVarInitVisitor#mark_is_set for (self: Object, AExpr, nullable Variable) */
345 void VIRTUAL_local_var_init__LocalVarInitVisitor__mark_is_set(val
* self
, val
* p0
, val
* p1
) {
346 local_var_init__LocalVarInitVisitor__mark_is_set(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on <self:Object(LocalVarInitVisitor)>*/
349 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: LocalVarInitVisitor, AExpr, nullable Variable) */
350 void local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
351 val
* var_node
/* var node: AExpr */;
352 val
* var_variable
/* var variable: nullable Variable */;
353 val
* var
/* : null */;
354 short int var1
/* : Bool */;
355 short int var2
/* : Bool */;
356 val
* var_other
/* var other: nullable Object */;
357 short int var4
/* : Bool */;
358 short int var5
/* : Bool */;
359 short int var6
/* : Bool */;
360 val
* var7
/* : Set[Variable] */;
361 val
* var9
/* : Set[Variable] */;
362 short int var10
/* : Bool */;
363 short int var11
/* : Bool */;
364 val
* var12
/* : nullable FlowContext */;
365 val
* var14
/* : nullable FlowContext */;
366 val
* var_flow
/* var flow: FlowContext */;
367 short int var15
/* : Bool */;
368 short int var16
/* : Bool */;
369 val
* var17
/* : ToolContext */;
370 val
* var19
/* : ToolContext */;
371 val
* var20
/* : Location */;
373 val
* var21
/* : String */;
374 char* var22
/* : NativeString */;
375 long var23
/* : Int */;
376 val
* var24
/* : FlatString */;
377 static val
* varonce25
;
378 val
* var26
/* : String */;
379 char* var27
/* : NativeString */;
380 long var28
/* : Int */;
381 val
* var29
/* : FlatString */;
382 val
* var30
/* : Array[Object] */;
383 long var31
/* : Int */;
384 val
* var32
/* : NativeArray[Object] */;
385 val
* var33
/* : String */;
386 val
* var34
/* : Set[Variable] */;
387 val
* var36
/* : Set[Variable] */;
391 if (var_variable
== NULL
) {
392 var1
= 0; /* is null */
394 var1
= 1; /* arg is null and recv is not */
397 { /* Inline kernel#Object#!= (var_variable,var) on <var_variable:nullable Variable> */
400 var5
= ((short int (*)(val
*, val
*))(var_variable
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_variable
, var_other
) /* == on <var_variable:nullable Variable(Variable)>*/;
410 if (unlikely(!var1
)) {
411 PRINT_ERROR("Runtime error: %s", "Assert failed");
412 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 74);
416 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
417 var9
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
418 if (unlikely(var9
== NULL
)) {
419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
420 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
428 var10
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_variable
) /* has on <var7:Set[Variable]>*/;
436 { /* Inline flow#AExpr#after_flow_context (var_node) on <var_node:AExpr> */
437 var14
= var_node
->attrs
[COLOR_flow__AExpr___after_flow_context
].val
; /* _after_flow_context on <var_node:AExpr> */
442 if (unlikely(var12
== NULL
)) {
443 PRINT_ERROR("Runtime error: %s", "Cast failed");
444 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 77);
449 var15
= local_var_init__FlowContext__is_variable_set(var_flow
, var_variable
);
454 { /* Inline local_var_init#LocalVarInitVisitor#toolcontext (self) on <self:LocalVarInitVisitor> */
455 var19
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___toolcontext
].val
; /* _toolcontext on <self:LocalVarInitVisitor> */
456 if (unlikely(var19
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
458 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 47);
466 var20
= parser_nodes__ANode__hot_location(var_node
);
471 var22
= "Error: variable \'";
473 var24
= string__NativeString__to_s_with_length(var22
, var23
);
480 var27
= "\' is possibly unset.";
482 var29
= string__NativeString__to_s_with_length(var27
, var28
);
486 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
487 { /* var30 = array_instance Array[Object] */
489 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
490 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var21
;
491 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var_variable
;
492 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var26
;
494 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
498 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
501 toolcontext__ToolContext__error(var17
, var20
, var33
); /* Direct call toolcontext#ToolContext#error on <var17:ToolContext>*/
504 { /* Inline local_var_init#LocalVarInitVisitor#maybe_unset_vars (self) on <self:LocalVarInitVisitor> */
505 var36
= self
->attrs
[COLOR_local_var_init__LocalVarInitVisitor___maybe_unset_vars
].val
; /* _maybe_unset_vars on <self:LocalVarInitVisitor> */
506 if (unlikely(var36
== NULL
)) {
507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _maybe_unset_vars");
508 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 54);
516 ((void (*)(val
*, val
*))(var34
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var34
, var_variable
) /* remove on <var34:Set[Variable]>*/;
522 /* method local_var_init#LocalVarInitVisitor#check_is_set for (self: Object, AExpr, nullable Variable) */
523 void VIRTUAL_local_var_init__LocalVarInitVisitor__check_is_set(val
* self
, val
* p0
, val
* p1
) {
524 local_var_init__LocalVarInitVisitor__check_is_set(self
, p0
, p1
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <self:Object(LocalVarInitVisitor)>*/
527 /* method local_var_init#LocalVarInitVisitor#visit for (self: LocalVarInitVisitor, ANode) */
528 void local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
529 val
* var_n
/* var n: ANode */;
532 ((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>*/;
536 /* method local_var_init#LocalVarInitVisitor#visit for (self: Object, ANode) */
537 void VIRTUAL_local_var_init__LocalVarInitVisitor__visit(val
* self
, val
* p0
) {
538 local_var_init__LocalVarInitVisitor__visit(self
, p0
); /* Direct call local_var_init#LocalVarInitVisitor#visit on <self:Object(LocalVarInitVisitor)>*/
541 /* method local_var_init#FlowContext#set_vars for (self: FlowContext): Set[Variable] */
542 val
* local_var_init__FlowContext__set_vars(val
* self
) {
543 val
* var
/* : Set[Variable] */;
544 val
* var1
/* : Set[Variable] */;
545 var1
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
546 if (unlikely(var1
== NULL
)) {
547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
548 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92);
555 /* method local_var_init#FlowContext#set_vars for (self: Object): Set[Variable] */
556 val
* VIRTUAL_local_var_init__FlowContext__set_vars(val
* self
) {
557 val
* var
/* : Set[Variable] */;
558 val
* var1
/* : Set[Variable] */;
559 val
* var3
/* : Set[Variable] */;
560 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:Object(FlowContext)> */
561 var3
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:Object(FlowContext)> */
562 if (unlikely(var3
== NULL
)) {
563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
564 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92);
574 /* method local_var_init#FlowContext#is_variable_set for (self: FlowContext, Variable): Bool */
575 short int local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
576 short int var
/* : Bool */;
577 val
* var_variable
/* var variable: Variable */;
578 val
* var1
/* : Set[Variable] */;
579 val
* var3
/* : Set[Variable] */;
580 short int var4
/* : Bool */;
581 short int var5
/* : Bool */;
582 val
* var6
/* : Array[FlowContext] */;
583 val
* var8
/* : Array[FlowContext] */;
584 val
* var_previous
/* var previous: Array[FlowContext] */;
585 long var9
/* : Int */;
586 long var10
/* : Int */;
587 short int var11
/* : Bool */;
588 short int var12
/* : Bool */;
589 short int var14
/* : Bool */;
590 short int var15
/* : Bool */;
591 long var16
/* : Int */;
592 long var17
/* : Int */;
593 short int var18
/* : Bool */;
594 short int var19
/* : Bool */;
595 short int var21
/* : Bool */;
596 val
* var22
/* : nullable Object */;
597 short int var23
/* : Bool */;
598 val
* var24
/* : Array[FlowContext] */;
599 val
* var26
/* : Array[FlowContext] */;
600 val
* var27
/* : ArrayIterator[nullable Object] */;
601 short int var28
/* : Bool */;
602 val
* var29
/* : nullable Object */;
603 val
* var_p
/* var p: FlowContext */;
604 short int var30
/* : Bool */;
605 short int var31
/* : Bool */;
606 short int var32
/* : Bool */;
607 val
* var33
/* : Set[Variable] */;
608 val
* var35
/* : Set[Variable] */;
609 short int var36
/* : Bool */;
612 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
613 var3
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
614 if (unlikely(var3
== NULL
)) {
615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
616 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92);
624 var4
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_variable
) /* has on <var1:Set[Variable]>*/;
633 { /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
634 var8
= self
->attrs
[COLOR_flow__FlowContext___previous
].val
; /* _previous on <self:FlowContext> */
635 if (unlikely(var8
== NULL
)) {
636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
637 PRINT_ERROR(" (%s:%d)\n", "src/flow.nit", 192);
646 var9
= array__AbstractArrayRead__length(var_previous
);
650 { /* Inline kernel#Int#== (var9,var10) on <var9:Int> */
651 var14
= var9
== var10
;
665 var16
= array__AbstractArrayRead__length(var_previous
);
669 { /* Inline kernel#Int#== (var16,var17) on <var16:Int> */
670 var21
= var16
== var17
;
679 var22
= abstract_collection__SequenceRead__first(var_previous
);
682 var23
= local_var_init__FlowContext__is_variable_set(var22
, var_variable
);
689 { /* Inline flow#FlowContext#previous (self) on <self:FlowContext> */
690 var26
= self
->attrs
[COLOR_flow__FlowContext___previous
].val
; /* _previous on <self:FlowContext> */
691 if (unlikely(var26
== NULL
)) {
692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _previous");
693 PRINT_ERROR(" (%s:%d)\n", "src/flow.nit", 192);
701 var27
= array__AbstractArrayRead__iterator(var24
);
705 var28
= array__ArrayIterator__is_ok(var27
);
709 var29
= array__ArrayIterator__item(var27
);
713 var30
= local_var_init__FlowContext__is_variable_set(var_p
, var_variable
);
722 CONTINUE_label
: (void)0;
724 array__ArrayIterator__next(var27
); /* Direct call array#ArrayIterator#next on <var27:ArrayIterator[nullable Object]>*/
727 BREAK_label
: (void)0;
729 { /* Inline local_var_init#FlowContext#set_vars (self) on <self:FlowContext> */
730 var35
= self
->attrs
[COLOR_local_var_init__FlowContext___set_vars
].val
; /* _set_vars on <self:FlowContext> */
731 if (unlikely(var35
== NULL
)) {
732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _set_vars");
733 PRINT_ERROR(" (%s:%d)\n", "src/local_var_init.nit", 92);
741 ((void (*)(val
*, val
*))(var33
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var33
, var_variable
) /* add on <var33:Set[Variable]>*/;
749 /* method local_var_init#FlowContext#is_variable_set for (self: Object, Variable): Bool */
750 short int VIRTUAL_local_var_init__FlowContext__is_variable_set(val
* self
, val
* p0
) {
751 short int var
/* : Bool */;
752 short int var1
/* : Bool */;
753 var1
= local_var_init__FlowContext__is_variable_set(self
, p0
);
758 /* method local_var_init#ANode#accept_local_var_visitor for (self: ANode, LocalVarInitVisitor) */
759 void local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
760 val
* var_v
/* var v: LocalVarInitVisitor */;
763 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(self
, var_v
) /* visit_all on <self:ANode>*/;
767 /* method local_var_init#ANode#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
768 void VIRTUAL_local_var_init__ANode__accept_local_var_visitor(val
* self
, val
* p0
) {
769 local_var_init__ANode__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#ANode#accept_local_var_visitor on <self:Object(ANode)>*/
772 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: AVardeclExpr, LocalVarInitVisitor) */
773 void local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
774 val
* var_v
/* var v: LocalVarInitVisitor */;
775 val
* var
/* : nullable AExpr */;
776 val
* var1
/* : null */;
777 short int var2
/* : Bool */;
778 short int var3
/* : Bool */;
779 val
* var_other
/* var other: nullable Object */;
780 short int var5
/* : Bool */;
781 short int var7
/* : Bool */;
782 val
* var8
/* : nullable Variable */;
783 val
* var10
/* : nullable Variable */;
786 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVardeclExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVardeclExpr>*/;
789 var
= parser_nodes__AVardeclExpr__n_expr(self
);
793 var2
= 1; /* is null */
795 var2
= 0; /* arg is null but recv is not */
798 { /* Inline kernel#Object#== (var,var1) on <var:nullable AExpr> */
801 { /* Inline kernel#Object#is_same_instance (var,var_other) on <var:nullable AExpr(AExpr)> */
802 var7
= var
== var_other
;
816 { /* Inline scope#AVardeclExpr#variable (self) on <self:AVardeclExpr> */
817 var10
= self
->attrs
[COLOR_scope__AVardeclExpr___variable
].val
; /* _variable on <self:AVardeclExpr> */
823 local_var_init__LocalVarInitVisitor__mark_is_unset(var_v
, self
, var8
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_unset on <var_v:LocalVarInitVisitor>*/
829 /* method local_var_init#AVardeclExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
830 void VIRTUAL_local_var_init__AVardeclExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
831 local_var_init__AVardeclExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVardeclExpr#accept_local_var_visitor on <self:Object(AVardeclExpr)>*/
834 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: AVarExpr, LocalVarInitVisitor) */
835 void local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
836 val
* var_v
/* var v: LocalVarInitVisitor */;
837 val
* var
/* : nullable Variable */;
838 val
* var2
/* : nullable Variable */;
841 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarExpr>*/;
844 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarExpr> */
845 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarExpr> */
851 local_var_init__LocalVarInitVisitor__check_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
855 /* method local_var_init#AVarExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
856 void VIRTUAL_local_var_init__AVarExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
857 local_var_init__AVarExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarExpr#accept_local_var_visitor on <self:Object(AVarExpr)>*/
860 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: AVarAssignExpr, LocalVarInitVisitor) */
861 void local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
862 val
* var_v
/* var v: LocalVarInitVisitor */;
863 val
* var
/* : nullable Variable */;
864 val
* var2
/* : nullable Variable */;
867 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarAssignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarAssignExpr>*/;
870 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarAssignExpr> */
871 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarAssignExpr> */
877 local_var_init__LocalVarInitVisitor__mark_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#mark_is_set on <var_v:LocalVarInitVisitor>*/
881 /* method local_var_init#AVarAssignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
882 void VIRTUAL_local_var_init__AVarAssignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
883 local_var_init__AVarAssignExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarAssignExpr#accept_local_var_visitor on <self:Object(AVarAssignExpr)>*/
886 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: AVarReassignExpr, LocalVarInitVisitor) */
887 void local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
888 val
* var_v
/* var v: LocalVarInitVisitor */;
889 val
* var
/* : nullable Variable */;
890 val
* var2
/* : nullable Variable */;
893 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_local_var_init__AVarReassignExpr__accept_local_var_visitor
]))(self
, p0
) /* accept_local_var_visitor on <self:AVarReassignExpr>*/;
896 { /* Inline scope#AVarFormExpr#variable (self) on <self:AVarReassignExpr> */
897 var2
= self
->attrs
[COLOR_scope__AVarFormExpr___variable
].val
; /* _variable on <self:AVarReassignExpr> */
903 local_var_init__LocalVarInitVisitor__check_is_set(var_v
, self
, var
); /* Direct call local_var_init#LocalVarInitVisitor#check_is_set on <var_v:LocalVarInitVisitor>*/
907 /* method local_var_init#AVarReassignExpr#accept_local_var_visitor for (self: Object, LocalVarInitVisitor) */
908 void VIRTUAL_local_var_init__AVarReassignExpr__accept_local_var_visitor(val
* self
, val
* p0
) {
909 local_var_init__AVarReassignExpr__accept_local_var_visitor(self
, p0
); /* Direct call local_var_init#AVarReassignExpr#accept_local_var_visitor on <self:Object(AVarReassignExpr)>*/