1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
3 void abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
5 val
* var
/* : AExpr */;
6 val
* var2
/* : AExpr */;
7 val
* var3
/* : null */;
8 val
* var4
/* : RuntimeVariable */;
9 val
* var_cl
/* var cl: RuntimeVariable */;
10 val
* var5
/* : nullable CallSite */;
11 val
* var7
/* : nullable CallSite */;
12 val
* var_it_meth
/* var it_meth: nullable CallSite */;
13 val
* var8
/* : null */;
14 short int var9
/* : Bool */;
15 short int var10
/* : Bool */;
16 val
* var_other
/* var other: nullable Object */;
17 short int var12
/* : Bool */;
18 short int var13
/* : Bool */;
19 short int var14
/* : Bool */;
20 val
* var15
/* : Array[RuntimeVariable] */;
21 long var16
/* : Int */;
22 val
* var_
/* var : Array[RuntimeVariable] */;
23 val
* var17
/* : nullable RuntimeVariable */;
24 val
* var_it
/* var it: nullable RuntimeVariable */;
25 val
* var18
/* : null */;
26 short int var19
/* : Bool */;
27 short int var20
/* : Bool */;
28 short int var22
/* : Bool */;
29 short int var23
/* : Bool */;
30 short int var24
/* : Bool */;
32 val
* var25
/* : String */;
33 char* var26
/* : NativeString */;
34 long var27
/* : Int */;
35 val
* var28
/* : FlatString */;
36 val
* var29
/* : nullable CallSite */;
37 val
* var31
/* : nullable CallSite */;
38 val
* var_isok_meth
/* var isok_meth: nullable CallSite */;
39 val
* var32
/* : null */;
40 short int var33
/* : Bool */;
41 short int var34
/* : Bool */;
42 short int var36
/* : Bool */;
43 short int var37
/* : Bool */;
44 short int var38
/* : Bool */;
45 val
* var39
/* : Array[RuntimeVariable] */;
46 long var40
/* : Int */;
47 val
* var_41
/* var : Array[RuntimeVariable] */;
48 val
* var42
/* : nullable RuntimeVariable */;
49 val
* var_ok
/* var ok: nullable RuntimeVariable */;
50 val
* var43
/* : null */;
51 short int var44
/* : Bool */;
52 short int var45
/* : Bool */;
53 short int var47
/* : Bool */;
54 short int var48
/* : Bool */;
55 short int var49
/* : Bool */;
56 static val
* varonce50
;
57 val
* var51
/* : String */;
58 char* var52
/* : NativeString */;
59 long var53
/* : Int */;
60 val
* var54
/* : FlatString */;
61 static val
* varonce55
;
62 val
* var56
/* : String */;
63 char* var57
/* : NativeString */;
64 long var58
/* : Int */;
65 val
* var59
/* : FlatString */;
66 val
* var60
/* : Array[Object] */;
67 long var61
/* : Int */;
68 val
* var62
/* : NativeArray[Object] */;
69 val
* var63
/* : String */;
70 val
* var64
/* : nullable Array[Variable] */;
71 val
* var66
/* : nullable Array[Variable] */;
72 long var67
/* : Int */;
73 long var69
/* : Int */;
74 long var70
/* : Int */;
75 short int var71
/* : Bool */;
76 short int var72
/* : Bool */;
77 short int var74
/* : Bool */;
78 val
* var75
/* : nullable CallSite */;
79 val
* var77
/* : nullable CallSite */;
80 val
* var_item_meth
/* var item_meth: nullable CallSite */;
81 val
* var78
/* : null */;
82 short int var79
/* : Bool */;
83 short int var80
/* : Bool */;
84 short int var82
/* : Bool */;
85 short int var83
/* : Bool */;
86 short int var84
/* : Bool */;
87 val
* var85
/* : Array[RuntimeVariable] */;
88 long var86
/* : Int */;
89 val
* var_87
/* var : Array[RuntimeVariable] */;
90 val
* var88
/* : nullable RuntimeVariable */;
91 val
* var_i
/* var i: nullable RuntimeVariable */;
92 val
* var89
/* : null */;
93 short int var90
/* : Bool */;
94 short int var91
/* : Bool */;
95 short int var93
/* : Bool */;
96 short int var94
/* : Bool */;
97 short int var95
/* : Bool */;
98 val
* var96
/* : nullable Array[Variable] */;
99 val
* var98
/* : nullable Array[Variable] */;
100 val
* var99
/* : nullable Object */;
101 val
* var100
/* : RuntimeVariable */;
102 val
* var101
/* : nullable Array[Variable] */;
103 val
* var103
/* : nullable Array[Variable] */;
104 long var104
/* : Int */;
105 long var106
/* : Int */;
106 long var107
/* : Int */;
107 short int var108
/* : Bool */;
108 short int var109
/* : Bool */;
109 short int var111
/* : Bool */;
110 val
* var112
/* : nullable CallSite */;
111 val
* var114
/* : nullable CallSite */;
112 val
* var_key_meth
/* var key_meth: nullable CallSite */;
113 val
* var115
/* : null */;
114 short int var116
/* : Bool */;
115 short int var117
/* : Bool */;
116 short int var119
/* : Bool */;
117 short int var120
/* : Bool */;
118 short int var121
/* : Bool */;
119 val
* var122
/* : Array[RuntimeVariable] */;
120 long var123
/* : Int */;
121 val
* var_124
/* var : Array[RuntimeVariable] */;
122 val
* var125
/* : nullable RuntimeVariable */;
123 val
* var_i126
/* var i: nullable RuntimeVariable */;
124 val
* var127
/* : null */;
125 short int var128
/* : Bool */;
126 short int var129
/* : Bool */;
127 short int var131
/* : Bool */;
128 short int var132
/* : Bool */;
129 short int var133
/* : Bool */;
130 val
* var134
/* : nullable Array[Variable] */;
131 val
* var136
/* : nullable Array[Variable] */;
132 long var137
/* : Int */;
133 val
* var138
/* : nullable Object */;
134 val
* var139
/* : RuntimeVariable */;
135 val
* var140
/* : nullable CallSite */;
136 val
* var142
/* : nullable CallSite */;
137 val
* var_item_meth143
/* var item_meth: nullable CallSite */;
138 val
* var144
/* : null */;
139 short int var145
/* : Bool */;
140 short int var146
/* : Bool */;
141 short int var148
/* : Bool */;
142 short int var149
/* : Bool */;
143 short int var150
/* : Bool */;
144 val
* var151
/* : Array[RuntimeVariable] */;
145 long var152
/* : Int */;
146 val
* var_153
/* var : Array[RuntimeVariable] */;
147 val
* var154
/* : nullable RuntimeVariable */;
148 val
* var155
/* : null */;
149 short int var156
/* : Bool */;
150 short int var157
/* : Bool */;
151 short int var159
/* : Bool */;
152 short int var160
/* : Bool */;
153 short int var161
/* : Bool */;
154 val
* var162
/* : nullable Array[Variable] */;
155 val
* var164
/* : nullable Array[Variable] */;
156 long var165
/* : Int */;
157 val
* var166
/* : nullable Object */;
158 val
* var167
/* : RuntimeVariable */;
159 val
* var168
/* : nullable AExpr */;
160 val
* var170
/* : nullable AExpr */;
161 val
* var171
/* : nullable EscapeMark */;
162 val
* var173
/* : nullable EscapeMark */;
163 val
* var174
/* : nullable CallSite */;
164 val
* var176
/* : nullable CallSite */;
165 val
* var_next_meth
/* var next_meth: nullable CallSite */;
166 val
* var177
/* : null */;
167 short int var178
/* : Bool */;
168 short int var179
/* : Bool */;
169 short int var181
/* : Bool */;
170 short int var182
/* : Bool */;
171 short int var183
/* : Bool */;
172 val
* var184
/* : Array[RuntimeVariable] */;
173 long var185
/* : Int */;
174 val
* var_186
/* var : Array[RuntimeVariable] */;
175 val
* var187
/* : nullable RuntimeVariable */;
176 static val
* varonce188
;
177 val
* var189
/* : String */;
178 char* var190
/* : NativeString */;
179 long var191
/* : Int */;
180 val
* var192
/* : FlatString */;
181 val
* var193
/* : nullable EscapeMark */;
182 val
* var195
/* : nullable EscapeMark */;
183 val
* var196
/* : nullable CallSite */;
184 val
* var198
/* : nullable CallSite */;
185 val
* var_method_finish
/* var method_finish: nullable CallSite */;
186 val
* var199
/* : null */;
187 short int var200
/* : Bool */;
188 short int var201
/* : Bool */;
189 short int var203
/* : Bool */;
190 short int var204
/* : Bool */;
191 short int var205
/* : Bool */;
192 val
* var206
/* : Array[RuntimeVariable] */;
193 long var207
/* : Int */;
194 val
* var_208
/* var : Array[RuntimeVariable] */;
195 val
* var209
/* : nullable RuntimeVariable */;
198 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
199 var2
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
200 if (unlikely(var2
== NULL
)) {
201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
202 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1427);
211 var4
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var3
);
215 { /* Inline typing#AForExpr#method_iterator (self) on <self:AForExpr> */
216 var7
= self
->attrs
[COLOR_typing__AForExpr___method_iterator
].val
; /* _method_iterator on <self:AForExpr> */
223 if (var_it_meth
== NULL
) {
224 var9
= 0; /* is null */
226 var9
= 1; /* arg is null and recv is not */
229 { /* Inline kernel#Object#!= (var_it_meth,var8) on <var_it_meth:nullable CallSite> */
232 var13
= ((short int (*)(val
*, val
*))(var_it_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_it_meth
, var_other
) /* == on <var_it_meth:nullable CallSite(CallSite)>*/;
242 if (unlikely(!var9
)) {
243 PRINT_ERROR("Runtime error: %s", "Assert failed");
244 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2612);
247 var15
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
250 array__Array__with_capacity(var15
, var16
); /* Direct call array#Array#with_capacity on <var15:Array[RuntimeVariable]>*/
254 array__AbstractArray__push(var_
, var_cl
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
257 var17
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_it_meth
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
261 if (var_it
== NULL
) {
262 var19
= 0; /* is null */
264 var19
= 1; /* arg is null and recv is not */
267 { /* Inline kernel#Object#!= (var_it,var18) on <var_it:nullable RuntimeVariable> */
270 var23
= ((short int (*)(val
*, val
*))(var_it
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_it
, var_other
) /* == on <var_it:nullable RuntimeVariable(RuntimeVariable)>*/;
280 if (unlikely(!var19
)) {
281 PRINT_ERROR("Runtime error: %s", "Assert failed");
282 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2614);
290 var28
= string__NativeString__to_s_with_length(var26
, var27
);
295 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
298 { /* Inline typing#AForExpr#method_is_ok (self) on <self:AForExpr> */
299 var31
= self
->attrs
[COLOR_typing__AForExpr___method_is_ok
].val
; /* _method_is_ok on <self:AForExpr> */
304 var_isok_meth
= var29
;
306 if (var_isok_meth
== NULL
) {
307 var33
= 0; /* is null */
309 var33
= 1; /* arg is null and recv is not */
312 { /* Inline kernel#Object#!= (var_isok_meth,var32) on <var_isok_meth:nullable CallSite> */
315 var37
= ((short int (*)(val
*, val
*))(var_isok_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_isok_meth
, var_other
) /* == on <var_isok_meth:nullable CallSite(CallSite)>*/;
325 if (unlikely(!var33
)) {
326 PRINT_ERROR("Runtime error: %s", "Assert failed");
327 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2617);
330 var39
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
333 array__Array__with_capacity(var39
, var40
); /* Direct call array#Array#with_capacity on <var39:Array[RuntimeVariable]>*/
337 array__AbstractArray__push(var_41
, var_it
); /* Direct call array#AbstractArray#push on <var_41:Array[RuntimeVariable]>*/
340 var42
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_isok_meth
, var_41
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
344 if (var_ok
== NULL
) {
345 var44
= 0; /* is null */
347 var44
= 1; /* arg is null and recv is not */
350 { /* Inline kernel#Object#!= (var_ok,var43) on <var_ok:nullable RuntimeVariable> */
353 var48
= ((short int (*)(val
*, val
*))(var_ok
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ok
, var_other
) /* == on <var_ok:nullable RuntimeVariable(RuntimeVariable)>*/;
363 if (unlikely(!var44
)) {
364 PRINT_ERROR("Runtime error: %s", "Assert failed");
365 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2619);
373 var54
= string__NativeString__to_s_with_length(var52
, var53
);
382 var59
= string__NativeString__to_s_with_length(var57
, var58
);
386 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
387 { /* var60 = array_instance Array[Object] */
389 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
390 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var51
;
391 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var_ok
;
392 ((struct instance_array__NativeArray
*)var62
)->values
[2] = (val
*) var56
;
394 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
398 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
401 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
404 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
405 var66
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
411 PRINT_ERROR("Runtime error: %s", "Receiver is null");
412 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2621);
415 { /* Inline array#AbstractArrayRead#length (var64) on <var64:nullable Array[Variable]> */
416 if (unlikely(var64
== NULL
)) {
417 PRINT_ERROR("Runtime error: %s", "Receiver is null");
418 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24);
421 var69
= var64
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var64:nullable Array[Variable]> */
428 { /* Inline kernel#Int#== (var67,var70) on <var67:Int> */
429 var74
= var67
== var70
;
438 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
439 var77
= self
->attrs
[COLOR_typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
444 var_item_meth
= var75
;
446 if (var_item_meth
== NULL
) {
447 var79
= 0; /* is null */
449 var79
= 1; /* arg is null and recv is not */
452 { /* Inline kernel#Object#!= (var_item_meth,var78) on <var_item_meth:nullable CallSite> */
455 var83
= ((short int (*)(val
*, val
*))(var_item_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_item_meth
, var_other
) /* == on <var_item_meth:nullable CallSite(CallSite)>*/;
465 if (unlikely(!var79
)) {
466 PRINT_ERROR("Runtime error: %s", "Assert failed");
467 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2623);
470 var85
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
473 array__Array__with_capacity(var85
, var86
); /* Direct call array#Array#with_capacity on <var85:Array[RuntimeVariable]>*/
477 array__AbstractArray__push(var_87
, var_it
); /* Direct call array#AbstractArray#push on <var_87:Array[RuntimeVariable]>*/
480 var88
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth
, var_87
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
485 var90
= 0; /* is null */
487 var90
= 1; /* arg is null and recv is not */
490 { /* Inline kernel#Object#!= (var_i,var89) on <var_i:nullable RuntimeVariable> */
493 var94
= ((short int (*)(val
*, val
*))(var_i
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i
, var_other
) /* == on <var_i:nullable RuntimeVariable(RuntimeVariable)>*/;
503 if (unlikely(!var90
)) {
504 PRINT_ERROR("Runtime error: %s", "Assert failed");
505 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2625);
509 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
510 var98
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
516 PRINT_ERROR("Runtime error: %s", "Receiver is null");
517 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2626);
520 var99
= abstract_collection__SequenceRead__first(var96
);
523 var100
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var99
);
526 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var100
, var_i
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
530 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
531 var103
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
533 RET_LABEL102
:(void)0;
536 if (var101
== NULL
) {
537 PRINT_ERROR("Runtime error: %s", "Receiver is null");
538 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2627);
541 { /* Inline array#AbstractArrayRead#length (var101) on <var101:nullable Array[Variable]> */
542 if (unlikely(var101
== NULL
)) {
543 PRINT_ERROR("Runtime error: %s", "Receiver is null");
544 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 24);
547 var106
= var101
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var101:nullable Array[Variable]> */
549 RET_LABEL105
:(void)0;
554 { /* Inline kernel#Int#== (var104,var107) on <var104:Int> */
555 var111
= var104
== var107
;
558 RET_LABEL110
:(void)0;
564 { /* Inline typing#AForExpr#method_key (self) on <self:AForExpr> */
565 var114
= self
->attrs
[COLOR_typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
567 RET_LABEL113
:(void)0;
570 var_key_meth
= var112
;
572 if (var_key_meth
== NULL
) {
573 var116
= 0; /* is null */
575 var116
= 1; /* arg is null and recv is not */
578 { /* Inline kernel#Object#!= (var_key_meth,var115) on <var_key_meth:nullable CallSite> */
581 var120
= ((short int (*)(val
*, val
*))(var_key_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_key_meth
, var_other
) /* == on <var_key_meth:nullable CallSite(CallSite)>*/;
587 RET_LABEL118
:(void)0;
591 if (unlikely(!var116
)) {
592 PRINT_ERROR("Runtime error: %s", "Assert failed");
593 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2629);
596 var122
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
599 array__Array__with_capacity(var122
, var123
); /* Direct call array#Array#with_capacity on <var122:Array[RuntimeVariable]>*/
603 array__AbstractArray__push(var_124
, var_it
); /* Direct call array#AbstractArray#push on <var_124:Array[RuntimeVariable]>*/
606 var125
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_key_meth
, var_124
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
610 if (var_i126
== NULL
) {
611 var128
= 0; /* is null */
613 var128
= 1; /* arg is null and recv is not */
616 { /* Inline kernel#Object#!= (var_i126,var127) on <var_i126:nullable RuntimeVariable> */
619 var132
= ((short int (*)(val
*, val
*))(var_i126
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i126
, var_other
) /* == on <var_i126:nullable RuntimeVariable(RuntimeVariable)>*/;
625 RET_LABEL130
:(void)0;
629 if (unlikely(!var128
)) {
630 PRINT_ERROR("Runtime error: %s", "Assert failed");
631 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2631);
635 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
636 var136
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
638 RET_LABEL135
:(void)0;
642 if (var134
== NULL
) {
643 PRINT_ERROR("Runtime error: %s", "Receiver is null");
644 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2632);
647 var138
= array__Array___91d_93d(var134
, var137
);
650 var139
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var138
);
653 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var139
, var_i126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
656 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
657 var142
= self
->attrs
[COLOR_typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
659 RET_LABEL141
:(void)0;
662 var_item_meth143
= var140
;
664 if (var_item_meth143
== NULL
) {
665 var145
= 0; /* is null */
667 var145
= 1; /* arg is null and recv is not */
670 { /* Inline kernel#Object#!= (var_item_meth143,var144) on <var_item_meth143:nullable CallSite> */
673 var149
= ((short int (*)(val
*, val
*))(var_item_meth143
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_item_meth143
, var_other
) /* == on <var_item_meth143:nullable CallSite(CallSite)>*/;
679 RET_LABEL147
:(void)0;
683 if (unlikely(!var145
)) {
684 PRINT_ERROR("Runtime error: %s", "Assert failed");
685 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2634);
688 var151
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
691 array__Array__with_capacity(var151
, var152
); /* Direct call array#Array#with_capacity on <var151:Array[RuntimeVariable]>*/
695 array__AbstractArray__push(var_153
, var_it
); /* Direct call array#AbstractArray#push on <var_153:Array[RuntimeVariable]>*/
698 var154
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth143
, var_153
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
702 if (var_i126
== NULL
) {
703 var156
= 0; /* is null */
705 var156
= 1; /* arg is null and recv is not */
708 { /* Inline kernel#Object#!= (var_i126,var155) on <var_i126:nullable RuntimeVariable> */
711 var160
= ((short int (*)(val
*, val
*))(var_i126
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i126
, var_other
) /* == on <var_i126:nullable RuntimeVariable(RuntimeVariable)>*/;
717 RET_LABEL158
:(void)0;
721 if (unlikely(!var156
)) {
722 PRINT_ERROR("Runtime error: %s", "Assert failed");
723 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2636);
727 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
728 var164
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
730 RET_LABEL163
:(void)0;
734 if (var162
== NULL
) {
735 PRINT_ERROR("Runtime error: %s", "Receiver is null");
736 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2637);
739 var166
= array__Array___91d_93d(var162
, var165
);
742 var167
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var166
);
745 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var167
, var_i126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
748 PRINT_ERROR("Runtime error: %s", "Aborted");
749 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2639);
754 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
755 var170
= self
->attrs
[COLOR_parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
757 RET_LABEL169
:(void)0;
761 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var168
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
764 { /* Inline scope#AForExpr#continue_mark (self) on <self:AForExpr> */
765 var173
= self
->attrs
[COLOR_scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:AForExpr> */
767 RET_LABEL172
:(void)0;
771 abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v
, var171
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
774 { /* Inline typing#AForExpr#method_next (self) on <self:AForExpr> */
775 var176
= self
->attrs
[COLOR_typing__AForExpr___method_next
].val
; /* _method_next on <self:AForExpr> */
777 RET_LABEL175
:(void)0;
780 var_next_meth
= var174
;
782 if (var_next_meth
== NULL
) {
783 var178
= 0; /* is null */
785 var178
= 1; /* arg is null and recv is not */
788 { /* Inline kernel#Object#!= (var_next_meth,var177) on <var_next_meth:nullable CallSite> */
791 var182
= ((short int (*)(val
*, val
*))(var_next_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_next_meth
, var_other
) /* == on <var_next_meth:nullable CallSite(CallSite)>*/;
797 RET_LABEL180
:(void)0;
801 if (unlikely(!var178
)) {
802 PRINT_ERROR("Runtime error: %s", "Assert failed");
803 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2644);
806 var184
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
809 array__Array__with_capacity(var184
, var185
); /* Direct call array#Array#with_capacity on <var184:Array[RuntimeVariable]>*/
813 array__AbstractArray__push(var_186
, var_it
); /* Direct call array#AbstractArray#push on <var_186:Array[RuntimeVariable]>*/
816 var187
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_next_meth
, var_186
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
823 var192
= string__NativeString__to_s_with_length(var190
, var191
);
828 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var189
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
831 { /* Inline scope#AForExpr#break_mark (self) on <self:AForExpr> */
832 var195
= self
->attrs
[COLOR_scope__AForExpr___break_mark
].val
; /* _break_mark on <self:AForExpr> */
834 RET_LABEL194
:(void)0;
838 abstract_compiler__AbstractCompilerVisitor__add_escape_label(var_v
, var193
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
841 { /* Inline typing#AForExpr#method_finish (self) on <self:AForExpr> */
842 var198
= self
->attrs
[COLOR_typing__AForExpr___method_finish
].val
; /* _method_finish on <self:AForExpr> */
844 RET_LABEL197
:(void)0;
847 var_method_finish
= var196
;
849 if (var_method_finish
== NULL
) {
850 var200
= 0; /* is null */
852 var200
= 1; /* arg is null and recv is not */
855 { /* Inline kernel#Object#!= (var_method_finish,var199) on <var_method_finish:nullable CallSite> */
858 var204
= ((short int (*)(val
*, val
*))(var_method_finish
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_method_finish
, var_other
) /* == on <var_method_finish:nullable CallSite(CallSite)>*/;
864 RET_LABEL202
:(void)0;
869 var206
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
872 array__Array__with_capacity(var206
, var207
); /* Direct call array#Array#with_capacity on <var206:Array[RuntimeVariable]>*/
876 array__AbstractArray__push(var_208
, var_it
); /* Direct call array#AbstractArray#push on <var_208:Array[RuntimeVariable]>*/
879 var209
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_method_finish
, var_208
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
885 /* method abstract_compiler#AForExpr#stmt for (self: Object, AbstractCompilerVisitor) */
886 void VIRTUAL_abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
887 abstract_compiler__AForExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AForExpr#stmt on <self:Object(AForExpr)>*/
890 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
891 void abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
892 val
* var_v
/* var v: AbstractCompilerVisitor */;
893 val
* var
/* : AbstractCompiler */;
894 val
* var2
/* : AbstractCompiler */;
895 val
* var3
/* : ModelBuilder */;
896 val
* var5
/* : ModelBuilder */;
897 val
* var6
/* : ToolContext */;
898 val
* var8
/* : ToolContext */;
899 val
* var9
/* : OptionBool */;
900 val
* var11
/* : OptionBool */;
901 val
* var12
/* : nullable Object */;
902 val
* var14
/* : nullable Object */;
903 short int var15
/* : Bool */;
904 val
* var16
/* : AExpr */;
905 val
* var18
/* : AExpr */;
906 val
* var19
/* : RuntimeVariable */;
907 val
* var_cond
/* var cond: RuntimeVariable */;
909 val
* var20
/* : String */;
910 char* var21
/* : NativeString */;
911 long var22
/* : Int */;
912 val
* var23
/* : FlatString */;
913 static val
* varonce24
;
914 val
* var25
/* : String */;
915 char* var26
/* : NativeString */;
916 long var27
/* : Int */;
917 val
* var28
/* : FlatString */;
918 val
* var29
/* : Array[Object] */;
919 long var30
/* : Int */;
920 val
* var31
/* : NativeArray[Object] */;
921 val
* var32
/* : String */;
922 val
* var33
/* : nullable AExpr */;
923 val
* var35
/* : nullable AExpr */;
924 val
* var36
/* : nullable TId */;
925 val
* var38
/* : nullable TId */;
926 val
* var_nid
/* var nid: nullable TId */;
927 val
* var39
/* : null */;
928 short int var40
/* : Bool */;
929 short int var41
/* : Bool */;
930 val
* var_other
/* var other: nullable Object */;
931 short int var43
/* : Bool */;
932 short int var44
/* : Bool */;
933 short int var45
/* : Bool */;
934 static val
* varonce46
;
935 val
* var47
/* : String */;
936 char* var48
/* : NativeString */;
937 long var49
/* : Int */;
938 val
* var50
/* : FlatString */;
939 val
* var51
/* : String */;
940 static val
* varonce52
;
941 val
* var53
/* : String */;
942 char* var54
/* : NativeString */;
943 long var55
/* : Int */;
944 val
* var56
/* : FlatString */;
945 val
* var57
/* : Array[Object] */;
946 long var58
/* : Int */;
947 val
* var59
/* : NativeArray[Object] */;
948 val
* var60
/* : String */;
949 static val
* varonce61
;
950 val
* var62
/* : String */;
951 char* var63
/* : NativeString */;
952 long var64
/* : Int */;
953 val
* var65
/* : FlatString */;
954 static val
* varonce66
;
955 val
* var67
/* : String */;
956 char* var68
/* : NativeString */;
957 long var69
/* : Int */;
958 val
* var70
/* : FlatString */;
961 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
962 var2
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
963 if (unlikely(var2
== NULL
)) {
964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
965 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
973 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
974 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
975 if (unlikely(var5
== NULL
)) {
976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
977 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
985 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
986 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
987 if (unlikely(var8
== NULL
)) {
988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
989 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
997 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var6) on <var6:ToolContext> */
998 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var6:ToolContext> */
999 if (unlikely(var11
== NULL
)) {
1000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1001 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 53);
1005 RET_LABEL10
:(void)0;
1009 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
1010 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
1012 RET_LABEL13
:(void)0;
1015 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
1021 { /* Inline parser_nodes#AAssertExpr#n_expr (self) on <self:AAssertExpr> */
1022 var18
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
1023 if (unlikely(var18
== NULL
)) {
1024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1025 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1437);
1029 RET_LABEL17
:(void)0;
1033 var19
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var16
);
1039 var21
= "if (unlikely(!";
1041 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1050 var28
= string__NativeString__to_s_with_length(var26
, var27
);
1054 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1055 { /* var29 = array_instance Array[Object] */
1057 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
1058 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var20
;
1059 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var_cond
;
1060 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var25
;
1062 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
1066 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
1069 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1072 { /* Inline parser_nodes#AAssertExpr#n_else (self) on <self:AAssertExpr> */
1073 var35
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
1075 RET_LABEL34
:(void)0;
1079 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1082 { /* Inline parser_nodes#AAssertExpr#n_id (self) on <self:AAssertExpr> */
1083 var38
= self
->attrs
[COLOR_parser_nodes__AAssertExpr___n_id
].val
; /* _n_id on <self:AAssertExpr> */
1085 RET_LABEL37
:(void)0;
1090 if (var_nid
== NULL
) {
1091 var40
= 0; /* is null */
1093 var40
= 1; /* arg is null and recv is not */
1096 { /* Inline kernel#Object#!= (var_nid,var39) on <var_nid:nullable TId> */
1099 var44
= ((short int (*)(val
*, val
*))(var_nid
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nid
, var_other
) /* == on <var_nid:nullable TId(TId)>*/;
1105 RET_LABEL42
:(void)0;
1113 var48
= "Assert \'";
1115 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1120 var51
= lexer_work__Token__text(var_nid
);
1125 var54
= "\' failed";
1127 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1131 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
1132 { /* var57 = array_instance Array[Object] */
1134 var59
= NEW_array__NativeArray(var58
, &type_array__NativeArraykernel__Object
);
1135 ((struct instance_array__NativeArray
*)var59
)->values
[0] = (val
*) var47
;
1136 ((struct instance_array__NativeArray
*)var59
)->values
[1] = (val
*) var51
;
1137 ((struct instance_array__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
1139 ((void (*)(val
*, val
*, long))(var57
->class->vft
[COLOR_array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
1143 var60
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
1146 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var60
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1152 var63
= "Assert failed";
1154 var65
= string__NativeString__to_s_with_length(var63
, var64
);
1159 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var62
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1167 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1172 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var67
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1176 /* method abstract_compiler#AAssertExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1177 void VIRTUAL_abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
1178 abstract_compiler__AAssertExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AAssertExpr#stmt on <self:Object(AAssertExpr)>*/
1181 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1182 val
* abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
1183 val
* var
/* : nullable RuntimeVariable */;
1184 val
* var_v
/* var v: AbstractCompilerVisitor */;
1185 val
* var1
/* : nullable MType */;
1186 val
* var3
/* : nullable MType */;
1187 val
* var4
/* : RuntimeVariable */;
1188 val
* var_res
/* var res: RuntimeVariable */;
1189 val
* var5
/* : AExpr */;
1190 val
* var7
/* : AExpr */;
1191 val
* var8
/* : RuntimeVariable */;
1192 val
* var_i1
/* var i1: RuntimeVariable */;
1193 static val
* varonce
;
1194 val
* var9
/* : String */;
1195 char* var10
/* : NativeString */;
1196 long var11
/* : Int */;
1197 val
* var12
/* : FlatString */;
1198 static val
* varonce13
;
1199 val
* var14
/* : String */;
1200 char* var15
/* : NativeString */;
1201 long var16
/* : Int */;
1202 val
* var17
/* : FlatString */;
1203 val
* var18
/* : Array[Object] */;
1204 long var19
/* : Int */;
1205 val
* var20
/* : NativeArray[Object] */;
1206 val
* var21
/* : String */;
1207 static val
* varonce22
;
1208 val
* var23
/* : String */;
1209 char* var24
/* : NativeString */;
1210 long var25
/* : Int */;
1211 val
* var26
/* : FlatString */;
1212 val
* var27
/* : Array[Object] */;
1213 long var28
/* : Int */;
1214 val
* var29
/* : NativeArray[Object] */;
1215 val
* var30
/* : String */;
1216 static val
* varonce31
;
1217 val
* var32
/* : String */;
1218 char* var33
/* : NativeString */;
1219 long var34
/* : Int */;
1220 val
* var35
/* : FlatString */;
1221 val
* var36
/* : AExpr */;
1222 val
* var38
/* : AExpr */;
1223 val
* var39
/* : RuntimeVariable */;
1224 val
* var_i2
/* var i2: RuntimeVariable */;
1225 static val
* varonce40
;
1226 val
* var41
/* : String */;
1227 char* var42
/* : NativeString */;
1228 long var43
/* : Int */;
1229 val
* var44
/* : FlatString */;
1230 static val
* varonce45
;
1231 val
* var46
/* : String */;
1232 char* var47
/* : NativeString */;
1233 long var48
/* : Int */;
1234 val
* var49
/* : FlatString */;
1235 val
* var50
/* : Array[Object] */;
1236 long var51
/* : Int */;
1237 val
* var52
/* : NativeArray[Object] */;
1238 val
* var53
/* : String */;
1239 static val
* varonce54
;
1240 val
* var55
/* : String */;
1241 char* var56
/* : NativeString */;
1242 long var57
/* : Int */;
1243 val
* var58
/* : FlatString */;
1246 { /* Inline typing#AExpr#mtype (self) on <self:AOrExpr> */
1247 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrExpr> */
1252 if (unlikely(var1
== NULL
)) {
1253 PRINT_ERROR("Runtime error: %s", "Cast failed");
1254 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2678);
1258 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
1262 { /* Inline parser_nodes#AOrExpr#n_expr (self) on <self:AOrExpr> */
1263 var7
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
1264 if (unlikely(var7
== NULL
)) {
1265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1266 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1486);
1274 var8
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
1282 var12
= string__NativeString__to_s_with_length(var10
, var11
);
1291 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1295 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1296 { /* var18 = array_instance Array[Object] */
1298 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1299 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1300 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1301 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1303 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1307 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1310 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1317 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1321 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1322 { /* var27 = array_instance Array[Object] */
1324 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1325 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1326 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1328 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1332 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1335 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1342 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1347 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1350 { /* Inline parser_nodes#AOrExpr#n_expr2 (self) on <self:AOrExpr> */
1351 var38
= self
->attrs
[COLOR_parser_nodes__AOrExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
1352 if (unlikely(var38
== NULL
)) {
1353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1354 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1487);
1358 RET_LABEL37
:(void)0;
1362 var39
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var36
);
1370 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1379 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1383 var50
= NEW_array__Array(&type_array__Arraykernel__Object
);
1384 { /* var50 = array_instance Array[Object] */
1386 var52
= NEW_array__NativeArray(var51
, &type_array__NativeArraykernel__Object
);
1387 ((struct instance_array__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1388 ((struct instance_array__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1389 ((struct instance_array__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1390 ((struct instance_array__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1392 ((void (*)(val
*, val
*, long))(var50
->class->vft
[COLOR_array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1396 var53
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1399 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1406 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1411 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1418 /* method abstract_compiler#AOrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1419 val
* VIRTUAL_abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
1420 val
* var
/* : nullable RuntimeVariable */;
1421 val
* var1
/* : nullable RuntimeVariable */;
1422 var1
= abstract_compiler__AOrExpr__expr(self
, p0
);
1427 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1428 val
* abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
1429 val
* var
/* : nullable RuntimeVariable */;
1430 val
* var_v
/* var v: AbstractCompilerVisitor */;
1431 val
* var1
/* : nullable MType */;
1432 val
* var3
/* : nullable MType */;
1433 val
* var4
/* : RuntimeVariable */;
1434 val
* var_res
/* var res: RuntimeVariable */;
1435 val
* var5
/* : AExpr */;
1436 val
* var7
/* : AExpr */;
1437 val
* var8
/* : RuntimeVariable */;
1438 val
* var_i1
/* var i1: RuntimeVariable */;
1439 static val
* varonce
;
1440 val
* var9
/* : String */;
1441 char* var10
/* : NativeString */;
1442 long var11
/* : Int */;
1443 val
* var12
/* : FlatString */;
1444 static val
* varonce13
;
1445 val
* var14
/* : String */;
1446 char* var15
/* : NativeString */;
1447 long var16
/* : Int */;
1448 val
* var17
/* : FlatString */;
1449 val
* var18
/* : Array[Object] */;
1450 long var19
/* : Int */;
1451 val
* var20
/* : NativeArray[Object] */;
1452 val
* var21
/* : String */;
1453 static val
* varonce22
;
1454 val
* var23
/* : String */;
1455 char* var24
/* : NativeString */;
1456 long var25
/* : Int */;
1457 val
* var26
/* : FlatString */;
1458 val
* var27
/* : Array[Object] */;
1459 long var28
/* : Int */;
1460 val
* var29
/* : NativeArray[Object] */;
1461 val
* var30
/* : String */;
1462 static val
* varonce31
;
1463 val
* var32
/* : String */;
1464 char* var33
/* : NativeString */;
1465 long var34
/* : Int */;
1466 val
* var35
/* : FlatString */;
1467 val
* var36
/* : AExpr */;
1468 val
* var38
/* : AExpr */;
1469 val
* var39
/* : RuntimeVariable */;
1470 val
* var_i2
/* var i2: RuntimeVariable */;
1471 static val
* varonce40
;
1472 val
* var41
/* : String */;
1473 char* var42
/* : NativeString */;
1474 long var43
/* : Int */;
1475 val
* var44
/* : FlatString */;
1476 static val
* varonce45
;
1477 val
* var46
/* : String */;
1478 char* var47
/* : NativeString */;
1479 long var48
/* : Int */;
1480 val
* var49
/* : FlatString */;
1481 val
* var50
/* : Array[Object] */;
1482 long var51
/* : Int */;
1483 val
* var52
/* : NativeArray[Object] */;
1484 val
* var53
/* : String */;
1485 static val
* varonce54
;
1486 val
* var55
/* : String */;
1487 char* var56
/* : NativeString */;
1488 long var57
/* : Int */;
1489 val
* var58
/* : FlatString */;
1492 { /* Inline typing#AExpr#mtype (self) on <self:AImpliesExpr> */
1493 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AImpliesExpr> */
1498 if (unlikely(var1
== NULL
)) {
1499 PRINT_ERROR("Runtime error: %s", "Cast failed");
1500 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2693);
1504 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
1508 { /* Inline parser_nodes#AImpliesExpr#n_expr (self) on <self:AImpliesExpr> */
1509 var7
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
1510 if (unlikely(var7
== NULL
)) {
1511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1512 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1507);
1520 var8
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
1528 var12
= string__NativeString__to_s_with_length(var10
, var11
);
1537 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1541 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1542 { /* var18 = array_instance Array[Object] */
1544 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1545 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1546 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1547 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1549 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1553 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1556 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1563 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1567 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1568 { /* var27 = array_instance Array[Object] */
1570 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1571 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1572 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1574 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1578 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1581 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1588 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1593 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1596 { /* Inline parser_nodes#AImpliesExpr#n_expr2 (self) on <self:AImpliesExpr> */
1597 var38
= self
->attrs
[COLOR_parser_nodes__AImpliesExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
1598 if (unlikely(var38
== NULL
)) {
1599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1600 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1508);
1604 RET_LABEL37
:(void)0;
1608 var39
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var36
);
1616 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1625 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1629 var50
= NEW_array__Array(&type_array__Arraykernel__Object
);
1630 { /* var50 = array_instance Array[Object] */
1632 var52
= NEW_array__NativeArray(var51
, &type_array__NativeArraykernel__Object
);
1633 ((struct instance_array__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1634 ((struct instance_array__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1635 ((struct instance_array__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1636 ((struct instance_array__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1638 ((void (*)(val
*, val
*, long))(var50
->class->vft
[COLOR_array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1642 var53
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1645 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1652 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1657 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1664 /* method abstract_compiler#AImpliesExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1665 val
* VIRTUAL_abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
1666 val
* var
/* : nullable RuntimeVariable */;
1667 val
* var1
/* : nullable RuntimeVariable */;
1668 var1
= abstract_compiler__AImpliesExpr__expr(self
, p0
);
1673 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1674 val
* abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
1675 val
* var
/* : nullable RuntimeVariable */;
1676 val
* var_v
/* var v: AbstractCompilerVisitor */;
1677 val
* var1
/* : nullable MType */;
1678 val
* var3
/* : nullable MType */;
1679 val
* var4
/* : RuntimeVariable */;
1680 val
* var_res
/* var res: RuntimeVariable */;
1681 val
* var5
/* : AExpr */;
1682 val
* var7
/* : AExpr */;
1683 val
* var8
/* : RuntimeVariable */;
1684 val
* var_i1
/* var i1: RuntimeVariable */;
1685 static val
* varonce
;
1686 val
* var9
/* : String */;
1687 char* var10
/* : NativeString */;
1688 long var11
/* : Int */;
1689 val
* var12
/* : FlatString */;
1690 static val
* varonce13
;
1691 val
* var14
/* : String */;
1692 char* var15
/* : NativeString */;
1693 long var16
/* : Int */;
1694 val
* var17
/* : FlatString */;
1695 val
* var18
/* : Array[Object] */;
1696 long var19
/* : Int */;
1697 val
* var20
/* : NativeArray[Object] */;
1698 val
* var21
/* : String */;
1699 static val
* varonce22
;
1700 val
* var23
/* : String */;
1701 char* var24
/* : NativeString */;
1702 long var25
/* : Int */;
1703 val
* var26
/* : FlatString */;
1704 val
* var27
/* : Array[Object] */;
1705 long var28
/* : Int */;
1706 val
* var29
/* : NativeArray[Object] */;
1707 val
* var30
/* : String */;
1708 static val
* varonce31
;
1709 val
* var32
/* : String */;
1710 char* var33
/* : NativeString */;
1711 long var34
/* : Int */;
1712 val
* var35
/* : FlatString */;
1713 val
* var36
/* : AExpr */;
1714 val
* var38
/* : AExpr */;
1715 val
* var39
/* : RuntimeVariable */;
1716 val
* var_i2
/* var i2: RuntimeVariable */;
1717 static val
* varonce40
;
1718 val
* var41
/* : String */;
1719 char* var42
/* : NativeString */;
1720 long var43
/* : Int */;
1721 val
* var44
/* : FlatString */;
1722 static val
* varonce45
;
1723 val
* var46
/* : String */;
1724 char* var47
/* : NativeString */;
1725 long var48
/* : Int */;
1726 val
* var49
/* : FlatString */;
1727 val
* var50
/* : Array[Object] */;
1728 long var51
/* : Int */;
1729 val
* var52
/* : NativeArray[Object] */;
1730 val
* var53
/* : String */;
1731 static val
* varonce54
;
1732 val
* var55
/* : String */;
1733 char* var56
/* : NativeString */;
1734 long var57
/* : Int */;
1735 val
* var58
/* : FlatString */;
1738 { /* Inline typing#AExpr#mtype (self) on <self:AAndExpr> */
1739 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AAndExpr> */
1744 if (unlikely(var1
== NULL
)) {
1745 PRINT_ERROR("Runtime error: %s", "Cast failed");
1746 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2708);
1750 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
1754 { /* Inline parser_nodes#AAndExpr#n_expr (self) on <self:AAndExpr> */
1755 var7
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
1756 if (unlikely(var7
== NULL
)) {
1757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1758 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1493);
1766 var8
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
1774 var12
= string__NativeString__to_s_with_length(var10
, var11
);
1783 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1787 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1788 { /* var18 = array_instance Array[Object] */
1790 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1791 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1792 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1793 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1795 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1799 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1802 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1809 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1813 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1814 { /* var27 = array_instance Array[Object] */
1816 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1817 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1818 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1820 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1824 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1827 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1834 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1839 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1842 { /* Inline parser_nodes#AAndExpr#n_expr2 (self) on <self:AAndExpr> */
1843 var38
= self
->attrs
[COLOR_parser_nodes__AAndExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
1844 if (unlikely(var38
== NULL
)) {
1845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1846 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1494);
1850 RET_LABEL37
:(void)0;
1854 var39
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var36
);
1862 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1871 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1875 var50
= NEW_array__Array(&type_array__Arraykernel__Object
);
1876 { /* var50 = array_instance Array[Object] */
1878 var52
= NEW_array__NativeArray(var51
, &type_array__NativeArraykernel__Object
);
1879 ((struct instance_array__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1880 ((struct instance_array__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1881 ((struct instance_array__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1882 ((struct instance_array__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1884 ((void (*)(val
*, val
*, long))(var50
->class->vft
[COLOR_array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1888 var53
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1891 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1898 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1903 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1910 /* method abstract_compiler#AAndExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1911 val
* VIRTUAL_abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
1912 val
* var
/* : nullable RuntimeVariable */;
1913 val
* var1
/* : nullable RuntimeVariable */;
1914 var1
= abstract_compiler__AAndExpr__expr(self
, p0
);
1919 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1920 val
* abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
1921 val
* var
/* : nullable RuntimeVariable */;
1922 val
* var_v
/* var v: AbstractCompilerVisitor */;
1923 val
* var1
/* : AExpr */;
1924 val
* var3
/* : AExpr */;
1925 val
* var4
/* : RuntimeVariable */;
1926 val
* var_cond
/* var cond: RuntimeVariable */;
1927 static val
* varonce
;
1928 val
* var5
/* : String */;
1929 char* var6
/* : NativeString */;
1930 long var7
/* : Int */;
1931 val
* var8
/* : FlatString */;
1932 val
* var9
/* : Array[Object] */;
1933 long var10
/* : Int */;
1934 val
* var11
/* : NativeArray[Object] */;
1935 val
* var12
/* : String */;
1936 val
* var13
/* : nullable MType */;
1937 val
* var15
/* : nullable MType */;
1938 val
* var16
/* : RuntimeVariable */;
1941 { /* Inline parser_nodes#ANotExpr#n_expr (self) on <self:ANotExpr> */
1942 var3
= self
->attrs
[COLOR_parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
1943 if (unlikely(var3
== NULL
)) {
1944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1945 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1515);
1953 var4
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var1
);
1961 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1965 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
1966 { /* var9 = array_instance Array[Object] */
1968 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArraykernel__Object
);
1969 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var5
;
1970 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var_cond
;
1972 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Object]>*/;
1976 var12
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_string__Object__to_s
]))(var9
) /* to_s on <var9:Array[Object]>*/;
1979 { /* Inline typing#AExpr#mtype (self) on <self:ANotExpr> */
1980 var15
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ANotExpr> */
1982 RET_LABEL14
:(void)0;
1985 if (unlikely(var13
== NULL
)) {
1986 PRINT_ERROR("Runtime error: %s", "Cast failed");
1987 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2724);
1991 var16
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var12
, var13
);
1998 /* method abstract_compiler#ANotExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1999 val
* VIRTUAL_abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2000 val
* var
/* : nullable RuntimeVariable */;
2001 val
* var1
/* : nullable RuntimeVariable */;
2002 var1
= abstract_compiler__ANotExpr__expr(self
, p0
);
2007 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2008 val
* abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2009 val
* var
/* : nullable RuntimeVariable */;
2010 val
* var_v
/* var v: AbstractCompilerVisitor */;
2011 val
* var1
/* : nullable MType */;
2012 val
* var3
/* : nullable MType */;
2013 val
* var4
/* : RuntimeVariable */;
2014 val
* var_res
/* var res: RuntimeVariable */;
2015 val
* var5
/* : AExpr */;
2016 val
* var7
/* : AExpr */;
2017 val
* var8
/* : null */;
2018 val
* var9
/* : RuntimeVariable */;
2019 val
* var_i1
/* var i1: RuntimeVariable */;
2020 static val
* varonce
;
2021 val
* var10
/* : String */;
2022 char* var11
/* : NativeString */;
2023 long var12
/* : Int */;
2024 val
* var13
/* : FlatString */;
2025 static val
* varonce14
;
2026 val
* var15
/* : String */;
2027 char* var16
/* : NativeString */;
2028 long var17
/* : Int */;
2029 val
* var18
/* : FlatString */;
2030 val
* var19
/* : Array[Object] */;
2031 long var20
/* : Int */;
2032 val
* var21
/* : NativeArray[Object] */;
2033 val
* var22
/* : String */;
2034 static val
* varonce23
;
2035 val
* var24
/* : String */;
2036 char* var25
/* : NativeString */;
2037 long var26
/* : Int */;
2038 val
* var27
/* : FlatString */;
2039 val
* var28
/* : AExpr */;
2040 val
* var30
/* : AExpr */;
2041 val
* var31
/* : null */;
2042 val
* var32
/* : RuntimeVariable */;
2043 val
* var_i2
/* var i2: RuntimeVariable */;
2044 static val
* varonce33
;
2045 val
* var34
/* : String */;
2046 char* var35
/* : NativeString */;
2047 long var36
/* : Int */;
2048 val
* var37
/* : FlatString */;
2051 { /* Inline typing#AExpr#mtype (self) on <self:AOrElseExpr> */
2052 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrElseExpr> */
2057 if (unlikely(var1
== NULL
)) {
2058 PRINT_ERROR("Runtime error: %s", "Cast failed");
2059 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2731);
2063 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
2067 { /* Inline parser_nodes#AOrElseExpr#n_expr (self) on <self:AOrElseExpr> */
2068 var7
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
2069 if (unlikely(var7
== NULL
)) {
2070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2071 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1500);
2080 var9
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var5
, var8
);
2088 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2095 var16
= "!=NULL) {";
2097 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2101 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
2102 { /* var19 = array_instance Array[Object] */
2104 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
2105 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
2106 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_i1
;
2107 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
2109 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2113 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2116 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2119 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_res
, var_i1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2126 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2131 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2134 { /* Inline parser_nodes#AOrElseExpr#n_expr2 (self) on <self:AOrElseExpr> */
2135 var30
= self
->attrs
[COLOR_parser_nodes__AOrElseExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
2136 if (unlikely(var30
== NULL
)) {
2137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2138 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1501);
2142 RET_LABEL29
:(void)0;
2147 var32
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var28
, var31
);
2151 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_res
, var_i2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2158 var37
= string__NativeString__to_s_with_length(var35
, var36
);
2163 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2170 /* method abstract_compiler#AOrElseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2171 val
* VIRTUAL_abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2172 val
* var
/* : nullable RuntimeVariable */;
2173 val
* var1
/* : nullable RuntimeVariable */;
2174 var1
= abstract_compiler__AOrElseExpr__expr(self
, p0
);
2179 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2180 val
* abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2181 val
* var
/* : nullable RuntimeVariable */;
2182 val
* var_v
/* var v: AbstractCompilerVisitor */;
2183 val
* var1
/* : nullable Int */;
2184 val
* var3
/* : nullable Int */;
2185 val
* var4
/* : String */;
2186 long var5
/* : Int */;
2187 val
* var6
/* : Array[Object] */;
2188 long var7
/* : Int */;
2189 val
* var8
/* : NativeArray[Object] */;
2190 val
* var9
/* : String */;
2191 val
* var10
/* : nullable MType */;
2192 val
* var12
/* : nullable MType */;
2193 val
* var13
/* : RuntimeVariable */;
2196 { /* Inline literal#AIntExpr#value (self) on <self:AIntExpr> */
2197 var3
= self
->attrs
[COLOR_literal__AIntExpr___value
].val
; /* _value on <self:AIntExpr> */
2203 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2204 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2744);
2207 var5
= ((struct instance_kernel__Int
*)var1
)->value
; /* autounbox from nullable Int to Int */;
2208 var4
= string__Int__to_s(var5
);
2210 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2211 { /* var6 = array_instance Array[Object] */
2213 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArraykernel__Object
);
2214 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var4
;
2216 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[Object]>*/;
2220 var9
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__Object__to_s
]))(var6
) /* to_s on <var6:Array[Object]>*/;
2223 { /* Inline typing#AExpr#mtype (self) on <self:AIntExpr> */
2224 var12
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AIntExpr> */
2226 RET_LABEL11
:(void)0;
2229 if (unlikely(var10
== NULL
)) {
2230 PRINT_ERROR("Runtime error: %s", "Cast failed");
2231 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2744);
2235 var13
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var9
, var10
);
2242 /* method abstract_compiler#AIntExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2243 val
* VIRTUAL_abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2244 val
* var
/* : nullable RuntimeVariable */;
2245 val
* var1
/* : nullable RuntimeVariable */;
2246 var1
= abstract_compiler__AIntExpr__expr(self
, p0
);
2251 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2252 val
* abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
2253 val
* var
/* : nullable RuntimeVariable */;
2254 val
* var_v
/* var v: AbstractCompilerVisitor */;
2255 val
* var1
/* : TFloat */;
2256 val
* var3
/* : TFloat */;
2257 val
* var4
/* : String */;
2258 val
* var5
/* : Array[Object] */;
2259 long var6
/* : Int */;
2260 val
* var7
/* : NativeArray[Object] */;
2261 val
* var8
/* : String */;
2262 val
* var9
/* : nullable MType */;
2263 val
* var11
/* : nullable MType */;
2264 val
* var12
/* : RuntimeVariable */;
2267 { /* Inline parser_nodes#AFloatExpr#n_float (self) on <self:AFloatExpr> */
2268 var3
= self
->attrs
[COLOR_parser_nodes__AFloatExpr___n_float
].val
; /* _n_float on <self:AFloatExpr> */
2269 if (unlikely(var3
== NULL
)) {
2270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
2271 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1824);
2279 var4
= lexer_work__Token__text(var1
);
2281 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2282 { /* var5 = array_instance Array[Object] */
2284 var7
= NEW_array__NativeArray(var6
, &type_array__NativeArraykernel__Object
);
2285 ((struct instance_array__NativeArray
*)var7
)->values
[0] = (val
*) var4
;
2287 ((void (*)(val
*, val
*, long))(var5
->class->vft
[COLOR_array__Array__with_native
]))(var5
, var7
, var6
) /* with_native on <var5:Array[Object]>*/;
2291 var8
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:Array[Object]>*/;
2294 { /* Inline typing#AExpr#mtype (self) on <self:AFloatExpr> */
2295 var11
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AFloatExpr> */
2297 RET_LABEL10
:(void)0;
2300 if (unlikely(var9
== NULL
)) {
2301 PRINT_ERROR("Runtime error: %s", "Cast failed");
2302 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2748);
2306 var12
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var8
, var9
);
2313 /* method abstract_compiler#AFloatExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2314 val
* VIRTUAL_abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
2315 val
* var
/* : nullable RuntimeVariable */;
2316 val
* var1
/* : nullable RuntimeVariable */;
2317 var1
= abstract_compiler__AFloatExpr__expr(self
, p0
);
2322 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2323 val
* abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
2324 val
* var
/* : nullable RuntimeVariable */;
2325 val
* var_v
/* var v: AbstractCompilerVisitor */;
2326 static val
* varonce
;
2327 val
* var1
/* : String */;
2328 char* var2
/* : NativeString */;
2329 long var3
/* : Int */;
2330 val
* var4
/* : FlatString */;
2331 val
* var5
/* : nullable Char */;
2332 val
* var7
/* : nullable Char */;
2333 val
* var8
/* : String */;
2334 char var9
/* : Char */;
2335 val
* var10
/* : String */;
2336 static val
* varonce11
;
2337 val
* var12
/* : String */;
2338 char* var13
/* : NativeString */;
2339 long var14
/* : Int */;
2340 val
* var15
/* : FlatString */;
2341 val
* var16
/* : Array[Object] */;
2342 long var17
/* : Int */;
2343 val
* var18
/* : NativeArray[Object] */;
2344 val
* var19
/* : String */;
2345 val
* var20
/* : nullable MType */;
2346 val
* var22
/* : nullable MType */;
2347 val
* var23
/* : RuntimeVariable */;
2354 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2359 { /* Inline literal#ACharExpr#value (self) on <self:ACharExpr> */
2360 var7
= self
->attrs
[COLOR_literal__ACharExpr___value
].val
; /* _value on <self:ACharExpr> */
2366 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2367 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2752);
2370 var9
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Char to Char */;
2371 var8
= string__Char__to_s(var9
);
2374 var10
= string__Text__escape_to_c(var8
);
2381 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2385 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
2386 { /* var16 = array_instance Array[Object] */
2388 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
2389 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
2390 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var10
;
2391 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2393 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2397 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2400 { /* Inline typing#AExpr#mtype (self) on <self:ACharExpr> */
2401 var22
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ACharExpr> */
2403 RET_LABEL21
:(void)0;
2406 if (unlikely(var20
== NULL
)) {
2407 PRINT_ERROR("Runtime error: %s", "Cast failed");
2408 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2752);
2412 var23
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var19
, var20
);
2419 /* method abstract_compiler#ACharExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2420 val
* VIRTUAL_abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
2421 val
* var
/* : nullable RuntimeVariable */;
2422 val
* var1
/* : nullable RuntimeVariable */;
2423 var1
= abstract_compiler__ACharExpr__expr(self
, p0
);
2428 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2429 val
* abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
2430 val
* var
/* : nullable RuntimeVariable */;
2431 val
* var_v
/* var v: AbstractCompilerVisitor */;
2432 val
* var1
/* : nullable MType */;
2433 val
* var3
/* : nullable MType */;
2434 short int var4
/* : Bool */;
2437 const char* var_class_name
;
2438 val
* var5
/* : Array[MType] */;
2439 val
* var7
/* : Array[MType] */;
2440 val
* var8
/* : nullable Object */;
2441 val
* var_mtype
/* var mtype: MType */;
2442 val
* var9
/* : Array[RuntimeVariable] */;
2443 val
* var_array
/* var array: Array[RuntimeVariable] */;
2444 val
* var10
/* : AExprs */;
2445 val
* var12
/* : AExprs */;
2446 val
* var13
/* : ANodes[AExpr] */;
2447 val
* var15
/* : ANodes[AExpr] */;
2448 val
* var_
/* var : ANodes[AExpr] */;
2449 val
* var16
/* : Iterator[ANode] */;
2450 val
* var_17
/* var : Iterator[AExpr] */;
2451 short int var18
/* : Bool */;
2452 val
* var19
/* : nullable Object */;
2453 val
* var_nexpr
/* var nexpr: AExpr */;
2454 val
* var20
/* : RuntimeVariable */;
2455 val
* var_i
/* var i: RuntimeVariable */;
2456 val
* var22
/* : RuntimeVariable */;
2459 { /* Inline typing#AExpr#mtype (self) on <self:AArrayExpr> */
2460 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AArrayExpr> */
2465 /* <var1:nullable MType> isa MClassType */
2466 cltype
= type_model__MClassType
.color
;
2467 idtype
= type_model__MClassType
.id
;
2471 if(cltype
>= var1
->type
->table_size
) {
2474 var4
= var1
->type
->type_table
[cltype
] == idtype
;
2477 if (unlikely(!var4
)) {
2478 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
2479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2480 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2758);
2484 { /* Inline model#MClassType#arguments (var1) on <var1:nullable MType(MClassType)> */
2485 var7
= var1
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var1:nullable MType(MClassType)> */
2486 if (unlikely(var7
== NULL
)) {
2487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2488 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
2496 var8
= abstract_collection__SequenceRead__first(var5
);
2499 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2501 ((void (*)(val
*))(var9
->class->vft
[COLOR_kernel__Object__init
]))(var9
) /* init on <var9:Array[RuntimeVariable]>*/;
2505 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
2506 var12
= self
->attrs
[COLOR_parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
2507 if (unlikely(var12
== NULL
)) {
2508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2509 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1776);
2513 RET_LABEL11
:(void)0;
2517 { /* Inline parser_nodes#AExprs#n_exprs (var10) on <var10:AExprs> */
2518 var15
= var10
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var10:AExprs> */
2519 if (unlikely(var15
== NULL
)) {
2520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2521 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
2525 RET_LABEL14
:(void)0;
2530 var16
= parser_nodes__ANodes__iterator(var_
);
2535 var18
= ((short int (*)(val
*))(var_17
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_17
) /* is_ok on <var_17:Iterator[AExpr]>*/;
2539 var19
= ((val
* (*)(val
*))(var_17
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_17
) /* item on <var_17:Iterator[AExpr]>*/;
2543 var20
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_nexpr
, var_mtype
);
2547 array__Array__add(var_array
, var_i
); /* Direct call array#Array#add on <var_array:Array[RuntimeVariable]>*/
2550 ((void (*)(val
*))(var_17
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_17
) /* next on <var_17:Iterator[AExpr]>*/;
2556 BREAK_label
: (void)0;
2558 { /* Inline abstract_collection#Iterator#finish (var_17) on <var_17:Iterator[AExpr]> */
2559 RET_LABEL21
:(void)0;
2563 var22
= separate_compiler__SeparateCompilerVisitor__array_instance(var_v
, var_array
, var_mtype
);
2570 /* method abstract_compiler#AArrayExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2571 val
* VIRTUAL_abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
2572 val
* var
/* : nullable RuntimeVariable */;
2573 val
* var1
/* : nullable RuntimeVariable */;
2574 var1
= abstract_compiler__AArrayExpr__expr(self
, p0
);
2579 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2580 val
* abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
2581 val
* var
/* : nullable RuntimeVariable */;
2582 val
* var_v
/* var v: AbstractCompilerVisitor */;
2583 val
* var1
/* : nullable String */;
2584 val
* var3
/* : nullable String */;
2585 val
* var4
/* : RuntimeVariable */;
2588 { /* Inline literal#AStringFormExpr#value (self) on <self:AStringFormExpr> */
2589 var3
= self
->attrs
[COLOR_literal__AStringFormExpr___value
].val
; /* _value on <self:AStringFormExpr> */
2594 if (unlikely(var1
== NULL
)) {
2595 PRINT_ERROR("Runtime error: %s", "Cast failed");
2596 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2769);
2600 var4
= abstract_compiler__AbstractCompilerVisitor__string_instance(var_v
, var1
);
2607 /* method abstract_compiler#AStringFormExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2608 val
* VIRTUAL_abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
2609 val
* var
/* : nullable RuntimeVariable */;
2610 val
* var1
/* : nullable RuntimeVariable */;
2611 var1
= abstract_compiler__AStringFormExpr__expr(self
, p0
);
2616 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2617 val
* abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
2618 val
* var
/* : nullable RuntimeVariable */;
2619 val
* var_v
/* var v: AbstractCompilerVisitor */;
2620 val
* var1
/* : Array[RuntimeVariable] */;
2621 val
* var_array
/* var array: Array[RuntimeVariable] */;
2622 val
* var2
/* : ANodes[AExpr] */;
2623 val
* var4
/* : ANodes[AExpr] */;
2624 val
* var_
/* var : ANodes[AExpr] */;
2625 val
* var5
/* : Iterator[ANode] */;
2626 val
* var_6
/* var : Iterator[AExpr] */;
2627 short int var7
/* : Bool */;
2628 val
* var8
/* : nullable Object */;
2629 val
* var_ne
/* var ne: AExpr */;
2630 short int var9
/* : Bool */;
2631 short int var10
/* : Bool */;
2634 short int var_11
/* var : Bool */;
2635 val
* var12
/* : nullable String */;
2636 val
* var14
/* : nullable String */;
2637 static val
* varonce
;
2638 val
* var15
/* : String */;
2639 char* var16
/* : NativeString */;
2640 long var17
/* : Int */;
2641 val
* var18
/* : FlatString */;
2642 short int var19
/* : Bool */;
2643 short int var20
/* : Bool */;
2644 val
* var21
/* : null */;
2645 val
* var22
/* : RuntimeVariable */;
2646 val
* var_i
/* var i: RuntimeVariable */;
2647 val
* var25
/* : MClassType */;
2648 val
* var26
/* : RuntimeVariable */;
2649 val
* var_a
/* var a: RuntimeVariable */;
2650 static val
* varonce27
;
2651 val
* var28
/* : String */;
2652 char* var29
/* : NativeString */;
2653 long var30
/* : Int */;
2654 val
* var31
/* : FlatString */;
2655 val
* var32
/* : MType */;
2656 val
* var34
/* : MType */;
2657 val
* var35
/* : MMethod */;
2658 val
* var36
/* : Array[RuntimeVariable] */;
2659 long var37
/* : Int */;
2660 val
* var_38
/* var : Array[RuntimeVariable] */;
2661 val
* var39
/* : nullable RuntimeVariable */;
2662 val
* var_res
/* var res: nullable RuntimeVariable */;
2664 var1
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2666 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:Array[RuntimeVariable]>*/;
2670 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
2671 var4
= self
->attrs
[COLOR_parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
2672 if (unlikely(var4
== NULL
)) {
2673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2674 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1861);
2683 var5
= parser_nodes__ANodes__iterator(var_
);
2688 var7
= ((short int (*)(val
*))(var_6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_6
) /* is_ok on <var_6:Iterator[AExpr]>*/;
2692 var8
= ((val
* (*)(val
*))(var_6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_6
) /* item on <var_6:Iterator[AExpr]>*/;
2695 /* <var_ne:AExpr> isa AStringFormExpr */
2696 cltype
= type_parser_nodes__AStringFormExpr
.color
;
2697 idtype
= type_parser_nodes__AStringFormExpr
.id
;
2698 if(cltype
>= var_ne
->type
->table_size
) {
2701 var10
= var_ne
->type
->type_table
[cltype
] == idtype
;
2706 { /* Inline literal#AStringFormExpr#value (var_ne) on <var_ne:AExpr(AStringFormExpr)> */
2707 var14
= var_ne
->attrs
[COLOR_literal__AStringFormExpr___value
].val
; /* _value on <var_ne:AExpr(AStringFormExpr)> */
2709 RET_LABEL13
:(void)0;
2717 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2721 if (var12
== NULL
) {
2722 var19
= 0; /* <var15:String> cannot be null */
2724 var20
= string__FlatString___61d_61d(var12
, var15
);
2737 var22
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_ne
, var21
);
2741 array__Array__add(var_array
, var_i
); /* Direct call array#Array#add on <var_array:Array[RuntimeVariable]>*/
2743 BREAK_label
: (void)0;
2745 ((void (*)(val
*))(var_6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_6
) /* next on <var_6:Iterator[AExpr]>*/;
2751 BREAK_label23
: (void)0;
2753 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:Iterator[AExpr]> */
2754 RET_LABEL24
:(void)0;
2758 var25
= abstract_compiler__AbstractCompilerVisitor__object_type(var_v
);
2761 var26
= separate_compiler__SeparateCompilerVisitor__array_instance(var_v
, var_array
, var25
);
2769 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2774 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_a) on <var_a:RuntimeVariable> */
2775 var34
= var_a
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_a:RuntimeVariable> */
2776 if (unlikely(var34
== NULL
)) {
2777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2778 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
2782 RET_LABEL33
:(void)0;
2786 var35
= abstract_compiler__AbstractCompilerVisitor__get_property(var_v
, var28
, var32
);
2788 var36
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2791 array__Array__with_capacity(var36
, var37
); /* Direct call array#Array#with_capacity on <var36:Array[RuntimeVariable]>*/
2795 array__AbstractArray__push(var_38
, var_a
); /* Direct call array#AbstractArray#push on <var_38:Array[RuntimeVariable]>*/
2798 var39
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var35
, var_38
);
2806 /* method abstract_compiler#ASuperstringExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2807 val
* VIRTUAL_abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
2808 val
* var
/* : nullable RuntimeVariable */;
2809 val
* var1
/* : nullable RuntimeVariable */;
2810 var1
= abstract_compiler__ASuperstringExpr__expr(self
, p0
);
2815 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2816 val
* abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
2817 val
* var
/* : nullable RuntimeVariable */;
2818 val
* var_v
/* var v: AbstractCompilerVisitor */;
2819 val
* var1
/* : AExpr */;
2820 val
* var3
/* : AExpr */;
2821 val
* var4
/* : null */;
2822 val
* var5
/* : RuntimeVariable */;
2823 val
* var_i1
/* var i1: RuntimeVariable */;
2824 val
* var6
/* : AExpr */;
2825 val
* var8
/* : AExpr */;
2826 val
* var9
/* : null */;
2827 val
* var10
/* : RuntimeVariable */;
2828 val
* var_i2
/* var i2: RuntimeVariable */;
2829 val
* var11
/* : nullable MType */;
2830 val
* var13
/* : nullable MType */;
2831 short int var14
/* : Bool */;
2834 const char* var_class_name
;
2835 val
* var_mtype
/* var mtype: MClassType */;
2836 val
* var15
/* : RuntimeVariable */;
2837 val
* var_res
/* var res: RuntimeVariable */;
2838 val
* var16
/* : nullable CallSite */;
2839 val
* var18
/* : nullable CallSite */;
2840 val
* var19
/* : Array[RuntimeVariable] */;
2841 long var20
/* : Int */;
2842 val
* var_
/* var : Array[RuntimeVariable] */;
2843 val
* var21
/* : nullable RuntimeVariable */;
2846 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ACrangeExpr> */
2847 var3
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ACrangeExpr> */
2848 if (unlikely(var3
== NULL
)) {
2849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2850 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754);
2859 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
2863 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ACrangeExpr> */
2864 var8
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ACrangeExpr> */
2865 if (unlikely(var8
== NULL
)) {
2866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2867 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755);
2876 var10
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var6
, var9
);
2880 { /* Inline typing#AExpr#mtype (self) on <self:ACrangeExpr> */
2881 var13
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ACrangeExpr> */
2883 RET_LABEL12
:(void)0;
2886 /* <var11:nullable MType> isa MClassType */
2887 cltype
= type_model__MClassType
.color
;
2888 idtype
= type_model__MClassType
.id
;
2892 if(cltype
>= var11
->type
->table_size
) {
2895 var14
= var11
->type
->type_table
[cltype
] == idtype
;
2898 if (unlikely(!var14
)) {
2899 var_class_name
= var11
== NULL ?
"null" : var11
->type
->name
;
2900 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2901 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2792);
2906 var15
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
2910 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:ACrangeExpr> */
2911 var18
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ACrangeExpr> */
2913 RET_LABEL17
:(void)0;
2916 if (unlikely(var16
== NULL
)) {
2917 PRINT_ERROR("Runtime error: %s", "Cast failed");
2918 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2794);
2921 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2924 array__Array__with_capacity(var19
, var20
); /* Direct call array#Array#with_capacity on <var19:Array[RuntimeVariable]>*/
2928 array__AbstractArray__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2931 array__AbstractArray__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2934 array__AbstractArray__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2937 var21
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var16
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
2944 /* method abstract_compiler#ACrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2945 val
* VIRTUAL_abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
2946 val
* var
/* : nullable RuntimeVariable */;
2947 val
* var1
/* : nullable RuntimeVariable */;
2948 var1
= abstract_compiler__ACrangeExpr__expr(self
, p0
);
2953 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2954 val
* abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
2955 val
* var
/* : nullable RuntimeVariable */;
2956 val
* var_v
/* var v: AbstractCompilerVisitor */;
2957 val
* var1
/* : AExpr */;
2958 val
* var3
/* : AExpr */;
2959 val
* var4
/* : null */;
2960 val
* var5
/* : RuntimeVariable */;
2961 val
* var_i1
/* var i1: RuntimeVariable */;
2962 val
* var6
/* : AExpr */;
2963 val
* var8
/* : AExpr */;
2964 val
* var9
/* : null */;
2965 val
* var10
/* : RuntimeVariable */;
2966 val
* var_i2
/* var i2: RuntimeVariable */;
2967 val
* var11
/* : nullable MType */;
2968 val
* var13
/* : nullable MType */;
2969 short int var14
/* : Bool */;
2972 const char* var_class_name
;
2973 val
* var_mtype
/* var mtype: MClassType */;
2974 val
* var15
/* : RuntimeVariable */;
2975 val
* var_res
/* var res: RuntimeVariable */;
2976 val
* var16
/* : nullable CallSite */;
2977 val
* var18
/* : nullable CallSite */;
2978 val
* var19
/* : Array[RuntimeVariable] */;
2979 long var20
/* : Int */;
2980 val
* var_
/* var : Array[RuntimeVariable] */;
2981 val
* var21
/* : nullable RuntimeVariable */;
2984 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:AOrangeExpr> */
2985 var3
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:AOrangeExpr> */
2986 if (unlikely(var3
== NULL
)) {
2987 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2988 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1754);
2997 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
3001 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:AOrangeExpr> */
3002 var8
= self
->attrs
[COLOR_parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrangeExpr> */
3003 if (unlikely(var8
== NULL
)) {
3004 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3005 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1755);
3014 var10
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var6
, var9
);
3018 { /* Inline typing#AExpr#mtype (self) on <self:AOrangeExpr> */
3019 var13
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrangeExpr> */
3021 RET_LABEL12
:(void)0;
3024 /* <var11:nullable MType> isa MClassType */
3025 cltype
= type_model__MClassType
.color
;
3026 idtype
= type_model__MClassType
.id
;
3030 if(cltype
>= var11
->type
->table_size
) {
3033 var14
= var11
->type
->type_table
[cltype
] == idtype
;
3036 if (unlikely(!var14
)) {
3037 var_class_name
= var11
== NULL ?
"null" : var11
->type
->name
;
3038 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3039 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2804);
3044 var15
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3048 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:AOrangeExpr> */
3049 var18
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:AOrangeExpr> */
3051 RET_LABEL17
:(void)0;
3054 if (unlikely(var16
== NULL
)) {
3055 PRINT_ERROR("Runtime error: %s", "Cast failed");
3056 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2806);
3059 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3062 array__Array__with_capacity(var19
, var20
); /* Direct call array#Array#with_capacity on <var19:Array[RuntimeVariable]>*/
3066 array__AbstractArray__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3069 array__AbstractArray__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3072 array__AbstractArray__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3075 var21
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var16
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
3082 /* method abstract_compiler#AOrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3083 val
* VIRTUAL_abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3084 val
* var
/* : nullable RuntimeVariable */;
3085 val
* var1
/* : nullable RuntimeVariable */;
3086 var1
= abstract_compiler__AOrangeExpr__expr(self
, p0
);
3091 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3092 val
* abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3093 val
* var
/* : nullable RuntimeVariable */;
3094 val
* var_v
/* var v: AbstractCompilerVisitor */;
3095 static val
* varonce
;
3096 val
* var1
/* : String */;
3097 char* var2
/* : NativeString */;
3098 long var3
/* : Int */;
3099 val
* var4
/* : FlatString */;
3100 val
* var5
/* : nullable MType */;
3101 val
* var7
/* : nullable MType */;
3102 val
* var8
/* : RuntimeVariable */;
3109 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3114 { /* Inline typing#AExpr#mtype (self) on <self:ATrueExpr> */
3115 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ATrueExpr> */
3120 if (unlikely(var5
== NULL
)) {
3121 PRINT_ERROR("Runtime error: %s", "Cast failed");
3122 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2812);
3126 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
3133 /* method abstract_compiler#ATrueExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3134 val
* VIRTUAL_abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3135 val
* var
/* : nullable RuntimeVariable */;
3136 val
* var1
/* : nullable RuntimeVariable */;
3137 var1
= abstract_compiler__ATrueExpr__expr(self
, p0
);
3142 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3143 val
* abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3144 val
* var
/* : nullable RuntimeVariable */;
3145 val
* var_v
/* var v: AbstractCompilerVisitor */;
3146 static val
* varonce
;
3147 val
* var1
/* : String */;
3148 char* var2
/* : NativeString */;
3149 long var3
/* : Int */;
3150 val
* var4
/* : FlatString */;
3151 val
* var5
/* : nullable MType */;
3152 val
* var7
/* : nullable MType */;
3153 val
* var8
/* : RuntimeVariable */;
3160 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3165 { /* Inline typing#AExpr#mtype (self) on <self:AFalseExpr> */
3166 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AFalseExpr> */
3171 if (unlikely(var5
== NULL
)) {
3172 PRINT_ERROR("Runtime error: %s", "Cast failed");
3173 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2816);
3177 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
3184 /* method abstract_compiler#AFalseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3185 val
* VIRTUAL_abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3186 val
* var
/* : nullable RuntimeVariable */;
3187 val
* var1
/* : nullable RuntimeVariable */;
3188 var1
= abstract_compiler__AFalseExpr__expr(self
, p0
);
3193 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3194 val
* abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3195 val
* var
/* : nullable RuntimeVariable */;
3196 val
* var_v
/* var v: AbstractCompilerVisitor */;
3197 static val
* varonce
;
3198 val
* var1
/* : String */;
3199 char* var2
/* : NativeString */;
3200 long var3
/* : Int */;
3201 val
* var4
/* : FlatString */;
3202 val
* var5
/* : nullable MType */;
3203 val
* var7
/* : nullable MType */;
3204 val
* var8
/* : RuntimeVariable */;
3211 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3216 { /* Inline typing#AExpr#mtype (self) on <self:ANullExpr> */
3217 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ANullExpr> */
3222 if (unlikely(var5
== NULL
)) {
3223 PRINT_ERROR("Runtime error: %s", "Cast failed");
3224 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2820);
3228 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
3235 /* method abstract_compiler#ANullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3236 val
* VIRTUAL_abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3237 val
* var
/* : nullable RuntimeVariable */;
3238 val
* var1
/* : nullable RuntimeVariable */;
3239 var1
= abstract_compiler__ANullExpr__expr(self
, p0
);
3244 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3245 val
* abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3246 val
* var
/* : nullable RuntimeVariable */;
3247 val
* var_v
/* var v: AbstractCompilerVisitor */;
3248 val
* var1
/* : AExpr */;
3249 val
* var3
/* : AExpr */;
3250 val
* var4
/* : null */;
3251 val
* var5
/* : RuntimeVariable */;
3252 val
* var_i
/* var i: RuntimeVariable */;
3253 val
* var6
/* : nullable MType */;
3254 val
* var8
/* : nullable MType */;
3255 static val
* varonce
;
3256 val
* var9
/* : String */;
3257 char* var10
/* : NativeString */;
3258 long var11
/* : Int */;
3259 val
* var12
/* : FlatString */;
3260 val
* var13
/* : RuntimeVariable */;
3263 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
3264 var3
= self
->attrs
[COLOR_parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
3265 if (unlikely(var3
== NULL
)) {
3266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3267 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1561);
3276 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
3280 { /* Inline typing#AIsaExpr#cast_type (self) on <self:AIsaExpr> */
3281 var8
= self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
3286 if (unlikely(var6
== NULL
)) {
3287 PRINT_ERROR("Runtime error: %s", "Cast failed");
3288 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2827);
3296 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3301 var13
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var6
, var9
) /* type_test on <var_v:AbstractCompilerVisitor>*/;
3308 /* method abstract_compiler#AIsaExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3309 val
* VIRTUAL_abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3310 val
* var
/* : nullable RuntimeVariable */;
3311 val
* var1
/* : nullable RuntimeVariable */;
3312 var1
= abstract_compiler__AIsaExpr__expr(self
, p0
);
3317 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3318 val
* abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3319 val
* var
/* : nullable RuntimeVariable */;
3320 val
* var_v
/* var v: AbstractCompilerVisitor */;
3321 val
* var1
/* : AExpr */;
3322 val
* var3
/* : AExpr */;
3323 val
* var4
/* : null */;
3324 val
* var5
/* : RuntimeVariable */;
3325 val
* var_i
/* var i: RuntimeVariable */;
3326 val
* var6
/* : AbstractCompiler */;
3327 val
* var8
/* : AbstractCompiler */;
3328 val
* var9
/* : ModelBuilder */;
3329 val
* var11
/* : ModelBuilder */;
3330 val
* var12
/* : ToolContext */;
3331 val
* var14
/* : ToolContext */;
3332 val
* var15
/* : OptionBool */;
3333 val
* var17
/* : OptionBool */;
3334 val
* var18
/* : nullable Object */;
3335 val
* var20
/* : nullable Object */;
3336 short int var21
/* : Bool */;
3337 val
* var22
/* : nullable MType */;
3338 val
* var24
/* : nullable MType */;
3339 static val
* varonce
;
3340 val
* var25
/* : String */;
3341 char* var26
/* : NativeString */;
3342 long var27
/* : Int */;
3343 val
* var28
/* : FlatString */;
3346 { /* Inline parser_nodes#AAsCastExpr#n_expr (self) on <self:AAsCastExpr> */
3347 var3
= self
->attrs
[COLOR_parser_nodes__AAsCastExpr___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
3348 if (unlikely(var3
== NULL
)) {
3349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3350 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1875);
3359 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
3363 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
3364 var8
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
3365 if (unlikely(var8
== NULL
)) {
3366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3367 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
3375 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
3376 var11
= var6
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
3377 if (unlikely(var11
== NULL
)) {
3378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3379 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3383 RET_LABEL10
:(void)0;
3387 { /* Inline modelbuilder#ModelBuilder#toolcontext (var9) on <var9:ModelBuilder> */
3388 var14
= var9
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var9:ModelBuilder> */
3389 if (unlikely(var14
== NULL
)) {
3390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3391 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3395 RET_LABEL13
:(void)0;
3399 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var12) on <var12:ToolContext> */
3400 var17
= var12
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var12:ToolContext> */
3401 if (unlikely(var17
== NULL
)) {
3402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
3403 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 53);
3407 RET_LABEL16
:(void)0;
3411 { /* Inline opts#Option#value (var15) on <var15:OptionBool> */
3412 var20
= var15
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var15:OptionBool> */
3414 RET_LABEL19
:(void)0;
3417 var21
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
3424 { /* Inline typing#AExpr#mtype (self) on <self:AAsCastExpr> */
3425 var24
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AAsCastExpr> */
3427 RET_LABEL23
:(void)0;
3430 if (unlikely(var22
== NULL
)) {
3431 PRINT_ERROR("Runtime error: %s", "Cast failed");
3432 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2837);
3440 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3445 abstract_compiler__AbstractCompilerVisitor__add_cast(var_v
, var_i
, var22
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
3452 /* method abstract_compiler#AAsCastExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3453 val
* VIRTUAL_abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3454 val
* var
/* : nullable RuntimeVariable */;
3455 val
* var1
/* : nullable RuntimeVariable */;
3456 var1
= abstract_compiler__AAsCastExpr__expr(self
, p0
);
3461 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3462 val
* abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3463 val
* var
/* : nullable RuntimeVariable */;
3464 val
* var_v
/* var v: AbstractCompilerVisitor */;
3465 val
* var1
/* : AExpr */;
3466 val
* var3
/* : AExpr */;
3467 val
* var4
/* : null */;
3468 val
* var5
/* : RuntimeVariable */;
3469 val
* var_i
/* var i: RuntimeVariable */;
3470 val
* var6
/* : AbstractCompiler */;
3471 val
* var8
/* : AbstractCompiler */;
3472 val
* var9
/* : ModelBuilder */;
3473 val
* var11
/* : ModelBuilder */;
3474 val
* var12
/* : ToolContext */;
3475 val
* var14
/* : ToolContext */;
3476 val
* var15
/* : OptionBool */;
3477 val
* var17
/* : OptionBool */;
3478 val
* var18
/* : nullable Object */;
3479 val
* var20
/* : nullable Object */;
3480 short int var21
/* : Bool */;
3481 val
* var22
/* : MType */;
3482 val
* var24
/* : MType */;
3483 val
* var25
/* : String */;
3484 static val
* varonce
;
3485 val
* var26
/* : String */;
3486 char* var27
/* : NativeString */;
3487 long var28
/* : Int */;
3488 val
* var29
/* : FlatString */;
3489 short int var30
/* : Bool */;
3490 short int var31
/* : Bool */;
3491 val
* var_other
/* var other: nullable Object */;
3492 short int var33
/* : Bool */;
3493 short int var34
/* : Bool */;
3494 short int var35
/* : Bool */;
3495 static val
* varonce36
;
3496 val
* var37
/* : String */;
3497 char* var38
/* : NativeString */;
3498 long var39
/* : Int */;
3499 val
* var40
/* : FlatString */;
3500 static val
* varonce41
;
3501 val
* var42
/* : String */;
3502 char* var43
/* : NativeString */;
3503 long var44
/* : Int */;
3504 val
* var45
/* : FlatString */;
3505 val
* var46
/* : Array[Object] */;
3506 long var47
/* : Int */;
3507 val
* var48
/* : NativeArray[Object] */;
3508 val
* var49
/* : String */;
3509 static val
* varonce50
;
3510 val
* var51
/* : String */;
3511 char* var52
/* : NativeString */;
3512 long var53
/* : Int */;
3513 val
* var54
/* : FlatString */;
3514 static val
* varonce55
;
3515 val
* var56
/* : String */;
3516 char* var57
/* : NativeString */;
3517 long var58
/* : Int */;
3518 val
* var59
/* : FlatString */;
3521 { /* Inline parser_nodes#AAsNotnullExpr#n_expr (self) on <self:AAsNotnullExpr> */
3522 var3
= self
->attrs
[COLOR_parser_nodes__AAsNotnullExpr___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
3523 if (unlikely(var3
== NULL
)) {
3524 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3525 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1885);
3534 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
3538 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
3539 var8
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
3540 if (unlikely(var8
== NULL
)) {
3541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3542 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
3550 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
3551 var11
= var6
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
3552 if (unlikely(var11
== NULL
)) {
3553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3554 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3558 RET_LABEL10
:(void)0;
3562 { /* Inline modelbuilder#ModelBuilder#toolcontext (var9) on <var9:ModelBuilder> */
3563 var14
= var9
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var9:ModelBuilder> */
3564 if (unlikely(var14
== NULL
)) {
3565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3566 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3570 RET_LABEL13
:(void)0;
3574 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var12) on <var12:ToolContext> */
3575 var17
= var12
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var12:ToolContext> */
3576 if (unlikely(var17
== NULL
)) {
3577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
3578 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 53);
3582 RET_LABEL16
:(void)0;
3586 { /* Inline opts#Option#value (var15) on <var15:OptionBool> */
3587 var20
= var15
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var15:OptionBool> */
3589 RET_LABEL19
:(void)0;
3592 var21
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
3599 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_i) on <var_i:RuntimeVariable> */
3600 var24
= var_i
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_i:RuntimeVariable> */
3601 if (unlikely(var24
== NULL
)) {
3602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3603 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
3607 RET_LABEL23
:(void)0;
3611 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var22
) /* ctype on <var22:MType>*/;
3618 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3623 { /* Inline kernel#Object#!= (var25,var26) on <var25:String> */
3626 var34
= ((short int (*)(val
*, val
*))(var25
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var25
, var_other
) /* == on <var25:String>*/;
3632 RET_LABEL32
:(void)0;
3644 var38
= "if (unlikely(";
3646 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3653 var43
= " == NULL)) {";
3655 var45
= string__NativeString__to_s_with_length(var43
, var44
);
3659 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
3660 { /* var46 = array_instance Array[Object] */
3662 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
3663 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
3664 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var_i
;
3665 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
3667 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
3671 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
3674 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3679 var52
= "Cast failed";
3681 var54
= string__NativeString__to_s_with_length(var52
, var53
);
3686 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var51
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
3693 var59
= string__NativeString__to_s_with_length(var57
, var58
);
3698 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var56
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3705 /* method abstract_compiler#AAsNotnullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3706 val
* VIRTUAL_abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3707 val
* var
/* : nullable RuntimeVariable */;
3708 val
* var1
/* : nullable RuntimeVariable */;
3709 var1
= abstract_compiler__AAsNotnullExpr__expr(self
, p0
);
3714 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3715 val
* abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3716 val
* var
/* : nullable RuntimeVariable */;
3717 val
* var_v
/* var v: AbstractCompilerVisitor */;
3718 val
* var1
/* : AExpr */;
3719 val
* var3
/* : AExpr */;
3720 val
* var4
/* : null */;
3721 val
* var5
/* : RuntimeVariable */;
3724 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
3725 var3
= self
->attrs
[COLOR_parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
3726 if (unlikely(var3
== NULL
)) {
3727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3728 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1868);
3737 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
3744 /* method abstract_compiler#AParExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3745 val
* VIRTUAL_abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3746 val
* var
/* : nullable RuntimeVariable */;
3747 val
* var1
/* : nullable RuntimeVariable */;
3748 var1
= abstract_compiler__AParExpr__expr(self
, p0
);
3753 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3754 val
* abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
3755 val
* var
/* : nullable RuntimeVariable */;
3756 val
* var_v
/* var v: AbstractCompilerVisitor */;
3757 val
* var1
/* : nullable MType */;
3758 val
* var3
/* : nullable MType */;
3759 val
* var_mtype
/* var mtype: MType */;
3760 static val
* varonce
;
3761 val
* var4
/* : String */;
3762 char* var5
/* : NativeString */;
3763 long var6
/* : Int */;
3764 val
* var7
/* : FlatString */;
3765 val
* var8
/* : String */;
3766 val
* var_name
/* var name: String */;
3767 static val
* varonce9
;
3768 val
* var10
/* : String */;
3769 char* var11
/* : NativeString */;
3770 long var12
/* : Int */;
3771 val
* var13
/* : FlatString */;
3772 val
* var14
/* : String */;
3773 val
* var15
/* : String */;
3774 val
* var_guard
/* var guard: String */;
3775 static val
* varonce16
;
3776 val
* var17
/* : String */;
3777 char* var18
/* : NativeString */;
3778 long var19
/* : Int */;
3779 val
* var20
/* : FlatString */;
3780 val
* var21
/* : String */;
3781 static val
* varonce22
;
3782 val
* var23
/* : String */;
3783 char* var24
/* : NativeString */;
3784 long var25
/* : Int */;
3785 val
* var26
/* : FlatString */;
3786 static val
* varonce27
;
3787 val
* var28
/* : String */;
3788 char* var29
/* : NativeString */;
3789 long var30
/* : Int */;
3790 val
* var31
/* : FlatString */;
3791 val
* var32
/* : Array[Object] */;
3792 long var33
/* : Int */;
3793 val
* var34
/* : NativeArray[Object] */;
3794 val
* var35
/* : String */;
3795 static val
* varonce36
;
3796 val
* var37
/* : String */;
3797 char* var38
/* : NativeString */;
3798 long var39
/* : Int */;
3799 val
* var40
/* : FlatString */;
3800 static val
* varonce41
;
3801 val
* var42
/* : String */;
3802 char* var43
/* : NativeString */;
3803 long var44
/* : Int */;
3804 val
* var45
/* : FlatString */;
3805 val
* var46
/* : Array[Object] */;
3806 long var47
/* : Int */;
3807 val
* var48
/* : NativeArray[Object] */;
3808 val
* var49
/* : String */;
3809 val
* var50
/* : RuntimeVariable */;
3810 val
* var_res
/* var res: RuntimeVariable */;
3811 static val
* varonce51
;
3812 val
* var52
/* : String */;
3813 char* var53
/* : NativeString */;
3814 long var54
/* : Int */;
3815 val
* var55
/* : FlatString */;
3816 static val
* varonce56
;
3817 val
* var57
/* : String */;
3818 char* var58
/* : NativeString */;
3819 long var59
/* : Int */;
3820 val
* var60
/* : FlatString */;
3821 val
* var61
/* : Array[Object] */;
3822 long var62
/* : Int */;
3823 val
* var63
/* : NativeArray[Object] */;
3824 val
* var64
/* : String */;
3825 static val
* varonce65
;
3826 val
* var66
/* : String */;
3827 char* var67
/* : NativeString */;
3828 long var68
/* : Int */;
3829 val
* var69
/* : FlatString */;
3830 static val
* varonce70
;
3831 val
* var71
/* : String */;
3832 char* var72
/* : NativeString */;
3833 long var73
/* : Int */;
3834 val
* var74
/* : FlatString */;
3835 val
* var75
/* : Array[Object] */;
3836 long var76
/* : Int */;
3837 val
* var77
/* : NativeArray[Object] */;
3838 val
* var78
/* : String */;
3839 static val
* varonce79
;
3840 val
* var80
/* : String */;
3841 char* var81
/* : NativeString */;
3842 long var82
/* : Int */;
3843 val
* var83
/* : FlatString */;
3844 val
* var84
/* : AExpr */;
3845 val
* var86
/* : AExpr */;
3846 val
* var87
/* : RuntimeVariable */;
3847 val
* var_i
/* var i: RuntimeVariable */;
3848 static val
* varonce88
;
3849 val
* var89
/* : String */;
3850 char* var90
/* : NativeString */;
3851 long var91
/* : Int */;
3852 val
* var92
/* : FlatString */;
3853 static val
* varonce93
;
3854 val
* var94
/* : String */;
3855 char* var95
/* : NativeString */;
3856 long var96
/* : Int */;
3857 val
* var97
/* : FlatString */;
3858 val
* var98
/* : Array[Object] */;
3859 long var99
/* : Int */;
3860 val
* var100
/* : NativeArray[Object] */;
3861 val
* var101
/* : String */;
3862 static val
* varonce102
;
3863 val
* var103
/* : String */;
3864 char* var104
/* : NativeString */;
3865 long var105
/* : Int */;
3866 val
* var106
/* : FlatString */;
3867 static val
* varonce107
;
3868 val
* var108
/* : String */;
3869 char* var109
/* : NativeString */;
3870 long var110
/* : Int */;
3871 val
* var111
/* : FlatString */;
3872 val
* var112
/* : Array[Object] */;
3873 long var113
/* : Int */;
3874 val
* var114
/* : NativeArray[Object] */;
3875 val
* var115
/* : String */;
3876 static val
* varonce116
;
3877 val
* var117
/* : String */;
3878 char* var118
/* : NativeString */;
3879 long var119
/* : Int */;
3880 val
* var120
/* : FlatString */;
3881 val
* var121
/* : Array[Object] */;
3882 long var122
/* : Int */;
3883 val
* var123
/* : NativeArray[Object] */;
3884 val
* var124
/* : String */;
3885 static val
* varonce125
;
3886 val
* var126
/* : String */;
3887 char* var127
/* : NativeString */;
3888 long var128
/* : Int */;
3889 val
* var129
/* : FlatString */;
3892 { /* Inline typing#AExpr#mtype (self) on <self:AOnceExpr> */
3893 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOnceExpr> */
3898 if (unlikely(var1
== NULL
)) {
3899 PRINT_ERROR("Runtime error: %s", "Cast failed");
3900 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2864);
3909 var7
= string__NativeString__to_s_with_length(var5
, var6
);
3914 var8
= abstract_compiler__AbstractCompilerVisitor__get_name(var_v
, var4
);
3922 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3927 var14
= string__FlatString___43d(var_name
, var10
);
3930 var15
= abstract_compiler__AbstractCompilerVisitor__get_name(var_v
, var14
);
3938 var20
= string__NativeString__to_s_with_length(var18
, var19
);
3943 var21
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3950 var26
= string__NativeString__to_s_with_length(var24
, var25
);
3959 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3963 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
3964 { /* var32 = array_instance Array[Object] */
3966 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
3967 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var17
;
3968 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
3969 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
3970 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_name
;
3971 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
3973 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
3977 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
3980 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3985 var38
= "static int ";
3987 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3996 var45
= string__NativeString__to_s_with_length(var43
, var44
);
4000 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
4001 { /* var46 = array_instance Array[Object] */
4003 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
4004 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
4005 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var_guard
;
4006 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
4008 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
4012 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
4015 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
4018 var50
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var_mtype
);
4026 var55
= string__NativeString__to_s_with_length(var53
, var54
);
4035 var60
= string__NativeString__to_s_with_length(var58
, var59
);
4039 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
4040 { /* var61 = array_instance Array[Object] */
4042 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
4043 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
4044 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var_guard
;
4045 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
4047 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
4051 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
4054 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4061 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4070 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4074 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
4075 { /* var75 = array_instance Array[Object] */
4077 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
4078 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var_res
;
4079 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var66
;
4080 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var_name
;
4081 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var71
;
4083 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
4087 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
4090 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var78
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4097 var83
= string__NativeString__to_s_with_length(var81
, var82
);
4102 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4105 { /* Inline parser_nodes#AOnceExpr#n_expr (self) on <self:AOnceExpr> */
4106 var86
= self
->attrs
[COLOR_parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
4107 if (unlikely(var86
== NULL
)) {
4108 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4109 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1459);
4113 RET_LABEL85
:(void)0;
4117 var87
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var84
, var_mtype
);
4125 var92
= string__NativeString__to_s_with_length(var90
, var91
);
4134 var97
= string__NativeString__to_s_with_length(var95
, var96
);
4138 var98
= NEW_array__Array(&type_array__Arraykernel__Object
);
4139 { /* var98 = array_instance Array[Object] */
4141 var100
= NEW_array__NativeArray(var99
, &type_array__NativeArraykernel__Object
);
4142 ((struct instance_array__NativeArray
*)var100
)->values
[0] = (val
*) var_res
;
4143 ((struct instance_array__NativeArray
*)var100
)->values
[1] = (val
*) var89
;
4144 ((struct instance_array__NativeArray
*)var100
)->values
[2] = (val
*) var_i
;
4145 ((struct instance_array__NativeArray
*)var100
)->values
[3] = (val
*) var94
;
4147 ((void (*)(val
*, val
*, long))(var98
->class->vft
[COLOR_array__Array__with_native
]))(var98
, var100
, var99
) /* with_native on <var98:Array[Object]>*/;
4151 var101
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_string__Object__to_s
]))(var98
) /* to_s on <var98:Array[Object]>*/;
4154 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var101
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4157 var103
= varonce102
;
4161 var106
= string__NativeString__to_s_with_length(var104
, var105
);
4163 varonce102
= var103
;
4166 var108
= varonce107
;
4170 var111
= string__NativeString__to_s_with_length(var109
, var110
);
4172 varonce107
= var108
;
4174 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
4175 { /* var112 = array_instance Array[Object] */
4177 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
4178 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_name
;
4179 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var103
;
4180 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var_res
;
4181 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
4183 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
4187 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
4190 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4193 var117
= varonce116
;
4197 var120
= string__NativeString__to_s_with_length(var118
, var119
);
4199 varonce116
= var117
;
4201 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
4202 { /* var121 = array_instance Array[Object] */
4204 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
4205 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var_guard
;
4206 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var117
;
4208 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
4212 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
4215 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4218 var126
= varonce125
;
4222 var129
= string__NativeString__to_s_with_length(var127
, var128
);
4224 varonce125
= var126
;
4227 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4234 /* method abstract_compiler#AOnceExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4235 val
* VIRTUAL_abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
4236 val
* var
/* : nullable RuntimeVariable */;
4237 val
* var1
/* : nullable RuntimeVariable */;
4238 var1
= abstract_compiler__AOnceExpr__expr(self
, p0
);
4243 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4244 val
* abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4245 val
* var
/* : nullable RuntimeVariable */;
4246 val
* var_v
/* var v: AbstractCompilerVisitor */;
4247 val
* var1
/* : AExpr */;
4248 val
* var3
/* : AExpr */;
4249 val
* var4
/* : null */;
4250 val
* var5
/* : RuntimeVariable */;
4251 val
* var_recv
/* var recv: RuntimeVariable */;
4252 val
* var6
/* : nullable CallSite */;
4253 val
* var8
/* : nullable CallSite */;
4254 val
* var_callsite
/* var callsite: CallSite */;
4255 val
* var9
/* : MMethodDef */;
4256 val
* var11
/* : MMethodDef */;
4257 val
* var12
/* : Array[AExpr] */;
4258 val
* var13
/* : Array[RuntimeVariable] */;
4259 val
* var_args
/* var args: Array[RuntimeVariable] */;
4260 val
* var14
/* : nullable RuntimeVariable */;
4263 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
4264 var3
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
4265 if (unlikely(var3
== NULL
)) {
4266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4267 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
4276 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
4280 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
4281 var8
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
4286 if (unlikely(var6
== NULL
)) {
4287 PRINT_ERROR("Runtime error: %s", "Cast failed");
4288 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2886);
4291 var_callsite
= var6
;
4293 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4294 var11
= var_callsite
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4295 if (unlikely(var11
== NULL
)) {
4296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4297 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
4301 RET_LABEL10
:(void)0;
4305 var12
= typing__ASendExpr__raw_arguments(self
);
4308 var13
= abstract_compiler__AbstractCompilerVisitor__varargize(var_v
, var9
, var_recv
, var12
);
4312 var14
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4319 /* method abstract_compiler#ASendExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4320 val
* VIRTUAL_abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4321 val
* var
/* : nullable RuntimeVariable */;
4322 val
* var1
/* : nullable RuntimeVariable */;
4323 var1
= abstract_compiler__ASendExpr__expr(self
, p0
);
4328 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
4329 void abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4330 val
* var_v
/* var v: AbstractCompilerVisitor */;
4331 val
* var
/* : AExpr */;
4332 val
* var2
/* : AExpr */;
4333 val
* var3
/* : null */;
4334 val
* var4
/* : RuntimeVariable */;
4335 val
* var_recv
/* var recv: RuntimeVariable */;
4336 val
* var5
/* : nullable CallSite */;
4337 val
* var7
/* : nullable CallSite */;
4338 val
* var_callsite
/* var callsite: CallSite */;
4339 val
* var8
/* : MMethodDef */;
4340 val
* var10
/* : MMethodDef */;
4341 val
* var11
/* : Array[AExpr] */;
4342 val
* var12
/* : Array[RuntimeVariable] */;
4343 val
* var_args
/* var args: Array[RuntimeVariable] */;
4344 val
* var13
/* : AExpr */;
4345 val
* var15
/* : AExpr */;
4346 val
* var16
/* : null */;
4347 val
* var17
/* : RuntimeVariable */;
4348 val
* var_value
/* var value: RuntimeVariable */;
4349 val
* var18
/* : nullable RuntimeVariable */;
4350 val
* var_left
/* var left: nullable RuntimeVariable */;
4351 val
* var19
/* : null */;
4352 short int var20
/* : Bool */;
4353 short int var21
/* : Bool */;
4354 val
* var_other
/* var other: nullable Object */;
4355 short int var23
/* : Bool */;
4356 short int var24
/* : Bool */;
4357 short int var25
/* : Bool */;
4358 val
* var26
/* : nullable CallSite */;
4359 val
* var28
/* : nullable CallSite */;
4360 val
* var29
/* : Array[RuntimeVariable] */;
4361 long var30
/* : Int */;
4362 val
* var_
/* var : Array[RuntimeVariable] */;
4363 val
* var31
/* : nullable RuntimeVariable */;
4364 val
* var_res
/* var res: nullable RuntimeVariable */;
4365 val
* var32
/* : null */;
4366 short int var33
/* : Bool */;
4367 short int var34
/* : Bool */;
4368 short int var36
/* : Bool */;
4369 short int var37
/* : Bool */;
4370 short int var38
/* : Bool */;
4371 val
* var39
/* : nullable CallSite */;
4372 val
* var41
/* : nullable CallSite */;
4373 val
* var42
/* : nullable RuntimeVariable */;
4376 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
4377 var2
= self
->attrs
[COLOR_parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
4378 if (unlikely(var2
== NULL
)) {
4379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4380 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1466);
4389 var4
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var3
);
4393 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendReassignFormExpr> */
4394 var7
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendReassignFormExpr> */
4399 if (unlikely(var5
== NULL
)) {
4400 PRINT_ERROR("Runtime error: %s", "Cast failed");
4401 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2896);
4404 var_callsite
= var5
;
4406 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4407 var10
= var_callsite
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4408 if (unlikely(var10
== NULL
)) {
4409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4410 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
4418 var11
= typing__ASendExpr__raw_arguments(self
);
4421 var12
= abstract_compiler__AbstractCompilerVisitor__varargize(var_v
, var8
, var_recv
, var11
);
4425 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
4426 var15
= self
->attrs
[COLOR_parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ASendReassignFormExpr> */
4427 if (unlikely(var15
== NULL
)) {
4428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
4429 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452);
4433 RET_LABEL14
:(void)0;
4438 var17
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var13
, var16
);
4442 var18
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4446 if (var_left
== NULL
) {
4447 var20
= 0; /* is null */
4449 var20
= 1; /* arg is null and recv is not */
4452 { /* Inline kernel#Object#!= (var_left,var19) on <var_left:nullable RuntimeVariable> */
4455 var24
= ((short int (*)(val
*, val
*))(var_left
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_left
, var_other
) /* == on <var_left:nullable RuntimeVariable(RuntimeVariable)>*/;
4461 RET_LABEL22
:(void)0;
4465 if (unlikely(!var20
)) {
4466 PRINT_ERROR("Runtime error: %s", "Assert failed");
4467 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2902);
4471 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:ASendReassignFormExpr> */
4472 var28
= self
->attrs
[COLOR_typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:ASendReassignFormExpr> */
4474 RET_LABEL27
:(void)0;
4477 if (unlikely(var26
== NULL
)) {
4478 PRINT_ERROR("Runtime error: %s", "Cast failed");
4479 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2904);
4482 var29
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4485 array__Array__with_capacity(var29
, var30
); /* Direct call array#Array#with_capacity on <var29:Array[RuntimeVariable]>*/
4489 array__AbstractArray__push(var_
, var_left
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
4492 array__AbstractArray__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
4495 var31
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var26
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4499 if (var_res
== NULL
) {
4500 var33
= 0; /* is null */
4502 var33
= 1; /* arg is null and recv is not */
4505 { /* Inline kernel#Object#!= (var_res,var32) on <var_res:nullable RuntimeVariable> */
4508 var37
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
4514 RET_LABEL35
:(void)0;
4518 if (unlikely(!var33
)) {
4519 PRINT_ERROR("Runtime error: %s", "Assert failed");
4520 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2905);
4524 array__Array__add(var_args
, var_res
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
4527 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:ASendReassignFormExpr> */
4528 var41
= self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
4530 RET_LABEL40
:(void)0;
4533 if (unlikely(var39
== NULL
)) {
4534 PRINT_ERROR("Runtime error: %s", "Cast failed");
4535 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2908);
4539 var42
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var39
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4543 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4544 void VIRTUAL_abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4545 abstract_compiler__ASendReassignFormExpr__stmt(self
, p0
); /* Direct call abstract_compiler#ASendReassignFormExpr#stmt on <self:Object(ASendReassignFormExpr)>*/
4548 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4549 val
* abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4550 val
* var
/* : nullable RuntimeVariable */;
4551 val
* var_v
/* var v: AbstractCompilerVisitor */;
4552 val
* var1
/* : nullable Frame */;
4553 val
* var3
/* : nullable Frame */;
4554 val
* var4
/* : Array[RuntimeVariable] */;
4555 val
* var6
/* : Array[RuntimeVariable] */;
4556 val
* var7
/* : nullable Object */;
4557 val
* var_recv
/* var recv: RuntimeVariable */;
4558 val
* var8
/* : nullable CallSite */;
4559 val
* var10
/* : nullable CallSite */;
4560 val
* var_callsite
/* var callsite: nullable CallSite */;
4561 val
* var11
/* : null */;
4562 short int var12
/* : Bool */;
4563 short int var13
/* : Bool */;
4564 val
* var_other
/* var other: nullable Object */;
4565 short int var15
/* : Bool */;
4566 short int var16
/* : Bool */;
4567 short int var17
/* : Bool */;
4568 val
* var18
/* : MMethodDef */;
4569 val
* var20
/* : MMethodDef */;
4570 val
* var21
/* : AExprs */;
4571 val
* var23
/* : AExprs */;
4572 val
* var24
/* : ANodes[AExpr] */;
4573 val
* var26
/* : ANodes[AExpr] */;
4574 val
* var27
/* : Array[RuntimeVariable] */;
4575 val
* var_args
/* var args: Array[RuntimeVariable] */;
4576 long var28
/* : Int */;
4577 long var30
/* : Int */;
4578 long var31
/* : Int */;
4579 short int var32
/* : Bool */;
4580 short int var33
/* : Bool */;
4581 short int var35
/* : Bool */;
4582 long var36
/* : Int */;
4583 long var_i
/* var i: Int */;
4584 val
* var37
/* : MSignature */;
4585 val
* var39
/* : MSignature */;
4586 long var40
/* : Int */;
4587 long var_
/* var : Int */;
4588 short int var41
/* : Bool */;
4589 short int var43
/* : Bool */;
4592 const char* var_class_name
;
4593 short int var44
/* : Bool */;
4594 val
* var45
/* : nullable Frame */;
4595 val
* var47
/* : nullable Frame */;
4596 val
* var48
/* : Array[RuntimeVariable] */;
4597 val
* var50
/* : Array[RuntimeVariable] */;
4598 long var51
/* : Int */;
4599 long var52
/* : Int */;
4600 short int var54
/* : Bool */;
4603 const char* var_class_name57
;
4604 long var58
/* : Int */;
4605 val
* var59
/* : nullable Object */;
4606 long var60
/* : Int */;
4607 long var61
/* : Int */;
4608 val
* var62
/* : nullable RuntimeVariable */;
4609 val
* var_res
/* var res: nullable RuntimeVariable */;
4610 val
* var63
/* : nullable MMethodDef */;
4611 val
* var65
/* : nullable MMethodDef */;
4612 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
4613 val
* var66
/* : AExprs */;
4614 val
* var68
/* : AExprs */;
4615 val
* var69
/* : ANodes[AExpr] */;
4616 val
* var71
/* : ANodes[AExpr] */;
4617 val
* var72
/* : Array[RuntimeVariable] */;
4618 val
* var_args73
/* var args: Array[RuntimeVariable] */;
4619 long var74
/* : Int */;
4620 long var76
/* : Int */;
4621 long var77
/* : Int */;
4622 short int var78
/* : Bool */;
4623 short int var79
/* : Bool */;
4624 short int var81
/* : Bool */;
4625 val
* var82
/* : nullable Frame */;
4626 val
* var84
/* : nullable Frame */;
4627 val
* var85
/* : Array[RuntimeVariable] */;
4628 val
* var87
/* : Array[RuntimeVariable] */;
4629 val
* var88
/* : MType */;
4630 val
* var90
/* : MType */;
4631 short int var91
/* : Bool */;
4634 const char* var_class_name94
;
4635 val
* var95
/* : nullable RuntimeVariable */;
4638 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4639 var3
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4645 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4646 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2915);
4649 { /* Inline abstract_compiler#Frame#arguments (var1) on <var1:nullable Frame> */
4650 if (unlikely(var1
== NULL
)) {
4651 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4652 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4655 var6
= var1
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var1:nullable Frame> */
4656 if (unlikely(var6
== NULL
)) {
4657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4658 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4666 var7
= abstract_collection__SequenceRead__first(var4
);
4670 { /* Inline typing#ASuperExpr#callsite (self) on <self:ASuperExpr> */
4671 var10
= self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
4676 var_callsite
= var8
;
4678 if (var_callsite
== NULL
) {
4679 var12
= 0; /* is null */
4681 var12
= 1; /* arg is null and recv is not */
4684 { /* Inline kernel#Object#!= (var_callsite,var11) on <var_callsite:nullable CallSite> */
4687 var16
= ((short int (*)(val
*, val
*))(var_callsite
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_callsite
, var_other
) /* == on <var_callsite:nullable CallSite(CallSite)>*/;
4693 RET_LABEL14
:(void)0;
4699 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
4700 var20
= var_callsite
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:nullable CallSite(CallSite)> */
4701 if (unlikely(var20
== NULL
)) {
4702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4703 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
4707 RET_LABEL19
:(void)0;
4711 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
4712 var23
= self
->attrs
[COLOR_parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
4713 if (unlikely(var23
== NULL
)) {
4714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4715 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1691);
4719 RET_LABEL22
:(void)0;
4723 { /* Inline parser_nodes#AExprs#n_exprs (var21) on <var21:AExprs> */
4724 var26
= var21
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var21:AExprs> */
4725 if (unlikely(var26
== NULL
)) {
4726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4727 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
4731 RET_LABEL25
:(void)0;
4735 var27
= abstract_compiler__AbstractCompilerVisitor__varargize(var_v
, var18
, var_recv
, var24
);
4739 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[RuntimeVariable]> */
4740 var30
= var_args
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[RuntimeVariable]> */
4742 RET_LABEL29
:(void)0;
4747 { /* Inline kernel#Int#== (var28,var31) on <var28:Int> */
4748 var35
= var28
== var31
;
4751 RET_LABEL34
:(void)0;
4759 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
4760 var39
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
4761 if (unlikely(var39
== NULL
)) {
4762 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
4763 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
4767 RET_LABEL38
:(void)0;
4771 var40
= model__MSignature__arity(var37
);
4776 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
4777 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
4778 /* <var_:Int> isa OTHER */
4779 var43
= 1; /* easy <var_:Int> isa OTHER*/
4780 if (unlikely(!var43
)) {
4781 var_class_name
= type_kernel__Int
.name
;
4782 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4783 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
4786 var44
= var_i
< var_
;
4789 RET_LABEL42
:(void)0;
4794 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4795 var47
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4797 RET_LABEL46
:(void)0;
4800 if (var45
== NULL
) {
4801 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4802 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2924);
4805 { /* Inline abstract_compiler#Frame#arguments (var45) on <var45:nullable Frame> */
4806 if (unlikely(var45
== NULL
)) {
4807 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4808 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4811 var50
= var45
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var45:nullable Frame> */
4812 if (unlikely(var50
== NULL
)) {
4813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4814 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4818 RET_LABEL49
:(void)0;
4823 { /* Inline kernel#Int#+ (var_i,var51) on <var_i:Int> */
4824 /* Covariant cast for argument 0 (i) <var51:Int> isa OTHER */
4825 /* <var51:Int> isa OTHER */
4826 var54
= 1; /* easy <var51:Int> isa OTHER*/
4827 if (unlikely(!var54
)) {
4828 var_class_name57
= type_kernel__Int
.name
;
4829 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
4830 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4833 var58
= var_i
+ var51
;
4836 RET_LABEL53
:(void)0;
4840 var59
= array__Array___91d_93d(var48
, var52
);
4843 array__Array__add(var_args
, var59
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
4847 var61
= kernel__Int__successor(var_i
, var60
);
4854 BREAK_label
: (void)0;
4858 var62
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4866 { /* Inline typing#ASuperExpr#mpropdef (self) on <self:ASuperExpr> */
4867 var65
= self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
4869 RET_LABEL64
:(void)0;
4872 if (unlikely(var63
== NULL
)) {
4873 PRINT_ERROR("Runtime error: %s", "Cast failed");
4874 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2932);
4877 var_mpropdef
= var63
;
4879 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
4880 var68
= self
->attrs
[COLOR_parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
4881 if (unlikely(var68
== NULL
)) {
4882 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4883 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1691);
4887 RET_LABEL67
:(void)0;
4891 { /* Inline parser_nodes#AExprs#n_exprs (var66) on <var66:AExprs> */
4892 var71
= var66
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var66:AExprs> */
4893 if (unlikely(var71
== NULL
)) {
4894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4895 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
4899 RET_LABEL70
:(void)0;
4903 var72
= abstract_compiler__AbstractCompilerVisitor__varargize(var_v
, var_mpropdef
, var_recv
, var69
);
4907 { /* Inline array#AbstractArrayRead#length (var_args73) on <var_args73:Array[RuntimeVariable]> */
4908 var76
= var_args73
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_args73:Array[RuntimeVariable]> */
4910 RET_LABEL75
:(void)0;
4915 { /* Inline kernel#Int#== (var74,var77) on <var74:Int> */
4916 var81
= var74
== var77
;
4919 RET_LABEL80
:(void)0;
4925 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4926 var84
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4928 RET_LABEL83
:(void)0;
4931 if (var82
== NULL
) {
4932 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4933 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2935);
4936 { /* Inline abstract_compiler#Frame#arguments (var82) on <var82:nullable Frame> */
4937 if (unlikely(var82
== NULL
)) {
4938 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4939 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4942 var87
= var82
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var82:nullable Frame> */
4943 if (unlikely(var87
== NULL
)) {
4944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4945 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
4949 RET_LABEL86
:(void)0;
4956 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
4957 var90
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
4958 if (unlikely(var90
== NULL
)) {
4959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4960 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
4964 RET_LABEL89
:(void)0;
4967 /* <var88:MType> isa MClassType */
4968 cltype92
= type_model__MClassType
.color
;
4969 idtype93
= type_model__MClassType
.id
;
4970 if(cltype92
>= var88
->type
->table_size
) {
4973 var91
= var88
->type
->type_table
[cltype92
] == idtype93
;
4975 if (unlikely(!var91
)) {
4976 var_class_name94
= var88
== NULL ?
"null" : var88
->type
->name
;
4977 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name94
);
4978 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2939);
4982 var95
= separate_compiler__SeparateCompilerVisitor__supercall(var_v
, var_mpropdef
, var88
, var_args73
);
4989 /* method abstract_compiler#ASuperExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4990 val
* VIRTUAL_abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4991 val
* var
/* : nullable RuntimeVariable */;
4992 val
* var1
/* : nullable RuntimeVariable */;
4993 var1
= abstract_compiler__ASuperExpr__expr(self
, p0
);
4998 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4999 val
* abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
5000 val
* var
/* : nullable RuntimeVariable */;
5001 val
* var_v
/* var v: AbstractCompilerVisitor */;
5002 val
* var1
/* : nullable MClassType */;
5003 val
* var3
/* : nullable MClassType */;
5004 val
* var_mtype
/* var mtype: nullable MClassType */;
5005 val
* var4
/* : null */;
5006 short int var5
/* : Bool */;
5007 short int var6
/* : Bool */;
5008 val
* var_other
/* var other: nullable Object */;
5009 short int var8
/* : Bool */;
5010 short int var9
/* : Bool */;
5011 short int var10
/* : Bool */;
5012 val
* var11
/* : String */;
5013 val
* var_ctype
/* var ctype: String */;
5014 val
* var12
/* : MClass */;
5015 val
* var14
/* : MClass */;
5016 val
* var15
/* : String */;
5017 val
* var17
/* : String */;
5018 static val
* varonce
;
5019 val
* var18
/* : String */;
5020 char* var19
/* : NativeString */;
5021 long var20
/* : Int */;
5022 val
* var21
/* : FlatString */;
5023 short int var22
/* : Bool */;
5024 short int var23
/* : Bool */;
5025 val
* var24
/* : AExprs */;
5026 val
* var26
/* : AExprs */;
5027 val
* var27
/* : ANodes[AExpr] */;
5028 val
* var29
/* : ANodes[AExpr] */;
5029 long var30
/* : Int */;
5030 long var31
/* : Int */;
5031 short int var32
/* : Bool */;
5032 short int var33
/* : Bool */;
5033 short int var35
/* : Bool */;
5034 val
* var36
/* : AExprs */;
5035 val
* var38
/* : AExprs */;
5036 val
* var39
/* : ANodes[AExpr] */;
5037 val
* var41
/* : ANodes[AExpr] */;
5038 val
* var42
/* : nullable Object */;
5039 val
* var43
/* : null */;
5040 val
* var44
/* : RuntimeVariable */;
5041 val
* var_l
/* var l: RuntimeVariable */;
5042 short int var45
/* : Bool */;
5045 val
* var46
/* : Array[MType] */;
5046 val
* var48
/* : Array[MType] */;
5047 val
* var49
/* : nullable Object */;
5048 val
* var_elttype
/* var elttype: MType */;
5049 val
* var50
/* : RuntimeVariable */;
5050 static val
* varonce51
;
5051 val
* var52
/* : String */;
5052 char* var53
/* : NativeString */;
5053 long var54
/* : Int */;
5054 val
* var55
/* : FlatString */;
5055 short int var56
/* : Bool */;
5056 short int var57
/* : Bool */;
5057 val
* var58
/* : RuntimeVariable */;
5058 val
* var_recv
/* var recv: nullable Object */;
5059 static val
* varonce59
;
5060 val
* var60
/* : String */;
5061 char* var61
/* : NativeString */;
5062 long var62
/* : Int */;
5063 val
* var63
/* : FlatString */;
5064 short int var64
/* : Bool */;
5065 short int var65
/* : Bool */;
5066 static val
* varonce66
;
5067 val
* var67
/* : String */;
5068 char* var68
/* : NativeString */;
5069 long var69
/* : Int */;
5070 val
* var70
/* : FlatString */;
5071 val
* var71
/* : RuntimeVariable */;
5072 static val
* varonce72
;
5073 val
* var73
/* : String */;
5074 char* var74
/* : NativeString */;
5075 long var75
/* : Int */;
5076 val
* var76
/* : FlatString */;
5077 static val
* varonce77
;
5078 val
* var78
/* : String */;
5079 char* var79
/* : NativeString */;
5080 long var80
/* : Int */;
5081 val
* var81
/* : FlatString */;
5082 val
* var82
/* : Array[Object] */;
5083 long var83
/* : Int */;
5084 val
* var84
/* : NativeArray[Object] */;
5085 val
* var85
/* : String */;
5086 val
* var86
/* : RuntimeVariable */;
5087 val
* var87
/* : nullable CallSite */;
5088 val
* var89
/* : nullable CallSite */;
5089 val
* var_callsite
/* var callsite: CallSite */;
5090 val
* var90
/* : MMethodDef */;
5091 val
* var92
/* : MMethodDef */;
5092 val
* var93
/* : AExprs */;
5093 val
* var95
/* : AExprs */;
5094 val
* var96
/* : ANodes[AExpr] */;
5095 val
* var98
/* : ANodes[AExpr] */;
5096 val
* var99
/* : Array[RuntimeVariable] */;
5097 val
* var_args
/* var args: Array[RuntimeVariable] */;
5098 val
* var100
/* : nullable RuntimeVariable */;
5099 val
* var_res2
/* var res2: nullable RuntimeVariable */;
5100 val
* var101
/* : null */;
5101 short int var102
/* : Bool */;
5102 short int var103
/* : Bool */;
5103 short int var105
/* : Bool */;
5104 short int var106
/* : Bool */;
5105 short int var107
/* : Bool */;
5108 { /* Inline typing#ANewExpr#recvtype (self) on <self:ANewExpr> */
5109 var3
= self
->attrs
[COLOR_typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
5116 if (var_mtype
== NULL
) {
5117 var5
= 0; /* is null */
5119 var5
= 1; /* arg is null and recv is not */
5122 { /* Inline kernel#Object#!= (var_mtype,var4) on <var_mtype:nullable MClassType> */
5125 var9
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mtype
, var_other
) /* == on <var_mtype:nullable MClassType(MClassType)>*/;
5135 if (unlikely(!var5
)) {
5136 PRINT_ERROR("Runtime error: %s", "Assert failed");
5137 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2947);
5141 var11
= abstract_compiler__MClassType__ctype(var_mtype
);
5145 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MClassType(MClassType)> */
5146 var14
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MClassType(MClassType)> */
5147 if (unlikely(var14
== NULL
)) {
5148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5149 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
5153 RET_LABEL13
:(void)0;
5157 { /* Inline model#MClass#name (var12) on <var12:MClass> */
5158 var17
= var12
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var12:MClass> */
5159 if (unlikely(var17
== NULL
)) {
5160 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5161 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
5165 RET_LABEL16
:(void)0;
5171 var19
= "NativeArray";
5173 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5178 var23
= string__FlatString___61d_61d(var15
, var18
);
5183 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5184 var26
= self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5185 if (unlikely(var26
== NULL
)) {
5186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5187 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1614);
5191 RET_LABEL25
:(void)0;
5195 { /* Inline parser_nodes#AExprs#n_exprs (var24) on <var24:AExprs> */
5196 var29
= var24
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var24:AExprs> */
5197 if (unlikely(var29
== NULL
)) {
5198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5199 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
5203 RET_LABEL28
:(void)0;
5207 var30
= parser_nodes__ANodes__length(var27
);
5211 { /* Inline kernel#Int#== (var30,var31) on <var30:Int> */
5212 var35
= var30
== var31
;
5215 RET_LABEL34
:(void)0;
5219 if (unlikely(!var32
)) {
5220 PRINT_ERROR("Runtime error: %s", "Assert failed");
5221 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2951);
5225 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5226 var38
= self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5227 if (unlikely(var38
== NULL
)) {
5228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5229 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1614);
5233 RET_LABEL37
:(void)0;
5237 { /* Inline parser_nodes#AExprs#n_exprs (var36) on <var36:AExprs> */
5238 var41
= var36
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var36:AExprs> */
5239 if (unlikely(var41
== NULL
)) {
5240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5241 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
5245 RET_LABEL40
:(void)0;
5249 var42
= abstract_collection__SequenceRead__first(var39
);
5253 var44
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var42
, var43
);
5256 /* <var_mtype:nullable MClassType(MClassType)> isa MGenericType */
5257 cltype
= type_model__MGenericType
.color
;
5258 idtype
= type_model__MGenericType
.id
;
5259 if(cltype
>= var_mtype
->type
->table_size
) {
5262 var45
= var_mtype
->type
->type_table
[cltype
] == idtype
;
5264 if (unlikely(!var45
)) {
5265 PRINT_ERROR("Runtime error: %s", "Assert failed");
5266 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2953);
5270 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:nullable MClassType(MGenericType)> */
5271 var48
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:nullable MClassType(MGenericType)> */
5272 if (unlikely(var48
== NULL
)) {
5273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5274 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
5278 RET_LABEL47
:(void)0;
5282 var49
= abstract_collection__SequenceRead__first(var46
);
5284 var_elttype
= var49
;
5286 var50
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(var_v
, var_elttype
, var_l
) /* native_array_instance on <var_v:AbstractCompilerVisitor>*/;
5296 var55
= string__NativeString__to_s_with_length(var53
, var54
);
5301 var57
= string__FlatString___61d_61d(var_ctype
, var52
);
5306 var58
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
5315 var63
= string__NativeString__to_s_with_length(var61
, var62
);
5320 var65
= string__FlatString___61d_61d(var_ctype
, var60
);
5327 var68
= "NULL/*special!*/";
5329 var70
= string__NativeString__to_s_with_length(var68
, var69
);
5334 var71
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var67
, var_mtype
);
5343 var76
= string__NativeString__to_s_with_length(var74
, var75
);
5350 var79
= ")0/*special!*/";
5352 var81
= string__NativeString__to_s_with_length(var79
, var80
);
5356 var82
= NEW_array__Array(&type_array__Arraykernel__Object
);
5357 { /* var82 = array_instance Array[Object] */
5359 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArraykernel__Object
);
5360 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var73
;
5361 ((struct instance_array__NativeArray
*)var84
)->values
[1] = (val
*) var_ctype
;
5362 ((struct instance_array__NativeArray
*)var84
)->values
[2] = (val
*) var78
;
5364 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[Object]>*/;
5368 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_string__Object__to_s
]))(var82
) /* to_s on <var82:Array[Object]>*/;
5371 var86
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var85
, var_mtype
);
5378 { /* Inline typing#ANewExpr#callsite (self) on <self:ANewExpr> */
5379 var89
= self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
5381 RET_LABEL88
:(void)0;
5384 if (unlikely(var87
== NULL
)) {
5385 PRINT_ERROR("Runtime error: %s", "Cast failed");
5386 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2964);
5389 var_callsite
= var87
;
5391 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
5392 var92
= var_callsite
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
5393 if (unlikely(var92
== NULL
)) {
5394 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
5395 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
5399 RET_LABEL91
:(void)0;
5403 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5404 var95
= self
->attrs
[COLOR_parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5405 if (unlikely(var95
== NULL
)) {
5406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5407 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1614);
5411 RET_LABEL94
:(void)0;
5415 { /* Inline parser_nodes#AExprs#n_exprs (var93) on <var93:AExprs> */
5416 var98
= var93
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var93:AExprs> */
5417 if (unlikely(var98
== NULL
)) {
5418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5419 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1946);
5423 RET_LABEL97
:(void)0;
5427 var99
= abstract_compiler__AbstractCompilerVisitor__varargize(var_v
, var90
, var_recv
, var96
);
5431 var100
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5435 if (var_res2
== NULL
) {
5436 var102
= 0; /* is null */
5438 var102
= 1; /* arg is null and recv is not */
5441 { /* Inline kernel#Object#!= (var_res2,var101) on <var_res2:nullable RuntimeVariable> */
5444 var106
= ((short int (*)(val
*, val
*))(var_res2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res2
, var_other
) /* == on <var_res2:nullable RuntimeVariable(RuntimeVariable)>*/;
5450 RET_LABEL104
:(void)0;
5464 /* method abstract_compiler#ANewExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5465 val
* VIRTUAL_abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
5466 val
* var
/* : nullable RuntimeVariable */;
5467 val
* var1
/* : nullable RuntimeVariable */;
5468 var1
= abstract_compiler__ANewExpr__expr(self
, p0
);
5473 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5474 val
* abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
5475 val
* var
/* : nullable RuntimeVariable */;
5476 val
* var_v
/* var v: AbstractCompilerVisitor */;
5477 val
* var1
/* : AExpr */;
5478 val
* var3
/* : AExpr */;
5479 val
* var4
/* : null */;
5480 val
* var5
/* : RuntimeVariable */;
5481 val
* var_recv
/* var recv: RuntimeVariable */;
5482 val
* var6
/* : nullable MAttribute */;
5483 val
* var8
/* : nullable MAttribute */;
5484 val
* var_mproperty
/* var mproperty: MAttribute */;
5485 val
* var9
/* : RuntimeVariable */;
5488 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrExpr> */
5489 var3
= self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrExpr> */
5490 if (unlikely(var3
== NULL
)) {
5491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5492 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621);
5501 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
5505 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrExpr> */
5506 var8
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrExpr> */
5511 if (unlikely(var6
== NULL
)) {
5512 PRINT_ERROR("Runtime error: %s", "Cast failed");
5513 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2979);
5516 var_mproperty
= var6
;
5518 var9
= separate_compiler__SeparateCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
5525 /* method abstract_compiler#AAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5526 val
* VIRTUAL_abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
5527 val
* var
/* : nullable RuntimeVariable */;
5528 val
* var1
/* : nullable RuntimeVariable */;
5529 var1
= abstract_compiler__AAttrExpr__expr(self
, p0
);
5534 /* method abstract_compiler#AAttrAssignExpr#expr for (self: AAttrAssignExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5535 val
* abstract_compiler__AAttrAssignExpr__expr(val
* self
, val
* p0
) {
5536 val
* var
/* : nullable RuntimeVariable */;
5537 val
* var_v
/* var v: AbstractCompilerVisitor */;
5538 val
* var1
/* : AExpr */;
5539 val
* var3
/* : AExpr */;
5540 val
* var4
/* : null */;
5541 val
* var5
/* : RuntimeVariable */;
5542 val
* var_recv
/* var recv: RuntimeVariable */;
5543 val
* var6
/* : AExpr */;
5544 val
* var8
/* : AExpr */;
5545 val
* var9
/* : null */;
5546 val
* var10
/* : RuntimeVariable */;
5547 val
* var_i
/* var i: RuntimeVariable */;
5548 val
* var11
/* : nullable MAttribute */;
5549 val
* var13
/* : nullable MAttribute */;
5550 val
* var_mproperty
/* var mproperty: MAttribute */;
5553 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrAssignExpr> */
5554 var3
= self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrAssignExpr> */
5555 if (unlikely(var3
== NULL
)) {
5556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5557 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621);
5566 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
5570 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:AAttrAssignExpr> */
5571 var8
= self
->attrs
[COLOR_parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:AAttrAssignExpr> */
5572 if (unlikely(var8
== NULL
)) {
5573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5574 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1445);
5583 var10
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var6
, var9
);
5587 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrAssignExpr> */
5588 var13
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrAssignExpr> */
5590 RET_LABEL12
:(void)0;
5593 if (unlikely(var11
== NULL
)) {
5594 PRINT_ERROR("Runtime error: %s", "Cast failed");
5595 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 2989);
5598 var_mproperty
= var11
;
5600 separate_compiler__SeparateCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_i
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
5607 /* method abstract_compiler#AAttrAssignExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5608 val
* VIRTUAL_abstract_compiler__AAttrAssignExpr__expr(val
* self
, val
* p0
) {
5609 val
* var
/* : nullable RuntimeVariable */;
5610 val
* var1
/* : nullable RuntimeVariable */;
5611 var1
= abstract_compiler__AAttrAssignExpr__expr(self
, p0
);
5616 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
5617 void abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
5618 val
* var_v
/* var v: AbstractCompilerVisitor */;
5619 val
* var
/* : AExpr */;
5620 val
* var2
/* : AExpr */;
5621 val
* var3
/* : null */;
5622 val
* var4
/* : RuntimeVariable */;
5623 val
* var_recv
/* var recv: RuntimeVariable */;
5624 val
* var5
/* : AExpr */;
5625 val
* var7
/* : AExpr */;
5626 val
* var8
/* : null */;
5627 val
* var9
/* : RuntimeVariable */;
5628 val
* var_value
/* var value: RuntimeVariable */;
5629 val
* var10
/* : nullable MAttribute */;
5630 val
* var12
/* : nullable MAttribute */;
5631 val
* var_mproperty
/* var mproperty: MAttribute */;
5632 val
* var13
/* : RuntimeVariable */;
5633 val
* var_attr
/* var attr: RuntimeVariable */;
5634 val
* var14
/* : nullable CallSite */;
5635 val
* var16
/* : nullable CallSite */;
5636 val
* var17
/* : Array[RuntimeVariable] */;
5637 long var18
/* : Int */;
5638 val
* var_
/* var : Array[RuntimeVariable] */;
5639 val
* var19
/* : nullable RuntimeVariable */;
5640 val
* var_res
/* var res: nullable RuntimeVariable */;
5641 val
* var20
/* : null */;
5642 short int var21
/* : Bool */;
5643 short int var22
/* : Bool */;
5644 val
* var_other
/* var other: nullable Object */;
5645 short int var24
/* : Bool */;
5646 short int var25
/* : Bool */;
5647 short int var26
/* : Bool */;
5650 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
5651 var2
= self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrReassignExpr> */
5652 if (unlikely(var2
== NULL
)) {
5653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5654 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621);
5663 var4
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var3
);
5667 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:AAttrReassignExpr> */
5668 var7
= self
->attrs
[COLOR_parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:AAttrReassignExpr> */
5669 if (unlikely(var7
== NULL
)) {
5670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5671 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1452);
5680 var9
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var5
, var8
);
5684 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrReassignExpr> */
5685 var12
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrReassignExpr> */
5687 RET_LABEL11
:(void)0;
5690 if (unlikely(var10
== NULL
)) {
5691 PRINT_ERROR("Runtime error: %s", "Cast failed");
5692 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3000);
5695 var_mproperty
= var10
;
5697 var13
= separate_compiler__SeparateCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
5701 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AAttrReassignExpr> */
5702 var16
= self
->attrs
[COLOR_typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AAttrReassignExpr> */
5704 RET_LABEL15
:(void)0;
5707 if (unlikely(var14
== NULL
)) {
5708 PRINT_ERROR("Runtime error: %s", "Cast failed");
5709 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3002);
5712 var17
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5715 array__Array__with_capacity(var17
, var18
); /* Direct call array#Array#with_capacity on <var17:Array[RuntimeVariable]>*/
5719 array__AbstractArray__push(var_
, var_attr
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5722 array__AbstractArray__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5725 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var14
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5729 if (var_res
== NULL
) {
5730 var21
= 0; /* is null */
5732 var21
= 1; /* arg is null and recv is not */
5735 { /* Inline kernel#Object#!= (var_res,var20) on <var_res:nullable RuntimeVariable> */
5738 var25
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
5744 RET_LABEL23
:(void)0;
5748 if (unlikely(!var21
)) {
5749 PRINT_ERROR("Runtime error: %s", "Assert failed");
5750 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3003);
5754 separate_compiler__SeparateCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_res
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
5758 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5759 void VIRTUAL_abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
5760 abstract_compiler__AAttrReassignExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AAttrReassignExpr#stmt on <self:Object(AAttrReassignExpr)>*/
5763 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5764 val
* abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
5765 val
* var
/* : nullable RuntimeVariable */;
5766 val
* var_v
/* var v: AbstractCompilerVisitor */;
5767 val
* var1
/* : AExpr */;
5768 val
* var3
/* : AExpr */;
5769 val
* var4
/* : null */;
5770 val
* var5
/* : RuntimeVariable */;
5771 val
* var_recv
/* var recv: RuntimeVariable */;
5772 val
* var6
/* : nullable MAttribute */;
5773 val
* var8
/* : nullable MAttribute */;
5774 val
* var_mproperty
/* var mproperty: MAttribute */;
5775 val
* var9
/* : RuntimeVariable */;
5778 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AIssetAttrExpr> */
5779 var3
= self
->attrs
[COLOR_parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AIssetAttrExpr> */
5780 if (unlikely(var3
== NULL
)) {
5781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5782 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1621);
5791 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var4
);
5795 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AIssetAttrExpr> */
5796 var8
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AIssetAttrExpr> */
5801 if (unlikely(var6
== NULL
)) {
5802 PRINT_ERROR("Runtime error: %s", "Cast failed");
5803 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3012);
5806 var_mproperty
= var6
;
5808 var9
= separate_compiler__SeparateCompilerVisitor__isset_attribute(var_v
, var_mproperty
, var_recv
);
5815 /* method abstract_compiler#AIssetAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5816 val
* VIRTUAL_abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
5817 val
* var
/* : nullable RuntimeVariable */;
5818 val
* var1
/* : nullable RuntimeVariable */;
5819 var1
= abstract_compiler__AIssetAttrExpr__expr(self
, p0
);
5824 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
5825 void abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
5826 val
* var_v
/* var v: AbstractCompilerVisitor */;
5830 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5831 void VIRTUAL_abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
5832 val
* var_v
/* var v: AbstractCompilerVisitor */;
5833 { /* Inline abstract_compiler#ADebugTypeExpr#stmt (self,p0) on <self:Object(ADebugTypeExpr)> */
5839 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
5840 val
* abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
5841 val
* var
/* : Set[MProperty] */;
5842 val
* var_mclass
/* var mclass: MClass */;
5843 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5844 val
* var3
/* : Map[MClass, Set[MProperty]] */;
5845 short int var4
/* : Bool */;
5846 short int var5
/* : Bool */;
5847 val
* var6
/* : HashSet[MProperty] */;
5848 val
* var_properties
/* var properties: HashSet[MProperty] */;
5849 val
* var7
/* : Array[MClass] */;
5850 val
* var_parents
/* var parents: Array[MClass] */;
5851 val
* var8
/* : POSet[MClass] */;
5852 short int var9
/* : Bool */;
5853 val
* var10
/* : POSetElement[MClass] */;
5854 val
* var11
/* : Collection[Object] */;
5855 val
* var_
/* var : Array[MClass] */;
5856 val
* var12
/* : ArrayIterator[nullable Object] */;
5857 val
* var_13
/* var : ArrayIterator[MClass] */;
5858 short int var14
/* : Bool */;
5859 val
* var15
/* : nullable Object */;
5860 val
* var_parent
/* var parent: MClass */;
5861 val
* var16
/* : Set[MProperty] */;
5862 val
* var18
/* : Array[MClassDef] */;
5863 val
* var20
/* : Array[MClassDef] */;
5864 val
* var_21
/* var : Array[MClassDef] */;
5865 val
* var22
/* : ArrayIterator[nullable Object] */;
5866 val
* var_23
/* var : ArrayIterator[MClassDef] */;
5867 short int var24
/* : Bool */;
5868 val
* var25
/* : nullable Object */;
5869 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5870 val
* var26
/* : POSetElement[MModule] */;
5871 val
* var28
/* : POSetElement[MModule] */;
5872 val
* var29
/* : MModule */;
5873 val
* var31
/* : MModule */;
5874 short int var32
/* : Bool */;
5875 short int var33
/* : Bool */;
5876 val
* var35
/* : Array[MProperty] */;
5877 val
* var37
/* : Array[MProperty] */;
5878 val
* var_38
/* var : Array[MProperty] */;
5879 val
* var39
/* : ArrayIterator[nullable Object] */;
5880 val
* var_40
/* var : ArrayIterator[MProperty] */;
5881 short int var41
/* : Bool */;
5882 val
* var42
/* : nullable Object */;
5883 val
* var_mprop
/* var mprop: MProperty */;
5884 val
* var47
/* : Map[MClass, Set[MProperty]] */;
5885 val
* var49
/* : Map[MClass, Set[MProperty]] */;
5886 val
* var50
/* : Map[MClass, Set[MProperty]] */;
5887 val
* var52
/* : Map[MClass, Set[MProperty]] */;
5888 val
* var53
/* : nullable Object */;
5891 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
5892 var3
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
5893 if (unlikely(var3
== NULL
)) {
5894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
5895 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3057);
5903 var4
= abstract_collection__MapRead__has_key(var1
, var_mclass
);
5907 var6
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MProperty
);
5909 ((void (*)(val
*))(var6
->class->vft
[COLOR_kernel__Object__init
]))(var6
) /* init on <var6:HashSet[MProperty]>*/;
5911 var_properties
= var6
;
5912 var7
= NEW_array__Array(&type_array__Arraymodel__MClass
);
5914 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Array[MClass]>*/;
5918 var8
= model__MModule__flatten_mclass_hierarchy(self
);
5921 var9
= poset__POSet__has(var8
, var_mclass
);
5925 var10
= model__MClass__in_hierarchy(var_mclass
, self
);
5928 var11
= poset__POSetElement__direct_greaters(var10
);
5931 abstract_collection__SimpleCollection__add_all(var_parents
, var11
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_parents:Array[MClass]>*/
5937 var12
= array__AbstractArrayRead__iterator(var_
);
5942 var14
= array__ArrayIterator__is_ok(var_13
);
5946 var15
= array__ArrayIterator__item(var_13
);
5950 var16
= abstract_compiler__MModule__properties(self
, var_parent
);
5953 abstract_collection__SimpleCollection__add_all(var_properties
, var16
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_properties:HashSet[MProperty]>*/
5956 array__ArrayIterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MClass]>*/
5962 BREAK_label
: (void)0;
5964 { /* Inline abstract_collection#Iterator#finish (var_13) on <var_13:ArrayIterator[MClass]> */
5965 RET_LABEL17
:(void)0;
5969 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
5970 var20
= var_mclass
->attrs
[COLOR_model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
5971 if (unlikely(var20
== NULL
)) {
5972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
5973 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 414);
5977 RET_LABEL19
:(void)0;
5982 var22
= array__AbstractArrayRead__iterator(var_21
);
5987 var24
= array__ArrayIterator__is_ok(var_23
);
5991 var25
= array__ArrayIterator__item(var_23
);
5993 var_mclassdef
= var25
;
5995 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
5996 var28
= self
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
5997 if (unlikely(var28
== NULL
)) {
5998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5999 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
6003 RET_LABEL27
:(void)0;
6007 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6008 var31
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6009 if (unlikely(var31
== NULL
)) {
6010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6011 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
6015 RET_LABEL30
:(void)0;
6019 var32
= poset__POSetElement___60d_61d(var26
, var29
);
6027 { /* Inline model#MClassDef#intro_mproperties (var_mclassdef) on <var_mclassdef:MClassDef> */
6028 var37
= var_mclassdef
->attrs
[COLOR_model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_mclassdef:MClassDef> */
6029 if (unlikely(var37
== NULL
)) {
6030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
6031 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 588);
6035 RET_LABEL36
:(void)0;
6040 var39
= array__AbstractArrayRead__iterator(var_38
);
6045 var41
= array__ArrayIterator__is_ok(var_40
);
6049 var42
= array__ArrayIterator__item(var_40
);
6053 hash_collection__HashSet__add(var_properties
, var_mprop
); /* Direct call hash_collection#HashSet#add on <var_properties:HashSet[MProperty]>*/
6056 array__ArrayIterator__next(var_40
); /* Direct call array#ArrayIterator#next on <var_40:ArrayIterator[MProperty]>*/
6062 BREAK_label43
: (void)0;
6064 { /* Inline abstract_collection#Iterator#finish (var_40) on <var_40:ArrayIterator[MProperty]> */
6065 RET_LABEL44
:(void)0;
6068 BREAK_label34
: (void)0;
6070 array__ArrayIterator__next(var_23
); /* Direct call array#ArrayIterator#next on <var_23:ArrayIterator[MClassDef]>*/
6076 BREAK_label45
: (void)0;
6078 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:ArrayIterator[MClassDef]> */
6079 RET_LABEL46
:(void)0;
6083 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6084 var49
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6085 if (unlikely(var49
== NULL
)) {
6086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6087 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3057);
6091 RET_LABEL48
:(void)0;
6095 ((void (*)(val
*, val
*, val
*))(var47
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var47
, var_mclass
, var_properties
) /* []= on <var47:Map[MClass, Set[MProperty]]>*/;
6100 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6101 var52
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6102 if (unlikely(var52
== NULL
)) {
6103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6104 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3057);
6108 RET_LABEL51
:(void)0;
6112 var53
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_mclass
) /* [] on <var50:Map[MClass, Set[MProperty]]>*/;
6119 /* method abstract_compiler#MModule#properties for (self: Object, MClass): Set[MProperty] */
6120 val
* VIRTUAL_abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
6121 val
* var
/* : Set[MProperty] */;
6122 val
* var1
/* : Set[MProperty] */;
6123 var1
= abstract_compiler__MModule__properties(self
, p0
);
6128 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
6129 val
* abstract_compiler__MModule__properties_cache(val
* self
) {
6130 val
* var
/* : Map[MClass, Set[MProperty]] */;
6131 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6132 var1
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6133 if (unlikely(var1
== NULL
)) {
6134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6135 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3057);
6142 /* method abstract_compiler#MModule#properties_cache for (self: Object): Map[MClass, Set[MProperty]] */
6143 val
* VIRTUAL_abstract_compiler__MModule__properties_cache(val
* self
) {
6144 val
* var
/* : Map[MClass, Set[MProperty]] */;
6145 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6146 val
* var3
/* : Map[MClass, Set[MProperty]] */;
6147 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:Object(MModule)> */
6148 var3
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:Object(MModule)> */
6149 if (unlikely(var3
== NULL
)) {
6150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6151 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 3057);
6161 /* method abstract_compiler#MModule#finalize_ffi for (self: MModule, AbstractCompiler) */
6162 void abstract_compiler__MModule__finalize_ffi(val
* self
, val
* p0
) {
6163 val
* var_c
/* var c: AbstractCompiler */;
6167 /* method abstract_compiler#MModule#finalize_ffi for (self: Object, AbstractCompiler) */
6168 void VIRTUAL_abstract_compiler__MModule__finalize_ffi(val
* self
, val
* p0
) {
6169 val
* var_c
/* var c: AbstractCompiler */;
6170 { /* Inline abstract_compiler#MModule#finalize_ffi (self,p0) on <self:Object(MModule)> */
6176 /* method abstract_compiler#MModule#collect_linker_libs for (self: MModule): nullable Set[String] */
6177 val
* abstract_compiler__MModule__collect_linker_libs(val
* self
) {
6178 val
* var
/* : nullable Set[String] */;
6179 val
* var1
/* : null */;
6186 /* method abstract_compiler#MModule#collect_linker_libs for (self: Object): nullable Set[String] */
6187 val
* VIRTUAL_abstract_compiler__MModule__collect_linker_libs(val
* self
) {
6188 val
* var
/* : nullable Set[String] */;
6189 val
* var1
/* : nullable Set[String] */;
6190 var1
= abstract_compiler__MModule__collect_linker_libs(self
);
6195 /* method abstract_compiler#Sys#main for (self: Sys) */
6196 void abstract_compiler__Sys__main(val
* self
) {
6197 val
* var
/* : ToolContext */;
6198 val
* var_toolcontext
/* var toolcontext: ToolContext */;
6199 static val
* varonce
;
6200 val
* var1
/* : String */;
6201 char* var2
/* : NativeString */;
6202 long var3
/* : Int */;
6203 val
* var4
/* : FlatString */;
6204 val
* var6
/* : Sequence[String] */;
6205 val
* var7
/* : Model */;
6206 val
* var_model
/* var model: Model */;
6207 val
* var8
/* : ModelBuilder */;
6208 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6209 val
* var9
/* : OptionContext */;
6210 val
* var11
/* : OptionContext */;
6211 val
* var12
/* : Array[String] */;
6212 val
* var14
/* : Array[String] */;
6213 val
* var_arguments
/* var arguments: Array[String] */;
6214 short int var15
/* : Bool */;
6215 long var16
/* : Int */;
6216 long var18
/* : Int */;
6217 long var19
/* : Int */;
6218 short int var20
/* : Bool */;
6219 short int var22
/* : Bool */;
6222 const char* var_class_name
;
6223 short int var23
/* : Bool */;
6224 short int var_
/* var : Bool */;
6225 val
* var24
/* : OptionString */;
6226 val
* var26
/* : OptionString */;
6227 val
* var27
/* : nullable Object */;
6228 val
* var29
/* : nullable Object */;
6229 val
* var30
/* : null */;
6230 short int var31
/* : Bool */;
6231 short int var32
/* : Bool */;
6232 val
* var_other
/* var other: nullable Object */;
6233 short int var34
/* : Bool */;
6234 short int var35
/* : Bool */;
6235 short int var36
/* : Bool */;
6236 static val
* varonce37
;
6237 val
* var38
/* : String */;
6238 char* var39
/* : NativeString */;
6239 long var40
/* : Int */;
6240 val
* var41
/* : FlatString */;
6241 long var42
/* : Int */;
6242 val
* var44
/* : Array[MModule] */;
6243 val
* var_mmodules
/* var mmodules: Array[MModule] */;
6244 short int var45
/* : Bool */;
6245 val
* var_46
/* var : Array[MModule] */;
6246 val
* var47
/* : ArrayIterator[nullable Object] */;
6247 val
* var_48
/* var : ArrayIterator[MModule] */;
6248 short int var49
/* : Bool */;
6249 val
* var50
/* : nullable Object */;
6250 val
* var_mmodule
/* var mmodule: MModule */;
6251 static val
* varonce51
;
6252 val
* var52
/* : String */;
6253 char* var53
/* : NativeString */;
6254 long var54
/* : Int */;
6255 val
* var55
/* : FlatString */;
6256 static val
* varonce56
;
6257 val
* var57
/* : String */;
6258 char* var58
/* : NativeString */;
6259 long var59
/* : Int */;
6260 val
* var60
/* : FlatString */;
6261 val
* var61
/* : Array[Object] */;
6262 long var62
/* : Int */;
6263 val
* var63
/* : NativeArray[Object] */;
6264 val
* var64
/* : String */;
6265 long var65
/* : Int */;
6266 val
* var66
/* : Array[MModule] */;
6267 long var67
/* : Int */;
6268 val
* var_68
/* var : Array[MModule] */;
6269 val
* var_ms
/* var ms: Array[MModule] */;
6270 var
= NEW_toolcontext__ToolContext(&type_toolcontext__ToolContext
);
6272 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:ToolContext>*/;
6274 var_toolcontext
= var
;
6278 var2
= "Usage: nitg [OPTION]... file.nit...\nCompiles Nit programs.";
6280 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6285 { /* Inline toolcontext#ToolContext#tooldescription= (var_toolcontext,var1) on <var_toolcontext:ToolContext> */
6286 var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___tooldescription
].val
= var1
; /* _tooldescription on <var_toolcontext:ToolContext> */
6291 var6
= string__Object__args(self
);
6294 nith__ToolContext__process_options(var_toolcontext
, var6
); /* Direct call nith#ToolContext#process_options on <var_toolcontext:ToolContext>*/
6296 var7
= NEW_model_base__Model(&type_model_base__Model
);
6298 ((void (*)(val
*))(var7
->class->vft
[COLOR_kernel__Object__init
]))(var7
) /* init on <var7:Model>*/;
6301 var8
= NEW_modelbuilder__ModelBuilder(&type_modelbuilder__ModelBuilder
);
6303 modelbuilder__ModelBuilder__init(var8
, var_model
, var_toolcontext
); /* Direct call modelbuilder#ModelBuilder#init on <var8:ModelBuilder>*/
6305 var_modelbuilder
= var8
;
6307 { /* Inline toolcontext#ToolContext#option_context (var_toolcontext) on <var_toolcontext:ToolContext> */
6308 var11
= var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <var_toolcontext:ToolContext> */
6309 if (unlikely(var11
== NULL
)) {
6310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
6311 PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231);
6315 RET_LABEL10
:(void)0;
6319 { /* Inline opts#OptionContext#rest (var9) on <var9:OptionContext> */
6320 var14
= var9
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <var9:OptionContext> */
6321 if (unlikely(var14
== NULL
)) {
6322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
6323 PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 246);
6327 RET_LABEL13
:(void)0;
6330 var_arguments
= var12
;
6332 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[String]> */
6333 var18
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[String]> */
6335 RET_LABEL17
:(void)0;
6340 { /* Inline kernel#Int#> (var16,var19) on <var16:Int> */
6341 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
6342 /* <var19:Int> isa OTHER */
6343 var22
= 1; /* easy <var19:Int> isa OTHER*/
6344 if (unlikely(!var22
)) {
6345 var_class_name
= type_kernel__Int
.name
;
6346 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6347 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
6350 var23
= var16
> var19
;
6353 RET_LABEL21
:(void)0;
6359 { /* Inline abstract_compiler#ToolContext#opt_output (var_toolcontext) on <var_toolcontext:ToolContext> */
6360 var26
= var_toolcontext
->attrs
[COLOR_abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var_toolcontext:ToolContext> */
6361 if (unlikely(var26
== NULL
)) {
6362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
6363 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 29);
6367 RET_LABEL25
:(void)0;
6371 { /* Inline opts#Option#value (var24) on <var24:OptionString> */
6372 var29
= var24
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var24:OptionString> */
6374 RET_LABEL28
:(void)0;
6378 if (var27
== NULL
) {
6379 var31
= 0; /* is null */
6381 var31
= 1; /* arg is null and recv is not */
6384 { /* Inline kernel#Object#!= (var27,var30) on <var27:nullable Object(nullable String)> */
6387 var35
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var_other
) /* == on <var27:nullable String(String)>*/;
6393 RET_LABEL33
:(void)0;
6405 var39
= "Error: --output needs a single source file. Do you prefer --dir?";
6407 var41
= string__NativeString__to_s_with_length(var39
, var40
);
6412 file__Object__print(self
, var38
); /* Direct call file#Object#print on <self:Sys>*/
6416 { /* Inline kernel#Object#exit (self,var42) on <self:Sys> */
6418 RET_LABEL43
:(void)0;
6424 var44
= modelbuilder__ModelBuilder__parse(var_modelbuilder
, var_arguments
);
6426 var_mmodules
= var44
;
6428 var45
= array__AbstractArrayRead__is_empty(var_mmodules
);
6435 modelbuilder__ModelBuilder__run_phases(var_modelbuilder
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var_modelbuilder:ModelBuilder>*/
6437 var_46
= var_mmodules
;
6439 var47
= array__AbstractArrayRead__iterator(var_46
);
6444 var49
= array__ArrayIterator__is_ok(var_48
);
6448 var50
= array__ArrayIterator__item(var_48
);
6450 var_mmodule
= var50
;
6454 var53
= "*** PROCESS ";
6456 var55
= string__NativeString__to_s_with_length(var53
, var54
);
6465 var60
= string__NativeString__to_s_with_length(var58
, var59
);
6469 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
6470 { /* var61 = array_instance Array[Object] */
6472 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
6473 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
6474 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var_mmodule
;
6475 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
6477 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
6481 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
6485 toolcontext__ToolContext__info(var_toolcontext
, var64
, var65
); /* Direct call toolcontext#ToolContext#info on <var_toolcontext:ToolContext>*/
6487 var66
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
6490 array__Array__with_capacity(var66
, var67
); /* Direct call array#Array#with_capacity on <var66:Array[MModule]>*/
6494 array__AbstractArray__push(var_68
, var_mmodule
); /* Direct call array#AbstractArray#push on <var_68:Array[MModule]>*/
6498 modelbuilder__ToolContext__run_global_phases(var_toolcontext
, var_ms
); /* Direct call modelbuilder#ToolContext#run_global_phases on <var_toolcontext:ToolContext>*/
6501 array__ArrayIterator__next(var_48
); /* Direct call array#ArrayIterator#next on <var_48:ArrayIterator[MModule]>*/
6507 BREAK_label
: (void)0;
6509 { /* Inline abstract_collection#Iterator#finish (var_48) on <var_48:ArrayIterator[MModule]> */
6510 RET_LABEL69
:(void)0;
6515 /* method abstract_compiler#Sys#main for (self: Object) */
6516 void VIRTUAL_abstract_compiler__Sys__main(val
* self
) {
6517 abstract_compiler__Sys__main(self
); /* Direct call abstract_compiler#Sys#main on <self:Object(Sys)>*/