1 #include "nitc__typing.sep.0.h"
2 /* method typing#ASuperExpr#process_superinit for (self: ASuperExpr, TypeVisitor) */
3 void nitc__typing___ASuperExpr___process_superinit(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: TypeVisitor */;
5 val
* var
/* : nullable MClassType */;
6 val
* var2
/* : nullable MClassType */;
7 val
* var_anchor
/* var anchor: nullable MClassType */;
8 short int var3
/* : Bool */;
9 short int var4
/* : Bool */;
10 val
* var_other
/* var other: nullable Object */;
11 short int var6
/* : Bool */;
12 short int var7
/* : Bool */;
13 val
* var8
/* : Variable */;
14 val
* var10
/* : Variable */;
15 val
* var11
/* : nullable MType */;
16 val
* var_recvtype
/* var recvtype: nullable MType */;
17 short int var12
/* : Bool */;
18 short int var13
/* : Bool */;
19 short int var15
/* : Bool */;
20 short int var16
/* : Bool */;
21 val
* var17
/* : nullable MPropDef */;
22 val
* var19
/* : nullable MPropDef */;
23 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
24 short int var20
/* : Bool */;
27 val
* var21
/* : MProperty */;
28 val
* var23
/* : MProperty */;
29 val
* var_mproperty
/* var mproperty: MMethod */;
30 val
* var_superprop
/* var superprop: nullable MMethodDef */;
31 val
* var24
/* : MClassDef */;
32 val
* var26
/* : MClassDef */;
33 val
* var27
/* : Array[MClassType] */;
34 val
* var29
/* : Array[MClassType] */;
35 val
* var_
/* var : Array[MClassType] */;
36 val
* var30
/* : IndexedIterator[nullable Object] */;
37 val
* var_31
/* var : IndexedIterator[MClassType] */;
38 short int var32
/* : Bool */;
39 val
* var33
/* : nullable Object */;
40 val
* var_msupertype
/* var msupertype: MClassType */;
41 val
* var34
/* : MModule */;
42 val
* var36
/* : MModule */;
43 val
* var37
/* : MClassType */;
44 val
* var38
/* : ModelBuilder */;
45 val
* var40
/* : ModelBuilder */;
46 val
* var41
/* : ToolContext */;
47 val
* var43
/* : ToolContext */;
48 long var44
/* : Int */;
49 long var46
/* : Int */;
50 long var_errcount
/* var errcount: Int */;
51 val
* var47
/* : String */;
52 val
* var49
/* : String */;
53 val
* var50
/* : nullable MProperty */;
54 short int var51
/* : Bool */;
57 const char* var_class_name
;
58 val
* var_candidate
/* var candidate: nullable MMethod */;
59 short int var54
/* : Bool */;
60 short int var55
/* : Bool */;
61 val
* var_other57
/* var other: nullable Object */;
62 short int var58
/* : Bool */;
63 short int var60
/* : Bool */;
64 val
* var61
/* : ModelBuilder */;
65 val
* var63
/* : ModelBuilder */;
66 val
* var64
/* : ToolContext */;
67 val
* var66
/* : ToolContext */;
68 long var67
/* : Int */;
69 long var69
/* : Int */;
70 short int var70
/* : Bool */;
71 short int var72
/* : Bool */;
74 const char* var_class_name75
;
75 short int var76
/* : Bool */;
76 short int var78
/* : Bool */;
77 short int var79
/* : Bool */;
78 short int var80
/* : Bool */;
79 short int var82
/* : Bool */;
80 short int var83
/* : Bool */;
81 short int var_84
/* var : Bool */;
82 short int var85
/* : Bool */;
83 short int var87
/* : Bool */;
84 short int var88
/* : Bool */;
85 short int var89
/* : Bool */;
86 short int var90
/* : Bool */;
87 short int var91
/* : Bool */;
88 short int var93
/* : Bool */;
89 short int var94
/* : Bool */;
90 short int var_95
/* var : Bool */;
91 val
* var96
/* : MProperty */;
92 val
* var98
/* : MProperty */;
93 short int var99
/* : Bool */;
94 short int var101
/* : Bool */;
95 short int var102
/* : Bool */;
96 short int var_103
/* var : Bool */;
97 val
* var104
/* : MProperty */;
98 val
* var106
/* : MProperty */;
99 short int var107
/* : Bool */;
100 short int var109
/* : Bool */;
101 short int var110
/* : Bool */;
102 val
* var111
/* : NativeArray[String] */;
104 static val
* varonce112
;
105 val
* var113
/* : String */;
106 char* var114
/* : NativeString */;
107 val
* var115
/* : String */;
108 static val
* varonce116
;
109 val
* var117
/* : String */;
110 char* var118
/* : NativeString */;
111 val
* var119
/* : String */;
112 static val
* varonce120
;
113 val
* var121
/* : String */;
114 char* var122
/* : NativeString */;
115 val
* var123
/* : String */;
116 static val
* varonce124
;
117 val
* var125
/* : String */;
118 char* var126
/* : NativeString */;
119 val
* var127
/* : String */;
120 val
* var128
/* : String */;
121 val
* var129
/* : String */;
122 val
* var130
/* : MProperty */;
123 val
* var132
/* : MProperty */;
124 val
* var133
/* : String */;
125 val
* var134
/* : String */;
126 val
* var135
/* : MModule */;
127 val
* var137
/* : MModule */;
128 val
* var138
/* : Array[MPropDef] */;
129 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
130 short int var139
/* : Bool */;
131 short int var140
/* : Bool */;
132 short int var141
/* : Bool */;
133 short int var143
/* : Bool */;
134 short int var144
/* : Bool */;
135 short int var_145
/* var : Bool */;
136 val
* var146
/* : MProperty */;
137 val
* var148
/* : MProperty */;
138 short int var149
/* : Bool */;
139 short int var151
/* : Bool */;
140 short int var153
/* : Bool */;
141 val
* var154
/* : nullable Object */;
142 short int var155
/* : Bool */;
143 short int var157
/* : Bool */;
144 short int var159
/* : Bool */;
145 long var160
/* : Int */;
146 long var162
/* : Int */;
147 short int var163
/* : Bool */;
148 short int var165
/* : Bool */;
151 const char* var_class_name168
;
152 short int var169
/* : Bool */;
153 val
* var171
/* : NativeArray[String] */;
154 static val
* varonce170
;
155 static val
* varonce172
;
156 val
* var173
/* : String */;
157 char* var174
/* : NativeString */;
158 val
* var175
/* : String */;
159 static val
* varonce176
;
160 val
* var177
/* : String */;
161 char* var178
/* : NativeString */;
162 val
* var179
/* : String */;
163 static val
* varonce180
;
164 val
* var181
/* : String */;
165 char* var182
/* : NativeString */;
166 val
* var183
/* : String */;
167 val
* var184
/* : String */;
168 val
* var185
/* : String */;
169 static val
* varonce186
;
170 val
* var187
/* : String */;
171 char* var188
/* : NativeString */;
172 val
* var189
/* : String */;
173 val
* var190
/* : String */;
174 val
* var191
/* : String */;
175 val
* var192
/* : nullable Object */;
176 short int var193
/* : Bool */;
177 short int var194
/* : Bool */;
178 short int var196
/* : Bool */;
179 short int var198
/* : Bool */;
180 val
* var200
/* : NativeArray[String] */;
181 static val
* varonce199
;
182 static val
* varonce201
;
183 val
* var202
/* : String */;
184 char* var203
/* : NativeString */;
185 val
* var204
/* : String */;
186 static val
* varonce205
;
187 val
* var206
/* : String */;
188 char* var207
/* : NativeString */;
189 val
* var208
/* : String */;
190 val
* var209
/* : String */;
191 val
* var210
/* : String */;
192 val
* var211
/* : MSignature */;
193 val
* var212
/* : nullable MSignature */;
194 val
* var214
/* : nullable MSignature */;
195 val
* var215
/* : nullable MSignature */;
196 val
* var217
/* : nullable MSignature */;
197 val
* var_msignature
/* var msignature: MSignature */;
198 val
* var218
/* : MType */;
199 short int var219
/* : Bool */;
202 const char* var_class_name222
;
203 val
* var223
/* : CallSite */;
204 val
* var224
/* : Location */;
205 val
* var225
/* : MModule */;
206 val
* var227
/* : MModule */;
207 val
* var228
/* : nullable MClassType */;
208 val
* var230
/* : nullable MClassType */;
209 val
* var231
/* : MProperty */;
210 val
* var233
/* : MProperty */;
211 val
* var_callsite
/* var callsite: CallSite */;
212 val
* var235
/* : AExprs */;
213 val
* var237
/* : AExprs */;
214 val
* var238
/* : Array[AExpr] */;
215 val
* var_args
/* var args: Array[AExpr] */;
216 long var239
/* : Int */;
217 long var241
/* : Int */;
218 short int var242
/* : Bool */;
219 short int var244
/* : Bool */;
222 const char* var_class_name247
;
223 short int var248
/* : Bool */;
224 short int var249
/* : Bool */;
225 val
* var250
/* : nullable MSignature */;
226 val
* var252
/* : nullable MSignature */;
227 long var253
/* : Int */;
228 long var254
/* : Int */;
229 short int var255
/* : Bool */;
230 short int var257
/* : Bool */;
233 const char* var_class_name260
;
234 short int var261
/* : Bool */;
235 val
* var263
/* : NativeArray[String] */;
236 static val
* varonce262
;
237 static val
* varonce264
;
238 val
* var265
/* : String */;
239 char* var266
/* : NativeString */;
240 val
* var267
/* : String */;
241 static val
* varonce268
;
242 val
* var269
/* : String */;
243 char* var270
/* : NativeString */;
244 val
* var271
/* : String */;
245 static val
* varonce272
;
246 val
* var273
/* : String */;
247 char* var274
/* : NativeString */;
248 val
* var275
/* : String */;
249 static val
* varonce276
;
250 val
* var277
/* : String */;
251 char* var278
/* : NativeString */;
252 val
* var279
/* : String */;
253 val
* var280
/* : nullable MSignature */;
254 val
* var282
/* : nullable MSignature */;
255 long var283
/* : Int */;
256 val
* var284
/* : String */;
257 long var285
/* : Int */;
258 val
* var286
/* : String */;
259 val
* var287
/* : String */;
260 val
* var288
/* : String */;
261 long var_i
/* var i: Int */;
262 val
* var289
/* : Array[MParameter] */;
263 val
* var291
/* : Array[MParameter] */;
264 val
* var_292
/* var : Array[MParameter] */;
265 val
* var293
/* : IndexedIterator[nullable Object] */;
266 val
* var_294
/* var : IndexedIterator[MParameter] */;
267 short int var295
/* : Bool */;
268 val
* var297
/* : nullable Object */;
269 val
* var_sp
/* var sp: MParameter */;
270 val
* var298
/* : nullable MSignature */;
271 val
* var300
/* : nullable MSignature */;
272 val
* var301
/* : Array[MParameter] */;
273 val
* var303
/* : Array[MParameter] */;
274 val
* var304
/* : nullable Object */;
275 val
* var_p
/* var p: MParameter */;
276 val
* var305
/* : MType */;
277 val
* var307
/* : MType */;
278 val
* var308
/* : MType */;
279 val
* var310
/* : MType */;
280 short int var311
/* : Bool */;
281 short int var312
/* : Bool */;
282 val
* var314
/* : NativeArray[String] */;
283 static val
* varonce313
;
284 static val
* varonce315
;
285 val
* var316
/* : String */;
286 char* var317
/* : NativeString */;
287 val
* var318
/* : String */;
288 static val
* varonce319
;
289 val
* var320
/* : String */;
290 char* var321
/* : NativeString */;
291 val
* var322
/* : String */;
292 static val
* varonce323
;
293 val
* var324
/* : String */;
294 char* var325
/* : NativeString */;
295 val
* var326
/* : String */;
296 static val
* varonce327
;
297 val
* var328
/* : String */;
298 char* var329
/* : NativeString */;
299 val
* var330
/* : String */;
300 static val
* varonce331
;
301 val
* var332
/* : String */;
302 char* var333
/* : NativeString */;
303 val
* var334
/* : String */;
304 val
* var335
/* : String */;
305 val
* var336
/* : MType */;
306 val
* var338
/* : MType */;
307 val
* var339
/* : String */;
308 val
* var340
/* : String */;
309 val
* var342
/* : String */;
310 val
* var343
/* : MType */;
311 val
* var345
/* : MType */;
312 val
* var346
/* : String */;
313 val
* var347
/* : String */;
314 val
* var348
/* : String */;
315 long var349
/* : Int */;
316 short int var351
/* : Bool */;
319 const char* var_class_name354
;
320 long var355
/* : Int */;
323 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
324 var2
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
330 if (var_anchor
== NULL
) {
331 var3
= 0; /* is null */
333 var3
= 1; /* arg is null and recv is not */
336 { /* Inline kernel#Object#!= (var_anchor,((val*)NULL)) on <var_anchor:nullable MClassType> */
337 var_other
= ((val
*)NULL
);
339 var6
= ((short int(*)(val
* self
, val
* p0
))(var_anchor
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_anchor
, var_other
); /* == on <var_anchor:nullable MClassType(MClassType)>*/
348 if (unlikely(!var3
)) {
349 PRINT_ERROR("Runtime error: %s", "Assert failed");
350 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1969);
354 { /* Inline typing#TypeVisitor#selfvariable (var_v) on <var_v:TypeVisitor> */
355 var10
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___selfvariable
].val
; /* _selfvariable on <var_v:TypeVisitor> */
356 if (unlikely(var10
== NULL
)) {
357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _selfvariable");
358 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 51);
366 var11
= nitc__typing___nitc__typing__TypeVisitor___get_variable(var_v
, self
, var8
);
368 var_recvtype
= var11
;
369 if (var_recvtype
== NULL
) {
370 var12
= 0; /* is null */
372 var12
= 1; /* arg is null and recv is not */
375 { /* Inline kernel#Object#!= (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
376 var_other
= ((val
*)NULL
);
378 var15
= ((short int(*)(val
* self
, val
* p0
))(var_recvtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_recvtype
, var_other
); /* == on <var_recvtype:nullable MType(MType)>*/
387 if (unlikely(!var12
)) {
388 PRINT_ERROR("Runtime error: %s", "Assert failed");
389 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1971);
393 { /* Inline typing#TypeVisitor#mpropdef (var_v) on <var_v:TypeVisitor> */
394 var19
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mpropdef
].val
; /* _mpropdef on <var_v:TypeVisitor> */
399 var_mpropdef
= var17
;
400 /* <var_mpropdef:nullable MPropDef> isa MMethodDef */
401 cltype
= type_nitc__MMethodDef
.color
;
402 idtype
= type_nitc__MMethodDef
.id
;
403 if(var_mpropdef
== NULL
) {
406 if(cltype
>= var_mpropdef
->type
->table_size
) {
409 var20
= var_mpropdef
->type
->type_table
[cltype
] == idtype
;
412 if (unlikely(!var20
)) {
413 PRINT_ERROR("Runtime error: %s", "Assert failed");
414 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1973);
418 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
419 var23
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:nullable MPropDef(MMethodDef)> */
420 if (unlikely(var23
== NULL
)) {
421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
422 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
429 var_mproperty
= var21
;
430 var_superprop
= ((val
*)NULL
);
432 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
433 var26
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:nullable MPropDef(MMethodDef)> */
434 if (unlikely(var26
== NULL
)) {
435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
436 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
444 { /* Inline model#MClassDef#supertypes (var24) on <var24:MClassDef> */
445 var29
= var24
->attrs
[COLOR_nitc__model__MClassDef___supertypes
].val
; /* _supertypes on <var24:MClassDef> */
446 if (unlikely(var29
== NULL
)) {
447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
448 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 650);
457 var30
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
462 var32
= ((short int(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_31
); /* is_ok on <var_31:IndexedIterator[MClassType]>*/
469 var33
= ((val
*(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_31
); /* item on <var_31:IndexedIterator[MClassType]>*/
471 var_msupertype
= var33
;
473 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
474 var36
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
475 if (unlikely(var36
== NULL
)) {
476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
477 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
485 var37
= nitc___nitc__MClassType___MType__anchor_to(var_msupertype
, var34
, var_anchor
);
487 var_msupertype
= var37
;
489 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
490 var40
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
491 if (unlikely(var40
== NULL
)) {
492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
501 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var38) on <var38:ModelBuilder> */
502 var43
= var38
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var38:ModelBuilder> */
503 if (unlikely(var43
== NULL
)) {
504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
505 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
513 { /* Inline toolcontext#ToolContext#error_count (var41) on <var41:ToolContext> */
514 var46
= var41
->attrs
[COLOR_nitc__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var41:ToolContext> */
519 var_errcount
= var44
;
521 { /* Inline model#MProperty#name (var_mproperty) on <var_mproperty:MMethod> */
522 var49
= var_mproperty
->attrs
[COLOR_nitc__model__MProperty___name
].val
; /* _name on <var_mproperty:MMethod> */
523 if (unlikely(var49
== NULL
)) {
524 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
525 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1951);
533 var50
= nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(var_v
, self
, var_msupertype
, var47
);
535 /* <var50:nullable MProperty> isa nullable MMethod */
536 cltype52
= type_nullable__nitc__MMethod
.color
;
537 idtype53
= type_nullable__nitc__MMethod
.id
;
541 if(cltype52
>= var50
->type
->table_size
) {
544 var51
= var50
->type
->type_table
[cltype52
] == idtype53
;
547 if (unlikely(!var51
)) {
548 var_class_name
= var50
== NULL ?
"null" : var50
->type
->name
;
549 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MMethod", var_class_name
);
550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 1979);
553 var_candidate
= var50
;
554 if (var_candidate
== NULL
) {
555 var54
= 1; /* is null */
557 var54
= 0; /* arg is null but recv is not */
560 { /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on <var_candidate:nullable MMethod> */
561 var_other57
= ((val
*)NULL
);
563 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other57) on <var_candidate:nullable MMethod(MMethod)> */
564 var60
= var_candidate
== var_other57
;
578 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
579 var63
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
580 if (unlikely(var63
== NULL
)) {
581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
582 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
590 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var61) on <var61:ModelBuilder> */
591 var66
= var61
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var61:ModelBuilder> */
592 if (unlikely(var66
== NULL
)) {
593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
594 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
602 { /* Inline toolcontext#ToolContext#error_count (var64) on <var64:ToolContext> */
603 var69
= var64
->attrs
[COLOR_nitc__toolcontext__ToolContext___error_count
].l
; /* _error_count on <var64:ToolContext> */
609 { /* Inline kernel#Int#> (var67,var_errcount) on <var67:Int> */
610 /* Covariant cast for argument 0 (i) <var_errcount:Int> isa OTHER */
611 /* <var_errcount:Int> isa OTHER */
612 var72
= 1; /* easy <var_errcount:Int> isa OTHER*/
613 if (unlikely(!var72
)) {
614 var_class_name75
= type_core__Int
.name
;
615 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75
);
616 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
619 var76
= var67
> var_errcount
;
632 if (var_superprop
== NULL
) {
633 var79
= 0; /* is null */
635 var79
= 1; /* arg is null and recv is not */
638 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
639 var_other
= ((val
*)NULL
);
641 var82
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
653 { /* Inline model#MMethod#is_root_init (var_candidate) on <var_candidate:nullable MMethod(MMethod)> */
654 var87
= var_candidate
->attrs
[COLOR_nitc__model__MMethod___is_root_init
].s
; /* _is_root_init on <var_candidate:nullable MMethod(MMethod)> */
667 if (var_superprop
== NULL
) {
668 var90
= 0; /* is null */
670 var90
= 1; /* arg is null and recv is not */
673 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
674 var_other
= ((val
*)NULL
);
676 var93
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
688 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
689 var98
= var_superprop
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
690 if (unlikely(var98
== NULL
)) {
691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
692 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
700 { /* Inline kernel#Object#!= (var96,var_candidate) on <var96:MProperty(MMethod)> */
701 var_other
= var_candidate
;
703 var101
= ((short int(*)(val
* self
, val
* p0
))(var96
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var96
, var_other
); /* == on <var96:MProperty(MMethod)>*/
708 RET_LABEL100
:(void)0;
718 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
719 var106
= var_superprop
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
720 if (unlikely(var106
== NULL
)) {
721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
722 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
726 RET_LABEL105
:(void)0;
730 { /* Inline model#MMethod#is_root_init (var104) on <var104:MProperty(MMethod)> */
731 var109
= var104
->attrs
[COLOR_nitc__model__MMethod___is_root_init
].s
; /* _is_root_init on <var104:MProperty(MMethod)> */
733 RET_LABEL108
:(void)0;
742 if (unlikely(varonce
==NULL
)) {
743 var111
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
744 if (likely(varonce112
!=NULL
)) {
747 var114
= "Error: conflicting super constructor to call for `";
748 var115
= core__flat___NativeString___to_s_full(var114
, 50l, 50l);
752 ((struct instance_core__NativeArray
*)var111
)->values
[0]=var113
;
753 if (likely(varonce116
!=NULL
)) {
757 var119
= core__flat___NativeString___to_s_full(var118
, 4l, 4l);
761 ((struct instance_core__NativeArray
*)var111
)->values
[2]=var117
;
762 if (likely(varonce120
!=NULL
)) {
766 var123
= core__flat___NativeString___to_s_full(var122
, 4l, 4l);
770 ((struct instance_core__NativeArray
*)var111
)->values
[4]=var121
;
771 if (likely(varonce124
!=NULL
)) {
775 var127
= core__flat___NativeString___to_s_full(var126
, 1l, 1l);
779 ((struct instance_core__NativeArray
*)var111
)->values
[6]=var125
;
785 var128
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
787 ((struct instance_core__NativeArray
*)var111
)->values
[1]=var128
;
789 var129
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_candidate
);
791 ((struct instance_core__NativeArray
*)var111
)->values
[3]=var129
;
793 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
794 var132
= var_superprop
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
795 if (unlikely(var132
== NULL
)) {
796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
797 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
801 RET_LABEL131
:(void)0;
805 var133
= nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var130
);
807 ((struct instance_core__NativeArray
*)var111
)->values
[5]=var133
;
809 var134
= ((val
*(*)(val
* self
))(var111
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var111
); /* native_to_s on <var111:NativeArray[String]>*/
813 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var134
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
819 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
820 var137
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
821 if (unlikely(var137
== NULL
)) {
822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
823 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
827 RET_LABEL136
:(void)0;
831 var138
= nitc___nitc__MProperty___lookup_definitions(var_candidate
, var135
, var_anchor
);
833 var_candidatedefs
= var138
;
834 if (var_superprop
== NULL
) {
835 var140
= 0; /* is null */
837 var140
= 1; /* arg is null and recv is not */
840 { /* Inline kernel#Object#!= (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
841 var_other
= ((val
*)NULL
);
843 var143
= ((short int(*)(val
* self
, val
* p0
))(var_superprop
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_superprop
, var_other
); /* == on <var_superprop:nullable MMethodDef(MMethodDef)>*/
848 RET_LABEL142
:(void)0;
855 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
856 var148
= var_superprop
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
857 if (unlikely(var148
== NULL
)) {
858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
859 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
863 RET_LABEL147
:(void)0;
867 { /* Inline kernel#Object#== (var146,var_candidate) on <var146:MProperty(MMethod)> */
868 var_other57
= var_candidate
;
870 { /* Inline kernel#Object#is_same_instance (var146,var_other57) on <var146:MProperty(MMethod)> */
871 var153
= var146
== var_other57
;
874 RET_LABEL152
:(void)0;
879 RET_LABEL150
:(void)0;
888 var154
= core___core__SequenceRead___Collection__first(var_candidatedefs
);
891 { /* Inline kernel#Object#== (var_superprop,var154) on <var_superprop:nullable MMethodDef(MMethodDef)> */
892 var_other57
= var154
;
894 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other57) on <var_superprop:nullable MMethodDef(MMethodDef)> */
895 var159
= var_superprop
== var_other57
;
898 RET_LABEL158
:(void)0;
903 RET_LABEL156
:(void)0;
911 core___core__Array___core__abstract_collection__SimpleCollection__add(var_candidatedefs
, var_superprop
); /* Direct call array#Array#add on <var_candidatedefs:Array[MMethodDef]>*/
916 { /* Inline array#AbstractArrayRead#length (var_candidatedefs) on <var_candidatedefs:Array[MMethodDef]> */
917 var162
= var_candidatedefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_candidatedefs:Array[MMethodDef]> */
919 RET_LABEL161
:(void)0;
923 { /* Inline kernel#Int#> (var160,1l) on <var160:Int> */
924 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
925 /* <1l:Int> isa OTHER */
926 var165
= 1; /* easy <1l:Int> isa OTHER*/
927 if (unlikely(!var165
)) {
928 var_class_name168
= type_core__Int
.name
;
929 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name168
);
930 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
933 var169
= var160
> 1l;
936 RET_LABEL164
:(void)0;
940 if (unlikely(varonce170
==NULL
)) {
941 var171
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
942 if (likely(varonce172
!=NULL
)) {
945 var174
= "Error: conflicting property definitions for property `";
946 var175
= core__flat___NativeString___to_s_full(var174
, 54l, 54l);
950 ((struct instance_core__NativeArray
*)var171
)->values
[0]=var173
;
951 if (likely(varonce176
!=NULL
)) {
955 var179
= core__flat___NativeString___to_s_full(var178
, 6l, 6l);
959 ((struct instance_core__NativeArray
*)var171
)->values
[2]=var177
;
960 if (likely(varonce180
!=NULL
)) {
964 var183
= core__flat___NativeString___to_s_full(var182
, 3l, 3l);
968 ((struct instance_core__NativeArray
*)var171
)->values
[4]=var181
;
974 var184
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
976 ((struct instance_core__NativeArray
*)var171
)->values
[1]=var184
;
978 var185
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MType)>*/
980 ((struct instance_core__NativeArray
*)var171
)->values
[3]=var185
;
981 if (likely(varonce186
!=NULL
)) {
985 var189
= core__flat___NativeString___to_s_full(var188
, 2l, 2l);
990 var190
= core__abstract_text___Collection___join(var_candidatedefs
, var187
);
992 ((struct instance_core__NativeArray
*)var171
)->values
[5]=var190
;
994 var191
= ((val
*(*)(val
* self
))(var171
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var171
); /* native_to_s on <var171:NativeArray[String]>*/
998 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var191
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1004 var192
= core___core__SequenceRead___Collection__first(var_candidatedefs
);
1006 var_superprop
= var192
;
1007 BREAK_label77
: (void)0;
1009 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_31
); /* next on <var_31:IndexedIterator[MClassType]>*/
1012 BREAK_label
: (void)0;
1014 ((void(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_31
); /* finish on <var_31:IndexedIterator[MClassType]>*/
1016 if (var_superprop
== NULL
) {
1017 var193
= 1; /* is null */
1019 var193
= 0; /* arg is null but recv is not */
1022 { /* Inline kernel#Object#== (var_superprop,((val*)NULL)) on <var_superprop:nullable MMethodDef> */
1023 var_other57
= ((val
*)NULL
);
1025 { /* Inline kernel#Object#is_same_instance (var_superprop,var_other57) on <var_superprop:nullable MMethodDef(MMethodDef)> */
1026 var198
= var_superprop
== var_other57
;
1029 RET_LABEL197
:(void)0;
1034 RET_LABEL195
:(void)0;
1039 if (unlikely(varonce199
==NULL
)) {
1040 var200
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1041 if (likely(varonce201
!=NULL
)) {
1042 var202
= varonce201
;
1044 var203
= "Error: no super method to call for `";
1045 var204
= core__flat___NativeString___to_s_full(var203
, 36l, 36l);
1047 varonce201
= var202
;
1049 ((struct instance_core__NativeArray
*)var200
)->values
[0]=var202
;
1050 if (likely(varonce205
!=NULL
)) {
1051 var206
= varonce205
;
1054 var208
= core__flat___NativeString___to_s_full(var207
, 2l, 2l);
1056 varonce205
= var206
;
1058 ((struct instance_core__NativeArray
*)var200
)->values
[2]=var206
;
1060 var200
= varonce199
;
1064 var209
= ((val
*(*)(val
* self
))(var_mproperty
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mproperty
); /* to_s on <var_mproperty:MMethod>*/
1066 ((struct instance_core__NativeArray
*)var200
)->values
[1]=var209
;
1068 var210
= ((val
*(*)(val
* self
))(var200
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var200
); /* native_to_s on <var200:NativeArray[String]>*/
1070 varonce199
= var200
;
1072 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var210
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1078 { /* Inline model#MMethodDef#new_msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
1079 var214
= var_superprop
->attrs
[COLOR_nitc__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
1081 RET_LABEL213
:(void)0;
1088 { /* Inline model#MMethodDef#msignature (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
1089 var217
= var_superprop
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_superprop:nullable MMethodDef(MMethodDef)> */
1091 RET_LABEL216
:(void)0;
1094 if (unlikely(var215
== NULL
)) {
1095 PRINT_ERROR("Runtime error: %s", "Cast failed");
1096 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2007);
1101 var_msignature
= var211
;
1103 var218
= nitc__typing___nitc__typing__TypeVisitor___resolve_for(var_v
, var_msignature
, var_recvtype
, 1);
1105 /* <var218:MType> isa MSignature */
1106 cltype220
= type_nitc__MSignature
.color
;
1107 idtype221
= type_nitc__MSignature
.id
;
1108 if(cltype220
>= var218
->type
->table_size
) {
1111 var219
= var218
->type
->type_table
[cltype220
] == idtype221
;
1113 if (unlikely(!var219
)) {
1114 var_class_name222
= var218
== NULL ?
"null" : var218
->type
->name
;
1115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MSignature", var_class_name222
);
1116 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2008);
1119 var_msignature
= var218
;
1120 var223
= NEW_nitc__CallSite(&type_nitc__CallSite
);
1122 var224
= nitc___nitc__ANode___hot_location(self
);
1125 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
1126 var227
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
1127 if (unlikely(var227
== NULL
)) {
1128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
1133 RET_LABEL226
:(void)0;
1137 { /* Inline typing#TypeVisitor#anchor (var_v) on <var_v:TypeVisitor> */
1138 var230
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___anchor
].val
; /* _anchor on <var_v:TypeVisitor> */
1140 RET_LABEL229
:(void)0;
1144 { /* Inline model#MPropDef#mproperty (var_superprop) on <var_superprop:nullable MMethodDef(MMethodDef)> */
1145 var233
= var_superprop
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_superprop:nullable MMethodDef(MMethodDef)> */
1146 if (unlikely(var233
== NULL
)) {
1147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
1152 RET_LABEL232
:(void)0;
1156 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__location_61d
]))(var223
, var224
); /* location= on <var223:CallSite>*/
1159 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__recv_61d
]))(var223
, var_recvtype
); /* recv= on <var223:CallSite>*/
1162 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__mmodule_61d
]))(var223
, var225
); /* mmodule= on <var223:CallSite>*/
1165 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__anchor_61d
]))(var223
, var228
); /* anchor= on <var223:CallSite>*/
1168 ((void(*)(val
* self
, short int p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__recv_is_self_61d
]))(var223
, 1); /* recv_is_self= on <var223:CallSite>*/
1171 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__mproperty_61d
]))(var223
, var231
); /* mproperty= on <var223:CallSite>*/
1174 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__mpropdef_61d
]))(var223
, var_superprop
); /* mpropdef= on <var223:CallSite>*/
1177 ((void(*)(val
* self
, val
* p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__msignature_61d
]))(var223
, var_msignature
); /* msignature= on <var223:CallSite>*/
1180 ((void(*)(val
* self
, short int p0
))(var223
->class->vft
[COLOR_nitc__typing__CallSite__erasure_cast_61d
]))(var223
, 0); /* erasure_cast= on <var223:CallSite>*/
1183 ((void(*)(val
* self
))(var223
->class->vft
[COLOR_core__kernel__Object__init
]))(var223
); /* init on <var223:CallSite>*/
1185 var_callsite
= var223
;
1187 { /* Inline typing#ASuperExpr#callsite= (self,var_callsite) on <self:ASuperExpr> */
1188 self
->attrs
[COLOR_nitc__typing__ASuperExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ASuperExpr> */
1189 RET_LABEL234
:(void)0;
1193 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
1194 var237
= self
->attrs
[COLOR_nitc__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
1195 if (unlikely(var237
== NULL
)) {
1196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
1197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2348);
1201 RET_LABEL236
:(void)0;
1205 var238
= nitc__typing___AExprs___to_a(var235
);
1209 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[AExpr]> */
1210 var241
= var_args
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[AExpr]> */
1212 RET_LABEL240
:(void)0;
1216 { /* Inline kernel#Int#> (var239,0l) on <var239:Int> */
1217 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1218 /* <0l:Int> isa OTHER */
1219 var244
= 1; /* easy <0l:Int> isa OTHER*/
1220 if (unlikely(!var244
)) {
1221 var_class_name247
= type_core__Int
.name
;
1222 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name247
);
1223 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1226 var248
= var239
> 0l;
1229 RET_LABEL243
:(void)0;
1234 var249
= nitc___nitc__CallSite___check_signature(var_callsite
, var_v
, self
, var_args
);
1238 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1239 var252
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1241 RET_LABEL251
:(void)0;
1244 if (var250
== NULL
) {
1245 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1246 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2018);
1249 var253
= nitc___nitc__MSignature___arity(var250
);
1252 var254
= nitc___nitc__MSignature___arity(var_msignature
);
1255 { /* Inline kernel#Int#< (var253,var254) on <var253:Int> */
1256 /* Covariant cast for argument 0 (i) <var254:Int> isa OTHER */
1257 /* <var254:Int> isa OTHER */
1258 var257
= 1; /* easy <var254:Int> isa OTHER*/
1259 if (unlikely(!var257
)) {
1260 var_class_name260
= type_core__Int
.name
;
1261 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name260
);
1262 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1265 var261
= var253
< var254
;
1268 RET_LABEL256
:(void)0;
1272 if (unlikely(varonce262
==NULL
)) {
1273 var263
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
1274 if (likely(varonce264
!=NULL
)) {
1275 var265
= varonce264
;
1277 var266
= "Error: not enough implicit arguments to pass. Got `";
1278 var267
= core__flat___NativeString___to_s_full(var266
, 51l, 51l);
1280 varonce264
= var265
;
1282 ((struct instance_core__NativeArray
*)var263
)->values
[0]=var265
;
1283 if (likely(varonce268
!=NULL
)) {
1284 var269
= varonce268
;
1286 var270
= "`, expected at least `";
1287 var271
= core__flat___NativeString___to_s_full(var270
, 22l, 22l);
1289 varonce268
= var269
;
1291 ((struct instance_core__NativeArray
*)var263
)->values
[2]=var269
;
1292 if (likely(varonce272
!=NULL
)) {
1293 var273
= varonce272
;
1295 var274
= "`. Signature is `";
1296 var275
= core__flat___NativeString___to_s_full(var274
, 17l, 17l);
1298 varonce272
= var273
;
1300 ((struct instance_core__NativeArray
*)var263
)->values
[4]=var273
;
1301 if (likely(varonce276
!=NULL
)) {
1302 var277
= varonce276
;
1305 var279
= core__flat___NativeString___to_s_full(var278
, 2l, 2l);
1307 varonce276
= var277
;
1309 ((struct instance_core__NativeArray
*)var263
)->values
[6]=var277
;
1311 var263
= varonce262
;
1315 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1316 var282
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1318 RET_LABEL281
:(void)0;
1321 if (var280
== NULL
) {
1322 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1323 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2019);
1326 var283
= nitc___nitc__MSignature___arity(var280
);
1328 var284
= core__flat___Int___core__abstract_text__Object__to_s(var283
);
1329 ((struct instance_core__NativeArray
*)var263
)->values
[1]=var284
;
1331 var285
= nitc___nitc__MSignature___arity(var_msignature
);
1333 var286
= core__flat___Int___core__abstract_text__Object__to_s(var285
);
1334 ((struct instance_core__NativeArray
*)var263
)->values
[3]=var286
;
1336 var287
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
1338 ((struct instance_core__NativeArray
*)var263
)->values
[5]=var287
;
1340 var288
= ((val
*(*)(val
* self
))(var263
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var263
); /* native_to_s on <var263:NativeArray[String]>*/
1342 varonce262
= var263
;
1344 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var288
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1351 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
1352 var291
= var_msignature
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
1353 if (unlikely(var291
== NULL
)) {
1354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1355 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
1359 RET_LABEL290
:(void)0;
1364 var293
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_292
);
1369 var295
= ((short int(*)(val
* self
))((((long)var_294
&3)?class_info
[((long)var_294
&3)]:var_294
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_294
); /* is_ok on <var_294:IndexedIterator[MParameter]>*/
1373 goto BREAK_label296
;
1376 var297
= ((val
*(*)(val
* self
))((((long)var_294
&3)?class_info
[((long)var_294
&3)]:var_294
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_294
); /* item on <var_294:IndexedIterator[MParameter]>*/
1380 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1381 var300
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:nullable MPropDef(MMethodDef)> */
1383 RET_LABEL299
:(void)0;
1386 if (var298
== NULL
) {
1387 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1388 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2025);
1391 { /* Inline model#MSignature#mparameters (var298) on <var298:nullable MSignature> */
1392 if (unlikely(var298
== NULL
)) {
1393 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1394 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
1397 var303
= var298
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var298:nullable MSignature> */
1398 if (unlikely(var303
== NULL
)) {
1399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
1404 RET_LABEL302
:(void)0;
1408 var304
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var301
, var_i
);
1412 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
1413 var307
= var_p
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
1414 if (unlikely(var307
== NULL
)) {
1415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1416 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
1420 RET_LABEL306
:(void)0;
1424 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
1425 var310
= var_sp
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
1426 if (unlikely(var310
== NULL
)) {
1427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1428 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
1432 RET_LABEL309
:(void)0;
1436 var311
= nitc__typing___nitc__typing__TypeVisitor___is_subtype(var_v
, var305
, var308
);
1440 if (unlikely(varonce313
==NULL
)) {
1441 var314
= NEW_core__NativeArray(10l, &type_core__NativeArray__core__String
);
1442 if (likely(varonce315
!=NULL
)) {
1443 var316
= varonce315
;
1445 var317
= "Type Error: expected argument #";
1446 var318
= core__flat___NativeString___to_s_full(var317
, 31l, 31l);
1448 varonce315
= var316
;
1450 ((struct instance_core__NativeArray
*)var314
)->values
[0]=var316
;
1451 if (likely(varonce319
!=NULL
)) {
1452 var320
= varonce319
;
1454 var321
= " of type `";
1455 var322
= core__flat___NativeString___to_s_full(var321
, 10l, 10l);
1457 varonce319
= var320
;
1459 ((struct instance_core__NativeArray
*)var314
)->values
[2]=var320
;
1460 if (likely(varonce323
!=NULL
)) {
1461 var324
= varonce323
;
1463 var325
= "`, got implicit argument `";
1464 var326
= core__flat___NativeString___to_s_full(var325
, 26l, 26l);
1466 varonce323
= var324
;
1468 ((struct instance_core__NativeArray
*)var314
)->values
[4]=var324
;
1469 if (likely(varonce327
!=NULL
)) {
1470 var328
= varonce327
;
1472 var329
= "` of type `";
1473 var330
= core__flat___NativeString___to_s_full(var329
, 11l, 11l);
1475 varonce327
= var328
;
1477 ((struct instance_core__NativeArray
*)var314
)->values
[6]=var328
;
1478 if (likely(varonce331
!=NULL
)) {
1479 var332
= varonce331
;
1481 var333
= "`. Signature is ";
1482 var334
= core__flat___NativeString___to_s_full(var333
, 16l, 16l);
1484 varonce331
= var332
;
1486 ((struct instance_core__NativeArray
*)var314
)->values
[8]=var332
;
1488 var314
= varonce313
;
1491 var335
= core__flat___Int___core__abstract_text__Object__to_s(var_i
);
1492 ((struct instance_core__NativeArray
*)var314
)->values
[1]=var335
;
1494 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
1495 var338
= var_sp
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
1496 if (unlikely(var338
== NULL
)) {
1497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1498 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
1502 RET_LABEL337
:(void)0;
1506 var339
= ((val
*(*)(val
* self
))(var336
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var336
); /* to_s on <var336:MType>*/
1508 ((struct instance_core__NativeArray
*)var314
)->values
[3]=var339
;
1510 { /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
1511 var342
= var_p
->attrs
[COLOR_nitc__model__MParameter___name
].val
; /* _name on <var_p:MParameter> */
1512 if (unlikely(var342
== NULL
)) {
1513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1514 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1897);
1518 RET_LABEL341
:(void)0;
1521 ((struct instance_core__NativeArray
*)var314
)->values
[5]=var340
;
1523 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
1524 var345
= var_p
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
1525 if (unlikely(var345
== NULL
)) {
1526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1527 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
1531 RET_LABEL344
:(void)0;
1535 var346
= ((val
*(*)(val
* self
))(var343
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var343
); /* to_s on <var343:MType>*/
1537 ((struct instance_core__NativeArray
*)var314
)->values
[7]=var346
;
1539 var347
= ((val
*(*)(val
* self
))(var_msignature
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_msignature
); /* to_s on <var_msignature:MSignature>*/
1541 ((struct instance_core__NativeArray
*)var314
)->values
[9]=var347
;
1543 var348
= ((val
*(*)(val
* self
))(var314
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var314
); /* native_to_s on <var314:NativeArray[String]>*/
1545 varonce313
= var314
;
1547 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var348
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1553 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
1554 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1555 /* <1l:Int> isa OTHER */
1556 var351
= 1; /* easy <1l:Int> isa OTHER*/
1557 if (unlikely(!var351
)) {
1558 var_class_name354
= type_core__Int
.name
;
1559 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name354
);
1560 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1563 var355
= var_i
+ 1l;
1566 RET_LABEL350
:(void)0;
1571 ((void(*)(val
* self
))((((long)var_294
&3)?class_info
[((long)var_294
&3)]:var_294
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_294
); /* next on <var_294:IndexedIterator[MParameter]>*/
1574 BREAK_label296
: (void)0;
1576 ((void(*)(val
* self
))((((long)var_294
&3)?class_info
[((long)var_294
&3)]:var_294
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_294
); /* finish on <var_294:IndexedIterator[MParameter]>*/
1580 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ASuperExpr> */
1581 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ASuperExpr> */
1582 RET_LABEL356
:(void)0;
1587 /* method typing#ANewExpr#callsite for (self: ANewExpr): nullable CallSite */
1588 val
* nitc__typing___ANewExpr___callsite(val
* self
) {
1589 val
* var
/* : nullable CallSite */;
1590 val
* var1
/* : nullable CallSite */;
1591 var1
= self
->attrs
[COLOR_nitc__typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
1596 /* method typing#ANewExpr#callsite= for (self: ANewExpr, nullable CallSite) */
1597 void nitc__typing___ANewExpr___callsite_61d(val
* self
, val
* p0
) {
1598 self
->attrs
[COLOR_nitc__typing__ANewExpr___callsite
].val
= p0
; /* _callsite on <self:ANewExpr> */
1601 /* method typing#ANewExpr#recvtype for (self: ANewExpr): nullable MClassType */
1602 val
* nitc__typing___ANewExpr___recvtype(val
* self
) {
1603 val
* var
/* : nullable MClassType */;
1604 val
* var1
/* : nullable MClassType */;
1605 var1
= self
->attrs
[COLOR_nitc__typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
1610 /* method typing#ANewExpr#recvtype= for (self: ANewExpr, nullable MClassType) */
1611 void nitc__typing___ANewExpr___recvtype_61d(val
* self
, val
* p0
) {
1612 self
->attrs
[COLOR_nitc__typing__ANewExpr___recvtype
].val
= p0
; /* _recvtype on <self:ANewExpr> */
1615 /* method typing#ANewExpr#accept_typing for (self: ANewExpr, TypeVisitor) */
1616 void nitc__typing___ANewExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
1617 val
* var_v
/* var v: TypeVisitor */;
1618 val
* var
/* : AType */;
1619 val
* var2
/* : AType */;
1620 val
* var3
/* : nullable MType */;
1621 val
* var_recvtype
/* var recvtype: nullable MType */;
1622 short int var4
/* : Bool */;
1623 short int var5
/* : Bool */;
1624 val
* var_other
/* var other: nullable Object */;
1625 short int var7
/* : Bool */;
1626 short int var9
/* : Bool */;
1627 short int var10
/* : Bool */;
1630 short int var11
/* : Bool */;
1631 short int var12
/* : Bool */;
1634 val
* var15
/* : NativeArray[String] */;
1635 static val
* varonce
;
1636 static val
* varonce16
;
1637 val
* var17
/* : String */;
1638 char* var18
/* : NativeString */;
1639 val
* var19
/* : String */;
1640 static val
* varonce20
;
1641 val
* var21
/* : String */;
1642 char* var22
/* : NativeString */;
1643 val
* var23
/* : String */;
1644 val
* var24
/* : String */;
1645 val
* var25
/* : String */;
1646 short int var26
/* : Bool */;
1649 val
* var30
/* : NativeArray[String] */;
1650 static val
* varonce29
;
1651 static val
* varonce31
;
1652 val
* var32
/* : String */;
1653 char* var33
/* : NativeString */;
1654 val
* var34
/* : String */;
1655 static val
* varonce35
;
1656 val
* var36
/* : String */;
1657 char* var37
/* : NativeString */;
1658 val
* var38
/* : String */;
1659 val
* var39
/* : String */;
1660 val
* var40
/* : String */;
1661 val
* var42
/* : NativeArray[String] */;
1662 static val
* varonce41
;
1663 static val
* varonce43
;
1664 val
* var44
/* : String */;
1665 char* var45
/* : NativeString */;
1666 val
* var46
/* : String */;
1667 static val
* varonce47
;
1668 val
* var48
/* : String */;
1669 char* var49
/* : NativeString */;
1670 val
* var50
/* : String */;
1671 val
* var51
/* : String */;
1672 val
* var52
/* : String */;
1673 val
* var54
/* : MClass */;
1674 val
* var56
/* : MClass */;
1675 val
* var57
/* : MClassKind */;
1676 val
* var59
/* : MClassKind */;
1677 val
* var_kind
/* var kind: MClassKind */;
1678 val
* var60
/* : nullable AQid */;
1679 val
* var62
/* : nullable AQid */;
1680 val
* var_nqid
/* var nqid: nullable AQid */;
1681 short int var63
/* : Bool */;
1682 short int var64
/* : Bool */;
1683 val
* var_other66
/* var other: nullable Object */;
1684 short int var67
/* : Bool */;
1685 short int var68
/* : Bool */;
1686 val
* var69
/* : TId */;
1687 val
* var71
/* : TId */;
1688 val
* var72
/* : String */;
1689 val
* var_name
/* var name: String */;
1690 val
* var_node
/* var node: ANode */;
1691 static val
* varonce73
;
1692 val
* var74
/* : String */;
1693 char* var75
/* : NativeString */;
1694 val
* var76
/* : String */;
1695 val
* var77
/* : TKwnew */;
1696 val
* var79
/* : TKwnew */;
1697 static val
* varonce80
;
1698 val
* var81
/* : String */;
1699 char* var82
/* : NativeString */;
1700 val
* var83
/* : String */;
1701 short int var84
/* : Bool */;
1702 val
* var85
/* : Sys */;
1703 val
* var86
/* : MClassKind */;
1704 short int var87
/* : Bool */;
1705 short int var89
/* : Bool */;
1706 short int var90
/* : Bool */;
1707 val
* var92
/* : NativeArray[String] */;
1708 static val
* varonce91
;
1709 static val
* varonce93
;
1710 val
* var94
/* : String */;
1711 char* var95
/* : NativeString */;
1712 val
* var96
/* : String */;
1713 static val
* varonce97
;
1714 val
* var98
/* : String */;
1715 char* var99
/* : NativeString */;
1716 val
* var100
/* : String */;
1717 static val
* varonce101
;
1718 val
* var102
/* : String */;
1719 char* var103
/* : NativeString */;
1720 val
* var104
/* : String */;
1721 val
* var105
/* : String */;
1722 val
* var106
/* : String */;
1723 val
* var107
/* : String */;
1724 val
* var108
/* : AExprs */;
1725 val
* var110
/* : AExprs */;
1726 val
* var111
/* : ANodes[AExpr] */;
1727 val
* var113
/* : ANodes[AExpr] */;
1728 short int var114
/* : Bool */;
1729 val
* var115
/* : AExprs */;
1730 val
* var117
/* : AExprs */;
1731 static val
* varonce118
;
1732 val
* var119
/* : String */;
1733 char* var120
/* : NativeString */;
1734 val
* var121
/* : String */;
1735 val
* var123
/* : nullable CallSite */;
1736 val
* var_callsite
/* var callsite: nullable CallSite */;
1737 short int var124
/* : Bool */;
1738 short int var125
/* : Bool */;
1739 short int var127
/* : Bool */;
1740 short int var129
/* : Bool */;
1741 val
* var130
/* : MMethod */;
1742 val
* var132
/* : MMethod */;
1743 short int var133
/* : Bool */;
1744 short int var135
/* : Bool */;
1745 short int var136
/* : Bool */;
1746 val
* var137
/* : Sys */;
1747 val
* var138
/* : MClassKind */;
1748 short int var139
/* : Bool */;
1749 short int var141
/* : Bool */;
1750 short int var142
/* : Bool */;
1751 val
* var144
/* : NativeArray[String] */;
1752 static val
* varonce143
;
1753 static val
* varonce145
;
1754 val
* var146
/* : String */;
1755 char* var147
/* : NativeString */;
1756 val
* var148
/* : String */;
1757 static val
* varonce149
;
1758 val
* var150
/* : String */;
1759 char* var151
/* : NativeString */;
1760 val
* var152
/* : String */;
1761 static val
* varonce153
;
1762 val
* var154
/* : String */;
1763 char* var155
/* : NativeString */;
1764 val
* var156
/* : String */;
1765 val
* var157
/* : String */;
1766 val
* var158
/* : String */;
1767 val
* var159
/* : String */;
1768 val
* var161
/* : MSignature */;
1769 val
* var163
/* : MSignature */;
1770 val
* var164
/* : nullable MType */;
1771 val
* var166
/* : nullable MType */;
1772 val
* var168
/* : nullable MType */;
1773 val
* var170
/* : nullable MType */;
1774 short int var171
/* : Bool */;
1775 short int var172
/* : Bool */;
1776 short int var174
/* : Bool */;
1777 short int var175
/* : Bool */;
1778 val
* var177
/* : MMethod */;
1779 val
* var179
/* : MMethod */;
1780 val
* var180
/* : MClass */;
1781 val
* var182
/* : MClass */;
1782 short int var183
/* : Bool */;
1783 short int var184
/* : Bool */;
1784 val
* var186
/* : NativeArray[String] */;
1785 static val
* varonce185
;
1786 static val
* varonce187
;
1787 val
* var188
/* : String */;
1788 char* var189
/* : NativeString */;
1789 val
* var190
/* : String */;
1790 static val
* varonce191
;
1791 val
* var192
/* : String */;
1792 char* var193
/* : NativeString */;
1793 val
* var194
/* : String */;
1794 val
* var195
/* : String */;
1795 val
* var196
/* : AExprs */;
1796 val
* var198
/* : AExprs */;
1797 val
* var199
/* : Array[AExpr] */;
1798 val
* var_args
/* var args: Array[AExpr] */;
1799 short int var200
/* : Bool */;
1802 { /* Inline parser_nodes#ANewExpr#n_type (self) on <self:ANewExpr> */
1803 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_type
].val
; /* _n_type on <self:ANewExpr> */
1804 if (unlikely(var2
== NULL
)) {
1805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
1806 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2259);
1814 var3
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var
);
1816 var_recvtype
= var3
;
1817 if (var_recvtype
== NULL
) {
1818 var4
= 1; /* is null */
1820 var4
= 0; /* arg is null but recv is not */
1823 { /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
1824 var_other
= ((val
*)NULL
);
1826 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
1827 var9
= var_recvtype
== var_other
;
1843 /* <var_recvtype:nullable MType(MType)> isa MClassType */
1844 cltype
= type_nitc__MClassType
.color
;
1845 idtype
= type_nitc__MClassType
.id
;
1846 if(cltype
>= var_recvtype
->type
->table_size
) {
1849 var10
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
1853 /* <var_recvtype:nullable MType(MType)> isa MNullableType */
1854 cltype13
= type_nitc__MNullableType
.color
;
1855 idtype14
= type_nitc__MNullableType
.id
;
1856 if(cltype13
>= var_recvtype
->type
->table_size
) {
1859 var12
= var_recvtype
->type
->type_table
[cltype13
] == idtype14
;
1862 if (unlikely(varonce
==NULL
)) {
1863 var15
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1864 if (likely(varonce16
!=NULL
)) {
1867 var18
= "Type Error: cannot instantiate the nullable type `";
1868 var19
= core__flat___NativeString___to_s_full(var18
, 50l, 50l);
1872 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var17
;
1873 if (likely(varonce20
!=NULL
)) {
1877 var23
= core__flat___NativeString___to_s_full(var22
, 2l, 2l);
1881 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var21
;
1887 var24
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MNullableType)>*/
1889 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var24
;
1891 var25
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
1895 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var25
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1899 /* <var_recvtype:nullable MType(MType)> isa MFormalType */
1900 cltype27
= type_nitc__MFormalType
.color
;
1901 idtype28
= type_nitc__MFormalType
.id
;
1902 if(cltype27
>= var_recvtype
->type
->table_size
) {
1905 var26
= var_recvtype
->type
->type_table
[cltype27
] == idtype28
;
1908 if (unlikely(varonce29
==NULL
)) {
1909 var30
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1910 if (likely(varonce31
!=NULL
)) {
1913 var33
= "Type Error: cannot instantiate the formal type `";
1914 var34
= core__flat___NativeString___to_s_full(var33
, 48l, 48l);
1918 ((struct instance_core__NativeArray
*)var30
)->values
[0]=var32
;
1919 if (likely(varonce35
!=NULL
)) {
1923 var38
= core__flat___NativeString___to_s_full(var37
, 2l, 2l);
1927 ((struct instance_core__NativeArray
*)var30
)->values
[2]=var36
;
1933 var39
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MFormalType)>*/
1935 ((struct instance_core__NativeArray
*)var30
)->values
[1]=var39
;
1937 var40
= ((val
*(*)(val
* self
))(var30
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var30
); /* native_to_s on <var30:NativeArray[String]>*/
1941 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var40
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1945 if (unlikely(varonce41
==NULL
)) {
1946 var42
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1947 if (likely(varonce43
!=NULL
)) {
1950 var45
= "Type Error: cannot instantiate the type `";
1951 var46
= core__flat___NativeString___to_s_full(var45
, 41l, 41l);
1955 ((struct instance_core__NativeArray
*)var42
)->values
[0]=var44
;
1956 if (likely(varonce47
!=NULL
)) {
1960 var50
= core__flat___NativeString___to_s_full(var49
, 2l, 2l);
1964 ((struct instance_core__NativeArray
*)var42
)->values
[2]=var48
;
1970 var51
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MType)>*/
1972 ((struct instance_core__NativeArray
*)var42
)->values
[1]=var51
;
1974 var52
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var42
); /* native_to_s on <var42:NativeArray[String]>*/
1978 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var52
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
1986 { /* Inline typing#ANewExpr#recvtype= (self,var_recvtype) on <self:ANewExpr> */
1987 self
->attrs
[COLOR_nitc__typing__ANewExpr___recvtype
].val
= var_recvtype
; /* _recvtype on <self:ANewExpr> */
1988 RET_LABEL53
:(void)0;
1992 { /* Inline model#MClassType#mclass (var_recvtype) on <var_recvtype:nullable MType(MClassType)> */
1993 var56
= var_recvtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_recvtype:nullable MType(MClassType)> */
1994 if (unlikely(var56
== NULL
)) {
1995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1996 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2000 RET_LABEL55
:(void)0;
2004 { /* Inline model#MClass#kind (var54) on <var54:MClass> */
2005 var59
= var54
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var54:MClass> */
2006 if (unlikely(var59
== NULL
)) {
2007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2008 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
2012 RET_LABEL58
:(void)0;
2017 { /* Inline parser_nodes#ANewExpr#n_qid (self) on <self:ANewExpr> */
2018 var62
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_qid
].val
; /* _n_qid on <self:ANewExpr> */
2020 RET_LABEL61
:(void)0;
2024 if (var_nqid
== NULL
) {
2025 var63
= 0; /* is null */
2027 var63
= 1; /* arg is null and recv is not */
2030 { /* Inline kernel#Object#!= (var_nqid,((val*)NULL)) on <var_nqid:nullable AQid> */
2031 var_other66
= ((val
*)NULL
);
2033 var67
= ((short int(*)(val
* self
, val
* p0
))(var_nqid
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_nqid
, var_other66
); /* == on <var_nqid:nullable AQid(AQid)>*/
2038 RET_LABEL65
:(void)0;
2044 { /* Inline parser_nodes#AQid#n_id (var_nqid) on <var_nqid:nullable AQid(AQid)> */
2045 var71
= var_nqid
->attrs
[COLOR_nitc__parser_nodes__AQid___n_id
].val
; /* _n_id on <var_nqid:nullable AQid(AQid)> */
2046 if (unlikely(var71
== NULL
)) {
2047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2048 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1658);
2052 RET_LABEL70
:(void)0;
2056 var72
= nitc__lexer_work___Token___text(var69
);
2059 var_node
= var_nqid
;
2061 if (likely(varonce73
!=NULL
)) {
2065 var76
= core__flat___NativeString___to_s_full(var75
, 3l, 3l);
2071 { /* Inline parser_nodes#ANewExpr#n_kwnew (self) on <self:ANewExpr> */
2072 var79
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_kwnew
].val
; /* _n_kwnew on <self:ANewExpr> */
2073 if (unlikely(var79
== NULL
)) {
2074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_kwnew");
2075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2256);
2079 RET_LABEL78
:(void)0;
2084 if (likely(varonce80
!=NULL
)) {
2088 var83
= core__flat___NativeString___to_s_full(var82
, 6l, 6l);
2093 var84
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_name
, var81
); /* == on <var_name:String>*/
2098 var86
= nitc__model___core__Sys___concrete_kind(var85
);
2101 { /* Inline kernel#Object#!= (var_kind,var86) on <var_kind:MClassKind> */
2102 var_other66
= var86
;
2104 var89
= ((short int(*)(val
* self
, val
* p0
))(var_kind
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_kind
, var_other66
); /* == on <var_kind:MClassKind>*/
2109 RET_LABEL88
:(void)0;
2113 if (unlikely(varonce91
==NULL
)) {
2114 var92
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2115 if (likely(varonce93
!=NULL
)) {
2118 var95
= "Type Error: cannot instantiate ";
2119 var96
= core__flat___NativeString___to_s_full(var95
, 31l, 31l);
2123 ((struct instance_core__NativeArray
*)var92
)->values
[0]=var94
;
2124 if (likely(varonce97
!=NULL
)) {
2128 var100
= core__flat___NativeString___to_s_full(var99
, 1l, 1l);
2132 ((struct instance_core__NativeArray
*)var92
)->values
[2]=var98
;
2133 if (likely(varonce101
!=NULL
)) {
2134 var102
= varonce101
;
2137 var104
= core__flat___NativeString___to_s_full(var103
, 1l, 1l);
2139 varonce101
= var102
;
2141 ((struct instance_core__NativeArray
*)var92
)->values
[4]=var102
;
2147 var105
= ((val
*(*)(val
* self
))(var_kind
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_kind
); /* to_s on <var_kind:MClassKind>*/
2149 ((struct instance_core__NativeArray
*)var92
)->values
[1]=var105
;
2151 var106
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MClassType)>*/
2153 ((struct instance_core__NativeArray
*)var92
)->values
[3]=var106
;
2155 var107
= ((val
*(*)(val
* self
))(var92
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var92
); /* native_to_s on <var92:NativeArray[String]>*/
2159 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var107
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2165 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
2166 var110
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
2167 if (unlikely(var110
== NULL
)) {
2168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2169 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2265);
2173 RET_LABEL109
:(void)0;
2177 { /* Inline parser_nodes#AExprs#n_exprs (var108) on <var108:AExprs> */
2178 var113
= var108
->attrs
[COLOR_nitc__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var108:AExprs> */
2179 if (unlikely(var113
== NULL
)) {
2180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2181 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2709);
2185 RET_LABEL112
:(void)0;
2189 var114
= core___core__Collection___not_empty(var111
);
2193 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
2194 var117
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
2195 if (unlikely(var117
== NULL
)) {
2196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2265);
2201 RET_LABEL116
:(void)0;
2204 if (likely(varonce118
!=NULL
)) {
2205 var119
= varonce118
;
2207 var120
= "Type Error: the intern constructor expects no arguments.";
2208 var121
= core__flat___NativeString___to_s_full(var120
, 56l, 56l);
2210 varonce118
= var119
;
2213 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, var115
, var119
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2219 { /* Inline typing#AExpr#mtype= (self,var_recvtype) on <self:ANewExpr> */
2220 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_recvtype
; /* _mtype on <self:ANewExpr> */
2221 RET_LABEL122
:(void)0;
2228 var123
= nitc__typing___nitc__typing__TypeVisitor___get_method(var_v
, var_node
, var_recvtype
, var_name
, 0);
2230 var_callsite
= var123
;
2231 if (var_callsite
== NULL
) {
2232 var124
= 1; /* is null */
2234 var124
= 0; /* arg is null but recv is not */
2237 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
2238 var_other
= ((val
*)NULL
);
2240 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
2241 var129
= var_callsite
== var_other
;
2244 RET_LABEL128
:(void)0;
2249 RET_LABEL126
:(void)0;
2258 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
2259 var132
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
2260 if (unlikely(var132
== NULL
)) {
2261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2262 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 653);
2266 RET_LABEL131
:(void)0;
2270 { /* Inline model#MMethod#is_new (var130) on <var130:MMethod> */
2271 var135
= var130
->attrs
[COLOR_nitc__model__MMethod___is_new
].s
; /* _is_new on <var130:MMethod> */
2273 RET_LABEL134
:(void)0;
2280 var138
= nitc__model___core__Sys___concrete_kind(var137
);
2283 { /* Inline kernel#Object#!= (var_kind,var138) on <var_kind:MClassKind> */
2284 var_other66
= var138
;
2286 var141
= ((short int(*)(val
* self
, val
* p0
))(var_kind
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_kind
, var_other66
); /* == on <var_kind:MClassKind>*/
2291 RET_LABEL140
:(void)0;
2295 if (unlikely(varonce143
==NULL
)) {
2296 var144
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2297 if (likely(varonce145
!=NULL
)) {
2298 var146
= varonce145
;
2300 var147
= "Type Error: cannot instantiate ";
2301 var148
= core__flat___NativeString___to_s_full(var147
, 31l, 31l);
2303 varonce145
= var146
;
2305 ((struct instance_core__NativeArray
*)var144
)->values
[0]=var146
;
2306 if (likely(varonce149
!=NULL
)) {
2307 var150
= varonce149
;
2310 var152
= core__flat___NativeString___to_s_full(var151
, 2l, 2l);
2312 varonce149
= var150
;
2314 ((struct instance_core__NativeArray
*)var144
)->values
[2]=var150
;
2315 if (likely(varonce153
!=NULL
)) {
2316 var154
= varonce153
;
2319 var156
= core__flat___NativeString___to_s_full(var155
, 2l, 2l);
2321 varonce153
= var154
;
2323 ((struct instance_core__NativeArray
*)var144
)->values
[4]=var154
;
2325 var144
= varonce143
;
2329 var157
= ((val
*(*)(val
* self
))(var_kind
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_kind
); /* to_s on <var_kind:MClassKind>*/
2331 ((struct instance_core__NativeArray
*)var144
)->values
[1]=var157
;
2333 var158
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MClassType)>*/
2335 ((struct instance_core__NativeArray
*)var144
)->values
[3]=var158
;
2337 var159
= ((val
*(*)(val
* self
))(var144
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var144
); /* native_to_s on <var144:NativeArray[String]>*/
2339 varonce143
= var144
;
2341 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var159
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2347 { /* Inline typing#AExpr#mtype= (self,var_recvtype) on <self:ANewExpr> */
2348 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var_recvtype
; /* _mtype on <self:ANewExpr> */
2349 RET_LABEL160
:(void)0;
2354 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
2355 var163
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
2356 if (unlikely(var163
== NULL
)) {
2357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
2358 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 660);
2362 RET_LABEL162
:(void)0;
2366 { /* Inline model#MSignature#return_mtype (var161) on <var161:MSignature> */
2367 var166
= var161
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var161:MSignature> */
2369 RET_LABEL165
:(void)0;
2373 { /* Inline typing#AExpr#mtype= (self,var164) on <self:ANewExpr> */
2374 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var164
; /* _mtype on <self:ANewExpr> */
2375 RET_LABEL167
:(void)0;
2379 { /* Inline typing#AExpr#mtype (self) on <self:ANewExpr> */
2380 var170
= self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
; /* _mtype on <self:ANewExpr> */
2382 RET_LABEL169
:(void)0;
2385 if (var168
== NULL
) {
2386 var171
= 0; /* is null */
2388 var171
= 1; /* arg is null and recv is not */
2391 { /* Inline kernel#Object#!= (var168,((val*)NULL)) on <var168:nullable MType> */
2392 var_other66
= ((val
*)NULL
);
2394 var174
= ((short int(*)(val
* self
, val
* p0
))(var168
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var168
, var_other66
); /* == on <var168:nullable MType(MType)>*/
2399 RET_LABEL173
:(void)0;
2403 if (unlikely(!var171
)) {
2404 PRINT_ERROR("Runtime error: %s", "Assert failed");
2405 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2103);
2410 { /* Inline typing#ANewExpr#callsite= (self,var_callsite) on <self:ANewExpr> */
2411 self
->attrs
[COLOR_nitc__typing__ANewExpr___callsite
].val
= var_callsite
; /* _callsite on <self:ANewExpr> */
2412 RET_LABEL176
:(void)0;
2416 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
2417 var179
= var_callsite
->attrs
[COLOR_nitc__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
2418 if (unlikely(var179
== NULL
)) {
2419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2420 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 653);
2424 RET_LABEL178
:(void)0;
2428 { /* Inline model#MClassType#mclass (var_recvtype) on <var_recvtype:nullable MType(MClassType)> */
2429 var182
= var_recvtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_recvtype:nullable MType(MClassType)> */
2430 if (unlikely(var182
== NULL
)) {
2431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2432 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2436 RET_LABEL181
:(void)0;
2440 var183
= nitc___nitc__MMethod___is_init_for(var177
, var180
);
2444 if (unlikely(varonce185
==NULL
)) {
2445 var186
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2446 if (likely(varonce187
!=NULL
)) {
2447 var188
= varonce187
;
2449 var189
= "Error: `";
2450 var190
= core__flat___NativeString___to_s_full(var189
, 8l, 8l);
2452 varonce187
= var188
;
2454 ((struct instance_core__NativeArray
*)var186
)->values
[0]=var188
;
2455 if (likely(varonce191
!=NULL
)) {
2456 var192
= varonce191
;
2458 var193
= "` is not a constructor.";
2459 var194
= core__flat___NativeString___to_s_full(var193
, 23l, 23l);
2461 varonce191
= var192
;
2463 ((struct instance_core__NativeArray
*)var186
)->values
[2]=var192
;
2465 var186
= varonce185
;
2468 ((struct instance_core__NativeArray
*)var186
)->values
[1]=var_name
;
2470 var195
= ((val
*(*)(val
* self
))(var186
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var186
); /* native_to_s on <var186:NativeArray[String]>*/
2472 varonce185
= var186
;
2474 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var195
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2480 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
2481 var198
= self
->attrs
[COLOR_nitc__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
2482 if (unlikely(var198
== NULL
)) {
2483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
2484 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2265);
2488 RET_LABEL197
:(void)0;
2492 var199
= nitc__typing___AExprs___to_a(var196
);
2496 var200
= nitc___nitc__CallSite___check_signature(var_callsite
, var_v
, var_node
, var_args
);
2500 /* method typing#AAttrFormExpr#mproperty for (self: AAttrFormExpr): nullable MAttribute */
2501 val
* nitc__typing___AAttrFormExpr___mproperty(val
* self
) {
2502 val
* var
/* : nullable MAttribute */;
2503 val
* var1
/* : nullable MAttribute */;
2504 var1
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrFormExpr> */
2509 /* method typing#AAttrFormExpr#mproperty= for (self: AAttrFormExpr, nullable MAttribute) */
2510 void nitc__typing___AAttrFormExpr___mproperty_61d(val
* self
, val
* p0
) {
2511 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___mproperty
].val
= p0
; /* _mproperty on <self:AAttrFormExpr> */
2514 /* method typing#AAttrFormExpr#attr_type for (self: AAttrFormExpr): nullable MType */
2515 val
* nitc__typing___AAttrFormExpr___attr_type(val
* self
) {
2516 val
* var
/* : nullable MType */;
2517 val
* var1
/* : nullable MType */;
2518 var1
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
; /* _attr_type on <self:AAttrFormExpr> */
2523 /* method typing#AAttrFormExpr#attr_type= for (self: AAttrFormExpr, nullable MType) */
2524 void nitc__typing___AAttrFormExpr___attr_type_61d(val
* self
, val
* p0
) {
2525 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
= p0
; /* _attr_type on <self:AAttrFormExpr> */
2528 /* method typing#AAttrFormExpr#resolve_property for (self: AAttrFormExpr, TypeVisitor) */
2529 void nitc__typing___AAttrFormExpr___resolve_property(val
* self
, val
* p0
) {
2530 val
* var_v
/* var v: TypeVisitor */;
2531 val
* var
/* : AExpr */;
2532 val
* var2
/* : AExpr */;
2533 val
* var3
/* : nullable MType */;
2534 val
* var_recvtype
/* var recvtype: nullable MType */;
2535 short int var4
/* : Bool */;
2536 short int var5
/* : Bool */;
2537 val
* var_other
/* var other: nullable Object */;
2538 short int var7
/* : Bool */;
2539 short int var9
/* : Bool */;
2540 val
* var10
/* : TAttrid */;
2541 val
* var12
/* : TAttrid */;
2542 val
* var_node
/* var node: TAttrid */;
2543 val
* var13
/* : String */;
2544 val
* var_name
/* var name: String */;
2545 short int var14
/* : Bool */;
2548 val
* var15
/* : NativeArray[String] */;
2549 static val
* varonce
;
2550 static val
* varonce16
;
2551 val
* var17
/* : String */;
2552 char* var18
/* : NativeString */;
2553 val
* var19
/* : String */;
2554 static val
* varonce20
;
2555 val
* var21
/* : String */;
2556 char* var22
/* : NativeString */;
2557 val
* var23
/* : String */;
2558 val
* var24
/* : String */;
2559 val
* var25
/* : MType */;
2560 val
* var_unsafe_type
/* var unsafe_type: MType */;
2561 val
* var26
/* : nullable MProperty */;
2562 val
* var_mproperty
/* var mproperty: nullable MProperty */;
2563 short int var27
/* : Bool */;
2564 short int var28
/* : Bool */;
2565 short int var30
/* : Bool */;
2566 short int var32
/* : Bool */;
2567 val
* var33
/* : ModelBuilder */;
2568 val
* var35
/* : ModelBuilder */;
2569 val
* var37
/* : NativeArray[String] */;
2570 static val
* varonce36
;
2571 static val
* varonce38
;
2572 val
* var39
/* : String */;
2573 char* var40
/* : NativeString */;
2574 val
* var41
/* : String */;
2575 static val
* varonce42
;
2576 val
* var43
/* : String */;
2577 char* var44
/* : NativeString */;
2578 val
* var45
/* : String */;
2579 static val
* varonce46
;
2580 val
* var47
/* : String */;
2581 char* var48
/* : NativeString */;
2582 val
* var49
/* : String */;
2583 val
* var50
/* : String */;
2584 val
* var51
/* : String */;
2585 short int var52
/* : Bool */;
2588 val
* var56
/* : MModule */;
2589 val
* var58
/* : MModule */;
2590 val
* var59
/* : Array[MPropDef] */;
2591 val
* var_mpropdefs
/* var mpropdefs: Array[MAttributeDef] */;
2592 long var60
/* : Int */;
2593 long var62
/* : Int */;
2594 short int var63
/* : Bool */;
2595 short int var65
/* : Bool */;
2596 val
* var66
/* : nullable Object */;
2597 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
2598 val
* var67
/* : nullable MType */;
2599 val
* var69
/* : nullable MType */;
2600 val
* var_attr_type
/* var attr_type: nullable MType */;
2601 short int var70
/* : Bool */;
2602 short int var71
/* : Bool */;
2603 short int var73
/* : Bool */;
2604 short int var75
/* : Bool */;
2605 val
* var76
/* : AExpr */;
2606 val
* var78
/* : AExpr */;
2607 short int var79
/* : Bool */;
2610 val
* var82
/* : MType */;
2613 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrFormExpr> */
2614 var2
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrFormExpr> */
2615 if (unlikely(var2
== NULL
)) {
2616 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2617 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2273);
2625 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
2627 var_recvtype
= var3
;
2628 if (var_recvtype
== NULL
) {
2629 var4
= 1; /* is null */
2631 var4
= 0; /* arg is null but recv is not */
2634 { /* Inline kernel#Object#== (var_recvtype,((val*)NULL)) on <var_recvtype:nullable MType> */
2635 var_other
= ((val
*)NULL
);
2637 { /* Inline kernel#Object#is_same_instance (var_recvtype,var_other) on <var_recvtype:nullable MType(MType)> */
2638 var9
= var_recvtype
== var_other
;
2655 { /* Inline parser_nodes#AAttrFormExpr#n_id (self) on <self:AAttrFormExpr> */
2656 var12
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id
].val
; /* _n_id on <self:AAttrFormExpr> */
2657 if (unlikely(var12
== NULL
)) {
2658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
2659 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2276);
2663 RET_LABEL11
:(void)0;
2668 var13
= nitc__lexer_work___Token___text(var_node
);
2671 /* <var_recvtype:nullable MType(MType)> isa MNullType */
2672 cltype
= type_nitc__MNullType
.color
;
2673 idtype
= type_nitc__MNullType
.id
;
2674 if(cltype
>= var_recvtype
->type
->table_size
) {
2677 var14
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
2680 if (unlikely(varonce
==NULL
)) {
2681 var15
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2682 if (likely(varonce16
!=NULL
)) {
2685 var18
= "Error: attribute `";
2686 var19
= core__flat___NativeString___to_s_full(var18
, 18l, 18l);
2690 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var17
;
2691 if (likely(varonce20
!=NULL
)) {
2694 var22
= "` access on `null`.";
2695 var23
= core__flat___NativeString___to_s_full(var22
, 19l, 19l);
2699 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var21
;
2704 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var_name
;
2706 var24
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
2710 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, var_node
, var24
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
2716 var25
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(var_v
, var_recvtype
);
2718 var_unsafe_type
= var25
;
2720 var26
= nitc__typing___nitc__typing__TypeVisitor___try_get_mproperty_by_name2(var_v
, var_node
, var_unsafe_type
, var_name
);
2722 var_mproperty
= var26
;
2723 if (var_mproperty
== NULL
) {
2724 var27
= 1; /* is null */
2726 var27
= 0; /* arg is null but recv is not */
2729 { /* Inline kernel#Object#== (var_mproperty,((val*)NULL)) on <var_mproperty:nullable MProperty> */
2730 var_other
= ((val
*)NULL
);
2732 { /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on <var_mproperty:nullable MProperty(MProperty)> */
2733 var32
= var_mproperty
== var_other
;
2736 RET_LABEL31
:(void)0;
2741 RET_LABEL29
:(void)0;
2747 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
2748 var35
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
2749 if (unlikely(var35
== NULL
)) {
2750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2751 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
2755 RET_LABEL34
:(void)0;
2758 if (unlikely(varonce36
==NULL
)) {
2759 var37
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2760 if (likely(varonce38
!=NULL
)) {
2763 var40
= "Error: attribute `";
2764 var41
= core__flat___NativeString___to_s_full(var40
, 18l, 18l);
2768 ((struct instance_core__NativeArray
*)var37
)->values
[0]=var39
;
2769 if (likely(varonce42
!=NULL
)) {
2772 var44
= "` does not exist in `";
2773 var45
= core__flat___NativeString___to_s_full(var44
, 21l, 21l);
2777 ((struct instance_core__NativeArray
*)var37
)->values
[2]=var43
;
2778 if (likely(varonce46
!=NULL
)) {
2782 var49
= core__flat___NativeString___to_s_full(var48
, 2l, 2l);
2786 ((struct instance_core__NativeArray
*)var37
)->values
[4]=var47
;
2791 ((struct instance_core__NativeArray
*)var37
)->values
[1]=var_name
;
2793 var50
= ((val
*(*)(val
* self
))(var_recvtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recvtype
); /* to_s on <var_recvtype:nullable MType(MType)>*/
2795 ((struct instance_core__NativeArray
*)var37
)->values
[3]=var50
;
2797 var51
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
2801 nitc___nitc__ModelBuilder___error(var33
, var_node
, var51
); /* Direct call modelbuilder_base#ModelBuilder#error on <var33:ModelBuilder>*/
2806 /* <var_mproperty:nullable MProperty(MProperty)> isa MAttribute */
2807 cltype53
= type_nitc__MAttribute
.color
;
2808 idtype54
= type_nitc__MAttribute
.id
;
2809 if(cltype53
>= var_mproperty
->type
->table_size
) {
2812 var52
= var_mproperty
->type
->type_table
[cltype53
] == idtype54
;
2814 if (unlikely(!var52
)) {
2815 PRINT_ERROR("Runtime error: %s", "Assert failed");
2816 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2145);
2820 { /* Inline typing#AAttrFormExpr#mproperty= (self,var_mproperty) on <self:AAttrFormExpr> */
2821 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___mproperty
].val
= var_mproperty
; /* _mproperty on <self:AAttrFormExpr> */
2822 RET_LABEL55
:(void)0;
2826 { /* Inline typing#TypeVisitor#mmodule (var_v) on <var_v:TypeVisitor> */
2827 var58
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___mmodule
].val
; /* _mmodule on <var_v:TypeVisitor> */
2828 if (unlikely(var58
== NULL
)) {
2829 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2830 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 37);
2834 RET_LABEL57
:(void)0;
2838 var59
= nitc___nitc__MProperty___lookup_definitions(var_mproperty
, var56
, var_unsafe_type
);
2840 var_mpropdefs
= var59
;
2842 { /* Inline array#AbstractArrayRead#length (var_mpropdefs) on <var_mpropdefs:Array[MAttributeDef]> */
2843 var62
= var_mpropdefs
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_mpropdefs:Array[MAttributeDef]> */
2845 RET_LABEL61
:(void)0;
2849 { /* Inline kernel#Int#== (var60,1l) on <var60:Int> */
2850 var65
= var60
== 1l;
2853 RET_LABEL64
:(void)0;
2856 if (unlikely(!var63
)) {
2857 PRINT_ERROR("Runtime error: %s", "Assert failed");
2858 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2149);
2862 var66
= core___core__SequenceRead___Collection__first(var_mpropdefs
);
2864 var_mpropdef
= var66
;
2866 { /* Inline model#MAttributeDef#static_mtype (var_mpropdef) on <var_mpropdef:MAttributeDef> */
2867 var69
= var_mpropdef
->attrs
[COLOR_nitc__model__MAttributeDef___static_mtype
].val
; /* _static_mtype on <var_mpropdef:MAttributeDef> */
2869 RET_LABEL68
:(void)0;
2872 var_attr_type
= var67
;
2873 if (var_attr_type
== NULL
) {
2874 var70
= 1; /* is null */
2876 var70
= 0; /* arg is null but recv is not */
2879 { /* Inline kernel#Object#== (var_attr_type,((val*)NULL)) on <var_attr_type:nullable MType> */
2880 var_other
= ((val
*)NULL
);
2882 { /* Inline kernel#Object#is_same_instance (var_attr_type,var_other) on <var_attr_type:nullable MType(MType)> */
2883 var75
= var_attr_type
== var_other
;
2886 RET_LABEL74
:(void)0;
2891 RET_LABEL72
:(void)0;
2900 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrFormExpr> */
2901 var78
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrFormExpr> */
2902 if (unlikely(var78
== NULL
)) {
2903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2904 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2273);
2908 RET_LABEL77
:(void)0;
2911 /* <var76:AExpr> isa ASelfExpr */
2912 cltype80
= type_nitc__ASelfExpr
.color
;
2913 idtype81
= type_nitc__ASelfExpr
.id
;
2914 if(cltype80
>= var76
->type
->table_size
) {
2917 var79
= var76
->type
->type_table
[cltype80
] == idtype81
;
2920 var82
= nitc__typing___nitc__typing__TypeVisitor___resolve_for(var_v
, var_attr_type
, var_recvtype
, var79
);
2922 var_attr_type
= var82
;
2924 { /* Inline typing#AAttrFormExpr#attr_type= (self,var_attr_type) on <self:AAttrFormExpr> */
2925 self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
= var_attr_type
; /* _attr_type on <self:AAttrFormExpr> */
2926 RET_LABEL83
:(void)0;
2931 /* method typing#AAttrExpr#accept_typing for (self: AAttrExpr, TypeVisitor) */
2932 void nitc__typing___AAttrExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2933 val
* var_v
/* var v: TypeVisitor */;
2934 val
* var
/* : nullable MType */;
2935 val
* var2
/* : nullable MType */;
2938 nitc__typing___AAttrFormExpr___resolve_property(self
, var_v
); /* Direct call typing#AAttrFormExpr#resolve_property on <self:AAttrExpr>*/
2941 { /* Inline typing#AAttrFormExpr#attr_type (self) on <self:AAttrExpr> */
2942 var2
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
; /* _attr_type on <self:AAttrExpr> */
2948 { /* Inline typing#AExpr#mtype= (self,var) on <self:AAttrExpr> */
2949 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var
; /* _mtype on <self:AAttrExpr> */
2955 /* method typing#AAttrAssignExpr#accept_typing for (self: AAttrAssignExpr, TypeVisitor) */
2956 void nitc__typing___AAttrAssignExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
2957 val
* var_v
/* var v: TypeVisitor */;
2958 val
* var
/* : nullable MType */;
2959 val
* var2
/* : nullable MType */;
2960 val
* var_mtype
/* var mtype: nullable MType */;
2961 val
* var3
/* : AExpr */;
2962 val
* var5
/* : AExpr */;
2963 val
* var6
/* : nullable MType */;
2964 short int var7
/* : Bool */;
2965 short int var8
/* : Bool */;
2966 val
* var_other
/* var other: nullable Object */;
2967 short int var10
/* : Bool */;
2968 short int var11
/* : Bool */;
2971 nitc__typing___AAttrFormExpr___resolve_property(self
, var_v
); /* Direct call typing#AAttrFormExpr#resolve_property on <self:AAttrAssignExpr>*/
2974 { /* Inline typing#AAttrFormExpr#attr_type (self) on <self:AAttrAssignExpr> */
2975 var2
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
; /* _attr_type on <self:AAttrAssignExpr> */
2982 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:AAttrAssignExpr> */
2983 var5
= self
->attrs
[COLOR_nitc__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:AAttrAssignExpr> */
2984 if (unlikely(var5
== NULL
)) {
2985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
2986 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1992);
2994 var6
= nitc__typing___nitc__typing__TypeVisitor___visit_expr_subtype(var_v
, var3
, var_mtype
);
2996 if (var_mtype
== NULL
) {
2997 var7
= 0; /* is null */
2999 var7
= 1; /* arg is null and recv is not */
3002 { /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3003 var_other
= ((val
*)NULL
);
3005 var10
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other
); /* == on <var_mtype:nullable MType(MType)>*/
3015 { /* Inline typing#AExpr#is_typed= (self,var7) on <self:AAttrAssignExpr> */
3016 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= var7
; /* _is_typed on <self:AAttrAssignExpr> */
3017 RET_LABEL12
:(void)0;
3022 /* method typing#AAttrReassignExpr#accept_typing for (self: AAttrReassignExpr, TypeVisitor) */
3023 void nitc__typing___AAttrReassignExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3024 val
* var_v
/* var v: TypeVisitor */;
3025 val
* var
/* : nullable MType */;
3026 val
* var2
/* : nullable MType */;
3027 val
* var_mtype
/* var mtype: nullable MType */;
3028 short int var3
/* : Bool */;
3029 short int var4
/* : Bool */;
3030 val
* var_other
/* var other: nullable Object */;
3031 short int var6
/* : Bool */;
3032 short int var8
/* : Bool */;
3033 val
* var9
/* : nullable MType */;
3034 val
* var_rettype
/* var rettype: nullable MType */;
3035 short int var10
/* : Bool */;
3036 short int var11
/* : Bool */;
3037 val
* var_other13
/* var other: nullable Object */;
3038 short int var14
/* : Bool */;
3039 short int var15
/* : Bool */;
3042 nitc__typing___AAttrFormExpr___resolve_property(self
, var_v
); /* Direct call typing#AAttrFormExpr#resolve_property on <self:AAttrReassignExpr>*/
3045 { /* Inline typing#AAttrFormExpr#attr_type (self) on <self:AAttrReassignExpr> */
3046 var2
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
; /* _attr_type on <self:AAttrReassignExpr> */
3052 if (var_mtype
== NULL
) {
3053 var3
= 1; /* is null */
3055 var3
= 0; /* arg is null but recv is not */
3058 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3059 var_other
= ((val
*)NULL
);
3061 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3062 var8
= var_mtype
== var_other
;
3079 var9
= nitc__typing___AReassignFormExpr___resolve_reassignment(self
, var_v
, var_mtype
, var_mtype
);
3082 if (var_rettype
== NULL
) {
3083 var10
= 0; /* is null */
3085 var10
= 1; /* arg is null and recv is not */
3088 { /* Inline kernel#Object#!= (var_rettype,((val*)NULL)) on <var_rettype:nullable MType> */
3089 var_other13
= ((val
*)NULL
);
3091 var14
= ((short int(*)(val
* self
, val
* p0
))(var_rettype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_rettype
, var_other13
); /* == on <var_rettype:nullable MType(MType)>*/
3096 RET_LABEL12
:(void)0;
3101 { /* Inline typing#AExpr#is_typed= (self,var10) on <self:AAttrReassignExpr> */
3102 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= var10
; /* _is_typed on <self:AAttrReassignExpr> */
3103 RET_LABEL16
:(void)0;
3108 /* method typing#AIssetAttrExpr#accept_typing for (self: AIssetAttrExpr, TypeVisitor) */
3109 void nitc__typing___AIssetAttrExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3110 val
* var_v
/* var v: TypeVisitor */;
3111 val
* var
/* : nullable MType */;
3112 val
* var2
/* : nullable MType */;
3113 val
* var_mtype
/* var mtype: nullable MType */;
3114 short int var3
/* : Bool */;
3115 short int var4
/* : Bool */;
3116 val
* var_other
/* var other: nullable Object */;
3117 short int var6
/* : Bool */;
3118 short int var8
/* : Bool */;
3119 val
* var9
/* : AExpr */;
3120 val
* var11
/* : AExpr */;
3121 val
* var12
/* : nullable MType */;
3122 val
* var_recvtype
/* var recvtype: MType */;
3123 val
* var13
/* : MType */;
3124 val
* var_bound
/* var bound: MType */;
3125 short int var14
/* : Bool */;
3128 val
* var15
/* : TAttrid */;
3129 val
* var17
/* : TAttrid */;
3130 static val
* varonce
;
3131 val
* var18
/* : String */;
3132 char* var19
/* : NativeString */;
3133 val
* var20
/* : String */;
3134 val
* var21
/* : nullable MType */;
3137 nitc__typing___AAttrFormExpr___resolve_property(self
, var_v
); /* Direct call typing#AAttrFormExpr#resolve_property on <self:AIssetAttrExpr>*/
3140 { /* Inline typing#AAttrFormExpr#attr_type (self) on <self:AIssetAttrExpr> */
3141 var2
= self
->attrs
[COLOR_nitc__typing__AAttrFormExpr___attr_type
].val
; /* _attr_type on <self:AIssetAttrExpr> */
3147 if (var_mtype
== NULL
) {
3148 var3
= 1; /* is null */
3150 var3
= 0; /* arg is null but recv is not */
3153 { /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3154 var_other
= ((val
*)NULL
);
3156 { /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on <var_mtype:nullable MType(MType)> */
3157 var8
= var_mtype
== var_other
;
3174 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AIssetAttrExpr> */
3175 var11
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AIssetAttrExpr> */
3176 if (unlikely(var11
== NULL
)) {
3177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3178 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2273);
3182 RET_LABEL10
:(void)0;
3186 var12
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_nitc__typing__AExpr__mtype
]))(var9
); /* mtype on <var9:AExpr>*/
3188 if (unlikely(var12
== NULL
)) {
3189 PRINT_ERROR("Runtime error: %s", "Cast failed");
3190 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 2198);
3193 var_recvtype
= var12
;
3195 var13
= nitc__typing___nitc__typing__TypeVisitor___resolve_for(var_v
, var_mtype
, var_recvtype
, 0);
3198 /* <var_bound:MType> isa MNullableType */
3199 cltype
= type_nitc__MNullableType
.color
;
3200 idtype
= type_nitc__MNullableType
.id
;
3201 if(cltype
>= var_bound
->type
->table_size
) {
3204 var14
= var_bound
->type
->type_table
[cltype
] == idtype
;
3208 { /* Inline parser_nodes#AAttrFormExpr#n_id (self) on <self:AIssetAttrExpr> */
3209 var17
= self
->attrs
[COLOR_nitc__parser_nodes__AAttrFormExpr___n_id
].val
; /* _n_id on <self:AIssetAttrExpr> */
3210 if (unlikely(var17
== NULL
)) {
3211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id");
3212 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2276);
3216 RET_LABEL16
:(void)0;
3219 if (likely(varonce
!=NULL
)) {
3222 var19
= "Type Error: `isset` on a nullable attribute.";
3223 var20
= core__flat___NativeString___to_s_full(var19
, 44l, 44l);
3228 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, var15
, var18
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
3233 var21
= nitc__typing___nitc__typing__TypeVisitor___type_bool(var_v
, self
);
3236 { /* Inline typing#AExpr#mtype= (self,var21) on <self:AIssetAttrExpr> */
3237 self
->attrs
[COLOR_nitc__typing__AExpr___mtype
].val
= var21
; /* _mtype on <self:AIssetAttrExpr> */
3238 RET_LABEL22
:(void)0;
3243 /* method typing#AVarargExpr#accept_typing for (self: AVarargExpr, TypeVisitor) */
3244 void nitc__typing___AVarargExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3245 val
* var_v
/* var v: TypeVisitor */;
3246 static val
* varonce
;
3247 val
* var
/* : String */;
3248 char* var1
/* : NativeString */;
3249 val
* var2
/* : String */;
3251 if (likely(varonce
!=NULL
)) {
3254 var1
= "Syntax Error: unexpected `...`.";
3255 var2
= core__flat___NativeString___to_s_full(var1
, 31l, 31l);
3260 nitc__typing___nitc__typing__TypeVisitor___error(var_v
, self
, var
); /* Direct call typing#TypeVisitor#error on <var_v:TypeVisitor>*/
3264 /* method typing#ADebugTypeExpr#accept_typing for (self: ADebugTypeExpr, TypeVisitor) */
3265 void nitc__typing___ADebugTypeExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
3266 val
* var_v
/* var v: TypeVisitor */;
3267 val
* var
/* : AExpr */;
3268 val
* var2
/* : AExpr */;
3269 val
* var3
/* : nullable MType */;
3270 val
* var_expr
/* var expr: nullable MType */;
3271 short int var4
/* : Bool */;
3272 short int var5
/* : Bool */;
3273 val
* var_other
/* var other: nullable Object */;
3274 short int var7
/* : Bool */;
3275 short int var9
/* : Bool */;
3276 val
* var10
/* : MType */;
3277 val
* var_unsafe
/* var unsafe: MType */;
3278 val
* var11
/* : AType */;
3279 val
* var13
/* : AType */;
3280 val
* var_ntype
/* var ntype: AType */;
3281 val
* var14
/* : nullable MType */;
3282 val
* var_mtype
/* var mtype: nullable MType */;
3283 short int var15
/* : Bool */;
3284 short int var16
/* : Bool */;
3285 short int var17
/* : Bool */;
3286 val
* var_other19
/* var other: nullable Object */;
3287 short int var20
/* : Bool */;
3288 short int var21
/* : Bool */;
3289 short int var_
/* var : Bool */;
3290 short int var22
/* : Bool */;
3291 short int var24
/* : Bool */;
3292 short int var25
/* : Bool */;
3293 val
* var26
/* : MType */;
3294 val
* var_umtype
/* var umtype: MType */;
3295 val
* var27
/* : ModelBuilder */;
3296 val
* var29
/* : ModelBuilder */;
3297 static val
* varonce
;
3298 val
* var30
/* : String */;
3299 char* var31
/* : NativeString */;
3300 val
* var32
/* : String */;
3301 val
* var34
/* : NativeArray[String] */;
3302 static val
* varonce33
;
3303 static val
* varonce35
;
3304 val
* var36
/* : String */;
3305 char* var37
/* : NativeString */;
3306 val
* var38
/* : String */;
3307 static val
* varonce39
;
3308 val
* var40
/* : String */;
3309 char* var41
/* : NativeString */;
3310 val
* var42
/* : String */;
3311 static val
* varonce43
;
3312 val
* var44
/* : String */;
3313 char* var45
/* : NativeString */;
3314 val
* var46
/* : String */;
3315 static val
* varonce47
;
3316 val
* var48
/* : String */;
3317 char* var49
/* : NativeString */;
3318 val
* var50
/* : String */;
3319 static val
* varonce51
;
3320 val
* var52
/* : String */;
3321 char* var53
/* : NativeString */;
3322 val
* var54
/* : String */;
3323 val
* var55
/* : String */;
3324 val
* var56
/* : String */;
3325 val
* var57
/* : String */;
3326 val
* var58
/* : String */;
3327 val
* var59
/* : String */;
3330 { /* Inline parser_nodes#ADebugTypeExpr#n_expr (self) on <self:ADebugTypeExpr> */
3331 var2
= self
->attrs
[COLOR_nitc__parser_nodes__ADebugTypeExpr___n_expr
].val
; /* _n_expr on <self:ADebugTypeExpr> */
3332 if (unlikely(var2
== NULL
)) {
3333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2698);
3342 var3
= nitc__typing___nitc__typing__TypeVisitor___visit_expr(var_v
, var
);
3345 if (var_expr
== NULL
) {
3346 var4
= 1; /* is null */
3348 var4
= 0; /* arg is null but recv is not */
3351 { /* Inline kernel#Object#== (var_expr,((val*)NULL)) on <var_expr:nullable MType> */
3352 var_other
= ((val
*)NULL
);
3354 { /* Inline kernel#Object#is_same_instance (var_expr,var_other) on <var_expr:nullable MType(MType)> */
3355 var9
= var_expr
== var_other
;
3372 var10
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(var_v
, var_expr
);
3376 { /* Inline parser_nodes#ADebugTypeExpr#n_type (self) on <self:ADebugTypeExpr> */
3377 var13
= self
->attrs
[COLOR_nitc__parser_nodes__ADebugTypeExpr___n_type
].val
; /* _n_type on <self:ADebugTypeExpr> */
3378 if (unlikely(var13
== NULL
)) {
3379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
3380 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2701);
3384 RET_LABEL12
:(void)0;
3389 var14
= nitc__typing___nitc__typing__TypeVisitor___resolve_mtype(var_v
, var_ntype
);
3392 if (var_mtype
== NULL
) {
3393 var16
= 0; /* is null */
3395 var16
= 1; /* arg is null and recv is not */
3398 { /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MType> */
3399 var_other19
= ((val
*)NULL
);
3401 var20
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other19
); /* == on <var_mtype:nullable MType(MType)>*/
3406 RET_LABEL18
:(void)0;
3413 { /* Inline kernel#Object#!= (var_mtype,var_expr) on <var_mtype:nullable MType(MType)> */
3414 var_other19
= var_expr
;
3416 var24
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_mtype
, var_other19
); /* == on <var_mtype:nullable MType(MType)>*/
3421 RET_LABEL23
:(void)0;
3430 var26
= nitc__typing___nitc__typing__TypeVisitor___anchor_to(var_v
, var_mtype
);
3434 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
3435 var29
= var_v
->attrs
[COLOR_nitc__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
3436 if (unlikely(var29
== NULL
)) {
3437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3438 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__typing
, 35);
3442 RET_LABEL28
:(void)0;
3445 if (likely(varonce
!=NULL
)) {
3449 var32
= core__flat___NativeString___to_s_full(var31
, 5l, 5l);
3453 if (unlikely(varonce33
==NULL
)) {
3454 var34
= NEW_core__NativeArray(9l, &type_core__NativeArray__core__String
);
3455 if (likely(varonce35
!=NULL
)) {
3458 var37
= "Found type ";
3459 var38
= core__flat___NativeString___to_s_full(var37
, 11l, 11l);
3463 ((struct instance_core__NativeArray
*)var34
)->values
[0]=var36
;
3464 if (likely(varonce39
!=NULL
)) {
3468 var42
= core__flat___NativeString___to_s_full(var41
, 5l, 5l);
3472 ((struct instance_core__NativeArray
*)var34
)->values
[2]=var40
;
3473 if (likely(varonce43
!=NULL
)) {
3476 var45
= "), expected ";
3477 var46
= core__flat___NativeString___to_s_full(var45
, 12l, 12l);
3481 ((struct instance_core__NativeArray
*)var34
)->values
[4]=var44
;
3482 if (likely(varonce47
!=NULL
)) {
3486 var50
= core__flat___NativeString___to_s_full(var49
, 5l, 5l);
3490 ((struct instance_core__NativeArray
*)var34
)->values
[6]=var48
;
3491 if (likely(varonce51
!=NULL
)) {
3495 var54
= core__flat___NativeString___to_s_full(var53
, 1l, 1l);
3499 ((struct instance_core__NativeArray
*)var34
)->values
[8]=var52
;
3505 var55
= ((val
*(*)(val
* self
))(var_expr
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_expr
); /* to_s on <var_expr:nullable MType(MType)>*/
3507 ((struct instance_core__NativeArray
*)var34
)->values
[1]=var55
;
3509 var56
= ((val
*(*)(val
* self
))(var_unsafe
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_unsafe
); /* to_s on <var_unsafe:MType>*/
3511 ((struct instance_core__NativeArray
*)var34
)->values
[3]=var56
;
3513 var57
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:nullable MType(MType)>*/
3515 ((struct instance_core__NativeArray
*)var34
)->values
[5]=var57
;
3517 var58
= ((val
*(*)(val
* self
))(var_umtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_umtype
); /* to_s on <var_umtype:MType>*/
3519 ((struct instance_core__NativeArray
*)var34
)->values
[7]=var58
;
3521 var59
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var34
); /* native_to_s on <var34:NativeArray[String]>*/
3525 nitc___nitc__ModelBuilder___warning(var27
, self
, var30
, var59
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var27:ModelBuilder>*/
3530 { /* Inline typing#AExpr#is_typed= (self,1) on <self:ADebugTypeExpr> */
3531 self
->attrs
[COLOR_nitc__typing__AExpr___is_typed
].s
= 1; /* _is_typed on <self:ADebugTypeExpr> */
3532 RET_LABEL60
:(void)0;