1 #include "nitc__mixin.sep.0.h"
2 /* method mixin#ToolContext#opt_mixins for (self: ToolContext): OptionArray */
3 val
* nitc__mixin___ToolContext___opt_mixins(val
* self
) {
4 val
* var
/* : OptionArray */;
5 val
* var1
/* : OptionArray */;
6 var1
= self
->attrs
[COLOR_nitc__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_nitc__mixin
, 23);
16 /* method mixin#ToolContext#opt_defines for (self: ToolContext): OptionArray */
17 val
* nitc__mixin___ToolContext___opt_defines(val
* self
) {
18 val
* var
/* : OptionArray */;
19 val
* var1
/* : OptionArray */;
20 var1
= self
->attrs
[COLOR_nitc__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_nitc__mixin
, 25);
30 /* method mixin#ToolContext#init for (self: ToolContext) */
31 void nitc__mixin___ToolContext___core__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 val
* var10
/* : NativeArray[Option] */;
41 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__mixin___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
44 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
45 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
46 if (unlikely(var2
== NULL
)) {
47 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
48 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
56 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
57 var5
= self
->attrs
[COLOR_nitc__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
58 if (unlikely(var5
== NULL
)) {
59 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
60 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 23);
68 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
69 var8
= self
->attrs
[COLOR_nitc__mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
70 if (unlikely(var8
== NULL
)) {
71 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
72 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 25);
79 var9
= NEW_core__Array(&type_core__Array__opts__Option
);
80 { /* var9 = array_instance Array[Option] */
81 var10
= NEW_core__NativeArray(2l, &type_core__NativeArray__opts__Option
);
82 ((struct instance_core__NativeArray
*)var10
)->values
[0] = (val
*) var3
;
83 ((struct instance_core__NativeArray
*)var10
)->values
[1] = (val
*) var6
;
85 ((void(*)(val
* self
, val
* p0
, long p1
))(var9
->class->vft
[COLOR_core__array__Array__with_native
]))(var9
, var10
, 2l); /* with_native on <var9:Array[Option]>*/
89 opts___opts__OptionContext___add_option(var
, var9
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
93 /* method mixin#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */
94 val
* nitc__mixin___ToolContext___make_main_module(val
* self
, val
* p0
) {
95 val
* var
/* : MModule */;
96 val
* var_mmodules
/* var mmodules: Array[MModule] */;
97 val
* var1
/* : OptionArray */;
98 val
* var3
/* : OptionArray */;
99 val
* var4
/* : nullable Object */;
100 val
* var6
/* : nullable Object */;
101 val
* var_mixins
/* var mixins: Array[String] */;
102 short int var7
/* : Bool */;
103 short int var8
/* : Bool */;
104 val
* var9
/* : ModelBuilder */;
105 val
* var10
/* : OptionArray */;
106 val
* var12
/* : OptionArray */;
107 val
* var13
/* : nullable Object */;
108 val
* var15
/* : nullable Object */;
109 val
* var16
/* : Array[MModule] */;
110 val
* var17
/* : ModelBuilder */;
111 val
* var18
/* : MModule */;
112 val
* var_mainmodule
/* var mainmodule: MModule */;
113 val
* var19
/* : OptionArray */;
114 val
* var21
/* : OptionArray */;
115 val
* var22
/* : nullable Object */;
116 val
* var24
/* : nullable Object */;
117 val
* var_defines
/* var defines: Array[String] */;
118 short int var25
/* : Bool */;
119 short int var26
/* : Bool */;
120 val
* var27
/* : Location */;
121 val
* var29
/* : Location */;
122 val
* var_location
/* var location: Location */;
123 val
* var30
/* : Model */;
124 val
* var32
/* : Model */;
125 val
* var_model
/* var model: Model */;
126 val
* var33
/* : nullable Object */;
127 short int var34
/* : Bool */;
128 val
* var_other
/* var other: nullable Object */;
129 short int var36
/* : Bool */;
130 short int var38
/* : Bool */;
131 val
* var39
/* : MModule */;
132 val
* var40
/* : String */;
133 val
* var42
/* : String */;
135 val
* var43
/* : String */;
136 char* var44
/* : NativeString */;
137 val
* var45
/* : String */;
138 val
* var46
/* : String */;
139 val
* var48
/* : nullable MClassType */;
140 val
* var_recv
/* var recv: nullable MClassType */;
141 short int var49
/* : Bool */;
142 short int var50
/* : Bool */;
143 val
* var_other52
/* var other: nullable Object */;
144 short int var53
/* : Bool */;
145 short int var54
/* : Bool */;
146 val
* var55
/* : MClassDef */;
147 val
* var_mclassdef
/* var mclassdef: MClassDef */;
148 val
* var_
/* var : Array[String] */;
149 val
* var56
/* : IndexedIterator[nullable Object] */;
150 val
* var_57
/* var : IndexedIterator[String] */;
151 short int var58
/* : Bool */;
152 val
* var59
/* : nullable Object */;
153 val
* var_define
/* var define: String */;
154 val
* var60
/* : Array[Text] */;
155 val
* var61
/* : Pattern */;
156 val
* var_spl
/* var spl: Array[String] */;
157 val
* var62
/* : nullable Object */;
158 val
* var_name
/* var name: String */;
159 val
* var_val
/* var val: nullable Object */;
160 long var63
/* : Int */;
161 long var65
/* : Int */;
162 short int var66
/* : Bool */;
163 short int var68
/* : Bool */;
166 const char* var_class_name
;
167 short int var69
/* : Bool */;
168 val
* var70
/* : nullable Object */;
169 val
* var71
/* : MClass */;
170 val
* var73
/* : MClass */;
171 val
* var74
/* : nullable MMethod */;
172 val
* var_prop
/* var prop: nullable MMethod */;
173 short int var75
/* : Bool */;
174 short int var76
/* : Bool */;
175 short int var78
/* : Bool */;
176 short int var80
/* : Bool */;
177 val
* var82
/* : NativeArray[String] */;
178 static val
* varonce81
;
179 static val
* varonce83
;
180 val
* var84
/* : String */;
181 char* var85
/* : NativeString */;
182 val
* var86
/* : String */;
183 static val
* varonce87
;
184 val
* var88
/* : String */;
185 char* var89
/* : NativeString */;
186 val
* var90
/* : String */;
187 val
* var91
/* : String */;
188 val
* var92
/* : Message */;
189 val
* var94
/* : MPropDef */;
190 val
* var96
/* : MPropDef */;
191 val
* var97
/* : nullable MSignature */;
192 val
* var99
/* : nullable MSignature */;
193 val
* var100
/* : nullable MType */;
194 val
* var102
/* : nullable MType */;
195 val
* var_ret
/* var ret: nullable MType */;
196 short int var103
/* : Bool */;
197 short int var104
/* : Bool */;
198 short int var106
/* : Bool */;
199 short int var108
/* : Bool */;
200 val
* var110
/* : NativeArray[String] */;
201 static val
* varonce109
;
202 static val
* varonce111
;
203 val
* var112
/* : String */;
204 char* var113
/* : NativeString */;
205 val
* var114
/* : String */;
206 static val
* varonce115
;
207 val
* var116
/* : String */;
208 char* var117
/* : NativeString */;
209 val
* var118
/* : String */;
210 val
* var119
/* : String */;
211 val
* var120
/* : String */;
212 val
* var121
/* : Message */;
213 val
* var122
/* : String */;
214 static val
* varonce123
;
215 val
* var124
/* : String */;
216 char* var125
/* : NativeString */;
217 val
* var126
/* : String */;
218 short int var127
/* : Bool */;
219 short int var128
/* : Bool */;
220 short int var129
/* : Bool */;
221 short int var130
/* : Bool */;
222 short int var_131
/* var : Bool */;
223 static val
* varonce132
;
224 val
* var133
/* : String */;
225 char* var134
/* : NativeString */;
226 val
* var135
/* : String */;
227 short int var136
/* : Bool */;
228 val
* var137
/* : nullable Object */;
229 val
* var_v
/* var v: nullable Object */;
230 static val
* varonce138
;
231 val
* var139
/* : String */;
232 char* var140
/* : NativeString */;
233 val
* var141
/* : String */;
234 short int var142
/* : Bool */;
235 val
* var143
/* : nullable Object */;
236 val
* var145
/* : NativeArray[String] */;
237 static val
* varonce144
;
238 static val
* varonce146
;
239 val
* var147
/* : String */;
240 char* var148
/* : NativeString */;
241 val
* var149
/* : String */;
242 static val
* varonce150
;
243 val
* var151
/* : String */;
244 char* var152
/* : NativeString */;
245 val
* var153
/* : String */;
246 val
* var154
/* : String */;
247 val
* var155
/* : String */;
248 val
* var156
/* : Message */;
249 val
* var157
/* : String */;
250 static val
* varonce158
;
251 val
* var159
/* : String */;
252 char* var160
/* : NativeString */;
253 val
* var161
/* : String */;
254 short int var162
/* : Bool */;
255 short int var163
/* : Bool */;
256 short int var164
/* : Bool */;
257 short int var165
/* : Bool */;
258 short int var167
/* : Bool */;
259 short int var168
/* : Bool */;
260 short int var_169
/* var : Bool */;
261 short int var170
/* : Bool */;
262 long var171
/* : Int */;
263 val
* var172
/* : nullable Object */;
264 val
* var174
/* : NativeArray[String] */;
265 static val
* varonce173
;
266 static val
* varonce175
;
267 val
* var176
/* : String */;
268 char* var177
/* : NativeString */;
269 val
* var178
/* : String */;
270 static val
* varonce179
;
271 val
* var180
/* : String */;
272 char* var181
/* : NativeString */;
273 val
* var182
/* : String */;
274 val
* var183
/* : String */;
275 val
* var184
/* : String */;
276 val
* var185
/* : Message */;
277 val
* var186
/* : String */;
278 static val
* varonce187
;
279 val
* var188
/* : String */;
280 char* var189
/* : NativeString */;
281 val
* var190
/* : String */;
282 short int var191
/* : Bool */;
283 short int var192
/* : Bool */;
284 short int var193
/* : Bool */;
285 short int var195
/* : Bool */;
286 short int var196
/* : Bool */;
287 val
* var198
/* : NativeArray[String] */;
288 static val
* varonce197
;
289 static val
* varonce199
;
290 val
* var200
/* : String */;
291 char* var201
/* : NativeString */;
292 val
* var202
/* : String */;
293 static val
* varonce203
;
294 val
* var204
/* : String */;
295 char* var205
/* : NativeString */;
296 val
* var206
/* : String */;
297 val
* var207
/* : String */;
298 val
* var208
/* : String */;
299 val
* var209
/* : Message */;
300 val
* var211
/* : NativeArray[String] */;
301 static val
* varonce210
;
302 static val
* varonce212
;
303 val
* var213
/* : String */;
304 char* var214
/* : NativeString */;
305 val
* var215
/* : String */;
306 static val
* varonce216
;
307 val
* var217
/* : String */;
308 char* var218
/* : NativeString */;
309 val
* var219
/* : String */;
310 static val
* varonce220
;
311 val
* var221
/* : String */;
312 char* var222
/* : NativeString */;
313 val
* var223
/* : String */;
314 val
* var224
/* : String */;
315 val
* var225
/* : String */;
316 val
* var226
/* : String */;
317 val
* var227
/* : Message */;
318 val
* var228
/* : MMethodDef */;
319 val
* var_pd
/* var pd: MMethodDef */;
320 val
* var229
/* : MPropDef */;
321 val
* var231
/* : MPropDef */;
322 val
* var232
/* : nullable MSignature */;
323 val
* var234
/* : nullable MSignature */;
324 short int var237
/* : Bool */;
327 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
328 var3
= self
->attrs
[COLOR_nitc__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
329 if (unlikely(var3
== NULL
)) {
330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
331 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 23);
339 { /* Inline opts#Option#value (var1) on <var1:OptionArray> */
340 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionArray> */
347 var7
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_mixins
);
352 var9
= nitc__modelbuilder_base___ToolContext___modelbuilder(self
);
355 { /* Inline mixin#ToolContext#opt_mixins (self) on <self:ToolContext> */
356 var12
= self
->attrs
[COLOR_nitc__mixin__ToolContext___opt_mixins
].val
; /* _opt_mixins on <self:ToolContext> */
357 if (unlikely(var12
== NULL
)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_mixins");
359 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 23);
367 { /* Inline opts#Option#value (var10) on <var10:OptionArray> */
368 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionArray> */
374 var16
= nitc__loader___ModelBuilder___parse(var9
, var13
);
377 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_mmodules
, var16
); /* Direct call array#Array#add_all on <var_mmodules:Array[MModule]>*/
380 var17
= nitc__modelbuilder_base___ToolContext___modelbuilder(self
);
383 nitc__modelbuilder___ModelBuilder___run_phases(var17
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var17:ModelBuilder>*/
388 var18
= ((val
*(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__mixin___ToolContext___make_main_module
]))(self
, p0
); /* make_main_module on <self:ToolContext>*/
390 var_mainmodule
= var18
;
392 { /* Inline mixin#ToolContext#opt_defines (self) on <self:ToolContext> */
393 var21
= self
->attrs
[COLOR_nitc__mixin__ToolContext___opt_defines
].val
; /* _opt_defines on <self:ToolContext> */
394 if (unlikely(var21
== NULL
)) {
395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_defines");
396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 25);
404 { /* Inline opts#Option#value (var19) on <var19:OptionArray> */
405 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionArray> */
412 var25
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_defines
);
417 { /* Inline mmodule#MModule#location (var_mainmodule) on <var_mainmodule:MModule> */
418 var29
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___location
].val
; /* _location on <var_mainmodule:MModule> */
419 if (unlikely(var29
== NULL
)) {
420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
421 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 98);
428 var_location
= var27
;
430 { /* Inline mmodule#MModule#model (var_mainmodule) on <var_mainmodule:MModule> */
431 var32
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___model
].val
; /* _model on <var_mainmodule:MModule> */
432 if (unlikely(var32
== NULL
)) {
433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 78);
443 var33
= core___core__SequenceRead___Collection__first(var_mmodules
);
446 { /* Inline kernel#Object#== (var_mainmodule,var33) on <var_mainmodule:MModule> */
449 { /* Inline kernel#Object#is_same_instance (var_mainmodule,var_other) on <var_mainmodule:MModule> */
450 var38
= var_mainmodule
== var_other
;
462 var39
= NEW_nitc__MModule(&type_nitc__MModule
);
464 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
465 var42
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
466 if (unlikely(var42
== NULL
)) {
467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
468 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
475 if (likely(varonce
!=NULL
)) {
479 var45
= core__flat___NativeString___to_s_full(var44
, 2l, 2l);
484 var46
= ((val
*(*)(val
* self
, val
* p0
))(var40
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var40
, var43
); /* + on <var40:String>*/
487 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nitc__mmodule__MModule__model_61d
]))(var39
, var_model
); /* model= on <var39:MModule>*/
490 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nitc__mmodule__MModule__mgroup_61d
]))(var39
, ((val
*)NULL
)); /* mgroup= on <var39:MModule>*/
493 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nitc__mmodule__MModule__name_61d
]))(var39
, var46
); /* name= on <var39:MModule>*/
496 ((void(*)(val
* self
, val
* p0
))(var39
->class->vft
[COLOR_nitc__mmodule__MModule__location_61d
]))(var39
, var_location
); /* location= on <var39:MModule>*/
499 ((void(*)(val
* self
))(var39
->class->vft
[COLOR_core__kernel__Object__init
]))(var39
); /* init on <var39:MModule>*/
501 var_mainmodule
= var39
;
503 nitc___nitc__MModule___set_imported_mmodules(var_mainmodule
, var_mmodules
); /* Direct call mmodule#MModule#set_imported_mmodules on <var_mainmodule:MModule>*/
506 { /* Inline model_base#MEntity#is_fictive= (var_mainmodule,1) on <var_mainmodule:MModule> */
507 var_mainmodule
->attrs
[COLOR_nitc__model_base__MEntity___is_fictive
].s
= 1; /* _is_fictive on <var_mainmodule:MModule> */
514 var48
= nitc__model___MModule___sys_type(var_mainmodule
);
517 if (var_recv
== NULL
) {
518 var49
= 0; /* is null */
520 var49
= 1; /* arg is null and recv is not */
523 { /* Inline kernel#Object#!= (var_recv,((val*)NULL)) on <var_recv:nullable MClassType> */
524 var_other52
= ((val
*)NULL
);
526 var53
= ((short int(*)(val
* self
, val
* p0
))(var_recv
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_recv
, var_other52
); /* == on <var_recv:nullable MClassType(MClassType)>*/
535 if (unlikely(!var49
)) {
536 PRINT_ERROR("Runtime error: %s", "Assert failed");
537 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 56);
540 var55
= NEW_nitc__MClassDef(&type_nitc__MClassDef
);
542 ((void(*)(val
* self
, val
* p0
))(var55
->class->vft
[COLOR_nitc__model__MClassDef__mmodule_61d
]))(var55
, var_mainmodule
); /* mmodule= on <var55:MClassDef>*/
545 ((void(*)(val
* self
, val
* p0
))(var55
->class->vft
[COLOR_nitc__model__MClassDef__bound_mtype_61d
]))(var55
, var_recv
); /* bound_mtype= on <var55:MClassDef>*/
548 ((void(*)(val
* self
, val
* p0
))(var55
->class->vft
[COLOR_nitc__model__MClassDef__location_61d
]))(var55
, var_location
); /* location= on <var55:MClassDef>*/
551 ((void(*)(val
* self
))(var55
->class->vft
[COLOR_core__kernel__Object__init
]))(var55
); /* init on <var55:MClassDef>*/
553 var_mclassdef
= var55
;
555 nitc___nitc__MClassDef___add_in_hierarchy(var_mclassdef
); /* Direct call model#MClassDef#add_in_hierarchy on <var_mclassdef:MClassDef>*/
559 var56
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
564 var58
= ((short int(*)(val
* self
))((((long)var_57
&3)?class_info
[((long)var_57
&3)]:var_57
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_57
); /* is_ok on <var_57:IndexedIterator[String]>*/
571 var59
= ((val
*(*)(val
* self
))((((long)var_57
&3)?class_info
[((long)var_57
&3)]:var_57
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_57
); /* item on <var_57:IndexedIterator[String]>*/
575 var61
= (val
*)((long)('=')<<2|2);
576 var60
= core__string_search___Text___split_once_on(var_define
, var61
);
580 var62
= core___core__SequenceRead___Collection__first(var_spl
);
583 var_val
= ((val
*)NULL
);
585 { /* Inline array#AbstractArrayRead#length (var_spl) on <var_spl:Array[String]> */
586 var65
= var_spl
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_spl:Array[String]> */
592 { /* Inline kernel#Int#> (var63,1l) on <var63:Int> */
593 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
594 /* <1l:Int> isa OTHER */
595 var68
= 1; /* easy <1l:Int> isa OTHER*/
596 if (unlikely(!var68
)) {
597 var_class_name
= type_core__Int
.name
;
598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
599 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
610 var70
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_spl
, 1l);
616 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:nullable MClassType(MClassType)> */
617 var73
= var_recv
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_recv:nullable MClassType(MClassType)> */
618 if (unlikely(var73
== NULL
)) {
619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
620 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
628 var74
= nitc__model___MModule___try_get_primitive_method(var_mainmodule
, var_name
, var71
);
631 if (var_prop
== NULL
) {
632 var75
= 1; /* is null */
634 var75
= 0; /* arg is null but recv is not */
637 { /* Inline kernel#Object#== (var_prop,((val*)NULL)) on <var_prop:nullable MMethod> */
638 var_other
= ((val
*)NULL
);
640 { /* Inline kernel#Object#is_same_instance (var_prop,var_other) on <var_prop:nullable MMethod(MMethod)> */
641 var80
= var_prop
== var_other
;
654 if (unlikely(varonce81
==NULL
)) {
655 var82
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
656 if (likely(varonce83
!=NULL
)) {
659 var85
= "Error: --define: no top-level function `";
660 var86
= core__flat___NativeString___to_s_full(var85
, 40l, 40l);
664 ((struct instance_core__NativeArray
*)var82
)->values
[0]=var84
;
665 if (likely(varonce87
!=NULL
)) {
669 var90
= core__flat___NativeString___to_s_full(var89
, 2l, 2l);
673 ((struct instance_core__NativeArray
*)var82
)->values
[2]=var88
;
678 ((struct instance_core__NativeArray
*)var82
)->values
[1]=var_name
;
680 var91
= ((val
*(*)(val
* self
))(var82
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var82
); /* native_to_s on <var82:NativeArray[String]>*/
684 var92
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var91
);
690 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
691 var96
= var_prop
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
692 if (unlikely(var96
== NULL
)) {
693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1986);
702 { /* Inline model#MMethodDef#msignature (var94) on <var94:MPropDef(MMethodDef)> */
703 var99
= var94
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var94:MPropDef(MMethodDef)> */
709 PRINT_ERROR("Runtime error: %s", "Receiver is null");
710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mixin
, 70);
713 { /* Inline model#MSignature#return_mtype (var97) on <var97:nullable MSignature> */
714 if (unlikely(var97
== NULL
)) {
715 PRINT_ERROR("Runtime error: %s", "Receiver is null");
716 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1795);
719 var102
= var97
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var97:nullable MSignature> */
721 RET_LABEL101
:(void)0;
725 if (var_ret
== NULL
) {
726 var103
= 1; /* is null */
728 var103
= 0; /* arg is null but recv is not */
731 { /* Inline kernel#Object#== (var_ret,((val*)NULL)) on <var_ret:nullable MType> */
732 var_other
= ((val
*)NULL
);
734 { /* Inline kernel#Object#is_same_instance (var_ret,var_other) on <var_ret:nullable MType(MType)> */
735 var108
= var_ret
== var_other
;
738 RET_LABEL107
:(void)0;
743 RET_LABEL105
:(void)0;
748 if (unlikely(varonce109
==NULL
)) {
749 var110
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
750 if (likely(varonce111
!=NULL
)) {
753 var113
= "Error: --define: method `";
754 var114
= core__flat___NativeString___to_s_full(var113
, 25l, 25l);
758 ((struct instance_core__NativeArray
*)var110
)->values
[0]=var112
;
759 if (likely(varonce115
!=NULL
)) {
762 var117
= "` is not a function.";
763 var118
= core__flat___NativeString___to_s_full(var117
, 20l, 20l);
767 ((struct instance_core__NativeArray
*)var110
)->values
[2]=var116
;
773 var119
= ((val
*(*)(val
* self
))(var_prop
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_prop
); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
775 ((struct instance_core__NativeArray
*)var110
)->values
[1]=var119
;
777 var120
= ((val
*(*)(val
* self
))(var110
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var110
); /* native_to_s on <var110:NativeArray[String]>*/
781 var121
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var120
);
786 var122
= ((val
*(*)(val
* self
))(var_ret
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ret
); /* to_s on <var_ret:nullable MType(MType)>*/
788 if (likely(varonce123
!=NULL
)) {
792 var126
= core__flat___NativeString___to_s_full(var125
, 4l, 4l);
797 var127
= ((short int(*)(val
* self
, val
* p0
))(var122
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var122
, var124
); /* == on <var122:String>*/
800 if (var_val
== NULL
) {
801 var129
= 1; /* is null */
803 var129
= 0; /* arg is null but recv is not */
806 var130
= ((short int(*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_val
, ((val
*)NULL
)); /* == on <var_val:nullable Object(nullable String)>*/
813 if (likely(varonce132
!=NULL
)) {
817 var135
= core__flat___NativeString___to_s_full(var134
, 4l, 4l);
822 var136
= ((short int(*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_val
, var133
); /* == on <var_val:nullable Object(String)>*/
827 var137
= (val
*)((long)(1)<<2|3);
830 if (likely(varonce138
!=NULL
)) {
834 var141
= core__flat___NativeString___to_s_full(var140
, 5l, 5l);
839 var142
= ((short int(*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_val
, var139
); /* == on <var_val:nullable Object(String)>*/
842 var143
= (val
*)((long)(0)<<2|3);
845 if (unlikely(varonce144
==NULL
)) {
846 var145
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
847 if (likely(varonce146
!=NULL
)) {
850 var148
= "Error: --define: method `";
851 var149
= core__flat___NativeString___to_s_full(var148
, 25l, 25l);
855 ((struct instance_core__NativeArray
*)var145
)->values
[0]=var147
;
856 if (likely(varonce150
!=NULL
)) {
859 var152
= "` needs a Bool.";
860 var153
= core__flat___NativeString___to_s_full(var152
, 15l, 15l);
864 ((struct instance_core__NativeArray
*)var145
)->values
[2]=var151
;
870 var154
= ((val
*(*)(val
* self
))(var_prop
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_prop
); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
872 ((struct instance_core__NativeArray
*)var145
)->values
[1]=var154
;
874 var155
= ((val
*(*)(val
* self
))(var145
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var145
); /* native_to_s on <var145:NativeArray[String]>*/
878 var156
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var155
);
885 var157
= ((val
*(*)(val
* self
))(var_ret
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ret
); /* to_s on <var_ret:nullable MType(MType)>*/
887 if (likely(varonce158
!=NULL
)) {
891 var161
= core__flat___NativeString___to_s_full(var160
, 3l, 3l);
896 var162
= ((short int(*)(val
* self
, val
* p0
))(var157
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var157
, var159
); /* == on <var157:String>*/
899 if (var_val
== NULL
) {
900 var164
= 0; /* is null */
902 var164
= 1; /* arg is null and recv is not */
905 { /* Inline kernel#Object#!= (var_val,((val*)NULL)) on <var_val:nullable Object(nullable String)> */
906 var_other52
= ((val
*)NULL
);
908 var167
= ((short int(*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_val
, var_other52
); /* == on <var_val:nullable String(String)>*/
913 RET_LABEL166
:(void)0;
920 var170
= core___core__Text___is_numeric(var_val
);
928 var171
= core__fixed_ints___Text___to_i(var_val
);
930 var172
= (val
*)(var171
<<2|1);
933 if (unlikely(varonce173
==NULL
)) {
934 var174
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
935 if (likely(varonce175
!=NULL
)) {
938 var177
= "Error: --define: method `";
939 var178
= core__flat___NativeString___to_s_full(var177
, 25l, 25l);
943 ((struct instance_core__NativeArray
*)var174
)->values
[0]=var176
;
944 if (likely(varonce179
!=NULL
)) {
947 var181
= "` needs a Int.";
948 var182
= core__flat___NativeString___to_s_full(var181
, 14l, 14l);
952 ((struct instance_core__NativeArray
*)var174
)->values
[2]=var180
;
958 var183
= ((val
*(*)(val
* self
))(var_prop
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_prop
); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
960 ((struct instance_core__NativeArray
*)var174
)->values
[1]=var183
;
962 var184
= ((val
*(*)(val
* self
))(var174
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var174
); /* native_to_s on <var174:NativeArray[String]>*/
966 var185
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var184
);
972 var186
= ((val
*(*)(val
* self
))(var_ret
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ret
); /* to_s on <var_ret:nullable MType(MType)>*/
974 if (likely(varonce187
!=NULL
)) {
978 var190
= core__flat___NativeString___to_s_full(var189
, 6l, 6l);
983 var191
= ((short int(*)(val
* self
, val
* p0
))(var186
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var186
, var188
); /* == on <var186:String>*/
986 if (var_val
== NULL
) {
987 var192
= 0; /* is null */
989 var192
= 1; /* arg is null and recv is not */
992 { /* Inline kernel#Object#!= (var_val,((val*)NULL)) on <var_val:nullable Object(nullable String)> */
993 var_other52
= ((val
*)NULL
);
995 var195
= ((short int(*)(val
* self
, val
* p0
))(var_val
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_val
, var_other52
); /* == on <var_val:nullable String(String)>*/
1000 RET_LABEL194
:(void)0;
1007 if (unlikely(varonce197
==NULL
)) {
1008 var198
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1009 if (likely(varonce199
!=NULL
)) {
1010 var200
= varonce199
;
1012 var201
= "Error: --define: method `";
1013 var202
= core__flat___NativeString___to_s_full(var201
, 25l, 25l);
1015 varonce199
= var200
;
1017 ((struct instance_core__NativeArray
*)var198
)->values
[0]=var200
;
1018 if (likely(varonce203
!=NULL
)) {
1019 var204
= varonce203
;
1021 var205
= "` needs a String.";
1022 var206
= core__flat___NativeString___to_s_full(var205
, 17l, 17l);
1024 varonce203
= var204
;
1026 ((struct instance_core__NativeArray
*)var198
)->values
[2]=var204
;
1028 var198
= varonce197
;
1032 var207
= ((val
*(*)(val
* self
))(var_prop
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_prop
); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
1034 ((struct instance_core__NativeArray
*)var198
)->values
[1]=var207
;
1036 var208
= ((val
*(*)(val
* self
))(var198
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var198
); /* native_to_s on <var198:NativeArray[String]>*/
1038 varonce197
= var198
;
1040 var209
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var208
);
1045 if (unlikely(varonce210
==NULL
)) {
1046 var211
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1047 if (likely(varonce212
!=NULL
)) {
1048 var213
= varonce212
;
1050 var214
= "Error: --define: method `";
1051 var215
= core__flat___NativeString___to_s_full(var214
, 25l, 25l);
1053 varonce212
= var213
;
1055 ((struct instance_core__NativeArray
*)var211
)->values
[0]=var213
;
1056 if (likely(varonce216
!=NULL
)) {
1057 var217
= varonce216
;
1059 var218
= "` returns an unsupported type `";
1060 var219
= core__flat___NativeString___to_s_full(var218
, 31l, 31l);
1062 varonce216
= var217
;
1064 ((struct instance_core__NativeArray
*)var211
)->values
[2]=var217
;
1065 if (likely(varonce220
!=NULL
)) {
1066 var221
= varonce220
;
1069 var223
= core__flat___NativeString___to_s_full(var222
, 2l, 2l);
1071 varonce220
= var221
;
1073 ((struct instance_core__NativeArray
*)var211
)->values
[4]=var221
;
1075 var211
= varonce210
;
1079 var224
= ((val
*(*)(val
* self
))(var_prop
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_prop
); /* to_s on <var_prop:nullable MMethod(MMethod)>*/
1081 ((struct instance_core__NativeArray
*)var211
)->values
[1]=var224
;
1083 var225
= ((val
*(*)(val
* self
))(var_ret
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_ret
); /* to_s on <var_ret:nullable MType(MType)>*/
1085 ((struct instance_core__NativeArray
*)var211
)->values
[3]=var225
;
1087 var226
= ((val
*(*)(val
* self
))(var211
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var211
); /* native_to_s on <var211:NativeArray[String]>*/
1089 varonce210
= var211
;
1091 var227
= nitc___nitc__ToolContext___error(self
, ((val
*)NULL
), var226
);
1098 var228
= NEW_nitc__MMethodDef(&type_nitc__MMethodDef
);
1100 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nitc__model__MPropDef__mclassdef_61d
]))(var228
, var_mclassdef
); /* mclassdef= on <var228:MMethodDef>*/
1103 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nitc__model__MPropDef__mproperty_61d
]))(var228
, var_prop
); /* mproperty= on <var228:MMethodDef>*/
1106 ((void(*)(val
* self
, val
* p0
))(var228
->class->vft
[COLOR_nitc__model__MPropDef__location_61d
]))(var228
, var_location
); /* location= on <var228:MMethodDef>*/
1109 ((void(*)(val
* self
))(var228
->class->vft
[COLOR_core__kernel__Object__init
]))(var228
); /* init on <var228:MMethodDef>*/
1113 { /* Inline model#MProperty#intro (var_prop) on <var_prop:nullable MMethod(MMethod)> */
1114 var231
= var_prop
->attrs
[COLOR_nitc__model__MProperty___intro
].val
; /* _intro on <var_prop:nullable MMethod(MMethod)> */
1115 if (unlikely(var231
== NULL
)) {
1116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1117 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1986);
1121 RET_LABEL230
:(void)0;
1125 { /* Inline model#MMethodDef#msignature (var229) on <var229:MPropDef(MMethodDef)> */
1126 var234
= var229
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var229:MPropDef(MMethodDef)> */
1128 RET_LABEL233
:(void)0;
1132 { /* Inline model#MMethodDef#msignature= (var_pd,var232) on <var_pd:MMethodDef> */
1133 var_pd
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
= var232
; /* _msignature on <var_pd:MMethodDef> */
1134 RET_LABEL235
:(void)0;
1138 { /* Inline model#MMethodDef#constant_value= (var_pd,var_v) on <var_pd:MMethodDef> */
1139 var_pd
->attrs
[COLOR_nitc__model__MMethodDef___constant_value
].val
= var_v
; /* _constant_value on <var_pd:MMethodDef> */
1140 RET_LABEL236
:(void)0;
1143 BREAK_label93
: (void)0;
1145 ((void(*)(val
* self
))((((long)var_57
&3)?class_info
[((long)var_57
&3)]:var_57
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_57
); /* next on <var_57:IndexedIterator[String]>*/
1148 BREAK_label
: (void)0;
1150 ((void(*)(val
* self
))((((long)var_57
&3)?class_info
[((long)var_57
&3)]:var_57
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_57
); /* finish on <var_57:IndexedIterator[String]>*/
1153 var237
= nitc___nitc__ToolContext___check_errors(self
);
1157 var
= var_mainmodule
;