1 #include "nitc__auto_super_init.sep.0.h"
2 /* method auto_super_init$ToolContext$auto_super_init_phase for (self: ToolContext): Phase */
3 val
* nitc__auto_super_init___ToolContext___auto_super_init_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nitc__auto_super_init__ToolContext___auto_super_init_phase
].val
; /* _auto_super_init_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _auto_super_init_phase");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 25);
19 /* method auto_super_init$AutoSuperInitPhase$process_npropdef for (self: AutoSuperInitPhase, APropdef) */
20 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitPhase___nitc__phase__Phase__process_npropdef(val
* self
, val
* p0
) {
21 val
* var_npropdef
/* var npropdef: APropdef */;
22 short int var
/* : Bool */;
25 val
* var1
/* : ToolContext */;
26 val
* var3
/* : ToolContext */;
27 val
* var4
/* : ModelBuilder */;
29 /* <var_npropdef:APropdef> isa AMethPropdef */
30 cltype
= type_nitc__AMethPropdef
.color
;
31 idtype
= type_nitc__AMethPropdef
.id
;
32 if(cltype
>= var_npropdef
->type
->table_size
) {
35 var
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
39 { /* Inline phase$Phase$toolcontext (self) on <self:AutoSuperInitPhase> */
40 var3
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:AutoSuperInitPhase> */
41 if (unlikely(var3
== NULL
)) {
42 if(catchStack
.cursor
>= 0){
43 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
54 var4
= nitc__modelbuilder_base___ToolContext___modelbuilder(var1
);
57 nitc__auto_super_init___AMethPropdef___do_auto_super_init(var_npropdef
, var4
); /* Direct call auto_super_init$AMethPropdef$do_auto_super_init on <var_npropdef:APropdef(AMethPropdef)>*/
63 /* method auto_super_init$AutoSuperInitVisitor$visit for (self: AutoSuperInitVisitor, ANode) */
64 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___nitc__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
65 val
* var_n
/* var n: ANode */;
68 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__auto_super_init__ANode__accept_auto_super_init
]))(var_n
, self
); /* accept_auto_super_init on <var_n:ANode>*/
71 ((void(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_nitc__parser_nodes__ANode__visit_all
]))(var_n
, self
); /* visit_all on <var_n:ANode>*/
75 /* method auto_super_init$AutoSuperInitVisitor$has_explicit_super_init for (self: AutoSuperInitVisitor): nullable ANode */
76 val
* nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init(val
* self
) {
77 val
* var
/* : nullable ANode */;
78 val
* var1
/* : nullable ANode */;
79 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
84 /* method auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= for (self: AutoSuperInitVisitor, nullable ANode) */
85 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init_61d(val
* self
, val
* p0
) {
86 self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= p0
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
89 /* method auto_super_init$AutoSuperInitVisitor$is_broken for (self: AutoSuperInitVisitor): Bool */
90 short int nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken(val
* self
) {
91 short int var
/* : Bool */;
92 short int var1
/* : Bool */;
93 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
; /* _is_broken on <self:AutoSuperInitVisitor> */
98 /* method auto_super_init$AutoSuperInitVisitor$is_broken= for (self: AutoSuperInitVisitor, Bool) */
99 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken_61d(val
* self
, short int p0
) {
100 self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
= p0
; /* _is_broken on <self:AutoSuperInitVisitor> */
103 /* method auto_super_init$AMethPropdef$auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
104 val
* nitc__auto_super_init___AMethPropdef___auto_super_inits(val
* self
) {
105 val
* var
/* : nullable Array[CallSite] */;
106 val
* var1
/* : nullable Array[CallSite] */;
107 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
112 /* method auto_super_init$AMethPropdef$auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
113 void nitc__auto_super_init___AMethPropdef___auto_super_inits_61d(val
* self
, val
* p0
) {
114 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
= p0
; /* _auto_super_inits on <self:AMethPropdef> */
117 /* method auto_super_init$AMethPropdef$auto_super_call for (self: AMethPropdef): Bool */
118 short int nitc__auto_super_init___AMethPropdef___auto_super_call(val
* self
) {
119 short int var
/* : Bool */;
120 short int var1
/* : Bool */;
121 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
; /* _auto_super_call on <self:AMethPropdef> */
126 /* method auto_super_init$AMethPropdef$auto_super_call= for (self: AMethPropdef, Bool) */
127 void nitc__auto_super_init___AMethPropdef___auto_super_call_61d(val
* self
, short int p0
) {
128 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
= p0
; /* _auto_super_call on <self:AMethPropdef> */
131 /* method auto_super_init$AMethPropdef$do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
132 void nitc__auto_super_init___AMethPropdef___do_auto_super_init(val
* self
, val
* p0
) {
133 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
134 val
* var
/* : nullable ANode */;
135 val
* var2
/* : nullable ANode */;
136 short int var3
/* : Bool */;
139 const char* var_class_name
;
140 val
* var4
/* : nullable MClassDef */;
141 val
* var6
/* : nullable MClassDef */;
142 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
143 short int var7
/* : Bool */;
144 short int var8
/* : Bool */;
145 short int var9
/* : Bool */;
146 val
* var_other
/* var other: nullable Object */;
147 short int var11
/* : Bool */;
148 short int var13
/* : Bool */;
149 short int var_
/* var : Bool */;
150 short int var14
/* : Bool */;
151 short int var16
/* : Bool */;
152 val
* var17
/* : nullable MPropDef */;
153 val
* var19
/* : nullable MPropDef */;
154 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
155 short int var20
/* : Bool */;
156 short int var21
/* : Bool */;
157 short int var22
/* : Bool */;
158 short int var24
/* : Bool */;
159 short int var26
/* : Bool */;
160 short int var_27
/* var : Bool */;
161 short int var28
/* : Bool */;
162 short int var30
/* : Bool */;
163 val
* var31
/* : MClassDef */;
164 val
* var33
/* : MClassDef */;
165 val
* var34
/* : MModule */;
166 val
* var36
/* : MModule */;
167 val
* var_mmodule
/* var mmodule: MModule */;
168 val
* var37
/* : MClassType */;
169 val
* var39
/* : MClassType */;
170 val
* var_anchor
/* var anchor: MClassType */;
171 val
* var40
/* : MClass */;
172 val
* var42
/* : MClass */;
173 val
* var43
/* : MClassType */;
174 val
* var45
/* : MClassType */;
175 val
* var_recvtype
/* var recvtype: MClassType */;
177 val
* var46
/* : String */;
178 char* var47
/* : CString */;
179 val
* var48
/* : String */;
180 val
* var49
/* : nullable Int */;
181 val
* var50
/* : nullable Int */;
182 val
* var51
/* : nullable Bool */;
183 val
* var52
/* : nullable Bool */;
184 val
* var53
/* : nullable AAnnotation */;
185 val
* var_nosuper
/* var nosuper: nullable AAnnotation */;
186 short int var54
/* : Bool */;
187 val
* var55
/* : MProperty */;
188 val
* var57
/* : MProperty */;
189 short int var58
/* : Bool */;
190 short int var60
/* : Bool */;
191 short int var61
/* : Bool */;
192 short int var_62
/* var : Bool */;
193 val
* var63
/* : MProperty */;
194 val
* var65
/* : MProperty */;
195 short int var66
/* : Bool */;
196 short int var68
/* : Bool */;
197 short int var69
/* : Bool */;
198 short int var70
/* : Bool */;
199 val
* var_other72
/* var other: nullable Object */;
200 short int var73
/* : Bool */;
201 short int var74
/* : Bool */;
202 static val
* varonce75
;
203 val
* var76
/* : String */;
204 char* var77
/* : CString */;
205 val
* var78
/* : String */;
206 val
* var79
/* : nullable Int */;
207 val
* var80
/* : nullable Int */;
208 val
* var81
/* : nullable Bool */;
209 val
* var82
/* : nullable Bool */;
210 val
* var83
/* : nullable AExpr */;
211 val
* var85
/* : nullable AExpr */;
212 val
* var_nblock
/* var nblock: nullable AExpr */;
213 short int var86
/* : Bool */;
214 short int var87
/* : Bool */;
215 short int var89
/* : Bool */;
216 short int var90
/* : Bool */;
217 val
* var91
/* : AutoSuperInitVisitor */;
218 val
* var_v
/* var v: AutoSuperInitVisitor */;
219 val
* var93
/* : nullable ANode */;
220 val
* var95
/* : nullable ANode */;
221 val
* var_anode
/* var anode: nullable ANode */;
222 short int var96
/* : Bool */;
223 short int var97
/* : Bool */;
224 short int var99
/* : Bool */;
225 short int var100
/* : Bool */;
226 short int var101
/* : Bool */;
227 short int var102
/* : Bool */;
228 short int var104
/* : Bool */;
229 short int var105
/* : Bool */;
230 static val
* varonce106
;
231 val
* var107
/* : String */;
232 char* var108
/* : CString */;
233 val
* var109
/* : String */;
234 val
* var110
/* : nullable Int */;
235 val
* var111
/* : nullable Int */;
236 val
* var112
/* : nullable Bool */;
237 val
* var113
/* : nullable Bool */;
238 short int var114
/* : Bool */;
239 short int var116
/* : Bool */;
240 short int var117
/* : Bool */;
241 short int var118
/* : Bool */;
242 short int var120
/* : Bool */;
243 short int var121
/* : Bool */;
244 short int var122
/* : Bool */;
245 short int var123
/* : Bool */;
246 val
* var126
/* : ToolContext */;
247 val
* var128
/* : ToolContext */;
248 val
* var130
/* : NativeArray[String] */;
249 static val
* varonce129
;
250 static val
* varonce131
;
251 val
* var132
/* : String */;
252 char* var133
/* : CString */;
253 val
* var134
/* : String */;
254 val
* var135
/* : nullable Int */;
255 val
* var136
/* : nullable Int */;
256 val
* var137
/* : nullable Bool */;
257 val
* var138
/* : nullable Bool */;
258 val
* var139
/* : String */;
259 val
* var140
/* : String */;
260 val
* var141
/* : Array[CallSite] */;
261 val
* var_auto_super_inits
/* var auto_super_inits: Array[CallSite] */;
262 val
* var142
/* : nullable MMethod */;
263 val
* var144
/* : nullable MMethod */;
264 val
* var_the_root_init_mmethod
/* var the_root_init_mmethod: nullable MMethod */;
265 short int var145
/* : Bool */;
266 short int var146
/* : Bool */;
267 short int var147
/* : Bool */;
268 short int var149
/* : Bool */;
269 short int var150
/* : Bool */;
270 short int var_151
/* var : Bool */;
271 short int var152
/* : Bool */;
272 val
* var153
/* : Array[MPropDef] */;
273 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
274 short int var154
/* : Bool */;
275 val
* var156
/* : nullable Object */;
276 val
* var_candidatedef
/* var candidatedef: MMethodDef */;
277 long var157
/* : Int */;
278 long var159
/* : Int */;
279 short int var160
/* : Bool */;
280 short int var162
/* : Bool */;
283 const char* var_class_name165
;
284 short int var166
/* : Bool */;
285 val
* var167
/* : nullable Object */;
286 val
* var_cd2
/* var cd2: MMethodDef */;
287 val
* var169
/* : NativeArray[String] */;
288 static val
* varonce168
;
289 static val
* varonce170
;
290 val
* var171
/* : String */;
291 char* var172
/* : CString */;
292 val
* var173
/* : String */;
293 val
* var174
/* : nullable Int */;
294 val
* var175
/* : nullable Int */;
295 val
* var176
/* : nullable Bool */;
296 val
* var177
/* : nullable Bool */;
297 static val
* varonce178
;
298 val
* var179
/* : String */;
299 char* var180
/* : CString */;
300 val
* var181
/* : String */;
301 val
* var182
/* : nullable Int */;
302 val
* var183
/* : nullable Int */;
303 val
* var184
/* : nullable Bool */;
304 val
* var185
/* : nullable Bool */;
305 static val
* varonce186
;
306 val
* var187
/* : String */;
307 char* var188
/* : CString */;
308 val
* var189
/* : String */;
309 val
* var190
/* : nullable Int */;
310 val
* var191
/* : nullable Int */;
311 val
* var192
/* : nullable Bool */;
312 val
* var193
/* : nullable Bool */;
313 static val
* varonce194
;
314 val
* var195
/* : String */;
315 char* var196
/* : CString */;
316 val
* var197
/* : String */;
317 val
* var198
/* : nullable Int */;
318 val
* var199
/* : nullable Int */;
319 val
* var200
/* : nullable Bool */;
320 val
* var201
/* : nullable Bool */;
321 static val
* varonce202
;
322 val
* var203
/* : String */;
323 char* var204
/* : CString */;
324 val
* var205
/* : String */;
325 val
* var206
/* : nullable Int */;
326 val
* var207
/* : nullable Int */;
327 val
* var208
/* : nullable Bool */;
328 val
* var209
/* : nullable Bool */;
329 val
* var210
/* : String */;
330 val
* var211
/* : Array[MProperty] */;
331 val
* var213
/* : Array[MProperty] */;
332 static val
* varonce214
;
333 val
* var215
/* : String */;
334 char* var216
/* : CString */;
335 val
* var217
/* : String */;
336 val
* var218
/* : nullable Int */;
337 val
* var219
/* : nullable Int */;
338 val
* var220
/* : nullable Bool */;
339 val
* var221
/* : nullable Bool */;
340 val
* var222
/* : String */;
341 val
* var223
/* : String */;
342 val
* var224
/* : Array[MProperty] */;
343 val
* var226
/* : Array[MProperty] */;
344 static val
* varonce227
;
345 val
* var228
/* : String */;
346 char* var229
/* : CString */;
347 val
* var230
/* : String */;
348 val
* var231
/* : nullable Int */;
349 val
* var232
/* : nullable Int */;
350 val
* var233
/* : nullable Bool */;
351 val
* var234
/* : nullable Bool */;
352 val
* var235
/* : String */;
353 val
* var236
/* : String */;
354 val
* var238
/* : nullable MSignature */;
355 val
* var239
/* : nullable MSignature */;
356 val
* var241
/* : nullable MSignature */;
357 val
* var242
/* : nullable MSignature */;
358 val
* var244
/* : nullable MSignature */;
359 val
* var_msignature
/* var msignature: nullable MSignature */;
360 val
* var245
/* : MSignature */;
361 long var246
/* : Int */;
362 short int var247
/* : Bool */;
363 short int var249
/* : Bool */;
366 const char* var_class_name252
;
367 short int var253
/* : Bool */;
368 val
* var255
/* : NativeArray[String] */;
369 static val
* varonce254
;
370 static val
* varonce256
;
371 val
* var257
/* : String */;
372 char* var258
/* : CString */;
373 val
* var259
/* : String */;
374 val
* var260
/* : nullable Int */;
375 val
* var261
/* : nullable Int */;
376 val
* var262
/* : nullable Bool */;
377 val
* var263
/* : nullable Bool */;
378 static val
* varonce264
;
379 val
* var265
/* : String */;
380 char* var266
/* : CString */;
381 val
* var267
/* : String */;
382 val
* var268
/* : nullable Int */;
383 val
* var269
/* : nullable Int */;
384 val
* var270
/* : nullable Bool */;
385 val
* var271
/* : nullable Bool */;
386 static val
* varonce272
;
387 val
* var273
/* : String */;
388 char* var274
/* : CString */;
389 val
* var275
/* : String */;
390 val
* var276
/* : nullable Int */;
391 val
* var277
/* : nullable Int */;
392 val
* var278
/* : nullable Bool */;
393 val
* var279
/* : nullable Bool */;
394 val
* var280
/* : String */;
395 val
* var281
/* : String */;
396 long var282
/* : Int */;
397 val
* var283
/* : String */;
398 val
* var284
/* : String */;
399 val
* var286
/* : CallSite */;
400 val
* var287
/* : Location */;
401 val
* var_callsite
/* var callsite: CallSite */;
402 val
* var288
/* : ToolContext */;
403 val
* var290
/* : ToolContext */;
404 val
* var292
/* : NativeArray[String] */;
405 static val
* varonce291
;
406 static val
* varonce293
;
407 val
* var294
/* : String */;
408 char* var295
/* : CString */;
409 val
* var296
/* : String */;
410 val
* var297
/* : nullable Int */;
411 val
* var298
/* : nullable Int */;
412 val
* var299
/* : nullable Bool */;
413 val
* var300
/* : nullable Bool */;
414 static val
* varonce301
;
415 val
* var302
/* : String */;
416 char* var303
/* : CString */;
417 val
* var304
/* : String */;
418 val
* var305
/* : nullable Int */;
419 val
* var306
/* : nullable Int */;
420 val
* var307
/* : nullable Bool */;
421 val
* var308
/* : nullable Bool */;
422 val
* var309
/* : String */;
423 val
* var310
/* : String */;
424 val
* var311
/* : String */;
425 short int var312
/* : Bool */;
426 val
* var314
/* : NativeArray[String] */;
427 static val
* varonce313
;
428 static val
* varonce315
;
429 val
* var316
/* : String */;
430 char* var317
/* : CString */;
431 val
* var318
/* : String */;
432 val
* var319
/* : nullable Int */;
433 val
* var320
/* : nullable Int */;
434 val
* var321
/* : nullable Bool */;
435 val
* var322
/* : nullable Bool */;
436 static val
* varonce323
;
437 val
* var324
/* : String */;
438 char* var325
/* : CString */;
439 val
* var326
/* : String */;
440 val
* var327
/* : nullable Int */;
441 val
* var328
/* : nullable Int */;
442 val
* var329
/* : nullable Bool */;
443 val
* var330
/* : nullable Bool */;
444 val
* var331
/* : String */;
445 val
* var332
/* : String */;
446 var_modelbuilder
= p0
;
448 { /* Inline parser_nodes$ANode$parent (self) on <self:AMethPropdef> */
449 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
454 /* <var:nullable ANode> isa AClassdef */
455 cltype
= type_nitc__AClassdef
.color
;
456 idtype
= type_nitc__AClassdef
.id
;
460 if(cltype
>= var
->type
->table_size
) {
463 var3
= var
->type
->type_table
[cltype
] == idtype
;
466 if (unlikely(!var3
)) {
467 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
468 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name
);
469 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 59);
473 { /* Inline modelize_class$AClassdef$mclassdef (var) on <var:nullable ANode(AClassdef)> */
474 var6
= var
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var:nullable ANode(AClassdef)> */
479 var_mclassdef
= var4
;
480 if (var_mclassdef
== NULL
) {
481 var8
= 1; /* is null */
483 var8
= 0; /* arg is null but recv is not */
486 { /* Inline kernel$Object$== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
487 var_other
= ((val
*)NULL
);
489 { /* Inline kernel$Object$is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
490 var13
= var_mclassdef
== var_other
;
507 { /* Inline model_base$MEntity$is_broken (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
508 var16
= var_mclassdef
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mclassdef:nullable MClassDef(MClassDef)> */
520 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
521 var19
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
526 var_mpropdef
= var17
;
527 if (var_mpropdef
== NULL
) {
528 var21
= 1; /* is null */
530 var21
= 0; /* arg is null but recv is not */
533 { /* Inline kernel$Object$== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
534 var_other
= ((val
*)NULL
);
536 { /* Inline kernel$Object$is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
537 var26
= var_mpropdef
== var_other
;
554 { /* Inline model_base$MEntity$is_broken (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
555 var30
= var_mpropdef
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
567 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
568 var33
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
569 if (unlikely(var33
== NULL
)) {
570 if(catchStack
.cursor
>= 0){
571 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
574 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
582 { /* Inline model$MClassDef$mmodule (var31) on <var31:MClassDef> */
583 var36
= var31
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var31:MClassDef> */
584 if (unlikely(var36
== NULL
)) {
585 if(catchStack
.cursor
>= 0){
586 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
589 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
598 { /* Inline model$MClassDef$bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
599 var39
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
600 if (unlikely(var39
== NULL
)) {
601 if(catchStack
.cursor
>= 0){
602 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
605 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
614 { /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
615 var42
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
616 if (unlikely(var42
== NULL
)) {
617 if(catchStack
.cursor
>= 0){
618 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
621 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
629 { /* Inline model$MClass$mclass_type (var40) on <var40:MClass> */
630 var45
= var40
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var40:MClass> */
631 if (unlikely(var45
== NULL
)) {
632 if(catchStack
.cursor
>= 0){
633 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
636 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
643 var_recvtype
= var43
;
644 if (likely(varonce
!=NULL
)) {
648 var49
= (val
*)(7l<<2|1);
649 var50
= (val
*)(7l<<2|1);
650 var51
= (val
*)((long)(0)<<2|3);
651 var52
= (val
*)((long)(0)<<2|3);
652 var48
= core__flat___CString___to_s_unsafe(var47
, var49
, var50
, var51
, var52
);
657 var53
= nitc__annotation___Prod___get_single_annotation(self
, var46
, var_modelbuilder
);
661 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
662 var57
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
663 if (unlikely(var57
== NULL
)) {
664 if(catchStack
.cursor
>= 0){
665 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
668 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
676 { /* Inline model$MMethod$is_init (var55) on <var55:MProperty(MMethod)> */
677 var60
= var55
->attrs
[COLOR_nitc__model__MMethod___is_init
].s
; /* _is_init on <var55:MProperty(MMethod)> */
688 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
689 var65
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
690 if (unlikely(var65
== NULL
)) {
691 if(catchStack
.cursor
>= 0){
692 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
703 { /* Inline model$MMethod$is_new (var63) on <var63:MProperty(MMethod)> */
704 var68
= var63
->attrs
[COLOR_nitc__model__MMethod___is_new
].s
; /* _is_new on <var63:MProperty(MMethod)> */
712 if (var_nosuper
== NULL
) {
713 var69
= 0; /* is null */
715 var69
= 1; /* arg is null and recv is not */
718 { /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
719 var_other72
= ((val
*)NULL
);
721 var73
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other72
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
731 if (likely(varonce75
!=NULL
)) {
734 var77
= "Error: `nosuper` only allowed in `init`.";
735 var79
= (val
*)(40l<<2|1);
736 var80
= (val
*)(40l<<2|1);
737 var81
= (val
*)((long)(0)<<2|3);
738 var82
= (val
*)((long)(0)<<2|3);
739 var78
= core__flat___CString___to_s_unsafe(var77
, var79
, var80
, var81
, var82
);
744 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nosuper
, var76
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
752 { /* Inline parser_nodes$AMethPropdef$n_block (self) on <self:AMethPropdef> */
753 var85
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
759 if (var_nblock
== NULL
) {
760 var86
= 0; /* is null */
762 var86
= 1; /* arg is null and recv is not */
765 { /* Inline kernel$Object$!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
766 var_other72
= ((val
*)NULL
);
768 var89
= ((short int(*)(val
* self
, val
* p0
))(var_nblock
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nblock
, var_other72
); /* == on <var_nblock:nullable AExpr(AExpr)>*/
778 var91
= NEW_nitc__auto_super_init__AutoSuperInitVisitor(&type_nitc__auto_super_init__AutoSuperInitVisitor
);
780 { /* Inline kernel$Object$init (var91) on <var91:AutoSuperInitVisitor> */
786 nitc___nitc__Visitor___enter_visit(var_v
, var_nblock
); /* Direct call parser_nodes$Visitor$enter_visit on <var_v:AutoSuperInitVisitor>*/
789 { /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
790 var95
= var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
796 if (var_anode
== NULL
) {
797 var96
= 0; /* is null */
799 var96
= 1; /* arg is null and recv is not */
802 { /* Inline kernel$Object$!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
803 var_other72
= ((val
*)NULL
);
805 var99
= ((short int(*)(val
* self
, val
* p0
))(var_anode
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anode
, var_other72
); /* == on <var_anode:nullable ANode(ANode)>*/
815 if (var_nosuper
== NULL
) {
816 var101
= 0; /* is null */
818 var101
= 1; /* arg is null and recv is not */
821 { /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
822 var_other72
= ((val
*)NULL
);
824 var104
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other72
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
829 RET_LABEL103
:(void)0;
834 if (likely(varonce106
!=NULL
)) {
837 var108
= "Error: method is annotated `nosuper` but a super-constructor call is present.";
838 var110
= (val
*)(77l<<2|1);
839 var111
= (val
*)(77l<<2|1);
840 var112
= (val
*)((long)(0)<<2|3);
841 var113
= (val
*)((long)(0)<<2|3);
842 var109
= core__flat___CString___to_s_unsafe(var108
, var110
, var111
, var112
, var113
);
847 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_anode
, var107
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
855 { /* Inline auto_super_init$AutoSuperInitVisitor$is_broken (var_v) on <var_v:AutoSuperInitVisitor> */
856 var116
= var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
; /* _is_broken on <var_v:AutoSuperInitVisitor> */
858 RET_LABEL115
:(void)0;
867 if (var_nosuper
== NULL
) {
868 var117
= 0; /* is null */
870 var117
= 1; /* arg is null and recv is not */
873 { /* Inline kernel$Object$!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
874 var_other72
= ((val
*)NULL
);
876 var120
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other72
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
881 RET_LABEL119
:(void)0;
890 var122
= nitc___nitc__MPropDef___is_intro(var_mpropdef
);
895 { /* Inline auto_super_init$AMethPropdef$auto_super_call= (self,1) on <self:AMethPropdef> */
896 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
= 1; /* _auto_super_call on <self:AMethPropdef> */
897 RET_LABEL124
:(void)0;
901 { /* Inline modelize_property$MPropDef$has_supercall= (var_mpropdef,1) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
902 var_mpropdef
->attrs
[COLOR_nitc__modelize_property__MPropDef___has_supercall
].s
= 1; /* _has_supercall on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
903 RET_LABEL125
:(void)0;
907 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
908 var128
= var_modelbuilder
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
909 if (unlikely(var128
== NULL
)) {
910 if(catchStack
.cursor
>= 0){
911 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
914 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
918 RET_LABEL127
:(void)0;
921 if (unlikely(varonce129
==NULL
)) {
922 var130
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
923 if (likely(varonce131
!=NULL
)) {
926 var133
= "Auto-super call for ";
927 var135
= (val
*)(20l<<2|1);
928 var136
= (val
*)(20l<<2|1);
929 var137
= (val
*)((long)(0)<<2|3);
930 var138
= (val
*)((long)(0)<<2|3);
931 var134
= core__flat___CString___to_s_unsafe(var133
, var135
, var136
, var137
, var138
);
935 ((struct instance_core__NativeArray
*)var130
)->values
[0]=var132
;
941 var139
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
943 ((struct instance_core__NativeArray
*)var130
)->values
[1]=var139
;
945 var140
= ((val
*(*)(val
* self
))(var130
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var130
); /* native_to_s on <var130:NativeArray[String]>*/
949 nitc___nitc__ToolContext___info(var126
, var140
, 4l); /* Direct call toolcontext$ToolContext$info on <var126:ToolContext>*/
954 var141
= NEW_core__Array(&type_core__Array__nitc__CallSite
);
956 core___core__Array___core__kernel__Object__init(var141
); /* Direct call array$Array$init on <var141:Array[CallSite]>*/
958 var_auto_super_inits
= var141
;
960 { /* Inline modelize_property$ModelBuilder$the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
961 var144
= var_modelbuilder
->attrs
[COLOR_nitc__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
963 RET_LABEL143
:(void)0;
966 var_the_root_init_mmethod
= var142
;
967 if (var_the_root_init_mmethod
== NULL
) {
968 var146
= 0; /* is null */
970 var146
= 1; /* arg is null and recv is not */
973 { /* Inline kernel$Object$!= (var_the_root_init_mmethod,((val*)NULL)) on <var_the_root_init_mmethod:nullable MMethod> */
974 var_other72
= ((val
*)NULL
);
976 var149
= ((short int(*)(val
* self
, val
* p0
))(var_the_root_init_mmethod
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_the_root_init_mmethod
, var_other72
); /* == on <var_the_root_init_mmethod:nullable MMethod(MMethod)>*/
981 RET_LABEL148
:(void)0;
988 var152
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits
);
996 var153
= nitc___nitc__MProperty___lookup_definitions(var_the_root_init_mmethod
, var_mmodule
, var_anchor
);
998 var_candidatedefs
= var153
;
1000 var154
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_candidatedefs
);
1004 { /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
1005 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
1006 RET_LABEL155
:(void)0;
1013 var156
= core___core__SequenceRead___Collection__first(var_candidatedefs
);
1015 var_candidatedef
= var156
;
1017 { /* Inline array$AbstractArrayRead$length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
1018 var159
= var_candidatedefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_candidatedefs:Array[MMethodDef]> */
1020 RET_LABEL158
:(void)0;
1024 { /* Inline kernel$Int$> (var157,1l) on <var157:Int> */
1025 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1026 /* <1l:Int> isa OTHER */
1027 var162
= 1; /* easy <1l:Int> isa OTHER*/
1028 if (unlikely(!var162
)) {
1029 var_class_name165
= type_core__Int
.name
;
1030 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name165
);
1031 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1034 var166
= var157
> 1l;
1037 RET_LABEL161
:(void)0;
1042 var167
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_candidatedefs
, 1l);
1045 if (unlikely(varonce168
==NULL
)) {
1046 var169
= NEW_core__NativeArray((int)9l, &type_core__NativeArray__core__String
);
1047 if (likely(varonce170
!=NULL
)) {
1048 var171
= varonce170
;
1050 var172
= "Error: cannot do an implicit constructor call to conflicting inherited inits `";
1051 var174
= (val
*)(78l<<2|1);
1052 var175
= (val
*)(78l<<2|1);
1053 var176
= (val
*)((long)(0)<<2|3);
1054 var177
= (val
*)((long)(0)<<2|3);
1055 var173
= core__flat___CString___to_s_unsafe(var172
, var174
, var175
, var176
, var177
);
1057 varonce170
= var171
;
1059 ((struct instance_core__NativeArray
*)var169
)->values
[0]=var171
;
1060 if (likely(varonce178
!=NULL
)) {
1061 var179
= varonce178
;
1064 var182
= (val
*)(1l<<2|1);
1065 var183
= (val
*)(1l<<2|1);
1066 var184
= (val
*)((long)(0)<<2|3);
1067 var185
= (val
*)((long)(0)<<2|3);
1068 var181
= core__flat___CString___to_s_unsafe(var180
, var182
, var183
, var184
, var185
);
1070 varonce178
= var179
;
1072 ((struct instance_core__NativeArray
*)var169
)->values
[2]=var179
;
1073 if (likely(varonce186
!=NULL
)) {
1074 var187
= varonce186
;
1076 var188
= "`) and `";
1077 var190
= (val
*)(8l<<2|1);
1078 var191
= (val
*)(8l<<2|1);
1079 var192
= (val
*)((long)(0)<<2|3);
1080 var193
= (val
*)((long)(0)<<2|3);
1081 var189
= core__flat___CString___to_s_unsafe(var188
, var190
, var191
, var192
, var193
);
1083 varonce186
= var187
;
1085 ((struct instance_core__NativeArray
*)var169
)->values
[4]=var187
;
1086 if (likely(varonce194
!=NULL
)) {
1087 var195
= varonce194
;
1090 var198
= (val
*)(1l<<2|1);
1091 var199
= (val
*)(1l<<2|1);
1092 var200
= (val
*)((long)(0)<<2|3);
1093 var201
= (val
*)((long)(0)<<2|3);
1094 var197
= core__flat___CString___to_s_unsafe(var196
, var198
, var199
, var200
, var201
);
1096 varonce194
= var195
;
1098 ((struct instance_core__NativeArray
*)var169
)->values
[6]=var195
;
1099 if (likely(varonce202
!=NULL
)) {
1100 var203
= varonce202
;
1102 var204
= "`). NOTE: Do not mix old-style and new-style init!";
1103 var206
= (val
*)(50l<<2|1);
1104 var207
= (val
*)(50l<<2|1);
1105 var208
= (val
*)((long)(0)<<2|3);
1106 var209
= (val
*)((long)(0)<<2|3);
1107 var205
= core__flat___CString___to_s_unsafe(var204
, var206
, var207
, var208
, var209
);
1109 varonce202
= var203
;
1111 ((struct instance_core__NativeArray
*)var169
)->values
[8]=var203
;
1113 var169
= varonce168
;
1117 var210
= ((val
*(*)(val
* self
))(var_cd2
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_cd2
); /* to_s on <var_cd2:MMethodDef>*/
1119 ((struct instance_core__NativeArray
*)var169
)->values
[1]=var210
;
1121 { /* Inline model$MMethodDef$initializers (var_cd2) on <var_cd2:MMethodDef> */
1122 var213
= var_cd2
->attrs
[COLOR_nitc__model__MMethodDef___initializers
].val
; /* _initializers on <var_cd2:MMethodDef> */
1123 if (unlikely(var213
== NULL
)) {
1124 if(catchStack
.cursor
>= 0){
1125 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1128 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2492);
1132 RET_LABEL212
:(void)0;
1135 if (likely(varonce214
!=NULL
)) {
1136 var215
= varonce214
;
1139 var218
= (val
*)(2l<<2|1);
1140 var219
= (val
*)(2l<<2|1);
1141 var220
= (val
*)((long)(0)<<2|3);
1142 var221
= (val
*)((long)(0)<<2|3);
1143 var217
= core__flat___CString___to_s_unsafe(var216
, var218
, var219
, var220
, var221
);
1145 varonce214
= var215
;
1148 var222
= core__abstract_text___Collection___join(var211
, var215
, ((val
*)NULL
));
1150 ((struct instance_core__NativeArray
*)var169
)->values
[3]=var222
;
1152 var223
= ((val
*(*)(val
* self
))(var_candidatedef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_candidatedef
); /* to_s on <var_candidatedef:MMethodDef>*/
1154 ((struct instance_core__NativeArray
*)var169
)->values
[5]=var223
;
1156 { /* Inline model$MMethodDef$initializers (var_candidatedef) on <var_candidatedef:MMethodDef> */
1157 var226
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___initializers
].val
; /* _initializers on <var_candidatedef:MMethodDef> */
1158 if (unlikely(var226
== NULL
)) {
1159 if(catchStack
.cursor
>= 0){
1160 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2492);
1167 RET_LABEL225
:(void)0;
1170 if (likely(varonce227
!=NULL
)) {
1171 var228
= varonce227
;
1174 var231
= (val
*)(2l<<2|1);
1175 var232
= (val
*)(2l<<2|1);
1176 var233
= (val
*)((long)(0)<<2|3);
1177 var234
= (val
*)((long)(0)<<2|3);
1178 var230
= core__flat___CString___to_s_unsafe(var229
, var231
, var232
, var233
, var234
);
1180 varonce227
= var228
;
1183 var235
= core__abstract_text___Collection___join(var224
, var228
, ((val
*)NULL
));
1185 ((struct instance_core__NativeArray
*)var169
)->values
[7]=var235
;
1187 var236
= ((val
*(*)(val
* self
))(var169
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var169
); /* native_to_s on <var169:NativeArray[String]>*/
1189 varonce168
= var169
;
1191 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var236
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
1194 { /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
1195 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
1196 RET_LABEL237
:(void)0;
1203 { /* Inline model$MMethodDef$new_msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1204 var241
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_candidatedef:MMethodDef> */
1206 RET_LABEL240
:(void)0;
1213 { /* Inline model$MMethodDef$msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1214 var244
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_candidatedef:MMethodDef> */
1216 RET_LABEL243
:(void)0;
1221 var_msignature
= var238
;
1222 if (var_msignature
== NULL
) {
1223 if(catchStack
.cursor
>= 0){
1224 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1226 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1227 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 125);
1230 var245
= nitc___nitc__MSignature___MType__resolve_for(var_msignature
, var_recvtype
, var_anchor
, var_mmodule
, 1);
1232 var_msignature
= var245
;
1234 var246
= nitc___nitc__MSignature___arity(var_msignature
);
1237 { /* Inline kernel$Int$> (var246,0l) on <var246:Int> */
1238 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1239 /* <0l:Int> isa OTHER */
1240 var249
= 1; /* easy <0l:Int> isa OTHER*/
1241 if (unlikely(!var249
)) {
1242 var_class_name252
= type_core__Int
.name
;
1243 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name252
);
1244 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1247 var253
= var246
> 0l;
1250 RET_LABEL248
:(void)0;
1254 if (unlikely(varonce254
==NULL
)) {
1255 var255
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
1256 if (likely(varonce256
!=NULL
)) {
1257 var257
= varonce256
;
1259 var258
= "Error: cannot do an implicit constructor call to `";
1260 var260
= (val
*)(50l<<2|1);
1261 var261
= (val
*)(50l<<2|1);
1262 var262
= (val
*)((long)(0)<<2|3);
1263 var263
= (val
*)((long)(0)<<2|3);
1264 var259
= core__flat___CString___to_s_unsafe(var258
, var260
, var261
, var262
, var263
);
1266 varonce256
= var257
;
1268 ((struct instance_core__NativeArray
*)var255
)->values
[0]=var257
;
1269 if (likely(varonce264
!=NULL
)) {
1270 var265
= varonce264
;
1272 var266
= "`. Expected at least `";
1273 var268
= (val
*)(22l<<2|1);
1274 var269
= (val
*)(22l<<2|1);
1275 var270
= (val
*)((long)(0)<<2|3);
1276 var271
= (val
*)((long)(0)<<2|3);
1277 var267
= core__flat___CString___to_s_unsafe(var266
, var268
, var269
, var270
, var271
);
1279 varonce264
= var265
;
1281 ((struct instance_core__NativeArray
*)var255
)->values
[3]=var265
;
1282 if (likely(varonce272
!=NULL
)) {
1283 var273
= varonce272
;
1285 var274
= "` arguments.";
1286 var276
= (val
*)(12l<<2|1);
1287 var277
= (val
*)(12l<<2|1);
1288 var278
= (val
*)((long)(0)<<2|3);
1289 var279
= (val
*)((long)(0)<<2|3);
1290 var275
= core__flat___CString___to_s_unsafe(var274
, var276
, var277
, var278
, var279
);
1292 varonce272
= var273
;
1294 ((struct instance_core__NativeArray
*)var255
)->values
[5]=var273
;
1296 var255
= varonce254
;
1300 var280
= ((val
*(*)(val
* self
))(var_candidatedef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_candidatedef
); /* to_s on <var_candidatedef:MMethodDef>*/
1302 ((struct instance_core__NativeArray
*)var255
)->values
[1]=var280
;
1304 var281
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
1306 ((struct instance_core__NativeArray
*)var255
)->values
[2]=var281
;
1308 var282
= nitc___nitc__MSignature___arity(var_msignature
);
1310 var283
= core__flat___Int___core__abstract_text__Object__to_s(var282
);
1311 ((struct instance_core__NativeArray
*)var255
)->values
[4]=var283
;
1313 var284
= ((val
*(*)(val
* self
))(var255
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var255
); /* native_to_s on <var255:NativeArray[String]>*/
1315 varonce254
= var255
;
1317 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var284
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
1320 { /* Inline modelbuilder_base$ANode$is_broken= (self,1) on <self:AMethPropdef> */
1321 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
1322 RET_LABEL285
:(void)0;
1328 var286
= NEW_nitc__CallSite(&type_nitc__CallSite
);
1330 var287
= nitc___nitc__AMethPropdef___ANode__hot_location(self
);
1333 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__location_61d
]))(var286
, var287
); /* location= on <var286:CallSite>*/
1336 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__recv_61d
]))(var286
, var_recvtype
); /* recv= on <var286:CallSite>*/
1339 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__mmodule_61d
]))(var286
, var_mmodule
); /* mmodule= on <var286:CallSite>*/
1342 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__anchor_61d
]))(var286
, var_anchor
); /* anchor= on <var286:CallSite>*/
1345 ((void(*)(val
* self
, short int p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__recv_is_self_61d
]))(var286
, 1); /* recv_is_self= on <var286:CallSite>*/
1348 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__mproperty_61d
]))(var286
, var_the_root_init_mmethod
); /* mproperty= on <var286:CallSite>*/
1351 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__mpropdef_61d
]))(var286
, var_candidatedef
); /* mpropdef= on <var286:CallSite>*/
1354 ((void(*)(val
* self
, val
* p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__msignature_61d
]))(var286
, var_msignature
); /* msignature= on <var286:CallSite>*/
1357 ((void(*)(val
* self
, short int p0
))(var286
->class->vft
[COLOR_nitc__typing__CallSite__erasure_cast_61d
]))(var286
, 0); /* erasure_cast= on <var286:CallSite>*/
1360 ((void(*)(val
* self
))(var286
->class->vft
[COLOR_core__kernel__Object__init
]))(var286
); /* init on <var286:CallSite>*/
1362 var_callsite
= var286
;
1364 core___core__Array___core__abstract_collection__SimpleCollection__add(var_auto_super_inits
, var_callsite
); /* Direct call array$Array$add on <var_auto_super_inits:Array[CallSite]>*/
1367 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1368 var290
= var_modelbuilder
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
1369 if (unlikely(var290
== NULL
)) {
1370 if(catchStack
.cursor
>= 0){
1371 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1374 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1378 RET_LABEL289
:(void)0;
1381 if (unlikely(varonce291
==NULL
)) {
1382 var292
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
1383 if (likely(varonce293
!=NULL
)) {
1384 var294
= varonce293
;
1386 var295
= "Auto-super init for ";
1387 var297
= (val
*)(20l<<2|1);
1388 var298
= (val
*)(20l<<2|1);
1389 var299
= (val
*)((long)(0)<<2|3);
1390 var300
= (val
*)((long)(0)<<2|3);
1391 var296
= core__flat___CString___to_s_unsafe(var295
, var297
, var298
, var299
, var300
);
1393 varonce293
= var294
;
1395 ((struct instance_core__NativeArray
*)var292
)->values
[0]=var294
;
1396 if (likely(varonce301
!=NULL
)) {
1397 var302
= varonce301
;
1400 var305
= (val
*)(4l<<2|1);
1401 var306
= (val
*)(4l<<2|1);
1402 var307
= (val
*)((long)(0)<<2|3);
1403 var308
= (val
*)((long)(0)<<2|3);
1404 var304
= core__flat___CString___to_s_unsafe(var303
, var305
, var306
, var307
, var308
);
1406 varonce301
= var302
;
1408 ((struct instance_core__NativeArray
*)var292
)->values
[2]=var302
;
1410 var292
= varonce291
;
1414 var309
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1416 ((struct instance_core__NativeArray
*)var292
)->values
[1]=var309
;
1418 var310
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_the_root_init_mmethod
);
1420 ((struct instance_core__NativeArray
*)var292
)->values
[3]=var310
;
1422 var311
= ((val
*(*)(val
* self
))(var292
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var292
); /* native_to_s on <var292:NativeArray[String]>*/
1424 varonce291
= var292
;
1426 nitc___nitc__ToolContext___info(var288
, var311
, 4l); /* Direct call toolcontext$ToolContext$info on <var288:ToolContext>*/
1431 var312
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits
);
1434 if (unlikely(varonce313
==NULL
)) {
1435 var314
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1436 if (likely(varonce315
!=NULL
)) {
1437 var316
= varonce315
;
1439 var317
= "Error: no constructors to call implicitly in `";
1440 var319
= (val
*)(46l<<2|1);
1441 var320
= (val
*)(46l<<2|1);
1442 var321
= (val
*)((long)(0)<<2|3);
1443 var322
= (val
*)((long)(0)<<2|3);
1444 var318
= core__flat___CString___to_s_unsafe(var317
, var319
, var320
, var321
, var322
);
1446 varonce315
= var316
;
1448 ((struct instance_core__NativeArray
*)var314
)->values
[0]=var316
;
1449 if (likely(varonce323
!=NULL
)) {
1450 var324
= varonce323
;
1452 var325
= "`. Call one explicitly.";
1453 var327
= (val
*)(23l<<2|1);
1454 var328
= (val
*)(23l<<2|1);
1455 var329
= (val
*)((long)(0)<<2|3);
1456 var330
= (val
*)((long)(0)<<2|3);
1457 var326
= core__flat___CString___to_s_unsafe(var325
, var327
, var328
, var329
, var330
);
1459 varonce323
= var324
;
1461 ((struct instance_core__NativeArray
*)var314
)->values
[2]=var324
;
1463 var314
= varonce313
;
1467 var331
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1469 ((struct instance_core__NativeArray
*)var314
)->values
[1]=var331
;
1471 var332
= ((val
*(*)(val
* self
))(var314
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var314
); /* native_to_s on <var314:NativeArray[String]>*/
1473 varonce313
= var314
;
1475 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var332
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
1481 { /* Inline auto_super_init$AMethPropdef$auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
1482 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
= var_auto_super_inits
; /* _auto_super_inits on <self:AMethPropdef> */
1483 RET_LABEL333
:(void)0;
1488 /* method auto_super_init$ANode$accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
1489 void nitc__auto_super_init___ANode___accept_auto_super_init(val
* self
, val
* p0
) {
1490 val
* var_v
/* var v: AutoSuperInitVisitor */;
1494 /* method auto_super_init$ASendExpr$accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
1495 void nitc__auto_super_init___ASendExpr___ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1496 val
* var_v
/* var v: AutoSuperInitVisitor */;
1497 val
* var
/* : nullable CallSite */;
1498 val
* var2
/* : nullable CallSite */;
1499 val
* var_callsite
/* var callsite: nullable CallSite */;
1500 short int var3
/* : Bool */;
1501 short int var4
/* : Bool */;
1502 val
* var_other
/* var other: nullable Object */;
1503 short int var6
/* : Bool */;
1504 short int var8
/* : Bool */;
1505 val
* var10
/* : MMethod */;
1506 val
* var12
/* : MMethod */;
1507 short int var13
/* : Bool */;
1508 short int var15
/* : Bool */;
1511 { /* Inline typing$ASendExpr$callsite (self) on <self:ASendExpr> */
1512 var2
= self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
1518 if (var_callsite
== NULL
) {
1519 var3
= 1; /* is null */
1521 var3
= 0; /* arg is null but recv is not */
1524 { /* Inline kernel$Object$== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
1525 var_other
= ((val
*)NULL
);
1527 { /* Inline kernel$Object$is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
1528 var8
= var_callsite
== var_other
;
1542 { /* Inline auto_super_init$AutoSuperInitVisitor$is_broken= (var_v,1) on <var_v:AutoSuperInitVisitor> */
1543 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
= 1; /* _is_broken on <var_v:AutoSuperInitVisitor> */
1551 { /* Inline typing$CallSite$mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
1552 var12
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
1553 if (unlikely(var12
== NULL
)) {
1554 if(catchStack
.cursor
>= 0){
1555 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1558 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 656);
1562 RET_LABEL11
:(void)0;
1566 { /* Inline model$MMethod$is_init (var10) on <var10:MMethod> */
1567 var15
= var10
->attrs
[COLOR_nitc__model__MMethod___is_init
].s
; /* _is_init on <var10:MMethod> */
1569 RET_LABEL14
:(void)0;
1574 { /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
1575 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= self
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
1576 RET_LABEL16
:(void)0;
1583 /* method auto_super_init$ASuperExpr$accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
1584 void nitc__auto_super_init___ASuperExpr___ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1585 val
* var_v
/* var v: AutoSuperInitVisitor */;
1588 { /* Inline auto_super_init$AutoSuperInitVisitor$has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
1589 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= self
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */