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 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _auto_super_init_phase");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 25);
16 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: AutoSuperInitPhase, APropdef) */
17 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitPhase___nitc__phase__Phase__process_npropdef(val
* self
, val
* p0
) {
18 val
* var_npropdef
/* var npropdef: APropdef */;
19 short int var
/* : Bool */;
22 val
* var1
/* : ToolContext */;
23 val
* var3
/* : ToolContext */;
24 val
* var4
/* : ModelBuilder */;
26 /* <var_npropdef:APropdef> isa AMethPropdef */
27 cltype
= type_nitc__AMethPropdef
.color
;
28 idtype
= type_nitc__AMethPropdef
.id
;
29 if(cltype
>= var_npropdef
->type
->table_size
) {
32 var
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
36 { /* Inline phase#Phase#toolcontext (self) on <self:AutoSuperInitPhase> */
37 var3
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:AutoSuperInitPhase> */
38 if (unlikely(var3
== NULL
)) {
39 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
40 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 200);
48 var4
= nitc__modelbuilder_base___ToolContext___modelbuilder(var1
);
51 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)>*/
57 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: AutoSuperInitVisitor, ANode) */
58 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___nitc__parser_nodes__Visitor__visit(val
* self
, val
* p0
) {
59 val
* var_n
/* var n: ANode */;
62 ((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>*/
65 ((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>*/
69 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: AutoSuperInitVisitor): nullable ANode */
70 val
* nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init(val
* self
) {
71 val
* var
/* : nullable ANode */;
72 val
* var1
/* : nullable ANode */;
73 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
78 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: AutoSuperInitVisitor, nullable ANode) */
79 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init_61d(val
* self
, val
* p0
) {
80 self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= p0
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
83 /* method auto_super_init#AutoSuperInitVisitor#is_broken for (self: AutoSuperInitVisitor): Bool */
84 short int nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken(val
* self
) {
85 short int var
/* : Bool */;
86 short int var1
/* : Bool */;
87 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
; /* _is_broken on <self:AutoSuperInitVisitor> */
92 /* method auto_super_init#AutoSuperInitVisitor#is_broken= for (self: AutoSuperInitVisitor, Bool) */
93 void nitc__auto_super_init___nitc__auto_super_init__AutoSuperInitVisitor___is_broken_61d(val
* self
, short int p0
) {
94 self
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
= p0
; /* _is_broken on <self:AutoSuperInitVisitor> */
97 /* method auto_super_init#AMethPropdef#auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
98 val
* nitc__auto_super_init___AMethPropdef___auto_super_inits(val
* self
) {
99 val
* var
/* : nullable Array[CallSite] */;
100 val
* var1
/* : nullable Array[CallSite] */;
101 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
106 /* method auto_super_init#AMethPropdef#auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
107 void nitc__auto_super_init___AMethPropdef___auto_super_inits_61d(val
* self
, val
* p0
) {
108 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
= p0
; /* _auto_super_inits on <self:AMethPropdef> */
111 /* method auto_super_init#AMethPropdef#auto_super_call for (self: AMethPropdef): Bool */
112 short int nitc__auto_super_init___AMethPropdef___auto_super_call(val
* self
) {
113 short int var
/* : Bool */;
114 short int var1
/* : Bool */;
115 var1
= self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
; /* _auto_super_call on <self:AMethPropdef> */
120 /* method auto_super_init#AMethPropdef#auto_super_call= for (self: AMethPropdef, Bool) */
121 void nitc__auto_super_init___AMethPropdef___auto_super_call_61d(val
* self
, short int p0
) {
122 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
= p0
; /* _auto_super_call on <self:AMethPropdef> */
125 /* method auto_super_init#AMethPropdef#do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
126 void nitc__auto_super_init___AMethPropdef___do_auto_super_init(val
* self
, val
* p0
) {
127 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
128 val
* var
/* : nullable ANode */;
129 val
* var2
/* : nullable ANode */;
130 short int var3
/* : Bool */;
133 const char* var_class_name
;
134 val
* var4
/* : nullable MClassDef */;
135 val
* var6
/* : nullable MClassDef */;
136 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
137 short int var7
/* : Bool */;
138 short int var8
/* : Bool */;
139 short int var9
/* : Bool */;
140 val
* var_other
/* var other: nullable Object */;
141 short int var11
/* : Bool */;
142 short int var13
/* : Bool */;
143 short int var_
/* var : Bool */;
144 short int var14
/* : Bool */;
145 short int var16
/* : Bool */;
146 val
* var17
/* : nullable MPropDef */;
147 val
* var19
/* : nullable MPropDef */;
148 val
* var_mpropdef
/* var mpropdef: nullable MMethodDef */;
149 short int var20
/* : Bool */;
150 short int var21
/* : Bool */;
151 short int var22
/* : Bool */;
152 short int var24
/* : Bool */;
153 short int var26
/* : Bool */;
154 short int var_27
/* var : Bool */;
155 short int var28
/* : Bool */;
156 short int var30
/* : Bool */;
157 val
* var31
/* : MClassDef */;
158 val
* var33
/* : MClassDef */;
159 val
* var34
/* : MModule */;
160 val
* var36
/* : MModule */;
161 val
* var_mmodule
/* var mmodule: MModule */;
162 val
* var37
/* : MClassType */;
163 val
* var39
/* : MClassType */;
164 val
* var_anchor
/* var anchor: MClassType */;
165 val
* var40
/* : MClass */;
166 val
* var42
/* : MClass */;
167 val
* var43
/* : MClassType */;
168 val
* var45
/* : MClassType */;
169 val
* var_recvtype
/* var recvtype: MClassType */;
171 val
* var46
/* : String */;
172 char* var47
/* : NativeString */;
173 val
* var48
/* : String */;
174 val
* var49
/* : nullable AAnnotation */;
175 val
* var_nosuper
/* var nosuper: nullable AAnnotation */;
176 short int var50
/* : Bool */;
177 val
* var51
/* : MProperty */;
178 val
* var53
/* : MProperty */;
179 short int var54
/* : Bool */;
180 short int var56
/* : Bool */;
181 short int var57
/* : Bool */;
182 short int var_58
/* var : Bool */;
183 val
* var59
/* : MProperty */;
184 val
* var61
/* : MProperty */;
185 short int var62
/* : Bool */;
186 short int var64
/* : Bool */;
187 short int var65
/* : Bool */;
188 short int var66
/* : Bool */;
189 val
* var_other68
/* var other: nullable Object */;
190 short int var69
/* : Bool */;
191 short int var70
/* : Bool */;
192 static val
* varonce71
;
193 val
* var72
/* : String */;
194 char* var73
/* : NativeString */;
195 val
* var74
/* : String */;
196 val
* var75
/* : nullable AExpr */;
197 val
* var77
/* : nullable AExpr */;
198 val
* var_nblock
/* var nblock: nullable AExpr */;
199 short int var78
/* : Bool */;
200 short int var79
/* : Bool */;
201 short int var81
/* : Bool */;
202 short int var82
/* : Bool */;
203 val
* var83
/* : AutoSuperInitVisitor */;
204 val
* var_v
/* var v: AutoSuperInitVisitor */;
205 val
* var85
/* : nullable ANode */;
206 val
* var87
/* : nullable ANode */;
207 val
* var_anode
/* var anode: nullable ANode */;
208 short int var88
/* : Bool */;
209 short int var89
/* : Bool */;
210 short int var91
/* : Bool */;
211 short int var92
/* : Bool */;
212 short int var93
/* : Bool */;
213 short int var94
/* : Bool */;
214 short int var96
/* : Bool */;
215 short int var97
/* : Bool */;
216 static val
* varonce98
;
217 val
* var99
/* : String */;
218 char* var100
/* : NativeString */;
219 val
* var101
/* : String */;
220 short int var102
/* : Bool */;
221 short int var104
/* : Bool */;
222 short int var105
/* : Bool */;
223 short int var106
/* : Bool */;
224 short int var108
/* : Bool */;
225 short int var109
/* : Bool */;
226 short int var110
/* : Bool */;
227 short int var111
/* : Bool */;
228 val
* var114
/* : ToolContext */;
229 val
* var116
/* : ToolContext */;
230 val
* var118
/* : NativeArray[String] */;
231 static val
* varonce117
;
232 static val
* varonce119
;
233 val
* var120
/* : String */;
234 char* var121
/* : NativeString */;
235 val
* var122
/* : String */;
236 val
* var123
/* : String */;
237 val
* var124
/* : String */;
238 val
* var125
/* : Array[CallSite] */;
239 val
* var_auto_super_inits
/* var auto_super_inits: Array[CallSite] */;
240 val
* var126
/* : nullable MMethod */;
241 val
* var128
/* : nullable MMethod */;
242 val
* var_the_root_init_mmethod
/* var the_root_init_mmethod: nullable MMethod */;
243 short int var129
/* : Bool */;
244 short int var130
/* : Bool */;
245 short int var131
/* : Bool */;
246 short int var133
/* : Bool */;
247 short int var134
/* : Bool */;
248 short int var_135
/* var : Bool */;
249 short int var136
/* : Bool */;
250 val
* var137
/* : Array[MPropDef] */;
251 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
252 short int var138
/* : Bool */;
253 val
* var140
/* : nullable Object */;
254 val
* var_candidatedef
/* var candidatedef: MMethodDef */;
255 long var141
/* : Int */;
256 long var143
/* : Int */;
257 short int var144
/* : Bool */;
258 short int var146
/* : Bool */;
261 const char* var_class_name149
;
262 short int var150
/* : Bool */;
263 val
* var151
/* : nullable Object */;
264 val
* var_cd2
/* var cd2: MMethodDef */;
265 val
* var153
/* : NativeArray[String] */;
266 static val
* varonce152
;
267 static val
* varonce154
;
268 val
* var155
/* : String */;
269 char* var156
/* : NativeString */;
270 val
* var157
/* : String */;
271 static val
* varonce158
;
272 val
* var159
/* : String */;
273 char* var160
/* : NativeString */;
274 val
* var161
/* : String */;
275 static val
* varonce162
;
276 val
* var163
/* : String */;
277 char* var164
/* : NativeString */;
278 val
* var165
/* : String */;
279 static val
* varonce166
;
280 val
* var167
/* : String */;
281 char* var168
/* : NativeString */;
282 val
* var169
/* : String */;
283 static val
* varonce170
;
284 val
* var171
/* : String */;
285 char* var172
/* : NativeString */;
286 val
* var173
/* : String */;
287 val
* var174
/* : String */;
288 val
* var175
/* : Array[MProperty] */;
289 val
* var177
/* : Array[MProperty] */;
290 static val
* varonce178
;
291 val
* var179
/* : String */;
292 char* var180
/* : NativeString */;
293 val
* var181
/* : String */;
294 val
* var182
/* : String */;
295 val
* var183
/* : String */;
296 val
* var184
/* : Array[MProperty] */;
297 val
* var186
/* : Array[MProperty] */;
298 static val
* varonce187
;
299 val
* var188
/* : String */;
300 char* var189
/* : NativeString */;
301 val
* var190
/* : String */;
302 val
* var191
/* : String */;
303 val
* var192
/* : String */;
304 val
* var194
/* : nullable MSignature */;
305 val
* var195
/* : nullable MSignature */;
306 val
* var197
/* : nullable MSignature */;
307 val
* var198
/* : nullable MSignature */;
308 val
* var200
/* : nullable MSignature */;
309 val
* var_msignature
/* var msignature: nullable MSignature */;
310 val
* var201
/* : MSignature */;
311 long var202
/* : Int */;
312 short int var203
/* : Bool */;
313 short int var205
/* : Bool */;
316 const char* var_class_name208
;
317 short int var209
/* : Bool */;
318 val
* var211
/* : NativeArray[String] */;
319 static val
* varonce210
;
320 static val
* varonce212
;
321 val
* var213
/* : String */;
322 char* var214
/* : NativeString */;
323 val
* var215
/* : String */;
324 static val
* varonce216
;
325 val
* var217
/* : String */;
326 char* var218
/* : NativeString */;
327 val
* var219
/* : String */;
328 static val
* varonce220
;
329 val
* var221
/* : String */;
330 char* var222
/* : NativeString */;
331 val
* var223
/* : String */;
332 val
* var224
/* : String */;
333 val
* var225
/* : String */;
334 long var226
/* : Int */;
335 val
* var227
/* : String */;
336 val
* var228
/* : String */;
337 val
* var230
/* : CallSite */;
338 val
* var231
/* : Location */;
339 val
* var_callsite
/* var callsite: CallSite */;
340 val
* var232
/* : ToolContext */;
341 val
* var234
/* : ToolContext */;
342 val
* var236
/* : NativeArray[String] */;
343 static val
* varonce235
;
344 static val
* varonce237
;
345 val
* var238
/* : String */;
346 char* var239
/* : NativeString */;
347 val
* var240
/* : String */;
348 static val
* varonce241
;
349 val
* var242
/* : String */;
350 char* var243
/* : NativeString */;
351 val
* var244
/* : String */;
352 val
* var245
/* : String */;
353 val
* var246
/* : String */;
354 val
* var247
/* : String */;
355 short int var248
/* : Bool */;
356 val
* var250
/* : NativeArray[String] */;
357 static val
* varonce249
;
358 static val
* varonce251
;
359 val
* var252
/* : String */;
360 char* var253
/* : NativeString */;
361 val
* var254
/* : String */;
362 static val
* varonce255
;
363 val
* var256
/* : String */;
364 char* var257
/* : NativeString */;
365 val
* var258
/* : String */;
366 val
* var259
/* : String */;
367 val
* var260
/* : String */;
368 var_modelbuilder
= p0
;
370 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
371 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
376 /* <var:nullable ANode> isa AClassdef */
377 cltype
= type_nitc__AClassdef
.color
;
378 idtype
= type_nitc__AClassdef
.id
;
382 if(cltype
>= var
->type
->table_size
) {
385 var3
= var
->type
->type_table
[cltype
] == idtype
;
388 if (unlikely(!var3
)) {
389 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
390 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name
);
391 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 59);
395 { /* Inline modelize_class#AClassdef#mclassdef (var) on <var:nullable ANode(AClassdef)> */
396 var6
= var
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var:nullable ANode(AClassdef)> */
401 var_mclassdef
= var4
;
402 if (var_mclassdef
== NULL
) {
403 var8
= 1; /* is null */
405 var8
= 0; /* arg is null but recv is not */
408 { /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
409 var_other
= ((val
*)NULL
);
411 { /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
412 var13
= var_mclassdef
== var_other
;
429 { /* Inline model_base#MEntity#is_broken (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
430 var16
= var_mclassdef
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mclassdef:nullable MClassDef(MClassDef)> */
442 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
443 var19
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
448 var_mpropdef
= var17
;
449 if (var_mpropdef
== NULL
) {
450 var21
= 1; /* is null */
452 var21
= 0; /* arg is null but recv is not */
455 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
456 var_other
= ((val
*)NULL
);
458 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
459 var26
= var_mpropdef
== var_other
;
476 { /* Inline model_base#MEntity#is_broken (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
477 var30
= var_mpropdef
->attrs
[COLOR_nitc__model_base__MEntity___is_broken
].s
; /* _is_broken on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
489 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
490 var33
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
491 if (unlikely(var33
== NULL
)) {
492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
501 { /* Inline model#MClassDef#mmodule (var31) on <var31:MClassDef> */
502 var36
= var31
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var31:MClassDef> */
503 if (unlikely(var36
== NULL
)) {
504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
505 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
514 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
515 var39
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
516 if (unlikely(var39
== NULL
)) {
517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
518 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
527 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
528 var42
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
529 if (unlikely(var42
== NULL
)) {
530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
531 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
539 { /* Inline model#MClass#mclass_type (var40) on <var40:MClass> */
540 var45
= var40
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var40:MClass> */
541 if (unlikely(var45
== NULL
)) {
542 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
543 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
550 var_recvtype
= var43
;
551 if (likely(varonce
!=NULL
)) {
555 var48
= core__flat___NativeString___to_s_full(var47
, 7l, 7l);
560 var49
= nitc__annotation___Prod___get_single_annotation(self
, var46
, var_modelbuilder
);
564 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
565 var53
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
566 if (unlikely(var53
== NULL
)) {
567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
568 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
576 { /* Inline model#MMethod#is_init (var51) on <var51:MProperty(MMethod)> */
577 var56
= var51
->attrs
[COLOR_nitc__model__MMethod___is_init
].s
; /* _is_init on <var51:MProperty(MMethod)> */
588 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
589 var61
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
590 if (unlikely(var61
== NULL
)) {
591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
592 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
600 { /* Inline model#MMethod#is_new (var59) on <var59:MProperty(MMethod)> */
601 var64
= var59
->attrs
[COLOR_nitc__model__MMethod___is_new
].s
; /* _is_new on <var59:MProperty(MMethod)> */
609 if (var_nosuper
== NULL
) {
610 var65
= 0; /* is null */
612 var65
= 1; /* arg is null and recv is not */
615 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
616 var_other68
= ((val
*)NULL
);
618 var69
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other68
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
628 if (likely(varonce71
!=NULL
)) {
631 var73
= "Error: `nosuper` only allowed in `init`.";
632 var74
= core__flat___NativeString___to_s_full(var73
, 40l, 40l);
637 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nosuper
, var72
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
645 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
646 var77
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
652 if (var_nblock
== NULL
) {
653 var78
= 0; /* is null */
655 var78
= 1; /* arg is null and recv is not */
658 { /* Inline kernel#Object#!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
659 var_other68
= ((val
*)NULL
);
661 var81
= ((short int(*)(val
* self
, val
* p0
))(var_nblock
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nblock
, var_other68
); /* == on <var_nblock:nullable AExpr(AExpr)>*/
671 var83
= NEW_nitc__auto_super_init__AutoSuperInitVisitor(&type_nitc__auto_super_init__AutoSuperInitVisitor
);
673 { /* Inline kernel#Object#init (var83) on <var83:AutoSuperInitVisitor> */
679 nitc___nitc__Visitor___enter_visit(var_v
, var_nblock
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:AutoSuperInitVisitor>*/
682 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
683 var87
= var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
689 if (var_anode
== NULL
) {
690 var88
= 0; /* is null */
692 var88
= 1; /* arg is null and recv is not */
695 { /* Inline kernel#Object#!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
696 var_other68
= ((val
*)NULL
);
698 var91
= ((short int(*)(val
* self
, val
* p0
))(var_anode
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anode
, var_other68
); /* == on <var_anode:nullable ANode(ANode)>*/
708 if (var_nosuper
== NULL
) {
709 var93
= 0; /* is null */
711 var93
= 1; /* arg is null and recv is not */
714 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
715 var_other68
= ((val
*)NULL
);
717 var96
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other68
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
727 if (likely(varonce98
!=NULL
)) {
730 var100
= "Error: method is annotated `nosuper` but a super-constructor call is present.";
731 var101
= core__flat___NativeString___to_s_full(var100
, 77l, 77l);
736 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_anode
, var99
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
744 { /* Inline auto_super_init#AutoSuperInitVisitor#is_broken (var_v) on <var_v:AutoSuperInitVisitor> */
745 var104
= var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
; /* _is_broken on <var_v:AutoSuperInitVisitor> */
747 RET_LABEL103
:(void)0;
756 if (var_nosuper
== NULL
) {
757 var105
= 0; /* is null */
759 var105
= 1; /* arg is null and recv is not */
762 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
763 var_other68
= ((val
*)NULL
);
765 var108
= ((short int(*)(val
* self
, val
* p0
))(var_nosuper
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nosuper
, var_other68
); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
770 RET_LABEL107
:(void)0;
779 var110
= nitc___nitc__MPropDef___is_intro(var_mpropdef
);
784 { /* Inline auto_super_init#AMethPropdef#auto_super_call= (self,1) on <self:AMethPropdef> */
785 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_call
].s
= 1; /* _auto_super_call on <self:AMethPropdef> */
786 RET_LABEL112
:(void)0;
790 { /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef,1) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
791 var_mpropdef
->attrs
[COLOR_nitc__modelize_property__MPropDef___has_supercall
].s
= 1; /* _has_supercall on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
792 RET_LABEL113
:(void)0;
796 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
797 var116
= var_modelbuilder
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
798 if (unlikely(var116
== NULL
)) {
799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
800 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
804 RET_LABEL115
:(void)0;
807 if (unlikely(varonce117
==NULL
)) {
808 var118
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
809 if (likely(varonce119
!=NULL
)) {
812 var121
= "Auto-super call for ";
813 var122
= core__flat___NativeString___to_s_full(var121
, 20l, 20l);
817 ((struct instance_core__NativeArray
*)var118
)->values
[0]=var120
;
823 var123
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
825 ((struct instance_core__NativeArray
*)var118
)->values
[1]=var123
;
827 var124
= ((val
*(*)(val
* self
))(var118
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var118
); /* native_to_s on <var118:NativeArray[String]>*/
831 nitc___nitc__ToolContext___info(var114
, var124
, 4l); /* Direct call toolcontext#ToolContext#info on <var114:ToolContext>*/
836 var125
= NEW_core__Array(&type_core__Array__nitc__CallSite
);
838 core___core__Array___core__kernel__Object__init(var125
); /* Direct call array#Array#init on <var125:Array[CallSite]>*/
840 var_auto_super_inits
= var125
;
842 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
843 var128
= var_modelbuilder
->attrs
[COLOR_nitc__modelize_property__ModelBuilder___the_root_init_mmethod
].val
; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
845 RET_LABEL127
:(void)0;
848 var_the_root_init_mmethod
= var126
;
849 if (var_the_root_init_mmethod
== NULL
) {
850 var130
= 0; /* is null */
852 var130
= 1; /* arg is null and recv is not */
855 { /* Inline kernel#Object#!= (var_the_root_init_mmethod,((val*)NULL)) on <var_the_root_init_mmethod:nullable MMethod> */
856 var_other68
= ((val
*)NULL
);
858 var133
= ((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_other68
); /* == on <var_the_root_init_mmethod:nullable MMethod(MMethod)>*/
863 RET_LABEL132
:(void)0;
870 var136
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits
);
878 var137
= nitc___nitc__MProperty___lookup_definitions(var_the_root_init_mmethod
, var_mmodule
, var_anchor
);
880 var_candidatedefs
= var137
;
882 var138
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_candidatedefs
);
886 { /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
887 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
888 RET_LABEL139
:(void)0;
895 var140
= core___core__SequenceRead___Collection__first(var_candidatedefs
);
897 var_candidatedef
= var140
;
899 { /* Inline array#AbstractArrayRead#length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
900 var143
= var_candidatedefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_candidatedefs:Array[MMethodDef]> */
902 RET_LABEL142
:(void)0;
906 { /* Inline kernel#Int#> (var141,1l) on <var141:Int> */
907 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
908 /* <1l:Int> isa OTHER */
909 var146
= 1; /* easy <1l:Int> isa OTHER*/
910 if (unlikely(!var146
)) {
911 var_class_name149
= type_core__Int
.name
;
912 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149
);
913 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
916 var150
= var141
> 1l;
919 RET_LABEL145
:(void)0;
924 var151
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_candidatedefs
, 1l);
927 if (unlikely(varonce152
==NULL
)) {
928 var153
= NEW_core__NativeArray(9l, &type_core__NativeArray__core__String
);
929 if (likely(varonce154
!=NULL
)) {
932 var156
= "Error: cannot do an implicit constructor call to conflicting inherited inits `";
933 var157
= core__flat___NativeString___to_s_full(var156
, 78l, 78l);
937 ((struct instance_core__NativeArray
*)var153
)->values
[0]=var155
;
938 if (likely(varonce158
!=NULL
)) {
942 var161
= core__flat___NativeString___to_s_full(var160
, 1l, 1l);
946 ((struct instance_core__NativeArray
*)var153
)->values
[2]=var159
;
947 if (likely(varonce162
!=NULL
)) {
951 var165
= core__flat___NativeString___to_s_full(var164
, 8l, 8l);
955 ((struct instance_core__NativeArray
*)var153
)->values
[4]=var163
;
956 if (likely(varonce166
!=NULL
)) {
960 var169
= core__flat___NativeString___to_s_full(var168
, 1l, 1l);
964 ((struct instance_core__NativeArray
*)var153
)->values
[6]=var167
;
965 if (likely(varonce170
!=NULL
)) {
968 var172
= "`). NOTE: Do not mix old-style and new-style init!";
969 var173
= core__flat___NativeString___to_s_full(var172
, 50l, 50l);
973 ((struct instance_core__NativeArray
*)var153
)->values
[8]=var171
;
979 var174
= ((val
*(*)(val
* self
))(var_cd2
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_cd2
); /* to_s on <var_cd2:MMethodDef>*/
981 ((struct instance_core__NativeArray
*)var153
)->values
[1]=var174
;
983 { /* Inline model#MMethodDef#initializers (var_cd2) on <var_cd2:MMethodDef> */
984 var177
= var_cd2
->attrs
[COLOR_nitc__model__MMethodDef___initializers
].val
; /* _initializers on <var_cd2:MMethodDef> */
985 if (unlikely(var177
== NULL
)) {
986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
987 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2363);
991 RET_LABEL176
:(void)0;
994 if (likely(varonce178
!=NULL
)) {
998 var181
= core__flat___NativeString___to_s_full(var180
, 2l, 2l);
1000 varonce178
= var179
;
1003 var182
= core__abstract_text___Collection___join(var175
, var179
);
1005 ((struct instance_core__NativeArray
*)var153
)->values
[3]=var182
;
1007 var183
= ((val
*(*)(val
* self
))(var_candidatedef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_candidatedef
); /* to_s on <var_candidatedef:MMethodDef>*/
1009 ((struct instance_core__NativeArray
*)var153
)->values
[5]=var183
;
1011 { /* Inline model#MMethodDef#initializers (var_candidatedef) on <var_candidatedef:MMethodDef> */
1012 var186
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___initializers
].val
; /* _initializers on <var_candidatedef:MMethodDef> */
1013 if (unlikely(var186
== NULL
)) {
1014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1015 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2363);
1019 RET_LABEL185
:(void)0;
1022 if (likely(varonce187
!=NULL
)) {
1023 var188
= varonce187
;
1026 var190
= core__flat___NativeString___to_s_full(var189
, 2l, 2l);
1028 varonce187
= var188
;
1031 var191
= core__abstract_text___Collection___join(var184
, var188
);
1033 ((struct instance_core__NativeArray
*)var153
)->values
[7]=var191
;
1035 var192
= ((val
*(*)(val
* self
))(var153
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var153
); /* native_to_s on <var153:NativeArray[String]>*/
1037 varonce152
= var153
;
1039 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var192
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1042 { /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
1043 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
1044 RET_LABEL193
:(void)0;
1051 { /* Inline model#MMethodDef#new_msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1052 var197
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_candidatedef:MMethodDef> */
1054 RET_LABEL196
:(void)0;
1061 { /* Inline model#MMethodDef#msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1062 var200
= var_candidatedef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_candidatedef:MMethodDef> */
1064 RET_LABEL199
:(void)0;
1069 var_msignature
= var194
;
1070 if (var_msignature
== NULL
) {
1071 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1072 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__auto_super_init
, 125);
1075 var201
= nitc___nitc__MSignature___MType__resolve_for(var_msignature
, var_recvtype
, var_anchor
, var_mmodule
, 1);
1077 var_msignature
= var201
;
1079 var202
= nitc___nitc__MSignature___arity(var_msignature
);
1082 { /* Inline kernel#Int#> (var202,0l) on <var202:Int> */
1083 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1084 /* <0l:Int> isa OTHER */
1085 var205
= 1; /* easy <0l:Int> isa OTHER*/
1086 if (unlikely(!var205
)) {
1087 var_class_name208
= type_core__Int
.name
;
1088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name208
);
1089 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1092 var209
= var202
> 0l;
1095 RET_LABEL204
:(void)0;
1099 if (unlikely(varonce210
==NULL
)) {
1100 var211
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
1101 if (likely(varonce212
!=NULL
)) {
1102 var213
= varonce212
;
1104 var214
= "Error: cannot do an implicit constructor call to `";
1105 var215
= core__flat___NativeString___to_s_full(var214
, 50l, 50l);
1107 varonce212
= var213
;
1109 ((struct instance_core__NativeArray
*)var211
)->values
[0]=var213
;
1110 if (likely(varonce216
!=NULL
)) {
1111 var217
= varonce216
;
1113 var218
= "`. Expected at least `";
1114 var219
= core__flat___NativeString___to_s_full(var218
, 22l, 22l);
1116 varonce216
= var217
;
1118 ((struct instance_core__NativeArray
*)var211
)->values
[3]=var217
;
1119 if (likely(varonce220
!=NULL
)) {
1120 var221
= varonce220
;
1122 var222
= "` arguments.";
1123 var223
= core__flat___NativeString___to_s_full(var222
, 12l, 12l);
1125 varonce220
= var221
;
1127 ((struct instance_core__NativeArray
*)var211
)->values
[5]=var221
;
1129 var211
= varonce210
;
1133 var224
= ((val
*(*)(val
* self
))(var_candidatedef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_candidatedef
); /* to_s on <var_candidatedef:MMethodDef>*/
1135 ((struct instance_core__NativeArray
*)var211
)->values
[1]=var224
;
1137 var225
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:nullable MSignature(MSignature)>*/
1139 ((struct instance_core__NativeArray
*)var211
)->values
[2]=var225
;
1141 var226
= nitc___nitc__MSignature___arity(var_msignature
);
1143 var227
= core__flat___Int___core__abstract_text__Object__to_s(var226
);
1144 ((struct instance_core__NativeArray
*)var211
)->values
[4]=var227
;
1146 var228
= ((val
*(*)(val
* self
))(var211
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var211
); /* native_to_s on <var211:NativeArray[String]>*/
1148 varonce210
= var211
;
1150 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var228
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1153 { /* Inline modelbuilder_base#ANode#is_broken= (self,1) on <self:AMethPropdef> */
1154 self
->attrs
[COLOR_nitc__modelbuilder_base__ANode___is_broken
].s
= 1; /* _is_broken on <self:AMethPropdef> */
1155 RET_LABEL229
:(void)0;
1161 var230
= NEW_nitc__CallSite(&type_nitc__CallSite
);
1163 var231
= nitc___nitc__AMethPropdef___ANode__hot_location(self
);
1166 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__location_61d
]))(var230
, var231
); /* location= on <var230:CallSite>*/
1169 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__recv_61d
]))(var230
, var_recvtype
); /* recv= on <var230:CallSite>*/
1172 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__mmodule_61d
]))(var230
, var_mmodule
); /* mmodule= on <var230:CallSite>*/
1175 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__anchor_61d
]))(var230
, var_anchor
); /* anchor= on <var230:CallSite>*/
1178 ((void(*)(val
* self
, short int p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__recv_is_self_61d
]))(var230
, 1); /* recv_is_self= on <var230:CallSite>*/
1181 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__mproperty_61d
]))(var230
, var_the_root_init_mmethod
); /* mproperty= on <var230:CallSite>*/
1184 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__mpropdef_61d
]))(var230
, var_candidatedef
); /* mpropdef= on <var230:CallSite>*/
1187 ((void(*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__msignature_61d
]))(var230
, var_msignature
); /* msignature= on <var230:CallSite>*/
1190 ((void(*)(val
* self
, short int p0
))(var230
->class->vft
[COLOR_nitc__typing__CallSite__erasure_cast_61d
]))(var230
, 0); /* erasure_cast= on <var230:CallSite>*/
1193 ((void(*)(val
* self
))(var230
->class->vft
[COLOR_core__kernel__Object__init
]))(var230
); /* init on <var230:CallSite>*/
1195 var_callsite
= var230
;
1197 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]>*/
1200 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1201 var234
= var_modelbuilder
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
1202 if (unlikely(var234
== NULL
)) {
1203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1204 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1208 RET_LABEL233
:(void)0;
1211 if (unlikely(varonce235
==NULL
)) {
1212 var236
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1213 if (likely(varonce237
!=NULL
)) {
1214 var238
= varonce237
;
1216 var239
= "Auto-super init for ";
1217 var240
= core__flat___NativeString___to_s_full(var239
, 20l, 20l);
1219 varonce237
= var238
;
1221 ((struct instance_core__NativeArray
*)var236
)->values
[0]=var238
;
1222 if (likely(varonce241
!=NULL
)) {
1223 var242
= varonce241
;
1226 var244
= core__flat___NativeString___to_s_full(var243
, 4l, 4l);
1228 varonce241
= var242
;
1230 ((struct instance_core__NativeArray
*)var236
)->values
[2]=var242
;
1232 var236
= varonce235
;
1236 var245
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1238 ((struct instance_core__NativeArray
*)var236
)->values
[1]=var245
;
1240 var246
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_the_root_init_mmethod
);
1242 ((struct instance_core__NativeArray
*)var236
)->values
[3]=var246
;
1244 var247
= ((val
*(*)(val
* self
))(var236
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var236
); /* native_to_s on <var236:NativeArray[String]>*/
1246 varonce235
= var236
;
1248 nitc___nitc__ToolContext___info(var232
, var247
, 4l); /* Direct call toolcontext#ToolContext#info on <var232:ToolContext>*/
1253 var248
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_auto_super_inits
);
1256 if (unlikely(varonce249
==NULL
)) {
1257 var250
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1258 if (likely(varonce251
!=NULL
)) {
1259 var252
= varonce251
;
1261 var253
= "Error: no constructors to call implicitly in `";
1262 var254
= core__flat___NativeString___to_s_full(var253
, 46l, 46l);
1264 varonce251
= var252
;
1266 ((struct instance_core__NativeArray
*)var250
)->values
[0]=var252
;
1267 if (likely(varonce255
!=NULL
)) {
1268 var256
= varonce255
;
1270 var257
= "`. Call one explicitly.";
1271 var258
= core__flat___NativeString___to_s_full(var257
, 23l, 23l);
1273 varonce255
= var256
;
1275 ((struct instance_core__NativeArray
*)var250
)->values
[2]=var256
;
1277 var250
= varonce249
;
1281 var259
= ((val
*(*)(val
* self
))(var_mpropdef
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mpropdef
); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1283 ((struct instance_core__NativeArray
*)var250
)->values
[1]=var259
;
1285 var260
= ((val
*(*)(val
* self
))(var250
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var250
); /* native_to_s on <var250:NativeArray[String]>*/
1287 varonce249
= var250
;
1289 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var260
); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1295 { /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
1296 self
->attrs
[COLOR_nitc__auto_super_init__AMethPropdef___auto_super_inits
].val
= var_auto_super_inits
; /* _auto_super_inits on <self:AMethPropdef> */
1297 RET_LABEL261
:(void)0;
1302 /* method auto_super_init#ANode#accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
1303 void nitc__auto_super_init___ANode___accept_auto_super_init(val
* self
, val
* p0
) {
1304 val
* var_v
/* var v: AutoSuperInitVisitor */;
1308 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
1309 void nitc__auto_super_init___ASendExpr___ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1310 val
* var_v
/* var v: AutoSuperInitVisitor */;
1311 val
* var
/* : nullable CallSite */;
1312 val
* var2
/* : nullable CallSite */;
1313 val
* var_callsite
/* var callsite: nullable CallSite */;
1314 short int var3
/* : Bool */;
1315 short int var4
/* : Bool */;
1316 val
* var_other
/* var other: nullable Object */;
1317 short int var6
/* : Bool */;
1318 short int var8
/* : Bool */;
1319 val
* var10
/* : MMethod */;
1320 val
* var12
/* : MMethod */;
1321 short int var13
/* : Bool */;
1322 short int var15
/* : Bool */;
1325 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
1326 var2
= self
->attrs
[COLOR_nitc__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
1332 if (var_callsite
== NULL
) {
1333 var3
= 1; /* is null */
1335 var3
= 0; /* arg is null but recv is not */
1338 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
1339 var_other
= ((val
*)NULL
);
1341 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
1342 var8
= var_callsite
== var_other
;
1356 { /* Inline auto_super_init#AutoSuperInitVisitor#is_broken= (var_v,1) on <var_v:AutoSuperInitVisitor> */
1357 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___is_broken
].s
= 1; /* _is_broken on <var_v:AutoSuperInitVisitor> */
1365 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
1366 var12
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
1367 if (unlikely(var12
== NULL
)) {
1368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1369 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 653);
1373 RET_LABEL11
:(void)0;
1377 { /* Inline model#MMethod#is_init (var10) on <var10:MMethod> */
1378 var15
= var10
->attrs
[COLOR_nitc__model__MMethod___is_init
].s
; /* _is_init on <var10:MMethod> */
1380 RET_LABEL14
:(void)0;
1385 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
1386 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= self
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
1387 RET_LABEL16
:(void)0;
1394 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
1395 void nitc__auto_super_init___ASuperExpr___ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1396 val
* var_v
/* var v: AutoSuperInitVisitor */;
1399 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
1400 var_v
->attrs
[COLOR_nitc__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].val
= self
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */