1 #include "phase.sep.0.h"
2 /* method phase#ToolContext#phases for (self: ToolContext): POSet[Phase] */
3 val
* phase__ToolContext__phases(val
* self
) {
4 val
* var
/* : POSet[Phase] */;
5 val
* var1
/* : POSet[Phase] */;
6 var1
= self
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
9 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
16 /* method phase#ToolContext#phases for (self: Object): POSet[Phase] */
17 val
* VIRTUAL_phase__ToolContext__phases(val
* self
) {
18 val
* var
/* : POSet[Phase] */;
19 val
* var1
/* : POSet[Phase] */;
20 val
* var3
/* : POSet[Phase] */;
21 { /* Inline phase#ToolContext#phases (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
25 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
35 /* method phase#ToolContext#opt_disable_phase for (self: ToolContext): OptionArray */
36 val
* phase__ToolContext__opt_disable_phase(val
* self
) {
37 val
* var
/* : OptionArray */;
38 val
* var1
/* : OptionArray */;
39 var1
= self
->attrs
[COLOR_phase__ToolContext___opt_disable_phase
].val
; /* _opt_disable_phase on <self:ToolContext> */
40 if (unlikely(var1
== NULL
)) {
41 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase");
42 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 30);
49 /* method phase#ToolContext#opt_disable_phase for (self: Object): OptionArray */
50 val
* VIRTUAL_phase__ToolContext__opt_disable_phase(val
* self
) {
51 val
* var
/* : OptionArray */;
52 val
* var1
/* : OptionArray */;
53 val
* var3
/* : OptionArray */;
54 { /* Inline phase#ToolContext#opt_disable_phase (self) on <self:Object(ToolContext)> */
55 var3
= self
->attrs
[COLOR_phase__ToolContext___opt_disable_phase
].val
; /* _opt_disable_phase on <self:Object(ToolContext)> */
56 if (unlikely(var3
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase");
58 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 30);
68 /* method phase#ToolContext#init for (self: ToolContext) */
69 void phase__ToolContext__init(val
* self
) {
70 val
* var
/* : OptionContext */;
71 val
* var2
/* : OptionContext */;
72 val
* var3
/* : OptionArray */;
73 val
* var5
/* : OptionArray */;
74 val
* var6
/* : Array[Option] */;
75 long var7
/* : Int */;
76 val
* var8
/* : NativeArray[Option] */;
78 ((void (*)(val
*))(self
->class->vft
[COLOR_phase__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
81 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
82 var2
= self
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
83 if (unlikely(var2
== NULL
)) {
84 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
85 PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166);
93 { /* Inline phase#ToolContext#opt_disable_phase (self) on <self:ToolContext> */
94 var5
= self
->attrs
[COLOR_phase__ToolContext___opt_disable_phase
].val
; /* _opt_disable_phase on <self:ToolContext> */
95 if (unlikely(var5
== NULL
)) {
96 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase");
97 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 30);
104 var6
= NEW_array__Array(&type_array__Arrayopts__Option
);
105 { /* var6 = array_instance Array[Option] */
107 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArrayopts__Option
);
108 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var3
;
110 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[Option]>*/;
114 opts__OptionContext__add_option(var
, var6
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
118 /* method phase#ToolContext#init for (self: Object) */
119 void VIRTUAL_phase__ToolContext__init(val
* self
) {
120 phase__ToolContext__init(self
); /* Direct call phase#ToolContext#init on <self:Object(ToolContext)>*/
123 /* method phase#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
124 void phase__ToolContext__process_options(val
* self
, val
* p0
) {
125 val
* var_args
/* var args: Sequence[String] */;
126 val
* var
/* : OptionArray */;
127 val
* var2
/* : OptionArray */;
128 val
* var3
/* : nullable Object */;
129 val
* var5
/* : nullable Object */;
130 val
* var6
/* : ArrayIterator[nullable Object] */;
131 short int var7
/* : Bool */;
132 val
* var8
/* : nullable Object */;
133 val
* var_v
/* var v: String */;
135 val
* var9
/* : String */;
136 char* var10
/* : NativeString */;
137 long var11
/* : Int */;
138 val
* var12
/* : FlatString */;
139 short int var13
/* : Bool */;
140 short int var14
/* : Bool */;
141 val
* var15
/* : Sequence[Phase] */;
142 val
* var16
/* : Iterator[nullable Object] */;
143 short int var17
/* : Bool */;
144 val
* var18
/* : nullable Object */;
145 val
* var_p
/* var p: Phase */;
146 val
* var19
/* : POSetElement[Phase] */;
147 val
* var21
/* : POSetElement[Phase] */;
148 val
* var22
/* : Collection[Object] */;
149 val
* var_deps
/* var deps: Collection[Phase] */;
150 short int var23
/* : Bool */;
151 static val
* varonce24
;
152 val
* var25
/* : String */;
153 char* var26
/* : NativeString */;
154 long var27
/* : Int */;
155 val
* var28
/* : FlatString */;
156 static val
* varonce29
;
157 val
* var30
/* : String */;
158 char* var31
/* : NativeString */;
159 long var32
/* : Int */;
160 val
* var33
/* : FlatString */;
161 val
* var34
/* : String */;
162 static val
* varonce35
;
163 val
* var36
/* : String */;
164 char* var37
/* : NativeString */;
165 long var38
/* : Int */;
166 val
* var39
/* : FlatString */;
167 val
* var40
/* : Array[Object] */;
168 long var41
/* : Int */;
169 val
* var42
/* : NativeArray[Object] */;
170 val
* var43
/* : String */;
171 long var44
/* : Int */;
172 short int var46
/* : Bool */;
173 short int var_found
/* var found: Bool */;
174 val
* var47
/* : POSet[Phase] */;
175 val
* var49
/* : POSet[Phase] */;
176 val
* var50
/* : Iterator[Object] */;
177 short int var51
/* : Bool */;
178 val
* var52
/* : nullable Object */;
179 val
* var_p53
/* var p: Phase */;
180 val
* var54
/* : String */;
181 short int var55
/* : Bool */;
182 short int var56
/* : Bool */;
183 val
* var_other
/* var other: nullable Object */;
184 short int var58
/* : Bool */;
185 short int var59
/* : Bool */;
186 short int var60
/* : Bool */;
187 short int var62
/* : Bool */;
188 short int var63
/* : Bool */;
189 short int var65
/* : Bool */;
190 val
* var66
/* : null */;
191 static val
* varonce67
;
192 val
* var68
/* : String */;
193 char* var69
/* : NativeString */;
194 long var70
/* : Int */;
195 val
* var71
/* : FlatString */;
196 static val
* varonce72
;
197 val
* var73
/* : String */;
198 char* var74
/* : NativeString */;
199 long var75
/* : Int */;
200 val
* var76
/* : FlatString */;
201 val
* var77
/* : Array[Object] */;
202 long var78
/* : Int */;
203 val
* var79
/* : NativeArray[Object] */;
204 val
* var80
/* : String */;
207 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_phase__ToolContext__process_options
]))(self
, p0
) /* process_options on <self:ToolContext>*/;
210 { /* Inline phase#ToolContext#opt_disable_phase (self) on <self:ToolContext> */
211 var2
= self
->attrs
[COLOR_phase__ToolContext___opt_disable_phase
].val
; /* _opt_disable_phase on <self:ToolContext> */
212 if (unlikely(var2
== NULL
)) {
213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_disable_phase");
214 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 30);
222 { /* Inline opts#Option#value (var) on <var:OptionArray> */
223 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionArray> */
229 var6
= array__AbstractArrayRead__iterator(var3
);
233 var7
= array__ArrayIterator__is_ok(var6
);
237 var8
= array__ArrayIterator__item(var6
);
245 var12
= string__NativeString__to_s_with_length(var10
, var11
);
250 var14
= string__FlatString___61d_61d(var_v
, var9
);
255 var15
= phase__ToolContext__phases_list(self
);
258 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var15
) /* iterator on <var15:Sequence[Phase]>*/;
262 var17
= ((short int (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var16
) /* is_ok on <var16:Iterator[nullable Object]>*/;
266 var18
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var16
) /* item on <var16:Iterator[nullable Object]>*/;
270 { /* Inline phase#Phase#in_hierarchy (var_p) on <var_p:Phase> */
271 var21
= var_p
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
; /* _in_hierarchy on <var_p:Phase> */
272 if (unlikely(var21
== NULL
)) {
273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy");
274 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 148);
282 var22
= poset__POSetElement__direct_greaters(var19
);
286 var23
= ((short int (*)(val
*))(var_deps
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_deps
) /* is_empty on <var_deps:Collection[Phase]>*/;
290 file__Object__print(self
, var_p
); /* Direct call file#Object#print on <self:ToolContext>*/
298 var28
= string__NativeString__to_s_with_length(var26
, var27
);
307 var33
= string__NativeString__to_s_with_length(var31
, var32
);
312 var34
= string__Collection__join(var_deps
, var30
);
319 var39
= string__NativeString__to_s_with_length(var37
, var38
);
323 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
324 { /* var40 = array_instance Array[Object] */
326 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
327 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var_p
;
328 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var25
;
329 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var34
;
330 ((struct instance_array__NativeArray
*)var42
)->values
[3] = (val
*) var36
;
332 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
336 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
339 file__Object__print(self
, var43
); /* Direct call file#Object#print on <self:ToolContext>*/
342 CONTINUE_label
: (void)0;
344 ((void (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var16
) /* next on <var16:Iterator[nullable Object]>*/;
347 BREAK_label
: (void)0;
350 { /* Inline kernel#Object#exit (self,var44) on <self:ToolContext> */
360 { /* Inline phase#ToolContext#phases (self) on <self:ToolContext> */
361 var49
= self
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <self:ToolContext> */
362 if (unlikely(var49
== NULL
)) {
363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
364 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
372 var50
= poset__POSet__iterator(var47
);
376 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[Object]>*/;
380 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[Object]>*/;
384 var54
= phase__Phase__to_s(var_p53
);
387 { /* Inline kernel#Object#!= (var_v,var54) on <var_v:String> */
390 var59
= ((short int (*)(val
*, val
*))(var_v
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_v
, var_other
) /* == on <var_v:String>*/;
401 goto CONTINUE_label61
;
408 { /* Inline phase#Phase#disabled= (var_p53,var63) on <var_p53:Phase> */
409 var_p53
->attrs
[COLOR_phase__Phase___disabled
].s
= var63
; /* _disabled on <var_p53:Phase> */
413 CONTINUE_label61
: (void)0;
415 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[Object]>*/;
418 BREAK_label61
: (void)0;
425 var69
= "Error: no phase named `";
427 var71
= string__NativeString__to_s_with_length(var69
, var70
);
434 var74
= "`. Use `list` to list all phases.";
436 var76
= string__NativeString__to_s_with_length(var74
, var75
);
440 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
441 { /* var77 = array_instance Array[Object] */
443 var79
= NEW_array__NativeArray(var78
, &type_array__NativeArraykernel__Object
);
444 ((struct instance_array__NativeArray
*)var79
)->values
[0] = (val
*) var68
;
445 ((struct instance_array__NativeArray
*)var79
)->values
[1] = (val
*) var_v
;
446 ((struct instance_array__NativeArray
*)var79
)->values
[2] = (val
*) var73
;
448 ((void (*)(val
*, val
*, long))(var77
->class->vft
[COLOR_array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
452 var80
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
455 toolcontext__ToolContext__fatal_error(self
, var66
, var80
); /* Direct call toolcontext#ToolContext#fatal_error on <self:ToolContext>*/
459 CONTINUE_label81
: (void)0;
461 array__ArrayIterator__next(var6
); /* Direct call array#ArrayIterator#next on <var6:ArrayIterator[nullable Object]>*/
464 BREAK_label81
: (void)0;
467 /* method phase#ToolContext#process_options for (self: Object, Sequence[String]) */
468 void VIRTUAL_phase__ToolContext__process_options(val
* self
, val
* p0
) {
469 phase__ToolContext__process_options(self
, p0
); /* Direct call phase#ToolContext#process_options on <self:Object(ToolContext)>*/
472 /* method phase#ToolContext#phases_list for (self: ToolContext): Sequence[Phase] */
473 val
* phase__ToolContext__phases_list(val
* self
) {
474 val
* var
/* : Sequence[Phase] */;
475 val
* var1
/* : POSet[Phase] */;
476 val
* var3
/* : POSet[Phase] */;
477 val
* var4
/* : Array[nullable Object] */;
478 val
* var_phases
/* var phases: Array[Phase] */;
479 val
* var5
/* : POSet[Phase] */;
480 val
* var7
/* : POSet[Phase] */;
482 { /* Inline phase#ToolContext#phases (self) on <self:ToolContext> */
483 var3
= self
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <self:ToolContext> */
484 if (unlikely(var3
== NULL
)) {
485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
486 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
494 var4
= array__Collection__to_a(var1
);
498 { /* Inline phase#ToolContext#phases (self) on <self:ToolContext> */
499 var7
= self
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <self:ToolContext> */
500 if (unlikely(var7
== NULL
)) {
501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
502 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
510 sorter__Comparator__sort(var5
, var_phases
); /* Direct call sorter#Comparator#sort on <var5:POSet[Phase]>*/
517 /* method phase#ToolContext#phases_list for (self: Object): Sequence[Phase] */
518 val
* VIRTUAL_phase__ToolContext__phases_list(val
* self
) {
519 val
* var
/* : Sequence[Phase] */;
520 val
* var1
/* : Sequence[Phase] */;
521 var1
= phase__ToolContext__phases_list(self
);
526 /* method phase#ToolContext#run_phases for (self: ToolContext, Collection[AModule]) */
527 void phase__ToolContext__run_phases(val
* self
, val
* p0
) {
528 val
* var_nmodules
/* var nmodules: Collection[AModule] */;
529 long var
/* : Int */;
530 long var2
/* : Int */;
531 long var_time0
/* var time0: Int */;
533 val
* var3
/* : String */;
534 char* var4
/* : NativeString */;
535 long var5
/* : Int */;
536 val
* var6
/* : FlatString */;
537 long var7
/* : Int */;
538 val
* var8
/* : Sequence[Phase] */;
539 val
* var_phases
/* var phases: Sequence[Phase] */;
540 val
* var9
/* : Iterator[nullable Object] */;
541 short int var10
/* : Bool */;
542 val
* var11
/* : nullable Object */;
543 val
* var_phase
/* var phase: Phase */;
544 static val
* varonce12
;
545 val
* var13
/* : String */;
546 char* var14
/* : NativeString */;
547 long var15
/* : Int */;
548 val
* var16
/* : FlatString */;
549 val
* var17
/* : Array[Object] */;
550 long var18
/* : Int */;
551 val
* var19
/* : NativeArray[Object] */;
552 val
* var20
/* : String */;
553 long var21
/* : Int */;
554 val
* var22
/* : Iterator[nullable Object] */;
555 short int var23
/* : Bool */;
556 val
* var24
/* : nullable Object */;
557 val
* var_nmodule
/* var nmodule: AModule */;
558 static val
* varonce25
;
559 val
* var26
/* : String */;
560 char* var27
/* : NativeString */;
561 long var28
/* : Int */;
562 val
* var29
/* : FlatString */;
563 val
* var30
/* : Location */;
564 val
* var31
/* : nullable SourceFile */;
565 val
* var33
/* : nullable SourceFile */;
566 val
* var34
/* : String */;
567 val
* var36
/* : String */;
568 val
* var37
/* : Array[Object] */;
569 long var38
/* : Int */;
570 val
* var39
/* : NativeArray[Object] */;
571 val
* var40
/* : String */;
572 long var41
/* : Int */;
573 val
* var42
/* : Iterator[nullable Object] */;
574 short int var43
/* : Bool */;
575 val
* var44
/* : nullable Object */;
576 val
* var_phase45
/* var phase: Phase */;
577 short int var46
/* : Bool */;
578 short int var48
/* : Bool */;
579 static val
* varonce50
;
580 val
* var51
/* : String */;
581 char* var52
/* : NativeString */;
582 long var53
/* : Int */;
583 val
* var54
/* : FlatString */;
584 val
* var55
/* : Array[Object] */;
585 long var56
/* : Int */;
586 val
* var57
/* : NativeArray[Object] */;
587 val
* var58
/* : String */;
588 long var59
/* : Int */;
589 val
* var60
/* : ToolContext */;
590 val
* var62
/* : ToolContext */;
591 short int var63
/* : Bool */;
592 short int var64
/* : Bool */;
593 val
* var_other
/* var other: nullable Object */;
594 short int var66
/* : Bool */;
595 short int var68
/* : Bool */;
596 long var69
/* : Int */;
597 long var71
/* : Int */;
598 long var_errcount
/* var errcount: Int */;
599 long var72
/* : Int */;
600 long var74
/* : Int */;
601 short int var75
/* : Bool */;
602 short int var76
/* : Bool */;
603 short int var78
/* : Bool */;
604 short int var79
/* : Bool */;
605 long var80
/* : Int */;
606 long var82
/* : Int */;
607 val
* var83
/* : ANodes[AClassdef] */;
608 val
* var85
/* : ANodes[AClassdef] */;
609 val
* var86
/* : Iterator[ANode] */;
610 short int var87
/* : Bool */;
611 val
* var88
/* : nullable Object */;
612 val
* var_nclassdef
/* var nclassdef: AClassdef */;
613 static val
* varonce89
;
614 val
* var90
/* : String */;
615 char* var91
/* : NativeString */;
616 long var92
/* : Int */;
617 val
* var93
/* : FlatString */;
618 static val
* varonce94
;
619 val
* var95
/* : String */;
620 char* var96
/* : NativeString */;
621 long var97
/* : Int */;
622 val
* var98
/* : FlatString */;
623 val
* var99
/* : Location */;
624 val
* var100
/* : Array[Object] */;
625 long var101
/* : Int */;
626 val
* var102
/* : NativeArray[Object] */;
627 val
* var103
/* : String */;
628 long var104
/* : Int */;
629 val
* var105
/* : ToolContext */;
630 val
* var107
/* : ToolContext */;
631 short int var108
/* : Bool */;
632 short int var109
/* : Bool */;
633 short int var111
/* : Bool */;
634 short int var113
/* : Bool */;
635 val
* var_nclassdef115
/* var nclassdef: AClassdef */;
636 val
* var116
/* : ANodes[APropdef] */;
637 val
* var118
/* : ANodes[APropdef] */;
638 val
* var119
/* : Iterator[ANode] */;
639 short int var120
/* : Bool */;
640 val
* var121
/* : nullable Object */;
641 val
* var_npropdef
/* var npropdef: APropdef */;
642 val
* var122
/* : ToolContext */;
643 val
* var124
/* : ToolContext */;
644 short int var125
/* : Bool */;
645 short int var126
/* : Bool */;
646 short int var128
/* : Bool */;
647 short int var130
/* : Bool */;
648 long var133
/* : Int */;
649 long var135
/* : Int */;
650 short int var136
/* : Bool */;
651 short int var137
/* : Bool */;
652 short int var139
/* : Bool */;
653 short int var140
/* : Bool */;
654 val
* var141
/* : AnnotationPhaseVisitor */;
655 val
* var_v
/* var v: AnnotationPhaseVisitor */;
656 long var142
/* : Int */;
657 long var144
/* : Int */;
658 short int var145
/* : Bool */;
659 short int var146
/* : Bool */;
660 short int var148
/* : Bool */;
661 short int var149
/* : Bool */;
662 long var151
/* : Int */;
663 long var153
/* : Int */;
664 long var_time1
/* var time1: Int */;
665 static val
* varonce154
;
666 val
* var155
/* : String */;
667 char* var156
/* : NativeString */;
668 long var157
/* : Int */;
669 val
* var158
/* : FlatString */;
670 long var159
/* : Int */;
671 short int var161
/* : Bool */;
674 const char* var_class_name
;
675 long var162
/* : Int */;
676 static val
* varonce163
;
677 val
* var164
/* : String */;
678 char* var165
/* : NativeString */;
679 long var166
/* : Int */;
680 val
* var167
/* : FlatString */;
681 val
* var168
/* : Array[Object] */;
682 long var169
/* : Int */;
683 val
* var170
/* : NativeArray[Object] */;
684 val
* var171
/* : Object */;
685 val
* var172
/* : String */;
686 long var173
/* : Int */;
689 { /* Inline time#Object#get_time (self) on <self:ToolContext> */
690 var2
= kernel_Any_Any_get_time_0(self
);
700 var4
= "*** SEMANTIC ANALYSIS ***";
702 var6
= string__NativeString__to_s_with_length(var4
, var5
);
708 toolcontext__ToolContext__info(self
, var3
, var7
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
711 var8
= phase__ToolContext__phases_list(self
);
715 var9
= ((val
* (*)(val
*))(var_phases
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_phases
) /* iterator on <var_phases:Sequence[Phase]>*/;
719 var10
= ((short int (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var9
) /* is_ok on <var9:Iterator[nullable Object]>*/;
723 var11
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var9
) /* item on <var9:Iterator[nullable Object]>*/;
729 var14
= " registered phases: ";
731 var16
= string__NativeString__to_s_with_length(var14
, var15
);
735 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
736 { /* var17 = array_instance Array[Object] */
738 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
739 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var13
;
740 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_phase
;
742 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
746 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
750 toolcontext__ToolContext__info(self
, var20
, var21
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
752 CONTINUE_label
: (void)0;
754 ((void (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var9
) /* next on <var9:Iterator[nullable Object]>*/;
757 BREAK_label
: (void)0;
759 var22
= ((val
* (*)(val
*))(var_nmodules
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_nmodules
) /* iterator on <var_nmodules:Collection[AModule]>*/;
763 var23
= ((short int (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var22
) /* is_ok on <var22:Iterator[nullable Object]>*/;
767 var24
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var22
) /* item on <var22:Iterator[nullable Object]>*/;
773 var27
= "Semantic analysis module ";
775 var29
= string__NativeString__to_s_with_length(var27
, var28
);
780 var30
= parser_nodes__ANode__location(var_nmodule
);
783 { /* Inline location#Location#file (var30) on <var30:Location> */
784 var33
= var30
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var30:Location> */
790 PRINT_ERROR("Runtime error: %s", "Receiver is null");
791 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 88);
794 { /* Inline location#SourceFile#filename (var31) on <var31:nullable SourceFile> */
795 if (unlikely(var31
== NULL
)) {
796 PRINT_ERROR("Runtime error: %s", "Receiver is null");
797 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
800 var36
= var31
->attrs
[COLOR_location__SourceFile___filename
].val
; /* _filename on <var31:nullable SourceFile> */
801 if (unlikely(var36
== NULL
)) {
802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
803 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
810 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
811 { /* var37 = array_instance Array[Object] */
813 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
814 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var26
;
815 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var34
;
817 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
821 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
825 toolcontext__ToolContext__info(self
, var40
, var41
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
828 var42
= ((val
* (*)(val
*))(var_phases
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_phases
) /* iterator on <var_phases:Sequence[Phase]>*/;
832 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var42
) /* is_ok on <var42:Iterator[nullable Object]>*/;
836 var44
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var42
) /* item on <var42:Iterator[nullable Object]>*/;
840 { /* Inline phase#Phase#disabled (var_phase45) on <var_phase45:Phase> */
841 var48
= var_phase45
->attrs
[COLOR_phase__Phase___disabled
].s
; /* _disabled on <var_phase45:Phase> */
847 goto CONTINUE_label49
;
855 var54
= string__NativeString__to_s_with_length(var52
, var53
);
859 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
860 { /* var55 = array_instance Array[Object] */
862 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
863 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var51
;
864 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var_phase45
;
866 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
870 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
874 toolcontext__ToolContext__info(self
, var58
, var59
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
877 { /* Inline phase#Phase#toolcontext (var_phase45) on <var_phase45:Phase> */
878 var62
= var_phase45
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <var_phase45:Phase> */
879 if (unlikely(var62
== NULL
)) {
880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
881 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
889 { /* Inline kernel#Object#== (var60,self) on <var60:ToolContext> */
892 { /* Inline kernel#Object#is_same_instance (var60,var_other) on <var60:ToolContext> */
893 var68
= var60
== var_other
;
905 if (unlikely(!var63
)) {
906 PRINT_ERROR("Runtime error: %s", "Assert failed");
907 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 92);
911 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
912 var71
= self
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <self:ToolContext> */
917 var_errcount
= var69
;
919 ((void (*)(val
*, val
*))(var_phase45
->class->vft
[COLOR_phase__Phase__process_nmodule
]))(var_phase45
, var_nmodule
) /* process_nmodule on <var_phase45:Phase>*/;
922 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
923 var74
= self
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <self:ToolContext> */
929 { /* Inline kernel#Int#!= (var_errcount,var72) on <var_errcount:Int> */
930 var78
= var_errcount
== var72
;
940 toolcontext__ToolContext__check_errors(self
); /* Direct call toolcontext#ToolContext#check_errors on <self:ToolContext>*/
946 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
947 var82
= self
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <self:ToolContext> */
952 var_errcount
= var80
;
954 { /* Inline parser_nodes#AModule#n_classdefs (var_nmodule) on <var_nmodule:AModule> */
955 var85
= var_nmodule
->attrs
[COLOR_parser_nodes__AModule___n_classdefs
].val
; /* _n_classdefs on <var_nmodule:AModule> */
956 if (unlikely(var85
== NULL
)) {
957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_classdefs");
958 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 699);
966 var86
= parser_nodes__ANodes__iterator(var83
);
970 var87
= ((short int (*)(val
*))(var86
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var86
) /* is_ok on <var86:Iterator[ANode]>*/;
974 var88
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var86
) /* item on <var86:Iterator[ANode]>*/;
976 var_nclassdef
= var88
;
982 var93
= string__NativeString__to_s_with_length(var91
, var92
);
991 var98
= string__NativeString__to_s_with_length(var96
, var97
);
996 var99
= parser_nodes__ANode__location(var_nclassdef
);
998 var100
= NEW_array__Array(&type_array__Arraykernel__Object
);
999 { /* var100 = array_instance Array[Object] */
1001 var102
= NEW_array__NativeArray(var101
, &type_array__NativeArraykernel__Object
);
1002 ((struct instance_array__NativeArray
*)var102
)->values
[0] = (val
*) var90
;
1003 ((struct instance_array__NativeArray
*)var102
)->values
[1] = (val
*) var_phase45
;
1004 ((struct instance_array__NativeArray
*)var102
)->values
[2] = (val
*) var95
;
1005 ((struct instance_array__NativeArray
*)var102
)->values
[3] = (val
*) var99
;
1007 ((void (*)(val
*, val
*, long))(var100
->class->vft
[COLOR_array__Array__with_native
]))(var100
, var102
, var101
) /* with_native on <var100:Array[Object]>*/;
1011 var103
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_string__Object__to_s
]))(var100
) /* to_s on <var100:Array[Object]>*/;
1015 toolcontext__ToolContext__info(self
, var103
, var104
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
1018 { /* Inline phase#Phase#toolcontext (var_phase45) on <var_phase45:Phase> */
1019 var107
= var_phase45
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <var_phase45:Phase> */
1020 if (unlikely(var107
== NULL
)) {
1021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1022 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
1026 RET_LABEL106
:(void)0;
1030 { /* Inline kernel#Object#== (var105,self) on <var105:ToolContext> */
1033 { /* Inline kernel#Object#is_same_instance (var105,var_other) on <var105:ToolContext> */
1034 var113
= var105
== var_other
;
1037 RET_LABEL112
:(void)0;
1042 RET_LABEL110
:(void)0;
1046 if (unlikely(!var108
)) {
1047 PRINT_ERROR("Runtime error: %s", "Assert failed");
1048 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 102);
1052 { /* Inline phase#Phase#process_nclassdef (var_phase45,var_nclassdef) on <var_phase45:Phase> */
1053 var_nclassdef115
= var_nclassdef
;
1054 RET_LABEL114
:(void)0;
1058 { /* Inline parser_nodes#AClassdef#n_propdefs (var_nclassdef) on <var_nclassdef:AClassdef> */
1059 var118
= var_nclassdef
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_nclassdef:AClassdef> */
1060 if (unlikely(var118
== NULL
)) {
1061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
1062 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
1066 RET_LABEL117
:(void)0;
1070 var119
= parser_nodes__ANodes__iterator(var116
);
1074 var120
= ((short int (*)(val
*))(var119
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var119
) /* is_ok on <var119:Iterator[ANode]>*/;
1078 var121
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var119
) /* item on <var119:Iterator[ANode]>*/;
1080 var_npropdef
= var121
;
1082 { /* Inline phase#Phase#toolcontext (var_phase45) on <var_phase45:Phase> */
1083 var124
= var_phase45
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <var_phase45:Phase> */
1084 if (unlikely(var124
== NULL
)) {
1085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1086 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
1090 RET_LABEL123
:(void)0;
1094 { /* Inline kernel#Object#== (var122,self) on <var122:ToolContext> */
1097 { /* Inline kernel#Object#is_same_instance (var122,var_other) on <var122:ToolContext> */
1098 var130
= var122
== var_other
;
1101 RET_LABEL129
:(void)0;
1106 RET_LABEL127
:(void)0;
1110 if (unlikely(!var125
)) {
1111 PRINT_ERROR("Runtime error: %s", "Assert failed");
1112 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 105);
1116 ((void (*)(val
*, val
*))(var_phase45
->class->vft
[COLOR_phase__Phase__process_npropdef
]))(var_phase45
, var_npropdef
) /* process_npropdef on <var_phase45:Phase>*/;
1118 CONTINUE_label131
: (void)0;
1120 ((void (*)(val
*))(var119
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var119
) /* next on <var119:Iterator[ANode]>*/;
1123 BREAK_label131
: (void)0;
1124 CONTINUE_label132
: (void)0;
1126 ((void (*)(val
*))(var86
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var86
) /* next on <var86:Iterator[ANode]>*/;
1129 BREAK_label132
: (void)0;
1131 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
1132 var135
= self
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <self:ToolContext> */
1134 RET_LABEL134
:(void)0;
1138 { /* Inline kernel#Int#!= (var_errcount,var133) on <var_errcount:Int> */
1139 var139
= var_errcount
== var133
;
1143 RET_LABEL138
:(void)0;
1149 toolcontext__ToolContext__check_errors(self
); /* Direct call toolcontext#ToolContext#check_errors on <self:ToolContext>*/
1154 var141
= NEW_phase__AnnotationPhaseVisitor(&type_phase__AnnotationPhaseVisitor
);
1156 phase__AnnotationPhaseVisitor__init(var141
, var_phase45
); /* Direct call phase#AnnotationPhaseVisitor#init on <var141:AnnotationPhaseVisitor>*/
1160 parser_nodes__Visitor__enter_visit(var_v
, var_nmodule
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:AnnotationPhaseVisitor>*/
1163 { /* Inline toolcontext#ToolContext#error_count (self) on <self:ToolContext> */
1164 var144
= self
->attrs
[COLOR_toolcontext__ToolContext___error_count
].l
; /* _error_count on <self:ToolContext> */
1166 RET_LABEL143
:(void)0;
1170 { /* Inline kernel#Int#!= (var_errcount,var142) on <var_errcount:Int> */
1171 var148
= var_errcount
== var142
;
1175 RET_LABEL147
:(void)0;
1181 toolcontext__ToolContext__check_errors(self
); /* Direct call toolcontext#ToolContext#check_errors on <self:ToolContext>*/
1186 CONTINUE_label49
: (void)0;
1188 ((void (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var42
) /* next on <var42:Iterator[nullable Object]>*/;
1191 BREAK_label49
: (void)0;
1193 toolcontext__ToolContext__check_errors(self
); /* Direct call toolcontext#ToolContext#check_errors on <self:ToolContext>*/
1195 CONTINUE_label150
: (void)0;
1197 ((void (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var22
) /* next on <var22:Iterator[nullable Object]>*/;
1200 BREAK_label150
: (void)0;
1202 { /* Inline time#Object#get_time (self) on <self:ToolContext> */
1203 var153
= kernel_Any_Any_get_time_0(self
);
1206 RET_LABEL152
:(void)0;
1211 var155
= varonce154
;
1213 var156
= "*** END SEMANTIC ANALYSIS: ";
1215 var158
= string__NativeString__to_s_with_length(var156
, var157
);
1217 varonce154
= var155
;
1220 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1221 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1222 /* <var_time0:Int> isa OTHER */
1223 var161
= 1; /* easy <var_time0:Int> isa OTHER*/
1224 if (unlikely(!var161
)) {
1225 var_class_name
= type_kernel__Int
.name
;
1226 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1227 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1230 var162
= var_time1
- var_time0
;
1233 RET_LABEL160
:(void)0;
1237 var164
= varonce163
;
1241 var167
= string__NativeString__to_s_with_length(var165
, var166
);
1243 varonce163
= var164
;
1245 var168
= NEW_array__Array(&type_array__Arraykernel__Object
);
1246 { /* var168 = array_instance Array[Object] */
1248 var170
= NEW_array__NativeArray(var169
, &type_array__NativeArraykernel__Object
);
1249 ((struct instance_array__NativeArray
*)var170
)->values
[0] = (val
*) var155
;
1250 var171
= BOX_kernel__Int(var159
); /* autobox from Int to Object */
1251 ((struct instance_array__NativeArray
*)var170
)->values
[1] = (val
*) var171
;
1252 ((struct instance_array__NativeArray
*)var170
)->values
[2] = (val
*) var164
;
1254 ((void (*)(val
*, val
*, long))(var168
->class->vft
[COLOR_array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
1258 var172
= ((val
* (*)(val
*))(var168
->class->vft
[COLOR_string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
1262 toolcontext__ToolContext__info(self
, var172
, var173
); /* Direct call toolcontext#ToolContext#info on <self:ToolContext>*/
1266 /* method phase#ToolContext#run_phases for (self: Object, Collection[AModule]) */
1267 void VIRTUAL_phase__ToolContext__run_phases(val
* self
, val
* p0
) {
1268 phase__ToolContext__run_phases(self
, p0
); /* Direct call phase#ToolContext#run_phases on <self:Object(ToolContext)>*/
1271 /* method phase#AnnotationPhaseVisitor#phase for (self: AnnotationPhaseVisitor): Phase */
1272 val
* phase__AnnotationPhaseVisitor__phase(val
* self
) {
1273 val
* var
/* : Phase */;
1274 val
* var1
/* : Phase */;
1275 var1
= self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
; /* _phase on <self:AnnotationPhaseVisitor> */
1276 if (unlikely(var1
== NULL
)) {
1277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase");
1278 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 131);
1285 /* method phase#AnnotationPhaseVisitor#phase for (self: Object): Phase */
1286 val
* VIRTUAL_phase__AnnotationPhaseVisitor__phase(val
* self
) {
1287 val
* var
/* : Phase */;
1288 val
* var1
/* : Phase */;
1289 val
* var3
/* : Phase */;
1290 { /* Inline phase#AnnotationPhaseVisitor#phase (self) on <self:Object(AnnotationPhaseVisitor)> */
1291 var3
= self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
; /* _phase on <self:Object(AnnotationPhaseVisitor)> */
1292 if (unlikely(var3
== NULL
)) {
1293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase");
1294 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 131);
1304 /* method phase#AnnotationPhaseVisitor#phase= for (self: AnnotationPhaseVisitor, Phase) */
1305 void phase__AnnotationPhaseVisitor__phase_61d(val
* self
, val
* p0
) {
1306 self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
= p0
; /* _phase on <self:AnnotationPhaseVisitor> */
1309 /* method phase#AnnotationPhaseVisitor#phase= for (self: Object, Phase) */
1310 void VIRTUAL_phase__AnnotationPhaseVisitor__phase_61d(val
* self
, val
* p0
) {
1311 { /* Inline phase#AnnotationPhaseVisitor#phase= (self,p0) on <self:Object(AnnotationPhaseVisitor)> */
1312 self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
= p0
; /* _phase on <self:Object(AnnotationPhaseVisitor)> */
1317 /* method phase#AnnotationPhaseVisitor#init for (self: AnnotationPhaseVisitor, Phase) */
1318 void phase__AnnotationPhaseVisitor__init(val
* self
, val
* p0
) {
1319 val
* var_phase
/* var phase: Phase */;
1321 { /* Inline parser_nodes#Visitor#init (self) on <self:AnnotationPhaseVisitor> */
1327 { /* Inline phase#AnnotationPhaseVisitor#phase= (self,var_phase) on <self:AnnotationPhaseVisitor> */
1328 self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
= var_phase
; /* _phase on <self:AnnotationPhaseVisitor> */
1334 /* method phase#AnnotationPhaseVisitor#init for (self: Object, Phase) */
1335 void VIRTUAL_phase__AnnotationPhaseVisitor__init(val
* self
, val
* p0
) {
1336 phase__AnnotationPhaseVisitor__init(self
, p0
); /* Direct call phase#AnnotationPhaseVisitor#init on <self:Object(AnnotationPhaseVisitor)>*/
1339 /* method phase#AnnotationPhaseVisitor#visit for (self: AnnotationPhaseVisitor, ANode) */
1340 void phase__AnnotationPhaseVisitor__visit(val
* self
, val
* p0
) {
1341 val
* var_n
/* var n: ANode */;
1342 short int var
/* : Bool */;
1345 val
* var1
/* : Phase */;
1346 val
* var3
/* : Phase */;
1347 val
* var4
/* : nullable ANode */;
1348 val
* var6
/* : nullable ANode */;
1349 val
* var7
/* : nullable ANode */;
1350 val
* var9
/* : nullable ANode */;
1353 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
1355 /* <var_n:ANode> isa AAnnotation */
1356 cltype
= type_parser_nodes__AAnnotation
.color
;
1357 idtype
= type_parser_nodes__AAnnotation
.id
;
1358 if(cltype
>= var_n
->type
->table_size
) {
1361 var
= var_n
->type
->type_table
[cltype
] == idtype
;
1365 { /* Inline phase#AnnotationPhaseVisitor#phase (self) on <self:AnnotationPhaseVisitor> */
1366 var3
= self
->attrs
[COLOR_phase__AnnotationPhaseVisitor___phase
].val
; /* _phase on <self:AnnotationPhaseVisitor> */
1367 if (unlikely(var3
== NULL
)) {
1368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phase");
1369 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 131);
1377 { /* Inline parser_nodes#ANode#parent (var_n) on <var_n:ANode(AAnnotation)> */
1378 var6
= var_n
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <var_n:ANode(AAnnotation)> */
1384 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1385 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 138);
1388 { /* Inline parser_nodes#ANode#parent (var4) on <var4:nullable ANode> */
1389 if (unlikely(var4
== NULL
)) {
1390 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1391 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 38);
1394 var9
= var4
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <var4:nullable ANode> */
1399 if (unlikely(var7
== NULL
)) {
1400 PRINT_ERROR("Runtime error: %s", "Cast failed");
1401 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 138);
1405 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_phase__Phase__process_annotated_node
]))(var1
, var7
, var_n
) /* process_annotated_node on <var1:Phase>*/;
1411 /* method phase#AnnotationPhaseVisitor#visit for (self: Object, ANode) */
1412 void VIRTUAL_phase__AnnotationPhaseVisitor__visit(val
* self
, val
* p0
) {
1413 phase__AnnotationPhaseVisitor__visit(self
, p0
); /* Direct call phase#AnnotationPhaseVisitor#visit on <self:Object(AnnotationPhaseVisitor)>*/
1416 /* method phase#Phase#toolcontext for (self: Phase): ToolContext */
1417 val
* phase__Phase__toolcontext(val
* self
) {
1418 val
* var
/* : ToolContext */;
1419 val
* var1
/* : ToolContext */;
1420 var1
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:Phase> */
1421 if (unlikely(var1
== NULL
)) {
1422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1423 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
1430 /* method phase#Phase#toolcontext for (self: Object): ToolContext */
1431 val
* VIRTUAL_phase__Phase__toolcontext(val
* self
) {
1432 val
* var
/* : ToolContext */;
1433 val
* var1
/* : ToolContext */;
1434 val
* var3
/* : ToolContext */;
1435 { /* Inline phase#Phase#toolcontext (self) on <self:Object(Phase)> */
1436 var3
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:Object(Phase)> */
1437 if (unlikely(var3
== NULL
)) {
1438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1439 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
1449 /* method phase#Phase#toolcontext= for (self: Phase, ToolContext) */
1450 void phase__Phase__toolcontext_61d(val
* self
, val
* p0
) {
1451 self
->attrs
[COLOR_phase__Phase___toolcontext
].val
= p0
; /* _toolcontext on <self:Phase> */
1454 /* method phase#Phase#toolcontext= for (self: Object, ToolContext) */
1455 void VIRTUAL_phase__Phase__toolcontext_61d(val
* self
, val
* p0
) {
1456 { /* Inline phase#Phase#toolcontext= (self,p0) on <self:Object(Phase)> */
1457 self
->attrs
[COLOR_phase__Phase___toolcontext
].val
= p0
; /* _toolcontext on <self:Object(Phase)> */
1462 /* method phase#Phase#in_hierarchy for (self: Phase): POSetElement[Phase] */
1463 val
* phase__Phase__in_hierarchy(val
* self
) {
1464 val
* var
/* : POSetElement[Phase] */;
1465 val
* var1
/* : POSetElement[Phase] */;
1466 var1
= self
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
; /* _in_hierarchy on <self:Phase> */
1467 if (unlikely(var1
== NULL
)) {
1468 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy");
1469 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 148);
1476 /* method phase#Phase#in_hierarchy for (self: Object): POSetElement[Phase] */
1477 val
* VIRTUAL_phase__Phase__in_hierarchy(val
* self
) {
1478 val
* var
/* : POSetElement[Phase] */;
1479 val
* var1
/* : POSetElement[Phase] */;
1480 val
* var3
/* : POSetElement[Phase] */;
1481 { /* Inline phase#Phase#in_hierarchy (self) on <self:Object(Phase)> */
1482 var3
= self
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
; /* _in_hierarchy on <self:Object(Phase)> */
1483 if (unlikely(var3
== NULL
)) {
1484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_hierarchy");
1485 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 148);
1495 /* method phase#Phase#in_hierarchy= for (self: Phase, POSetElement[Phase]) */
1496 void phase__Phase__in_hierarchy_61d(val
* self
, val
* p0
) {
1497 self
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
= p0
; /* _in_hierarchy on <self:Phase> */
1500 /* method phase#Phase#in_hierarchy= for (self: Object, POSetElement[Phase]) */
1501 void VIRTUAL_phase__Phase__in_hierarchy_61d(val
* self
, val
* p0
) {
1502 { /* Inline phase#Phase#in_hierarchy= (self,p0) on <self:Object(Phase)> */
1503 self
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
= p0
; /* _in_hierarchy on <self:Object(Phase)> */
1508 /* method phase#Phase#init for (self: Phase, ToolContext, nullable Collection[Phase]) */
1509 void phase__Phase__init(val
* self
, val
* p0
, val
* p1
) {
1510 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1511 val
* var_depends
/* var depends: nullable Collection[Phase] */;
1512 val
* var
/* : POSet[Phase] */;
1513 val
* var3
/* : POSet[Phase] */;
1514 val
* var4
/* : POSetElement[Object] */;
1515 val
* var6
/* : null */;
1516 short int var7
/* : Bool */;
1517 short int var8
/* : Bool */;
1518 val
* var_other
/* var other: nullable Object */;
1519 short int var10
/* : Bool */;
1520 short int var11
/* : Bool */;
1521 short int var12
/* : Bool */;
1522 val
* var13
/* : Iterator[nullable Object] */;
1523 short int var14
/* : Bool */;
1524 val
* var15
/* : nullable Object */;
1525 val
* var_d
/* var d: Phase */;
1526 val
* var16
/* : POSet[Phase] */;
1527 val
* var18
/* : POSet[Phase] */;
1528 var_toolcontext
= p0
;
1531 { /* Inline phase#Phase#toolcontext= (self,var_toolcontext) on <self:Phase> */
1532 self
->attrs
[COLOR_phase__Phase___toolcontext
].val
= var_toolcontext
; /* _toolcontext on <self:Phase> */
1537 { /* Inline phase#ToolContext#phases (var_toolcontext) on <var_toolcontext:ToolContext> */
1538 var3
= var_toolcontext
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <var_toolcontext:ToolContext> */
1539 if (unlikely(var3
== NULL
)) {
1540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
1541 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
1549 var4
= poset__POSet__add_node(var
, self
);
1552 { /* Inline phase#Phase#in_hierarchy= (self,var4) on <self:Phase> */
1553 self
->attrs
[COLOR_phase__Phase___in_hierarchy
].val
= var4
; /* _in_hierarchy on <self:Phase> */
1558 if (var_depends
== NULL
) {
1559 var7
= 0; /* is null */
1561 var7
= 1; /* arg is null and recv is not */
1564 { /* Inline kernel#Object#!= (var_depends,var6) on <var_depends:nullable Collection[Phase]> */
1567 var11
= ((short int (*)(val
*, val
*))(var_depends
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_depends
, var_other
) /* == on <var_depends:nullable Collection[Phase](Collection[Phase])>*/;
1579 var13
= ((val
* (*)(val
*))(var_depends
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_depends
) /* iterator on <var_depends:nullable Collection[Phase](Collection[Phase])>*/;
1583 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[nullable Object]>*/;
1587 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[nullable Object]>*/;
1591 { /* Inline phase#ToolContext#phases (var_toolcontext) on <var_toolcontext:ToolContext> */
1592 var18
= var_toolcontext
->attrs
[COLOR_phase__ToolContext___phases
].val
; /* _phases on <var_toolcontext:ToolContext> */
1593 if (unlikely(var18
== NULL
)) {
1594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _phases");
1595 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 23);
1599 RET_LABEL17
:(void)0;
1603 poset__POSet__add_edge(var16
, self
, var_d
); /* Direct call poset#POSet#add_edge on <var16:POSet[Phase]>*/
1605 CONTINUE_label
: (void)0;
1607 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[nullable Object]>*/;
1610 BREAK_label
: (void)0;
1615 /* method phase#Phase#init for (self: Object, ToolContext, nullable Collection[Phase]) */
1616 void VIRTUAL_phase__Phase__init(val
* self
, val
* p0
, val
* p1
) {
1617 phase__Phase__init(self
, p0
, p1
); /* Direct call phase#Phase#init on <self:Object(Phase)>*/
1620 /* method phase#Phase#to_s for (self: Phase): String */
1621 val
* phase__Phase__to_s(val
* self
) {
1622 val
* var
/* : String */;
1623 val
* var1
/* : String */;
1624 static val
* varonce
;
1625 val
* var2
/* : String */;
1626 char* var3
/* : NativeString */;
1627 long var4
/* : Int */;
1628 val
* var5
/* : FlatString */;
1629 val
* var6
/* : String */;
1630 val
* var7
/* : String */;
1632 var1
= string__Object__class_name(self
);
1639 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1644 var6
= file__String__strip_extension(var1
, var2
);
1647 var7
= string__FlatString__to_lower(var6
);
1654 /* method phase#Phase#to_s for (self: Object): String */
1655 val
* VIRTUAL_phase__Phase__to_s(val
* self
) {
1656 val
* var
/* : String */;
1657 val
* var1
/* : String */;
1658 var1
= phase__Phase__to_s(self
);
1663 /* method phase#Phase#disabled for (self: Phase): Bool */
1664 short int phase__Phase__disabled(val
* self
) {
1665 short int var
/* : Bool */;
1666 short int var1
/* : Bool */;
1667 var1
= self
->attrs
[COLOR_phase__Phase___disabled
].s
; /* _disabled on <self:Phase> */
1672 /* method phase#Phase#disabled for (self: Object): Bool */
1673 short int VIRTUAL_phase__Phase__disabled(val
* self
) {
1674 short int var
/* : Bool */;
1675 short int var1
/* : Bool */;
1676 short int var3
/* : Bool */;
1677 { /* Inline phase#Phase#disabled (self) on <self:Object(Phase)> */
1678 var3
= self
->attrs
[COLOR_phase__Phase___disabled
].s
; /* _disabled on <self:Object(Phase)> */
1686 /* method phase#Phase#disabled= for (self: Phase, Bool) */
1687 void phase__Phase__disabled_61d(val
* self
, short int p0
) {
1688 self
->attrs
[COLOR_phase__Phase___disabled
].s
= p0
; /* _disabled on <self:Phase> */
1691 /* method phase#Phase#disabled= for (self: Object, Bool) */
1692 void VIRTUAL_phase__Phase__disabled_61d(val
* self
, short int p0
) {
1693 { /* Inline phase#Phase#disabled= (self,p0) on <self:Object(Phase)> */
1694 self
->attrs
[COLOR_phase__Phase___disabled
].s
= p0
; /* _disabled on <self:Object(Phase)> */
1699 /* method phase#Phase#process_nmodule for (self: Phase, AModule) */
1700 void phase__Phase__process_nmodule(val
* self
, val
* p0
) {
1701 val
* var_nmodule
/* var nmodule: AModule */;
1705 /* method phase#Phase#process_nmodule for (self: Object, AModule) */
1706 void VIRTUAL_phase__Phase__process_nmodule(val
* self
, val
* p0
) {
1707 val
* var_nmodule
/* var nmodule: AModule */;
1708 { /* Inline phase#Phase#process_nmodule (self,p0) on <self:Object(Phase)> */
1714 /* method phase#Phase#process_nclassdef for (self: Phase, AClassdef) */
1715 void phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
1716 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1720 /* method phase#Phase#process_nclassdef for (self: Object, AClassdef) */
1721 void VIRTUAL_phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
1722 val
* var_nclassdef
/* var nclassdef: AClassdef */;
1723 { /* Inline phase#Phase#process_nclassdef (self,p0) on <self:Object(Phase)> */
1729 /* method phase#Phase#process_npropdef for (self: Phase, APropdef) */
1730 void phase__Phase__process_npropdef(val
* self
, val
* p0
) {
1731 val
* var_npropdef
/* var npropdef: APropdef */;
1735 /* method phase#Phase#process_npropdef for (self: Object, APropdef) */
1736 void VIRTUAL_phase__Phase__process_npropdef(val
* self
, val
* p0
) {
1737 val
* var_npropdef
/* var npropdef: APropdef */;
1738 { /* Inline phase#Phase#process_npropdef (self,p0) on <self:Object(Phase)> */
1744 /* method phase#Phase#process_annotated_node for (self: Phase, ANode, AAnnotation) */
1745 void phase__Phase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
1746 val
* var_node
/* var node: ANode */;
1747 val
* var_nat
/* var nat: AAnnotation */;
1752 /* method phase#Phase#process_annotated_node for (self: Object, ANode, AAnnotation) */
1753 void VIRTUAL_phase__Phase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
1754 val
* var_node
/* var node: ANode */;
1755 val
* var_nat
/* var nat: AAnnotation */;
1756 { /* Inline phase#Phase#process_annotated_node (self,p0,p1) on <self:Object(Phase)> */