1 #include "nit__mixin.sep.0.h"
2 /* method mixin#ToolContext#opt_mixins for (self: ToolContext): OptionArray */
3 val
* nit__mixin___ToolContext___opt_mixins(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_nit__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", FILE_nit__mixin
, 23);
16 /* method mixin#ToolContext#opt_defines for (self: ToolContext): OptionArray */
17 val
* nit__mixin___ToolContext___opt_defines(val
* self
) {
18 val
* var
/* : OptionArray */;
19 val
* var1
/* : OptionArray */;
20 var1
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 25);
30 /* method mixin#ToolContext#init for (self: ToolContext) */
31 void nit__mixin___ToolContext___standard__kernel__Object__init(val
* self
) {
32 val
* var
/* : OptionContext */;
33 val
* var2
/* : OptionContext */;
34 val
* var3
/* : OptionArray */;
35 val
* var5
/* : OptionArray */;
36 val
* var6
/* : OptionArray */;
37 val
* var8
/* : OptionArray */;
38 val
* var9
/* : Array[Option] */;
39 long var10
/* : Int */;
40 val
* var11
/* : NativeArray[Option] */;
42 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__mixin___ToolContext___standard__kernel__Object__init
]))(self
) /* init on <self:ToolContext>*/;
45 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
46 var2
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
47 if (unlikely(var2
== NULL
)) {
48 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
49 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
57 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
58 var5
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
59 if (unlikely(var5
== NULL
)) {
60 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
61 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 23);
69 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
70 var8
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
71 if (unlikely(var8
== NULL
)) {
72 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
73 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 25);
80 var9
= NEW_standard__Array(&type_standard__Array__opts__Option
);
81 { /* var9 = array_instance Array[Option] */
83 var11
= NEW_standard__NativeArray(var10
, &type_standard__NativeArray__opts__Option
);
84 ((struct instance_standard__NativeArray
*)var11
)->values
[0] = (val
*) var3
;
85 ((struct instance_standard__NativeArray
*)var11
)->values
[1] = (val
*) var6
;
87 ((void (*)(val
* self
, val
* p0
, long p1
))(var9
->class->vft
[COLOR_standard__array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Option]>*/;
91 opts___opts__OptionContext___add_option(var
, var9
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
95 /* method mixin#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
96 val
* nit__mixin___ToolContext___make_main_module(val
* self
, val
* p0
) {
97 val
* var
/* : MModule */;
98 val
* var_mmodules
/* var mmodules: Array[MModule] */;
99 val
* var1
/* : OptionArray */;
100 val
* var3
/* : OptionArray */;
101 val
* var4
/* : nullable Object */;
102 val
* var6
/* : nullable Object */;
103 val
* var_mixins
/* var mixins: Array[String] */;
104 short int var7
/* : Bool */;
105 short int var8
/* : Bool */;
106 val
* var9
/* : ModelBuilder */;
107 val
* var10
/* : OptionArray */;
108 val
* var12
/* : OptionArray */;
109 val
* var13
/* : nullable Object */;
110 val
* var15
/* : nullable Object */;
111 val
* var16
/* : Array[MModule] */;
112 val
* var17
/* : ModelBuilder */;
113 val
* var18
/* : MModule */;
114 val
* var_mainmodule
/* var mainmodule: MModule */;
115 val
* var19
/* : OptionArray */;
116 val
* var21
/* : OptionArray */;
117 val
* var22
/* : nullable Object */;
118 val
* var24
/* : nullable Object */;
119 val
* var_defines
/* var defines: Array[String] */;
120 short int var25
/* : Bool */;
121 short int var26
/* : Bool */;
122 val
* var27
/* : Location */;
123 val
* var29
/* : Location */;
124 val
* var_location
/* var location: Location */;
125 val
* var30
/* : Model */;
126 val
* var32
/* : Model */;
127 val
* var_model
/* var model: Model */;
128 val
* var33
/* : nullable Object */;
129 short int var34
/* : Bool */;
130 val
* var_other
/* var other: nullable Object */;
131 short int var36
/* : Bool */;
132 short int var38
/* : Bool */;
133 val
* var39
/* : MModule */;
134 val
* var40
/* : null */;
135 val
* var41
/* : String */;
136 val
* var43
/* : String */;
138 val
* var44
/* : String */;
139 char* var45
/* : NativeString */;
140 long var46
/* : Int */;
141 val
* var47
/* : FlatString */;
142 val
* var48
/* : String */;
143 short int var49
/* : Bool */;
144 val
* var51
/* : MClassType */;
145 val
* var_recv
/* var recv: MClassType */;
146 val
* var52
/* : MClassDef */;
147 val
* var_mclassdef
/* var mclassdef: MClassDef */;
148 val
* var_
/* var : Array[String] */;
149 val
* var53
/* : ArrayIterator[nullable Object] */;
150 val
* var_54
/* var : ArrayIterator[String] */;
151 short int var55
/* : Bool */;
152 val
* var56
/* : nullable Object */;
153 val
* var_define
/* var define: String */;
154 char var57
/* : Char */;
155 val
* var58
/* : Array[Text] */;
156 val
* var59
/* : Pattern */;
157 val
* var_spl
/* var spl: Array[String] */;
158 val
* var60
/* : nullable Object */;
159 val
* var_name
/* var name: String */;
160 val
* var61
/* : null */;
161 val
* var_val
/* var val: nullable Object */;
162 long var62
/* : Int */;
163 long var64
/* : Int */;
164 long var65
/* : Int */;
165 short int var66
/* : Bool */;
166 short int var68
/* : Bool */;
169 const char* var_class_name
;
170 short int var69
/* : Bool */;
171 long var70
/* : Int */;
172 val
* var71
/* : nullable Object */;
173 val
* var72
/* : MClass */;
174 val
* var74
/* : MClass */;
175 val
* var75
/* : nullable MMethod */;
176 val
* var_prop
/* var prop: nullable MMethod */;
177 val
* var76
/* : null */;
178 short int var77
/* : Bool */;
179 short int var78
/* : Bool */;
180 short int var80
/* : Bool */;
181 short int var82
/* : Bool */;
182 val
* var83
/* : null */;
183 static val
* varonce84
;
184 val
* var85
/* : String */;
185 char* var86
/* : NativeString */;
186 long var87
/* : Int */;
187 val
* var88
/* : FlatString */;
188 static val
* varonce89
;
189 val
* var90
/* : String */;
190 char* var91
/* : NativeString */;
191 long var92
/* : Int */;
192 val
* var93
/* : FlatString */;
193 val
* var94
/* : Array[Object] */;
194 long var95
/* : Int */;
195 val
* var96
/* : NativeArray[Object] */;
196 val
* var97
/* : String */;
197 val
* var98
/* : MPropDef */;
198 val
* var100
/* : MPropDef */;
199 val
* var101
/* : nullable MSignature */;
200 val
* var103
/* : nullable MSignature */;
201 val
* var104
/* : nullable MType */;
202 val
* var106
/* : nullable MType */;
203 val
* var_ret
/* var ret: nullable MType */;
204 val
* var107
/* : null */;
205 short int var108
/* : Bool */;
206 short int var109
/* : Bool */;
207 short int var111
/* : Bool */;
208 short int var113
/* : Bool */;
209 val
* var114
/* : null */;
210 static val
* varonce115
;
211 val
* var116
/* : String */;
212 char* var117
/* : NativeString */;
213 long var118
/* : Int */;
214 val
* var119
/* : FlatString */;
215 static val
* varonce120
;
216 val
* var121
/* : String */;
217 char* var122
/* : NativeString */;
218 long var123
/* : Int */;
219 val
* var124
/* : FlatString */;
220 val
* var125
/* : Array[Object] */;
221 long var126
/* : Int */;
222 val
* var127
/* : NativeArray[Object] */;
223 val
* var128
/* : String */;
224 val
* var129
/* : String */;
225 static val
* varonce130
;
226 val
* var131
/* : String */;
227 char* var132
/* : NativeString */;
228 long var133
/* : Int */;
229 val
* var134
/* : FlatString */;
230 short int var135
/* : Bool */;
231 short int var136
/* : Bool */;
232 val
* var137
/* : null */;
233 short int var138
/* : Bool */;
234 short int var139
/* : Bool */;
235 short int var_140
/* var : Bool */;
236 static val
* varonce141
;
237 val
* var142
/* : String */;
238 char* var143
/* : NativeString */;
239 long var144
/* : Int */;
240 val
* var145
/* : FlatString */;
241 short int var146
/* : Bool */;
242 short int var147
/* : Bool */;
243 val
* var148
/* : nullable Object */;
244 val
* var_v
/* var v: nullable Object */;
245 static val
* varonce149
;
246 val
* var150
/* : String */;
247 char* var151
/* : NativeString */;
248 long var152
/* : Int */;
249 val
* var153
/* : FlatString */;
250 short int var154
/* : Bool */;
251 short int var155
/* : Bool */;
252 val
* var156
/* : nullable Object */;
253 val
* var157
/* : null */;
254 static val
* varonce158
;
255 val
* var159
/* : String */;
256 char* var160
/* : NativeString */;
257 long var161
/* : Int */;
258 val
* var162
/* : FlatString */;
259 static val
* varonce163
;
260 val
* var164
/* : String */;
261 char* var165
/* : NativeString */;
262 long var166
/* : Int */;
263 val
* var167
/* : FlatString */;
264 val
* var168
/* : Array[Object] */;
265 long var169
/* : Int */;
266 val
* var170
/* : NativeArray[Object] */;
267 val
* var171
/* : String */;
268 val
* var172
/* : String */;
269 static val
* varonce173
;
270 val
* var174
/* : String */;
271 char* var175
/* : NativeString */;
272 long var176
/* : Int */;
273 val
* var177
/* : FlatString */;
274 short int var178
/* : Bool */;
275 short int var179
/* : Bool */;
276 val
* var180
/* : null */;
277 short int var181
/* : Bool */;
278 short int var182
/* : Bool */;
279 val
* var_other184
/* var other: nullable Object */;
280 short int var185
/* : Bool */;
281 short int var186
/* : Bool */;
282 short int var_187
/* var : Bool */;
283 short int var188
/* : Bool */;
284 long var189
/* : Int */;
285 val
* var190
/* : nullable Object */;
286 val
* var191
/* : null */;
287 static val
* varonce192
;
288 val
* var193
/* : String */;
289 char* var194
/* : NativeString */;
290 long var195
/* : Int */;
291 val
* var196
/* : FlatString */;
292 static val
* varonce197
;
293 val
* var198
/* : String */;
294 char* var199
/* : NativeString */;
295 long var200
/* : Int */;
296 val
* var201
/* : FlatString */;
297 val
* var202
/* : Array[Object] */;
298 long var203
/* : Int */;
299 val
* var204
/* : NativeArray[Object] */;
300 val
* var205
/* : String */;
301 val
* var206
/* : String */;
302 static val
* varonce207
;
303 val
* var208
/* : String */;
304 char* var209
/* : NativeString */;
305 long var210
/* : Int */;
306 val
* var211
/* : FlatString */;
307 short int var212
/* : Bool */;
308 val
* var213
/* : null */;
309 short int var214
/* : Bool */;
310 short int var215
/* : Bool */;
311 short int var217
/* : Bool */;
312 short int var218
/* : Bool */;
313 val
* var219
/* : null */;
314 static val
* varonce220
;
315 val
* var221
/* : String */;
316 char* var222
/* : NativeString */;
317 long var223
/* : Int */;
318 val
* var224
/* : FlatString */;
319 static val
* varonce225
;
320 val
* var226
/* : String */;
321 char* var227
/* : NativeString */;
322 long var228
/* : Int */;
323 val
* var229
/* : FlatString */;
324 val
* var230
/* : Array[Object] */;
325 long var231
/* : Int */;
326 val
* var232
/* : NativeArray[Object] */;
327 val
* var233
/* : String */;
328 val
* var234
/* : null */;
329 static val
* varonce235
;
330 val
* var236
/* : String */;
331 char* var237
/* : NativeString */;
332 long var238
/* : Int */;
333 val
* var239
/* : FlatString */;
334 static val
* varonce240
;
335 val
* var241
/* : String */;
336 char* var242
/* : NativeString */;
337 long var243
/* : Int */;
338 val
* var244
/* : FlatString */;
339 static val
* varonce245
;
340 val
* var246
/* : String */;
341 char* var247
/* : NativeString */;
342 long var248
/* : Int */;
343 val
* var249
/* : FlatString */;
344 val
* var250
/* : Array[Object] */;
345 long var251
/* : Int */;
346 val
* var252
/* : NativeArray[Object] */;
347 val
* var253
/* : String */;
348 val
* var254
/* : MMethodDef */;
349 val
* var_pd
/* var pd: MMethodDef */;
350 val
* var255
/* : MPropDef */;
351 val
* var257
/* : MPropDef */;
352 val
* var258
/* : nullable MSignature */;
353 val
* var260
/* : nullable MSignature */;
354 short int var265
/* : Bool */;
357 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
358 var3
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
359 if (unlikely(var3
== NULL
)) {
360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 23);
369 { /* Inline opts#Option#value (var1) on <var1:OptionArray> */
370 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionArray> */
377 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mixins
);
382 var9
= nit__modelbuilder_base___ToolContext___modelbuilder(self
);
385 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
386 var12
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
387 if (unlikely(var12
== NULL
)) {
388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
389 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 23);
397 { /* Inline opts#Option#value (var10) on <var10:OptionArray> */
398 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionArray> */
404 var16
= nit__loader___ModelBuilder___parse(var9
, var13
);
407 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_mmodules
, var16
); /* Direct call array#Array#add_all on <var_mmodules:Array[MModule]>*/
410 var17
= nit__modelbuilder_base___ToolContext___modelbuilder(self
);
413 nit__modelbuilder___ModelBuilder___run_phases(var17
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var17:ModelBuilder>*/
418 var18
= ((val
* (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__mixin___ToolContext___make_main_module
]))(self
, p0
) /* make_main_module on <self:ToolContext>*/;
420 var_mainmodule
= var18
;
422 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
423 var21
= self
->attrs
[COLOR_nit__mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
424 if (unlikely(var21
== NULL
)) {
425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 25);
434 { /* Inline opts#Option#value (var19) on <var19:OptionArray> */
435 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionArray> */
442 var25
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_defines
);
447 { /* Inline mmodule#MModule#location (var_mainmodule) on <var_mainmodule:MModule> */
448 var29
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___location
].val
; /* _location on <var_mainmodule:MModule> */
449 if (unlikely(var29
== NULL
)) {
450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 90);
458 var_location
= var27
;
460 { /* Inline mmodule#MModule#model (var_mainmodule) on <var_mainmodule:MModule> */
461 var32
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var_mainmodule:MModule> */
462 if (unlikely(var32
== NULL
)) {
463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
473 var33
= standard___standard__SequenceRead___Collection__first(var_mmodules
);
476 { /* Inline kernel#Object#== (var_mainmodule,var33) on <var_mainmodule:MModule> */
479 { /* Inline kernel#Object#is_same_instance (var_mainmodule,var_other) on <var_mainmodule:MModule> */
480 var38
= var_mainmodule
== var_other
;
492 var39
= NEW_nit__MModule(&type_nit__MModule
);
495 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
496 var43
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
497 if (unlikely(var43
== NULL
)) {
498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
511 var47
= standard___standard__NativeString___to_s_with_length(var45
, var46
);
516 var48
= ((val
* (*)(val
* self
, val
* p0
))(var41
->class->vft
[COLOR_standard__string__String___43d
]))(var41
, var44
) /* + on <var41:String>*/;
519 ((void (*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nit__mmodule__MModule__model_61d
]))(var39
, var_model
) /* model= on <var39:MModule>*/;
522 ((void (*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nit__mmodule__MModule__mgroup_61d
]))(var39
, var40
) /* mgroup= on <var39:MModule>*/;
525 ((void (*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nit__mmodule__MModule__name_61d
]))(var39
, var48
) /* name= on <var39:MModule>*/;
528 ((void (*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nit__mmodule__MModule__location_61d
]))(var39
, var_location
) /* location= on <var39:MModule>*/;
531 ((void (*)(val
* self
))(var39
->class->vft
[COLOR_standard__kernel__Object__init
]))(var39
) /* init on <var39:MModule>*/;
533 var_mainmodule
= var39
;
535 nit___nit__MModule___set_imported_mmodules(var_mainmodule
, var_mmodules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:MModule>*/
539 { /* Inline mmodule#MModule#is_fictive= (var_mainmodule,var49) on <var_mainmodule:MModule> */
540 var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___is_fictive
].s
= var49
; /* _is_fictive on <var_mainmodule:MModule> */
547 var51
= nit__model___MModule___object_type(var_mainmodule
);
550 var52
= NEW_nit__MClassDef(&type_nit__MClassDef
);
552 ((void (*)(val
* self
, val
* p0
))(var52
->class->vft
[COLOR_nit__model__MClassDef__mmodule_61d
]))(var52
, var_mainmodule
) /* mmodule= on <var52:MClassDef>*/;
555 ((void (*)(val
* self
, val
* p0
))(var52
->class->vft
[COLOR_nit__model__MClassDef__bound_mtype_61d
]))(var52
, var_recv
) /* bound_mtype= on <var52:MClassDef>*/;
558 ((void (*)(val
* self
, val
* p0
))(var52
->class->vft
[COLOR_nit__model__MClassDef__location_61d
]))(var52
, var_location
) /* location= on <var52:MClassDef>*/;
561 ((void (*)(val
* self
))(var52
->class->vft
[COLOR_standard__kernel__Object__init
]))(var52
) /* init on <var52:MClassDef>*/;
563 var_mclassdef
= var52
;
565 nit___nit__MClassDef___add_in_hierarchy(var_mclassdef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
569 var53
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
574 var55
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54
);
578 var56
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54
);
583 var59
= BOX_standard__Char(var57
); /* autobox from Char to Pattern */
584 var58
= standard__string_search___Text___split_once_on(var_define
, var59
);
588 var60
= standard___standard__SequenceRead___Collection__first(var_spl
);
594 { /* Inline array#AbstractArrayRead#length (var_spl) on <var_spl:Array[String]> */
595 var64
= var_spl
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_spl:Array[String]> */
602 { /* Inline kernel#Int#> (var62,var65) on <var62:Int> */
603 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
604 /* <var65:Int> isa OTHER */
605 var68
= 1; /* easy <var65:Int> isa OTHER*/
606 if (unlikely(!var68
)) {
607 var_class_name
= type_standard__Int
.name
;
608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
609 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
612 var69
= var62
> var65
;
621 var71
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_spl
, var70
);
627 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MClassType> */
628 var74
= var_recv
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_recv:MClassType> */
629 if (unlikely(var74
== NULL
)) {
630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
639 var75
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var_name
, var72
);
643 if (var_prop
== NULL
) {
644 var77
= 1; /* is null */
646 var77
= 0; /* arg is null but recv is not */
649 { /* Inline kernel#Object#== (var_prop,var76) on <var_prop:nullable MMethod> */
652 { /* Inline kernel#Object#is_same_instance (var_prop,var_other) on <var_prop:nullable MMethod(MMethod)> */
653 var82
= var_prop
== var_other
;
670 var86
= "Error: --define: no top-level function `";
672 var88
= standard___standard__NativeString___to_s_with_length(var86
, var87
);
681 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
685 var94
= NEW_standard__Array(&type_standard__Array__standard__Object
);
686 { /* var94 = array_instance Array[Object] */
688 var96
= NEW_standard__NativeArray(var95
, &type_standard__NativeArray__standard__Object
);
689 ((struct instance_standard__NativeArray
*)var96
)->values
[0] = (val
*) var85
;
690 ((struct instance_standard__NativeArray
*)var96
)->values
[1] = (val
*) var_name
;
691 ((struct instance_standard__NativeArray
*)var96
)->values
[2] = (val
*) var90
;
693 ((void (*)(val
* self
, val
* p0
, long p1
))(var94
->class->vft
[COLOR_standard__array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
697 var97
= ((val
* (*)(val
* self
))(var94
->class->vft
[COLOR_standard__string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
700 nit___nit__ToolContext___error(self
, var83
, var97
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
706 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
707 var100
= var_prop
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
708 if (unlikely(var100
== NULL
)) {
709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
718 { /* Inline model#MMethodDef#msignature (var98) on <var98:MPropDef(MMethodDef)> */
719 var103
= var98
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var98:MPropDef(MMethodDef)> */
721 RET_LABEL102
:(void)0;
724 if (var101
== NULL
) {
725 PRINT_ERROR("Runtime error: %s", "Receiver is null");
726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mixin
, 69);
729 { /* Inline model#MSignature#return_mtype (var101) on <var101:nullable MSignature> */
730 if (unlikely(var101
== NULL
)) {
731 PRINT_ERROR("Runtime error: %s", "Receiver is null");
732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1595);
735 var106
= var101
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var101:nullable MSignature> */
737 RET_LABEL105
:(void)0;
742 if (var_ret
== NULL
) {
743 var108
= 1; /* is null */
745 var108
= 0; /* arg is null but recv is not */
748 { /* Inline kernel#Object#== (var_ret,var107) on <var_ret:nullable MType> */
751 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
752 var113
= var_ret
== var_other
;
755 RET_LABEL112
:(void)0;
760 RET_LABEL110
:(void)0;
769 var117
= "Error: --define: Method `";
771 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
778 var122
= "` is not a function";
780 var124
= standard___standard__NativeString___to_s_with_length(var122
, var123
);
784 var125
= NEW_standard__Array(&type_standard__Array__standard__Object
);
785 { /* var125 = array_instance Array[Object] */
787 var127
= NEW_standard__NativeArray(var126
, &type_standard__NativeArray__standard__Object
);
788 ((struct instance_standard__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
789 ((struct instance_standard__NativeArray
*)var127
)->values
[1] = (val
*) var_prop
;
790 ((struct instance_standard__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
792 ((void (*)(val
* self
, val
* p0
, long p1
))(var125
->class->vft
[COLOR_standard__array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
796 var128
= ((val
* (*)(val
* self
))(var125
->class->vft
[COLOR_standard__string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
799 nit___nit__ToolContext___error(self
, var114
, var128
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
804 var129
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
811 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
816 var135
= ((short int (*)(val
* self
, val
* p0
))(var129
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var129
, var131
) /* == on <var129:String>*/;
820 if (var_val
== NULL
) {
821 var138
= 1; /* is null */
823 var138
= 0; /* arg is null but recv is not */
826 var139
= ((short int (*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_val
, var137
) /* == on <var_val:nullable Object(nullable String)>*/;
838 var145
= standard___standard__NativeString___to_s_with_length(var143
, var144
);
843 var146
= ((short int (*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_val
, var142
) /* == on <var_val:nullable Object(String)>*/;
849 var148
= BOX_standard__Bool(var147
); /* autobox from Bool to nullable Object */
857 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
862 var154
= ((short int (*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_val
, var150
) /* == on <var_val:nullable Object(String)>*/;
866 var156
= BOX_standard__Bool(var155
); /* autobox from Bool to nullable Object */
873 var160
= "Error: --define: Method `";
875 var162
= standard___standard__NativeString___to_s_with_length(var160
, var161
);
882 var165
= "` need a Bool.";
884 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
888 var168
= NEW_standard__Array(&type_standard__Array__standard__Object
);
889 { /* var168 = array_instance Array[Object] */
891 var170
= NEW_standard__NativeArray(var169
, &type_standard__NativeArray__standard__Object
);
892 ((struct instance_standard__NativeArray
*)var170
)->values
[0] = (val
*) var159
;
893 ((struct instance_standard__NativeArray
*)var170
)->values
[1] = (val
*) var_prop
;
894 ((struct instance_standard__NativeArray
*)var170
)->values
[2] = (val
*) var164
;
896 ((void (*)(val
* self
, val
* p0
, long p1
))(var168
->class->vft
[COLOR_standard__array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
900 var171
= ((val
* (*)(val
* self
))(var168
->class->vft
[COLOR_standard__string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
903 nit___nit__ToolContext___error(self
, var157
, var171
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
910 var172
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
917 var177
= standard___standard__NativeString___to_s_with_length(var175
, var176
);
922 var178
= ((short int (*)(val
* self
, val
* p0
))(var172
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var172
, var174
) /* == on <var172:String>*/;
926 if (var_val
== NULL
) {
927 var181
= 0; /* is null */
929 var181
= 1; /* arg is null and recv is not */
932 { /* Inline kernel#Object#!= (var_val,var180) on <var_val:nullable Object(nullable String)> */
933 var_other184
= var180
;
935 var185
= ((short int (*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_val
, var_other184
) /* == on <var_val:nullable String(String)>*/;
940 RET_LABEL183
:(void)0;
947 var188
= standard___standard__Text___is_numeric(var_val
);
955 var189
= standard___standard__Text___to_i(var_val
);
957 var190
= BOX_standard__Int(var189
); /* autobox from Int to nullable Object */
964 var194
= "Error: --define: Method `";
966 var196
= standard___standard__NativeString___to_s_with_length(var194
, var195
);
973 var199
= "` need a Int.";
975 var201
= standard___standard__NativeString___to_s_with_length(var199
, var200
);
979 var202
= NEW_standard__Array(&type_standard__Array__standard__Object
);
980 { /* var202 = array_instance Array[Object] */
982 var204
= NEW_standard__NativeArray(var203
, &type_standard__NativeArray__standard__Object
);
983 ((struct instance_standard__NativeArray
*)var204
)->values
[0] = (val
*) var193
;
984 ((struct instance_standard__NativeArray
*)var204
)->values
[1] = (val
*) var_prop
;
985 ((struct instance_standard__NativeArray
*)var204
)->values
[2] = (val
*) var198
;
987 ((void (*)(val
* self
, val
* p0
, long p1
))(var202
->class->vft
[COLOR_standard__array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
991 var205
= ((val
* (*)(val
* self
))(var202
->class->vft
[COLOR_standard__string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
994 nit___nit__ToolContext___error(self
, var191
, var205
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1000 var206
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ret
) /* to_s on <var_ret:nullable MType(MType)>*/;
1003 var208
= varonce207
;
1007 var211
= standard___standard__NativeString___to_s_with_length(var209
, var210
);
1009 varonce207
= var208
;
1012 var212
= ((short int (*)(val
* self
, val
* p0
))(var206
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var206
, var208
) /* == on <var206:String>*/;
1016 if (var_val
== NULL
) {
1017 var214
= 0; /* is null */
1019 var214
= 1; /* arg is null and recv is not */
1022 { /* Inline kernel#Object#!= (var_val,var213) on <var_val:nullable Object(nullable String)> */
1023 var_other184
= var213
;
1025 var217
= ((short int (*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_val
, var_other184
) /* == on <var_val:nullable String(String)>*/;
1030 RET_LABEL216
:(void)0;
1039 var221
= varonce220
;
1041 var222
= "Error: --define: Method `";
1043 var224
= standard___standard__NativeString___to_s_with_length(var222
, var223
);
1045 varonce220
= var221
;
1048 var226
= varonce225
;
1050 var227
= "` need a String.";
1052 var229
= standard___standard__NativeString___to_s_with_length(var227
, var228
);
1054 varonce225
= var226
;
1056 var230
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1057 { /* var230 = array_instance Array[Object] */
1059 var232
= NEW_standard__NativeArray(var231
, &type_standard__NativeArray__standard__Object
);
1060 ((struct instance_standard__NativeArray
*)var232
)->values
[0] = (val
*) var221
;
1061 ((struct instance_standard__NativeArray
*)var232
)->values
[1] = (val
*) var_prop
;
1062 ((struct instance_standard__NativeArray
*)var232
)->values
[2] = (val
*) var226
;
1064 ((void (*)(val
* self
, val
* p0
, long p1
))(var230
->class->vft
[COLOR_standard__array__Array__with_native
]))(var230
, var232
, var231
) /* with_native on <var230:Array[Object]>*/;
1068 var233
= ((val
* (*)(val
* self
))(var230
->class->vft
[COLOR_standard__string__Object__to_s
]))(var230
) /* to_s on <var230:Array[Object]>*/;
1071 nit___nit__ToolContext___error(self
, var219
, var233
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1078 var236
= varonce235
;
1080 var237
= "Error: --define: Method `";
1082 var239
= standard___standard__NativeString___to_s_with_length(var237
, var238
);
1084 varonce235
= var236
;
1087 var241
= varonce240
;
1089 var242
= "` return an unmanaged type ";
1091 var244
= standard___standard__NativeString___to_s_with_length(var242
, var243
);
1093 varonce240
= var241
;
1096 var246
= varonce245
;
1100 var249
= standard___standard__NativeString___to_s_with_length(var247
, var248
);
1102 varonce245
= var246
;
1104 var250
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1105 { /* var250 = array_instance Array[Object] */
1107 var252
= NEW_standard__NativeArray(var251
, &type_standard__NativeArray__standard__Object
);
1108 ((struct instance_standard__NativeArray
*)var252
)->values
[0] = (val
*) var236
;
1109 ((struct instance_standard__NativeArray
*)var252
)->values
[1] = (val
*) var_prop
;
1110 ((struct instance_standard__NativeArray
*)var252
)->values
[2] = (val
*) var241
;
1111 ((struct instance_standard__NativeArray
*)var252
)->values
[3] = (val
*) var_ret
;
1112 ((struct instance_standard__NativeArray
*)var252
)->values
[4] = (val
*) var246
;
1114 ((void (*)(val
* self
, val
* p0
, long p1
))(var250
->class->vft
[COLOR_standard__array__Array__with_native
]))(var250
, var252
, var251
) /* with_native on <var250:Array[Object]>*/;
1118 var253
= ((val
* (*)(val
* self
))(var250
->class->vft
[COLOR_standard__string__Object__to_s
]))(var250
) /* to_s on <var250:Array[Object]>*/;
1121 nit___nit__ToolContext___error(self
, var234
, var253
); /* Direct call toolcontext#ToolContext#error on <self:ToolContext>*/
1128 var254
= NEW_nit__MMethodDef(&type_nit__MMethodDef
);
1130 ((void (*)(val
* self
, val
* p0
))(var254
->class->vft
[COLOR_nit__model__MPropDef__mclassdef_61d
]))(var254
, var_mclassdef
) /* mclassdef= on <var254:MMethodDef>*/;
1133 ((void (*)(val
* self
, val
* p0
))(var254
->class->vft
[COLOR_nit__model__MPropDef__mproperty_61d
]))(var254
, var_prop
) /* mproperty= on <var254:MMethodDef>*/;
1136 ((void (*)(val
* self
, val
* p0
))(var254
->class->vft
[COLOR_nit__model__MPropDef__location_61d
]))(var254
, var_location
) /* location= on <var254:MMethodDef>*/;
1139 ((void (*)(val
* self
))(var254
->class->vft
[COLOR_standard__kernel__Object__init
]))(var254
) /* init on <var254:MMethodDef>*/;
1143 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
1144 var257
= var_prop
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
1145 if (unlikely(var257
== NULL
)) {
1146 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1147 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
1151 RET_LABEL256
:(void)0;
1155 { /* Inline model#MMethodDef#msignature (var255) on <var255:MPropDef(MMethodDef)> */
1156 var260
= var255
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var255:MPropDef(MMethodDef)> */
1158 RET_LABEL259
:(void)0;
1162 { /* Inline model#MMethodDef#msignature= (var_pd,var258) on <var_pd:MMethodDef> */
1163 var_pd
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
= var258
; /* _msignature on <var_pd:MMethodDef> */
1164 RET_LABEL261
:(void)0;
1168 { /* Inline model#MMethodDef#constant_value= (var_pd,var_v) on <var_pd:MMethodDef> */
1169 var_pd
->attrs
[COLOR_nit__model__MMethodDef___constant_value
].val
= var_v
; /* _constant_value on <var_pd:MMethodDef> */
1170 RET_LABEL262
:(void)0;
1173 BREAK_label
: (void)0;
1175 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54
); /* Direct call array#ArrayIterator#next on <var_54:ArrayIterator[String]>*/
1178 goto BREAK_label263
;
1181 BREAK_label263
: (void)0;
1183 { /* Inline abstract_collection#Iterator#finish (var_54) on <var_54:ArrayIterator[String]> */
1184 RET_LABEL264
:(void)0;
1188 var265
= nit___nit__ToolContext___check_errors(self
);
1192 var
= var_mainmodule
;