1 #include "mixin.sep.0.h"
2 /* method mixin#ToolContext#opt_mixins for (self: ToolContext): OptionArray */
3 val
* mixin__ToolContext__opt_mixins(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
9 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 23);
16 /* method mixin#ToolContext#opt_mixins for (self: Object): OptionArray */
17 val
* VIRTUAL_mixin__ToolContext__opt_mixins(val
* self
) {
18 val
* var
/* : OptionArray */;
19 val
* var1
/* : OptionArray */;
20 val
* var3
/* : OptionArray */;
21 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
25 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 23);
35 /* method mixin#ToolContext#opt_defines for (self: ToolContext): OptionArray */
36 val
* mixin__ToolContext__opt_defines(val
* self
) {
37 val
* var
/* : OptionArray */;
38 val
* var1
/* : OptionArray */;
39 var1
= self
->attrs
[COLOR_mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
40 if (unlikely(var1
== NULL
)) {
41 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
42 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 25);
49 /* method mixin#ToolContext#opt_defines for (self: Object): OptionArray */
50 val
* VIRTUAL_mixin__ToolContext__opt_defines(val
* self
) {
51 val
* var
/* : OptionArray */;
52 val
* var1
/* : OptionArray */;
53 val
* var3
/* : OptionArray */;
54 { /* Inline mixin#ToolContext#opt_defines (self) on <self:Object(ToolContext)> */
55 var3
= self
->attrs
[COLOR_mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:Object(ToolContext)> */
56 if (unlikely(var3
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
58 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 25);
68 /* method mixin#ToolContext#init for (self: ToolContext) */
69 void mixin__ToolContext__init(val
* self
) {
70 val
* var
/* : OptionContext */;
71 val
* var2
/* : OptionContext */;
72 val
* var3
/* : OptionArray */;
73 val
* var5
/* : OptionArray */;
74 val
* var6
/* : OptionArray */;
75 val
* var8
/* : OptionArray */;
76 val
* var9
/* : Array[Option] */;
77 long var10
/* : Int */;
78 val
* var11
/* : NativeArray[Option] */;
80 ((void (*)(val
*))(self
->class->vft
[COLOR_mixin__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
83 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
84 var2
= self
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
85 if (unlikely(var2
== NULL
)) {
86 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
87 PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231);
95 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
96 var5
= self
->attrs
[COLOR_mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
97 if (unlikely(var5
== NULL
)) {
98 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
99 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 23);
107 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
108 var8
= self
->attrs
[COLOR_mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
109 if (unlikely(var8
== NULL
)) {
110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
111 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 25);
118 var9
= NEW_array__Array(&type_array__Arrayopts__Option
);
119 { /* var9 = array_instance Array[Option] */
121 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArrayopts__Option
);
122 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var3
;
123 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var6
;
125 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Option]>*/;
129 opts__OptionContext__add_option(var
, var9
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
133 /* method mixin#ToolContext#init for (self: Object) */
134 void VIRTUAL_mixin__ToolContext__init(val
* self
) {
135 mixin__ToolContext__init(self
); /* Direct call mixin#ToolContext#init on <self:Object(ToolContext)>*/
138 /* method mixin#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
139 val
* mixin__ToolContext__make_main_module(val
* self
, val
* p0
) {
140 val
* var
/* : MModule */;
141 val
* var_mmodules
/* var mmodules: Array[MModule] */;
142 val
* var1
/* : OptionArray */;
143 val
* var3
/* : OptionArray */;
144 val
* var4
/* : nullable Object */;
145 val
* var6
/* : nullable Object */;
146 val
* var_mixins
/* var mixins: Array[String] */;
147 short int var7
/* : Bool */;
148 short int var8
/* : Bool */;
149 val
* var9
/* : ModelBuilder */;
150 val
* var10
/* : OptionArray */;
151 val
* var12
/* : OptionArray */;
152 val
* var13
/* : nullable Object */;
153 val
* var15
/* : nullable Object */;
154 val
* var16
/* : Array[MModule] */;
155 val
* var17
/* : ModelBuilder */;
156 val
* var18
/* : MModule */;
157 val
* var_mainmodule
/* var mainmodule: MModule */;
158 val
* var19
/* : OptionArray */;
159 val
* var21
/* : OptionArray */;
160 val
* var22
/* : nullable Object */;
161 val
* var24
/* : nullable Object */;
162 val
* var_defines
/* var defines: Array[String] */;
163 short int var25
/* : Bool */;
164 short int var26
/* : Bool */;
165 val
* var27
/* : Location */;
166 val
* var29
/* : Location */;
167 val
* var_location
/* var location: Location */;
168 val
* var30
/* : Model */;
169 val
* var32
/* : Model */;
170 val
* var_model
/* var model: Model */;
171 val
* var33
/* : nullable Object */;
172 short int var34
/* : Bool */;
173 short int var35
/* : Bool */;
174 val
* var_other
/* var other: nullable Object */;
175 short int var37
/* : Bool */;
176 short int var39
/* : Bool */;
177 val
* var40
/* : MModule */;
178 val
* var41
/* : null */;
179 val
* var42
/* : String */;
180 val
* var44
/* : String */;
182 val
* var45
/* : String */;
183 char* var46
/* : NativeString */;
184 long var47
/* : Int */;
185 val
* var48
/* : FlatString */;
186 val
* var49
/* : String */;
187 short int var50
/* : Bool */;
188 val
* var52
/* : MClassType */;
189 val
* var_recv
/* var recv: MClassType */;
190 val
* var53
/* : MClassDef */;
191 val
* var_mclassdef
/* var mclassdef: MClassDef */;
192 val
* var_
/* var : Array[String] */;
193 val
* var54
/* : ArrayIterator[nullable Object] */;
194 val
* var_55
/* var : ArrayIterator[String] */;
195 short int var56
/* : Bool */;
196 val
* var57
/* : nullable Object */;
197 val
* var_define
/* var define: String */;
198 char var58
/* : Char */;
199 val
* var59
/* : Array[Text] */;
200 val
* var60
/* : Pattern */;
201 val
* var_spl
/* var spl: Array[String] */;
202 val
* var61
/* : nullable Object */;
203 val
* var_name
/* var name: String */;
204 val
* var62
/* : null */;
205 val
* var_val
/* var val: nullable Object */;
206 long var63
/* : Int */;
207 long var65
/* : Int */;
208 long var66
/* : Int */;
209 short int var67
/* : Bool */;
210 short int var69
/* : Bool */;
213 const char* var_class_name
;
214 short int var70
/* : Bool */;
215 long var71
/* : Int */;
216 val
* var72
/* : nullable Object */;
217 val
* var73
/* : MClass */;
218 val
* var75
/* : MClass */;
219 val
* var76
/* : nullable MMethod */;
220 val
* var_prop
/* var prop: nullable MMethod */;
221 val
* var77
/* : null */;
222 short int var78
/* : Bool */;
223 short int var79
/* : Bool */;
224 short int var81
/* : Bool */;
225 short int var83
/* : Bool */;
226 val
* var84
/* : null */;
227 static val
* varonce85
;
228 val
* var86
/* : String */;
229 char* var87
/* : NativeString */;
230 long var88
/* : Int */;
231 val
* var89
/* : FlatString */;
232 static val
* varonce90
;
233 val
* var91
/* : String */;
234 char* var92
/* : NativeString */;
235 long var93
/* : Int */;
236 val
* var94
/* : FlatString */;
237 val
* var95
/* : Array[Object] */;
238 long var96
/* : Int */;
239 val
* var97
/* : NativeArray[Object] */;
240 val
* var98
/* : String */;
241 val
* var99
/* : MPropDef */;
242 val
* var101
/* : MPropDef */;
243 val
* var102
/* : nullable MSignature */;
244 val
* var104
/* : nullable MSignature */;
245 val
* var105
/* : nullable MType */;
246 val
* var107
/* : nullable MType */;
247 val
* var_ret
/* var ret: nullable MType */;
248 val
* var108
/* : null */;
249 short int var109
/* : Bool */;
250 short int var110
/* : Bool */;
251 short int var112
/* : Bool */;
252 short int var114
/* : Bool */;
253 val
* var115
/* : null */;
254 static val
* varonce116
;
255 val
* var117
/* : String */;
256 char* var118
/* : NativeString */;
257 long var119
/* : Int */;
258 val
* var120
/* : FlatString */;
259 static val
* varonce121
;
260 val
* var122
/* : String */;
261 char* var123
/* : NativeString */;
262 long var124
/* : Int */;
263 val
* var125
/* : FlatString */;
264 val
* var126
/* : Array[Object] */;
265 long var127
/* : Int */;
266 val
* var128
/* : NativeArray[Object] */;
267 val
* var129
/* : String */;
268 val
* var130
/* : String */;
269 static val
* varonce131
;
270 val
* var132
/* : String */;
271 char* var133
/* : NativeString */;
272 long var134
/* : Int */;
273 val
* var135
/* : FlatString */;
274 short int var136
/* : Bool */;
275 short int var137
/* : Bool */;
276 short int var138
/* : Bool */;
277 val
* var139
/* : null */;
278 short int var140
/* : Bool */;
279 short int var141
/* : Bool */;
280 short int var_142
/* var : Bool */;
281 static val
* varonce143
;
282 val
* var144
/* : String */;
283 char* var145
/* : NativeString */;
284 long var146
/* : Int */;
285 val
* var147
/* : FlatString */;
286 short int var148
/* : Bool */;
287 short int var149
/* : Bool */;
288 short int var150
/* : Bool */;
289 val
* var151
/* : nullable Object */;
290 val
* var_v
/* var v: nullable Object */;
291 static val
* varonce152
;
292 val
* var153
/* : String */;
293 char* var154
/* : NativeString */;
294 long var155
/* : Int */;
295 val
* var156
/* : FlatString */;
296 short int var157
/* : Bool */;
297 short int var158
/* : Bool */;
298 short int var159
/* : Bool */;
299 val
* var160
/* : nullable Object */;
300 val
* var161
/* : null */;
301 static val
* varonce162
;
302 val
* var163
/* : String */;
303 char* var164
/* : NativeString */;
304 long var165
/* : Int */;
305 val
* var166
/* : FlatString */;
306 static val
* varonce167
;
307 val
* var168
/* : String */;
308 char* var169
/* : NativeString */;
309 long var170
/* : Int */;
310 val
* var171
/* : FlatString */;
311 val
* var172
/* : Array[Object] */;
312 long var173
/* : Int */;
313 val
* var174
/* : NativeArray[Object] */;
314 val
* var175
/* : String */;
315 val
* var176
/* : String */;
316 static val
* varonce177
;
317 val
* var178
/* : String */;
318 char* var179
/* : NativeString */;
319 long var180
/* : Int */;
320 val
* var181
/* : FlatString */;
321 short int var182
/* : Bool */;
322 short int var183
/* : Bool */;
323 short int var184
/* : Bool */;
324 val
* var185
/* : null */;
325 short int var186
/* : Bool */;
326 short int var187
/* : Bool */;
327 val
* var_other189
/* var other: nullable Object */;
328 short int var190
/* : Bool */;
329 short int var191
/* : Bool */;
330 short int var192
/* : Bool */;
331 short int var_193
/* var : Bool */;
332 short int var194
/* : Bool */;
333 long var195
/* : Int */;
334 val
* var196
/* : nullable Object */;
335 val
* var197
/* : null */;
336 static val
* varonce198
;
337 val
* var199
/* : String */;
338 char* var200
/* : NativeString */;
339 long var201
/* : Int */;
340 val
* var202
/* : FlatString */;
341 static val
* varonce203
;
342 val
* var204
/* : String */;
343 char* var205
/* : NativeString */;
344 long var206
/* : Int */;
345 val
* var207
/* : FlatString */;
346 val
* var208
/* : Array[Object] */;
347 long var209
/* : Int */;
348 val
* var210
/* : NativeArray[Object] */;
349 val
* var211
/* : String */;
350 val
* var212
/* : String */;
351 static val
* varonce213
;
352 val
* var214
/* : String */;
353 char* var215
/* : NativeString */;
354 long var216
/* : Int */;
355 val
* var217
/* : FlatString */;
356 short int var218
/* : Bool */;
357 short int var219
/* : Bool */;
358 val
* var220
/* : null */;
359 short int var221
/* : Bool */;
360 short int var222
/* : Bool */;
361 short int var224
/* : Bool */;
362 short int var225
/* : Bool */;
363 short int var226
/* : Bool */;
364 val
* var227
/* : null */;
365 static val
* varonce228
;
366 val
* var229
/* : String */;
367 char* var230
/* : NativeString */;
368 long var231
/* : Int */;
369 val
* var232
/* : FlatString */;
370 static val
* varonce233
;
371 val
* var234
/* : String */;
372 char* var235
/* : NativeString */;
373 long var236
/* : Int */;
374 val
* var237
/* : FlatString */;
375 val
* var238
/* : Array[Object] */;
376 long var239
/* : Int */;
377 val
* var240
/* : NativeArray[Object] */;
378 val
* var241
/* : String */;
379 val
* var242
/* : null */;
380 static val
* varonce243
;
381 val
* var244
/* : String */;
382 char* var245
/* : NativeString */;
383 long var246
/* : Int */;
384 val
* var247
/* : FlatString */;
385 static val
* varonce248
;
386 val
* var249
/* : String */;
387 char* var250
/* : NativeString */;
388 long var251
/* : Int */;
389 val
* var252
/* : FlatString */;
390 static val
* varonce253
;
391 val
* var254
/* : String */;
392 char* var255
/* : NativeString */;
393 long var256
/* : Int */;
394 val
* var257
/* : FlatString */;
395 val
* var258
/* : Array[Object] */;
396 long var259
/* : Int */;
397 val
* var260
/* : NativeArray[Object] */;
398 val
* var261
/* : String */;
399 val
* var262
/* : MMethodDef */;
400 val
* var_pd
/* var pd: MMethodDef */;
401 val
* var263
/* : MPropDef */;
402 val
* var265
/* : MPropDef */;
403 val
* var266
/* : nullable MSignature */;
404 val
* var268
/* : nullable MSignature */;
407 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
408 var3
= self
->attrs
[COLOR_mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
409 if (unlikely(var3
== NULL
)) {
410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
411 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 23);
419 { /* Inline opts#Option#value (var1) on <var1:OptionArray> */
420 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionArray> */
427 var7
= array__AbstractArrayRead__is_empty(var_mixins
);
432 var9
= modelbuilder__ToolContext__modelbuilder(self
);
435 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
436 var12
= self
->attrs
[COLOR_mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
437 if (unlikely(var12
== NULL
)) {
438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
439 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 23);
447 { /* Inline opts#Option#value (var10) on <var10:OptionArray> */
448 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionArray> */
454 var16
= modelbuilder__ModelBuilder__parse(var9
, var13
);
457 abstract_collection__SimpleCollection__add_all(var_mmodules
, var16
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_mmodules:Array[MModule]>*/
460 var17
= modelbuilder__ToolContext__modelbuilder(self
);
463 modelbuilder__ModelBuilder__run_phases(var17
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var17:ModelBuilder>*/
468 var18
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_mixin__ToolContext__make_main_module
]))(self
, p0
) /* make_main_module on <self:ToolContext>*/;
470 var_mainmodule
= var18
;
472 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
473 var21
= self
->attrs
[COLOR_mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
474 if (unlikely(var21
== NULL
)) {
475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
476 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 25);
484 { /* Inline opts#Option#value (var19) on <var19:OptionArray> */
485 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionArray> */
492 var25
= array__AbstractArrayRead__is_empty(var_defines
);
497 { /* Inline mmodule#MModule#location (var_mainmodule) on <var_mainmodule:MModule> */
498 var29
= var_mainmodule
->attrs
[COLOR_mmodule__MModule___location
].val
; /* _location on <var_mainmodule:MModule> */
499 if (unlikely(var29
== NULL
)) {
500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
501 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 81);
508 var_location
= var27
;
510 { /* Inline mmodule#MModule#model (var_mainmodule) on <var_mainmodule:MModule> */
511 var32
= var_mainmodule
->attrs
[COLOR_mmodule__MModule___model
].val
; /* _model on <var_mainmodule:MModule> */
512 if (unlikely(var32
== NULL
)) {
513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
514 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 72);
523 var33
= abstract_collection__SequenceRead__first(var_mmodules
);
526 { /* Inline kernel#Object#== (var_mainmodule,var33) on <var_mainmodule:MModule> */
529 { /* Inline kernel#Object#is_same_instance (var_mainmodule,var_other) on <var_mainmodule:MModule> */
530 var39
= var_mainmodule
== var_other
;
543 var40
= NEW_mmodule__MModule(&type_mmodule__MModule
);
546 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
547 var44
= var_mainmodule
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
548 if (unlikely(var44
== NULL
)) {
549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
550 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 78);
562 var48
= string__NativeString__to_s_with_length(var46
, var47
);
567 var49
= string__FlatString___43d(var42
, var45
);
570 mmodule__MModule__init(var40
, var_model
, var41
, var49
, var_location
); /* Direct call mmodule#MModule#init on <var40:MModule>*/
572 var_mainmodule
= var40
;
574 mmodule__MModule__set_imported_mmodules(var_mainmodule
, var_mmodules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:MModule>*/
578 { /* Inline mmodule#MModule#is_fictive= (var_mainmodule,var50) on <var_mainmodule:MModule> */
579 var_mainmodule
->attrs
[COLOR_mmodule__MModule___is_fictive
].s
= var50
; /* _is_fictive on <var_mainmodule:MModule> */
586 var52
= model__MModule__object_type(var_mainmodule
);
589 var53
= NEW_model__MClassDef(&type_model__MClassDef
);
591 model__MClassDef__init(var53
, var_mainmodule
, var_recv
, var_location
); /* Direct call model#MClassDef#init on <var53:MClassDef>*/
593 var_mclassdef
= var53
;
595 model__MClassDef__add_in_hierarchy(var_mclassdef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
599 var54
= array__AbstractArrayRead__iterator(var_
);
604 var56
= array__ArrayIterator__is_ok(var_55
);
608 var57
= array__ArrayIterator__item(var_55
);
613 var60
= BOX_kernel__Char(var58
); /* autobox from Char to Pattern */
614 var59
= string_search__Text__split_once_on(var_define
, var60
);
618 var61
= abstract_collection__SequenceRead__first(var_spl
);
624 { /* Inline array#AbstractArrayRead#length (var_spl) on <var_spl:Array[String]> */
625 var65
= var_spl
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_spl:Array[String]> */
632 { /* Inline kernel#Int#> (var63,var66) on <var63:Int> */
633 /* Covariant cast for argument 0 (i) <var66:Int> isa OTHER */
634 /* <var66:Int> isa OTHER */
635 var69
= 1; /* easy <var66:Int> isa OTHER*/
636 if (unlikely(!var69
)) {
637 var_class_name
= type_kernel__Int
.name
;
638 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
639 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
642 var70
= var63
> var66
;
651 var72
= array__Array___91d_93d(var_spl
, var71
);
657 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MClassType> */
658 var75
= var_recv
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_recv:MClassType> */
659 if (unlikely(var75
== NULL
)) {
660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
661 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
669 var76
= model__MModule__try_get_primitive_method(var_mainmodule
, var_name
, var73
);
673 if (var_prop
== NULL
) {
674 var78
= 1; /* is null */
676 var78
= 0; /* arg is null but recv is not */
679 { /* Inline kernel#Object#== (var_prop,var77) on <var_prop:nullable MMethod> */
682 { /* Inline kernel#Object#is_same_instance (var_prop,var_other) on <var_prop:nullable MMethod(MMethod)> */
683 var83
= var_prop
== var_other
;
700 var87
= "Error: --define: no top-level function `";
702 var89
= string__NativeString__to_s_with_length(var87
, var88
);
711 var94
= string__NativeString__to_s_with_length(var92
, var93
);
715 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
716 { /* var95 = array_instance Array[Object] */
718 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
719 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var86
;
720 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var_name
;
721 ((struct instance_array__NativeArray
*)var97
)->values
[2] = (val
*) var91
;
723 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
727 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
730 toolcontext__ToolContext__error(self
, var84
, var98
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
736 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
737 var101
= var_prop
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
738 if (unlikely(var101
== NULL
)) {
739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
740 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
744 RET_LABEL100
:(void)0;
748 { /* Inline model#MMethodDef#msignature (var99) on <var99:MPropDef(MMethodDef)> */
749 var104
= var99
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var99:MPropDef(MMethodDef)> */
751 RET_LABEL103
:(void)0;
754 if (var102
== NULL
) {
755 PRINT_ERROR("Runtime error: %s", "Receiver is null");
756 PRINT_ERROR(" (%s:%d)\n", "mixin.nit", 69);
759 { /* Inline model#MSignature#return_mtype (var102) on <var102:nullable MSignature> */
760 if (unlikely(var102
== NULL
)) {
761 PRINT_ERROR("Runtime error: %s", "Receiver is null");
762 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1468);
765 var107
= var102
->attrs
[COLOR_model__MSignature___return_mtype
].val
; /* _return_mtype on <var102:nullable MSignature> */
767 RET_LABEL106
:(void)0;
772 if (var_ret
== NULL
) {
773 var109
= 1; /* is null */
775 var109
= 0; /* arg is null but recv is not */
778 { /* Inline kernel#Object#== (var_ret,var108) on <var_ret:nullable MType> */
781 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
782 var114
= var_ret
== var_other
;
785 RET_LABEL113
:(void)0;
790 RET_LABEL111
:(void)0;
799 var118
= "Error: --define: Method `";
801 var120
= string__NativeString__to_s_with_length(var118
, var119
);
808 var123
= "` is not a function";
810 var125
= string__NativeString__to_s_with_length(var123
, var124
);
814 var126
= NEW_array__Array(&type_array__Arraykernel__Object
);
815 { /* var126 = array_instance Array[Object] */
817 var128
= NEW_array__NativeArray(var127
, &type_array__NativeArraykernel__Object
);
818 ((struct instance_array__NativeArray
*)var128
)->values
[0] = (val
*) var117
;
819 ((struct instance_array__NativeArray
*)var128
)->values
[1] = (val
*) var_prop
;
820 ((struct instance_array__NativeArray
*)var128
)->values
[2] = (val
*) var122
;
822 ((void (*)(val
*, val
*, long))(var126
->class->vft
[COLOR_array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
826 var129
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
829 toolcontext__ToolContext__error(self
, var115
, var129
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
834 var130
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
841 var135
= string__NativeString__to_s_with_length(var133
, var134
);
846 var137
= string__FlatString___61d_61d(var130
, var132
);
851 if (var_val
== NULL
) {
852 var140
= 1; /* is null */
854 var140
= 0; /* arg is null but recv is not */
857 var141
= string__FlatString___61d_61d(var_val
, var139
);
869 var147
= string__NativeString__to_s_with_length(var145
, var146
);
874 var149
= string__FlatString___61d_61d(var_val
, var144
);
881 var151
= BOX_kernel__Bool(var150
); /* autobox from Bool to nullable Object */
889 var156
= string__NativeString__to_s_with_length(var154
, var155
);
894 var158
= string__FlatString___61d_61d(var_val
, var153
);
899 var160
= BOX_kernel__Bool(var159
); /* autobox from Bool to nullable Object */
906 var164
= "Error: --define: Method `";
908 var166
= string__NativeString__to_s_with_length(var164
, var165
);
915 var169
= "` need a Bool.";
917 var171
= string__NativeString__to_s_with_length(var169
, var170
);
921 var172
= NEW_array__Array(&type_array__Arraykernel__Object
);
922 { /* var172 = array_instance Array[Object] */
924 var174
= NEW_array__NativeArray(var173
, &type_array__NativeArraykernel__Object
);
925 ((struct instance_array__NativeArray
*)var174
)->values
[0] = (val
*) var163
;
926 ((struct instance_array__NativeArray
*)var174
)->values
[1] = (val
*) var_prop
;
927 ((struct instance_array__NativeArray
*)var174
)->values
[2] = (val
*) var168
;
929 ((void (*)(val
*, val
*, long))(var172
->class->vft
[COLOR_array__Array__with_native
]))(var172
, var174
, var173
) /* with_native on <var172:Array[Object]>*/;
933 var175
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_string__Object__to_s
]))(var172
) /* to_s on <var172:Array[Object]>*/;
936 toolcontext__ToolContext__error(self
, var161
, var175
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
943 var176
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
950 var181
= string__NativeString__to_s_with_length(var179
, var180
);
955 var183
= string__FlatString___61d_61d(var176
, var178
);
960 if (var_val
== NULL
) {
961 var186
= 0; /* is null */
963 var186
= 1; /* arg is null and recv is not */
966 { /* Inline kernel#Object#!= (var_val,var185) on <var_val:nullable Object(nullable String)> */
967 var_other189
= var185
;
969 var191
= ((short int (*)(val
*, val
*))(var_val
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_val
, var_other189
) /* == on <var_val:nullable String(String)>*/;
975 RET_LABEL188
:(void)0;
982 var194
= string__Text__is_numeric(var_val
);
990 var195
= string__Text__to_i(var_val
);
992 var196
= BOX_kernel__Int(var195
); /* autobox from Int to nullable Object */
999 var200
= "Error: --define: Method `";
1001 var202
= string__NativeString__to_s_with_length(var200
, var201
);
1003 varonce198
= var199
;
1006 var204
= varonce203
;
1008 var205
= "` need a Int.";
1010 var207
= string__NativeString__to_s_with_length(var205
, var206
);
1012 varonce203
= var204
;
1014 var208
= NEW_array__Array(&type_array__Arraykernel__Object
);
1015 { /* var208 = array_instance Array[Object] */
1017 var210
= NEW_array__NativeArray(var209
, &type_array__NativeArraykernel__Object
);
1018 ((struct instance_array__NativeArray
*)var210
)->values
[0] = (val
*) var199
;
1019 ((struct instance_array__NativeArray
*)var210
)->values
[1] = (val
*) var_prop
;
1020 ((struct instance_array__NativeArray
*)var210
)->values
[2] = (val
*) var204
;
1022 ((void (*)(val
*, val
*, long))(var208
->class->vft
[COLOR_array__Array__with_native
]))(var208
, var210
, var209
) /* with_native on <var208:Array[Object]>*/;
1026 var211
= ((val
* (*)(val
*))(var208
->class->vft
[COLOR_string__Object__to_s
]))(var208
) /* to_s on <var208:Array[Object]>*/;
1029 toolcontext__ToolContext__error(self
, var197
, var211
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1035 var212
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
1038 var214
= varonce213
;
1042 var217
= string__NativeString__to_s_with_length(var215
, var216
);
1044 varonce213
= var214
;
1047 var219
= string__FlatString___61d_61d(var212
, var214
);
1052 if (var_val
== NULL
) {
1053 var221
= 0; /* is null */
1055 var221
= 1; /* arg is null and recv is not */
1058 { /* Inline kernel#Object#!= (var_val,var220) on <var_val:nullable Object(nullable String)> */
1059 var_other189
= var220
;
1061 var225
= ((short int (*)(val
*, val
*))(var_val
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_val
, var_other189
) /* == on <var_val:nullable String(String)>*/;
1067 RET_LABEL223
:(void)0;
1076 var229
= varonce228
;
1078 var230
= "Error: --define: Method `";
1080 var232
= string__NativeString__to_s_with_length(var230
, var231
);
1082 varonce228
= var229
;
1085 var234
= varonce233
;
1087 var235
= "` need a String.";
1089 var237
= string__NativeString__to_s_with_length(var235
, var236
);
1091 varonce233
= var234
;
1093 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
1094 { /* var238 = array_instance Array[Object] */
1096 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
1097 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var229
;
1098 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var_prop
;
1099 ((struct instance_array__NativeArray
*)var240
)->values
[2] = (val
*) var234
;
1101 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
1105 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
1108 toolcontext__ToolContext__error(self
, var227
, var241
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1115 var244
= varonce243
;
1117 var245
= "Error: --define: Method `";
1119 var247
= string__NativeString__to_s_with_length(var245
, var246
);
1121 varonce243
= var244
;
1124 var249
= varonce248
;
1126 var250
= "` return an unmanaged type ";
1128 var252
= string__NativeString__to_s_with_length(var250
, var251
);
1130 varonce248
= var249
;
1133 var254
= varonce253
;
1137 var257
= string__NativeString__to_s_with_length(var255
, var256
);
1139 varonce253
= var254
;
1141 var258
= NEW_array__Array(&type_array__Arraykernel__Object
);
1142 { /* var258 = array_instance Array[Object] */
1144 var260
= NEW_array__NativeArray(var259
, &type_array__NativeArraykernel__Object
);
1145 ((struct instance_array__NativeArray
*)var260
)->values
[0] = (val
*) var244
;
1146 ((struct instance_array__NativeArray
*)var260
)->values
[1] = (val
*) var_prop
;
1147 ((struct instance_array__NativeArray
*)var260
)->values
[2] = (val
*) var249
;
1148 ((struct instance_array__NativeArray
*)var260
)->values
[3] = (val
*) var_ret
;
1149 ((struct instance_array__NativeArray
*)var260
)->values
[4] = (val
*) var254
;
1151 ((void (*)(val
*, val
*, long))(var258
->class->vft
[COLOR_array__Array__with_native
]))(var258
, var260
, var259
) /* with_native on <var258:Array[Object]>*/;
1155 var261
= ((val
* (*)(val
*))(var258
->class->vft
[COLOR_string__Object__to_s
]))(var258
) /* to_s on <var258:Array[Object]>*/;
1158 toolcontext__ToolContext__error(self
, var242
, var261
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1165 var262
= NEW_model__MMethodDef(&type_model__MMethodDef
);
1167 model__MMethodDef__init(var262
, var_mclassdef
, var_prop
, var_location
); /* Direct call model#MMethodDef#init on <var262:MMethodDef>*/
1171 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
1172 var265
= var_prop
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
1173 if (unlikely(var265
== NULL
)) {
1174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1175 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
1179 RET_LABEL264
:(void)0;
1183 { /* Inline model#MMethodDef#msignature (var263) on <var263:MPropDef(MMethodDef)> */
1184 var268
= var263
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var263:MPropDef(MMethodDef)> */
1186 RET_LABEL267
:(void)0;
1190 { /* Inline model#MMethodDef#msignature= (var_pd,var266) on <var_pd:MMethodDef> */
1191 var_pd
->attrs
[COLOR_model__MMethodDef___msignature
].val
= var266
; /* _msignature on <var_pd:MMethodDef> */
1192 RET_LABEL269
:(void)0;
1196 { /* Inline model#MMethodDef#constant_value= (var_pd,var_v) on <var_pd:MMethodDef> */
1197 var_pd
->attrs
[COLOR_model__MMethodDef___constant_value
].val
= var_v
; /* _constant_value on <var_pd:MMethodDef> */
1198 RET_LABEL270
:(void)0;
1201 BREAK_label
: (void)0;
1203 array__ArrayIterator__next(var_55
); /* Direct call array#ArrayIterator#next on <var_55:ArrayIterator[String]>*/
1206 goto BREAK_label271
;
1209 BREAK_label271
: (void)0;
1211 { /* Inline abstract_collection#Iterator#finish (var_55) on <var_55:ArrayIterator[String]> */
1212 RET_LABEL272
:(void)0;
1216 toolcontext__ToolContext__check_errors(self
); /* Direct call toolcontext#ToolContext#check_errors on <self:ToolContext>*/
1220 var
= var_mainmodule
;
1225 /* method mixin#ToolContext#make_main_module for (self: Object, Array[MModule]): MModule */
1226 val
* VIRTUAL_mixin__ToolContext__make_main_module(val
* self
, val
* p0
) {
1227 val
* var
/* : MModule */;
1228 val
* var1
/* : MModule */;
1229 var1
= mixin__ToolContext__make_main_module(self
, p0
);