1 #include "typing.sep.0.h"
2 /* method typing#ANewExpr#accept_typing for (self: ANewExpr, TypeVisitor) */
3 void typing__ANewExpr__accept_typing(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: TypeVisitor */;
5 val
* var
/* : AType */;
6 val
* var1
/* : nullable MType */;
7 val
* var_recvtype
/* var recvtype: nullable MType */;
8 val
* var2
/* : null */;
9 short int var3
/* : Bool */;
10 short int var4
/* : Bool */;
13 short int var5
/* : Bool */;
14 short int var6
/* : Bool */;
18 val
* var9
/* : String */;
19 char* var10
/* : NativeString */;
20 long var11
/* : Int */;
21 val
* var12
/* : String */;
22 static val
* varonce13
;
23 val
* var14
/* : String */;
24 char* var15
/* : NativeString */;
25 long var16
/* : Int */;
26 val
* var17
/* : String */;
27 val
* var18
/* : Array[Object] */;
28 long var19
/* : Int */;
29 val
* var20
/* : NativeArray[Object] */;
30 val
* var21
/* : String */;
31 static val
* varonce22
;
32 val
* var23
/* : String */;
33 char* var24
/* : NativeString */;
34 long var25
/* : Int */;
35 val
* var26
/* : String */;
36 static val
* varonce27
;
37 val
* var28
/* : String */;
38 char* var29
/* : NativeString */;
39 long var30
/* : Int */;
40 val
* var31
/* : String */;
41 val
* var32
/* : Array[Object] */;
42 long var33
/* : Int */;
43 val
* var34
/* : NativeArray[Object] */;
44 val
* var35
/* : String */;
45 val
* var36
/* : nullable TId */;
46 val
* var_nid
/* var nid: nullable TId */;
47 val
* var37
/* : null */;
48 short int var38
/* : Bool */;
49 val
* var39
/* : String */;
50 val
* var_name
/* var name: String */;
51 static val
* varonce40
;
52 val
* var41
/* : String */;
53 char* var42
/* : NativeString */;
54 long var43
/* : Int */;
55 val
* var44
/* : String */;
56 short int var45
/* : Bool */;
57 val
* var46
/* : nullable CallSite */;
58 val
* var_callsite
/* var callsite: nullable CallSite */;
59 val
* var47
/* : null */;
60 short int var48
/* : Bool */;
61 val
* var49
/* : MMethod */;
62 val
* var50
/* : MClass */;
63 short int var51
/* : Bool */;
64 short int var52
/* : Bool */;
65 static val
* varonce53
;
66 val
* var54
/* : String */;
67 char* var55
/* : NativeString */;
68 long var56
/* : Int */;
69 val
* var57
/* : String */;
70 static val
* varonce58
;
71 val
* var59
/* : String */;
72 char* var60
/* : NativeString */;
73 long var61
/* : Int */;
74 val
* var62
/* : String */;
75 val
* var63
/* : Array[Object] */;
76 long var64
/* : Int */;
77 val
* var65
/* : NativeArray[Object] */;
78 val
* var66
/* : String */;
79 val
* var67
/* : AExprs */;
80 val
* var68
/* : Array[AExpr] */;
81 val
* var_args
/* var args: Array[AExpr] */;
82 short int var69
/* : Bool */;
84 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_type
]))(self
) /* n_type on <self:ANewExpr>*/;
85 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__resolve_mtype
]))(var_v
, var
) /* resolve_mtype on <var_v:TypeVisitor>*/;
88 if (var_recvtype
== NULL
) {
89 var3
= 1; /* is null */
91 var3
= 0; /* arg is null but recv is not */
97 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var_recvtype
) /* mtype= on <self:ANewExpr>*/;
98 /* <var_recvtype:nullable MType(MType)> isa MClassType */
99 cltype
= type_model__MClassType
.color
;
100 idtype
= type_model__MClassType
.id
;
101 if(cltype
>= var_recvtype
->type
->table_size
) {
104 var4
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
108 /* <var_recvtype:nullable MType(MType)> isa MNullableType */
109 cltype7
= type_model__MNullableType
.color
;
110 idtype8
= type_model__MNullableType
.id
;
111 if(cltype7
>= var_recvtype
->type
->table_size
) {
114 var6
= var_recvtype
->type
->type_table
[cltype7
] == idtype8
;
120 var10
= "Type error: cannot instantiate the nullable type ";
122 var12
= string__NativeString__to_s_with_length(var10
, var11
);
131 var17
= string__NativeString__to_s_with_length(var15
, var16
);
135 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
136 { /* var18 = array_instance Array[Object] */
138 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
139 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
140 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var_recvtype
;
141 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
142 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
143 CHECK_NEW_array__Array(var18
);
145 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
146 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var21
) /* error on <var_v:TypeVisitor>*/;
152 var24
= "Type error: cannot instantiate the formal type ";
154 var26
= string__NativeString__to_s_with_length(var24
, var25
);
163 var31
= string__NativeString__to_s_with_length(var29
, var30
);
167 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
168 { /* var32 = array_instance Array[Object] */
170 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
171 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var23
;
172 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_recvtype
;
173 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var28
;
174 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
175 CHECK_NEW_array__Array(var32
);
177 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
178 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var35
) /* error on <var_v:TypeVisitor>*/;
183 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_id
]))(self
) /* n_id on <self:ANewExpr>*/;
186 if (var_nid
== NULL
) {
187 var38
= 0; /* is null */
189 var38
= 1; /* arg is null and recv is not */
192 var39
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:nullable TId(TId)>*/;
200 var44
= string__NativeString__to_s_with_length(var42
, var43
);
207 var46
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_v
->class->vft
[COLOR_typing__TypeVisitor__get_method
]))(var_v
, self
, var_recvtype
, var_name
, var45
) /* get_method on <var_v:TypeVisitor>*/;
208 var_callsite
= var46
;
210 if (var_callsite
== NULL
) {
211 var48
= 1; /* is null */
213 var48
= 0; /* arg is null but recv is not */
219 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite_61d
]))(self
, var_callsite
) /* callsite= on <self:ANewExpr>*/;
220 var49
= ((val
* (*)(val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var_callsite
) /* mproperty on <var_callsite:nullable CallSite(CallSite)>*/;
221 var50
= ((val
* (*)(val
*))(var_recvtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_recvtype
) /* mclass on <var_recvtype:nullable MType(MClassType)>*/;
222 var51
= ((short int (*)(val
*, val
*))(var49
->class->vft
[COLOR_model__MMethod__is_init_for
]))(var49
, var50
) /* is_init_for on <var49:MMethod>*/;
230 var57
= string__NativeString__to_s_with_length(var55
, var56
);
237 var60
= " is not a constructor.";
239 var62
= string__NativeString__to_s_with_length(var60
, var61
);
243 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
244 { /* var63 = array_instance Array[Object] */
246 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
247 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
248 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var_name
;
249 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var59
;
250 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
251 CHECK_NEW_array__Array(var63
);
253 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
254 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var66
) /* error on <var_v:TypeVisitor>*/;
258 var67
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
259 var68
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_typing__AExprs__to_a
]))(var67
) /* to_a on <var67:AExprs>*/;
261 var69
= ((short int (*)(val
*, val
*, val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__check_signature
]))(var_callsite
, var_v
, var_args
) /* check_signature on <var_callsite:nullable CallSite(CallSite)>*/;
265 /* method typing#ANewExpr#accept_typing for (self: Object, TypeVisitor) */
266 void VIRTUAL_typing__ANewExpr__accept_typing(val
* self
, val
* p0
) {
267 typing__ANewExpr__accept_typing(self
, p0
);
270 /* method typing#AAttrFormExpr#mproperty for (self: AAttrFormExpr): nullable MAttribute */
271 val
* typing__AAttrFormExpr__mproperty(val
* self
) {
272 val
* var
/* : nullable MAttribute */;
273 val
* var1
/* : nullable MAttribute */;
274 var1
= self
->attrs
[COLOR_typing__AAttrFormExpr___64dmproperty
].val
; /* @mproperty on <self:AAttrFormExpr> */
279 /* method typing#AAttrFormExpr#mproperty for (self: Object): nullable MAttribute */
280 val
* VIRTUAL_typing__AAttrFormExpr__mproperty(val
* self
) {
281 val
* var
/* : nullable MAttribute */;
282 val
* var1
/* : nullable MAttribute */;
283 var1
= typing__AAttrFormExpr__mproperty(self
);
288 /* method typing#AAttrFormExpr#mproperty= for (self: AAttrFormExpr, nullable MAttribute) */
289 void typing__AAttrFormExpr__mproperty_61d(val
* self
, val
* p0
) {
290 self
->attrs
[COLOR_typing__AAttrFormExpr___64dmproperty
].val
= p0
; /* @mproperty on <self:AAttrFormExpr> */
293 /* method typing#AAttrFormExpr#mproperty= for (self: Object, nullable MAttribute) */
294 void VIRTUAL_typing__AAttrFormExpr__mproperty_61d(val
* self
, val
* p0
) {
295 typing__AAttrFormExpr__mproperty_61d(self
, p0
);
298 /* method typing#AAttrFormExpr#attr_type for (self: AAttrFormExpr): nullable MType */
299 val
* typing__AAttrFormExpr__attr_type(val
* self
) {
300 val
* var
/* : nullable MType */;
301 val
* var1
/* : nullable MType */;
302 var1
= self
->attrs
[COLOR_typing__AAttrFormExpr___64dattr_type
].val
; /* @attr_type on <self:AAttrFormExpr> */
307 /* method typing#AAttrFormExpr#attr_type for (self: Object): nullable MType */
308 val
* VIRTUAL_typing__AAttrFormExpr__attr_type(val
* self
) {
309 val
* var
/* : nullable MType */;
310 val
* var1
/* : nullable MType */;
311 var1
= typing__AAttrFormExpr__attr_type(self
);
316 /* method typing#AAttrFormExpr#attr_type= for (self: AAttrFormExpr, nullable MType) */
317 void typing__AAttrFormExpr__attr_type_61d(val
* self
, val
* p0
) {
318 self
->attrs
[COLOR_typing__AAttrFormExpr___64dattr_type
].val
= p0
; /* @attr_type on <self:AAttrFormExpr> */
321 /* method typing#AAttrFormExpr#attr_type= for (self: Object, nullable MType) */
322 void VIRTUAL_typing__AAttrFormExpr__attr_type_61d(val
* self
, val
* p0
) {
323 typing__AAttrFormExpr__attr_type_61d(self
, p0
);
326 /* method typing#AAttrFormExpr#resolve_property for (self: AAttrFormExpr, TypeVisitor) */
327 void typing__AAttrFormExpr__resolve_property(val
* self
, val
* p0
) {
328 val
* var_v
/* var v: TypeVisitor */;
329 val
* var
/* : AExpr */;
330 val
* var1
/* : nullable MType */;
331 val
* var_recvtype
/* var recvtype: nullable MType */;
332 val
* var2
/* : null */;
333 short int var3
/* : Bool */;
334 val
* var4
/* : TAttrid */;
335 val
* var5
/* : String */;
336 val
* var_name
/* var name: String */;
337 short int var6
/* : Bool */;
341 val
* var7
/* : String */;
342 char* var8
/* : NativeString */;
343 long var9
/* : Int */;
344 val
* var10
/* : String */;
345 static val
* varonce11
;
346 val
* var12
/* : String */;
347 char* var13
/* : NativeString */;
348 long var14
/* : Int */;
349 val
* var15
/* : String */;
350 val
* var16
/* : Array[Object] */;
351 long var17
/* : Int */;
352 val
* var18
/* : NativeArray[Object] */;
353 val
* var19
/* : String */;
354 val
* var20
/* : MType */;
355 val
* var_unsafe_type
/* var unsafe_type: MType */;
356 val
* var21
/* : nullable MProperty */;
357 val
* var_mproperty
/* var mproperty: nullable MProperty */;
358 val
* var22
/* : null */;
359 short int var23
/* : Bool */;
360 val
* var24
/* : ModelBuilder */;
361 static val
* varonce25
;
362 val
* var26
/* : String */;
363 char* var27
/* : NativeString */;
364 long var28
/* : Int */;
365 val
* var29
/* : String */;
366 static val
* varonce30
;
367 val
* var31
/* : String */;
368 char* var32
/* : NativeString */;
369 long var33
/* : Int */;
370 val
* var34
/* : String */;
371 static val
* varonce35
;
372 val
* var36
/* : String */;
373 char* var37
/* : NativeString */;
374 long var38
/* : Int */;
375 val
* var39
/* : String */;
376 val
* var40
/* : Array[Object] */;
377 long var41
/* : Int */;
378 val
* var42
/* : NativeArray[Object] */;
379 val
* var43
/* : String */;
380 short int var44
/* : Bool */;
383 val
* var47
/* : MModule */;
384 val
* var48
/* : Array[MPropDef] */;
385 val
* var_mpropdefs
/* var mpropdefs: Array[MAttributeDef] */;
386 long var49
/* : Int */;
387 long var50
/* : Int */;
388 short int var51
/* : Bool */;
389 short int var53
/* : Bool */;
390 val
* var54
/* : nullable Object */;
391 val
* var_mpropdef
/* var mpropdef: MAttributeDef */;
392 val
* var55
/* : nullable MType */;
393 val
* var_attr_type
/* var attr_type: MType */;
394 val
* var56
/* : AExpr */;
395 short int var57
/* : Bool */;
398 val
* var60
/* : MType */;
400 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrFormExpr>*/;
401 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__visit_expr
]))(var_v
, var
) /* visit_expr on <var_v:TypeVisitor>*/;
404 if (var_recvtype
== NULL
) {
405 var3
= 1; /* is null */
407 var3
= 0; /* arg is null but recv is not */
413 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_id
]))(self
) /* n_id on <self:AAttrFormExpr>*/;
414 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_parser_nodes__Token__text
]))(var4
) /* text on <var4:TAttrid>*/;
416 /* <var_recvtype:nullable MType(MType)> isa MNullType */
417 cltype
= type_model__MNullType
.color
;
418 idtype
= type_model__MNullType
.id
;
419 if(cltype
>= var_recvtype
->type
->table_size
) {
422 var6
= var_recvtype
->type
->type_table
[cltype
] == idtype
;
428 var8
= "Error: Attribute \'";
430 var10
= string__NativeString__to_s_with_length(var8
, var9
);
437 var13
= "\' access on \'null\'.";
439 var15
= string__NativeString__to_s_with_length(var13
, var14
);
443 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
444 { /* var16 = array_instance Array[Object] */
446 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
447 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
448 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_name
;
449 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
450 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
451 CHECK_NEW_array__Array(var16
);
453 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
454 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var19
) /* error on <var_v:TypeVisitor>*/;
458 var20
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__anchor_to
]))(var_v
, var_recvtype
) /* anchor_to on <var_v:TypeVisitor>*/;
459 var_unsafe_type
= var20
;
460 var21
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__try_get_mproperty_by_name2
]))(var_v
, self
, var_unsafe_type
, var_name
) /* try_get_mproperty_by_name2 on <var_v:TypeVisitor>*/;
461 var_mproperty
= var21
;
463 if (var_mproperty
== NULL
) {
464 var23
= 1; /* is null */
466 var23
= 0; /* arg is null but recv is not */
469 var24
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__modelbuilder
]))(var_v
) /* modelbuilder on <var_v:TypeVisitor>*/;
473 var27
= "Error: Attribute ";
475 var29
= string__NativeString__to_s_with_length(var27
, var28
);
482 var32
= " doesn\'t exists in ";
484 var34
= string__NativeString__to_s_with_length(var32
, var33
);
493 var39
= string__NativeString__to_s_with_length(var37
, var38
);
497 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
498 { /* var40 = array_instance Array[Object] */
500 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
501 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var26
;
502 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var_name
;
503 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var31
;
504 ((struct instance_array__NativeArray
*)var42
)->values
[3] = (val
*) var_recvtype
;
505 ((struct instance_array__NativeArray
*)var42
)->values
[4] = (val
*) var36
;
506 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
507 CHECK_NEW_array__Array(var40
);
509 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
510 ((void (*)(val
*, val
*, val
*))(var24
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var24
, self
, var43
) /* error on <var24:ModelBuilder>*/;
514 /* <var_mproperty:nullable MProperty(MProperty)> isa MAttribute */
515 cltype45
= type_model__MAttribute
.color
;
516 idtype46
= type_model__MAttribute
.id
;
517 if(cltype45
>= var_mproperty
->type
->table_size
) {
520 var44
= var_mproperty
->type
->type_table
[cltype45
] == idtype46
;
523 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/typing.nit", 1602);
526 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty_61d
]))(self
, var_mproperty
) /* mproperty= on <self:AAttrFormExpr>*/;
527 var47
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__mmodule
]))(var_v
) /* mmodule on <var_v:TypeVisitor>*/;
528 var48
= ((val
* (*)(val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_model__MProperty__lookup_definitions
]))(var_mproperty
, var47
, var_unsafe_type
) /* lookup_definitions on <var_mproperty:nullable MProperty(MAttribute)>*/;
529 var_mpropdefs
= var48
;
530 var49
= ((long (*)(val
*))(var_mpropdefs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_mpropdefs
) /* length on <var_mpropdefs:Array[MAttributeDef]>*/;
532 { /* Inline kernel#Int#== (var49,var50) */
533 var53
= var49
== var50
;
539 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/typing.nit", 1606);
542 var54
= ((val
* (*)(val
*))(var_mpropdefs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_mpropdefs
) /* first on <var_mpropdefs:Array[MAttributeDef]>*/;
543 var_mpropdef
= var54
;
544 var55
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var_mpropdef
) /* static_mtype on <var_mpropdef:MAttributeDef>*/;
546 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/typing.nit", 1608);
549 var_attr_type
= var55
;
550 var56
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrFormExpr>*/;
551 /* <var56:AExpr> isa ASelfExpr */
552 cltype58
= type_parser_nodes__ASelfExpr
.color
;
553 idtype59
= type_parser_nodes__ASelfExpr
.id
;
554 if(cltype58
>= var56
->type
->table_size
) {
557 var57
= var56
->type
->type_table
[cltype58
] == idtype59
;
559 var60
= ((val
* (*)(val
*, val
*, val
*, short int))(var_v
->class->vft
[COLOR_typing__TypeVisitor__resolve_for
]))(var_v
, var_attr_type
, var_recvtype
, var57
) /* resolve_for on <var_v:TypeVisitor>*/;
560 var_attr_type
= var60
;
561 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__attr_type_61d
]))(self
, var_attr_type
) /* attr_type= on <self:AAttrFormExpr>*/;
564 /* method typing#AAttrFormExpr#resolve_property for (self: Object, TypeVisitor) */
565 void VIRTUAL_typing__AAttrFormExpr__resolve_property(val
* self
, val
* p0
) {
566 typing__AAttrFormExpr__resolve_property(self
, p0
);
569 /* method typing#AAttrExpr#accept_typing for (self: AAttrExpr, TypeVisitor) */
570 void typing__AAttrExpr__accept_typing(val
* self
, val
* p0
) {
571 val
* var_v
/* var v: TypeVisitor */;
572 val
* var
/* : nullable MType */;
574 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__resolve_property
]))(self
, var_v
) /* resolve_property on <self:AAttrExpr>*/;
575 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__attr_type
]))(self
) /* attr_type on <self:AAttrExpr>*/;
576 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var
) /* mtype= on <self:AAttrExpr>*/;
579 /* method typing#AAttrExpr#accept_typing for (self: Object, TypeVisitor) */
580 void VIRTUAL_typing__AAttrExpr__accept_typing(val
* self
, val
* p0
) {
581 typing__AAttrExpr__accept_typing(self
, p0
);
584 /* method typing#AAttrAssignExpr#accept_typing for (self: AAttrAssignExpr, TypeVisitor) */
585 void typing__AAttrAssignExpr__accept_typing(val
* self
, val
* p0
) {
586 val
* var_v
/* var v: TypeVisitor */;
587 val
* var
/* : nullable MType */;
588 val
* var_mtype
/* var mtype: nullable MType */;
589 val
* var1
/* : AExpr */;
590 val
* var2
/* : nullable MType */;
591 short int var3
/* : Bool */;
593 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__resolve_property
]))(self
, var_v
) /* resolve_property on <self:AAttrAssignExpr>*/;
594 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__attr_type
]))(self
) /* attr_type on <self:AAttrAssignExpr>*/;
596 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrAssignExpr>*/;
597 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__visit_expr_subtype
]))(var_v
, var1
, var_mtype
) /* visit_expr_subtype on <var_v:TypeVisitor>*/;
600 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var3
) /* is_typed= on <self:AAttrAssignExpr>*/;
603 /* method typing#AAttrAssignExpr#accept_typing for (self: Object, TypeVisitor) */
604 void VIRTUAL_typing__AAttrAssignExpr__accept_typing(val
* self
, val
* p0
) {
605 typing__AAttrAssignExpr__accept_typing(self
, p0
);
608 /* method typing#AAttrReassignExpr#accept_typing for (self: AAttrReassignExpr, TypeVisitor) */
609 void typing__AAttrReassignExpr__accept_typing(val
* self
, val
* p0
) {
610 val
* var_v
/* var v: TypeVisitor */;
611 val
* var
/* : nullable MType */;
612 val
* var_mtype
/* var mtype: nullable MType */;
613 val
* var1
/* : null */;
614 short int var2
/* : Bool */;
615 val
* var3
/* : nullable MType */;
616 short int var4
/* : Bool */;
618 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__resolve_property
]))(self
, var_v
) /* resolve_property on <self:AAttrReassignExpr>*/;
619 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__attr_type
]))(self
) /* attr_type on <self:AAttrReassignExpr>*/;
622 if (var_mtype
== NULL
) {
623 var2
= 1; /* is null */
625 var2
= 0; /* arg is null but recv is not */
631 var3
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__resolve_reassignment
]))(self
, var_v
, var_mtype
, var_mtype
) /* resolve_reassignment on <self:AAttrReassignExpr>*/;
634 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var4
) /* is_typed= on <self:AAttrReassignExpr>*/;
637 /* method typing#AAttrReassignExpr#accept_typing for (self: Object, TypeVisitor) */
638 void VIRTUAL_typing__AAttrReassignExpr__accept_typing(val
* self
, val
* p0
) {
639 typing__AAttrReassignExpr__accept_typing(self
, p0
);
642 /* method typing#AIssetAttrExpr#accept_typing for (self: AIssetAttrExpr, TypeVisitor) */
643 void typing__AIssetAttrExpr__accept_typing(val
* self
, val
* p0
) {
644 val
* var_v
/* var v: TypeVisitor */;
645 val
* var
/* : nullable MType */;
646 val
* var_mtype
/* var mtype: nullable MType */;
647 val
* var1
/* : null */;
648 short int var2
/* : Bool */;
649 val
* var3
/* : AExpr */;
650 val
* var4
/* : nullable MType */;
651 val
* var_recvtype
/* var recvtype: MType */;
652 short int var5
/* : Bool */;
653 val
* var6
/* : MType */;
654 val
* var_bound
/* var bound: MType */;
655 short int var7
/* : Bool */;
659 val
* var8
/* : String */;
660 char* var9
/* : NativeString */;
661 long var10
/* : Int */;
662 val
* var11
/* : String */;
663 val
* var12
/* : nullable MType */;
665 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__resolve_property
]))(self
, var_v
) /* resolve_property on <self:AIssetAttrExpr>*/;
666 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__attr_type
]))(self
) /* attr_type on <self:AIssetAttrExpr>*/;
669 if (var_mtype
== NULL
) {
670 var2
= 1; /* is null */
672 var2
= 0; /* arg is null but recv is not */
678 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AIssetAttrExpr>*/;
679 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_typing__AExpr__mtype
]))(var3
) /* mtype on <var3:AExpr>*/;
681 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/typing.nit", 1654);
686 var6
= ((val
* (*)(val
*, val
*, val
*, short int))(var_v
->class->vft
[COLOR_typing__TypeVisitor__resolve_for
]))(var_v
, var_mtype
, var_recvtype
, var5
) /* resolve_for on <var_v:TypeVisitor>*/;
688 /* <var_bound:MType> isa MNullableType */
689 cltype
= type_model__MNullableType
.color
;
690 idtype
= type_model__MNullableType
.id
;
691 if(cltype
>= var_bound
->type
->table_size
) {
694 var7
= var_bound
->type
->type_table
[cltype
] == idtype
;
700 var9
= "Error: isset on a nullable attribute.";
702 var11
= string__NativeString__to_s_with_length(var9
, var10
);
706 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var8
) /* error on <var_v:TypeVisitor>*/;
709 var12
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__type_bool
]))(var_v
, self
) /* type_bool on <var_v:TypeVisitor>*/;
710 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var12
) /* mtype= on <self:AIssetAttrExpr>*/;
713 /* method typing#AIssetAttrExpr#accept_typing for (self: Object, TypeVisitor) */
714 void VIRTUAL_typing__AIssetAttrExpr__accept_typing(val
* self
, val
* p0
) {
715 typing__AIssetAttrExpr__accept_typing(self
, p0
);
718 /* method typing#AClosureCallExpr#accept_typing for (self: AClosureCallExpr, TypeVisitor) */
719 void typing__AClosureCallExpr__accept_typing(val
* self
, val
* p0
) {
720 val
* var_v
/* var v: TypeVisitor */;
721 val
* var
/* : nullable ClosureVariable */;
722 val
* var_variable
/* var variable: nullable ClosureVariable */;
723 val
* var1
/* : null */;
724 short int var2
/* : Bool */;
725 val
* var3
/* : AClassdef */;
726 val
* var4
/* : nullable MClassDef */;
727 val
* var5
/* : MClassType */;
728 val
* var_recvtype
/* var recvtype: MClassType */;
729 val
* var6
/* : nullable MType */;
730 val
* var_msignature
/* var msignature: MType */;
731 short int var7
/* : Bool */;
732 val
* var8
/* : MType */;
733 short int var9
/* : Bool */;
736 val
* var10
/* : AExprs */;
737 val
* var11
/* : Array[AExpr] */;
738 val
* var_args
/* var args: Array[AExpr] */;
739 val
* var12
/* : String */;
740 short int var13
/* : Bool */;
741 short int var14
/* : Bool */;
742 val
* var15
/* : nullable MType */;
744 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AClosureCallExpr__variable
]))(self
) /* variable on <self:AClosureCallExpr>*/;
747 if (var_variable
== NULL
) {
748 var2
= 1; /* is null */
750 var2
= 0; /* arg is null but recv is not */
756 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__nclassdef
]))(var_v
) /* nclassdef on <var_v:TypeVisitor>*/;
757 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_modelize_class__AClassdef__mclassdef
]))(var3
) /* mclassdef on <var3:AClassdef>*/;
759 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/typing.nit", 1671);
762 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var4
) /* bound_mtype on <var4:nullable MClassDef>*/;
765 var6
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:nullable ClosureVariable(ClosureVariable)>*/;
767 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/typing.nit", 1672);
770 var_msignature
= var6
;
772 var8
= ((val
* (*)(val
*, val
*, val
*, short int))(var_v
->class->vft
[COLOR_typing__TypeVisitor__resolve_for
]))(var_v
, var_msignature
, var_recvtype
, var7
) /* resolve_for on <var_v:TypeVisitor>*/;
773 /* <var8:MType> isa MSignature */
774 cltype
= type_model__MSignature
.color
;
775 idtype
= type_model__MSignature
.id
;
776 if(cltype
>= var8
->type
->table_size
) {
779 var9
= var8
->type
->type_table
[cltype
] == idtype
;
782 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/typing.nit", 1673);
785 var_msignature
= var8
;
786 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClosureCallExpr__n_args
]))(self
) /* n_args on <self:AClosureCallExpr>*/;
787 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_typing__AExprs__to_a
]))(var10
) /* to_a on <var10:AExprs>*/;
789 var12
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:nullable ClosureVariable(ClosureVariable)>*/;
790 var13
= ((short int (*)(val
*, val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__check_signature
]))(var_v
, self
, var_args
, var12
, var_msignature
) /* check_signature on <var_v:TypeVisitor>*/;
793 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var14
) /* is_typed= on <self:AClosureCallExpr>*/;
794 var15
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MType(MSignature)>*/;
795 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype_61d
]))(self
, var15
) /* mtype= on <self:AClosureCallExpr>*/;
798 /* method typing#AClosureCallExpr#accept_typing for (self: Object, TypeVisitor) */
799 void VIRTUAL_typing__AClosureCallExpr__accept_typing(val
* self
, val
* p0
) {
800 typing__AClosureCallExpr__accept_typing(self
, p0
);
803 /* method typing#AClosureDef#mclosure for (self: AClosureDef): nullable MParameter */
804 val
* typing__AClosureDef__mclosure(val
* self
) {
805 val
* var
/* : nullable MParameter */;
806 val
* var1
/* : nullable MParameter */;
807 var1
= self
->attrs
[COLOR_typing__AClosureDef___64dmclosure
].val
; /* @mclosure on <self:AClosureDef> */
812 /* method typing#AClosureDef#mclosure for (self: Object): nullable MParameter */
813 val
* VIRTUAL_typing__AClosureDef__mclosure(val
* self
) {
814 val
* var
/* : nullable MParameter */;
815 val
* var1
/* : nullable MParameter */;
816 var1
= typing__AClosureDef__mclosure(self
);
821 /* method typing#AClosureDef#mclosure= for (self: AClosureDef, nullable MParameter) */
822 void typing__AClosureDef__mclosure_61d(val
* self
, val
* p0
) {
823 self
->attrs
[COLOR_typing__AClosureDef___64dmclosure
].val
= p0
; /* @mclosure on <self:AClosureDef> */
826 /* method typing#AClosureDef#mclosure= for (self: Object, nullable MParameter) */
827 void VIRTUAL_typing__AClosureDef__mclosure_61d(val
* self
, val
* p0
) {
828 typing__AClosureDef__mclosure_61d(self
, p0
);
831 /* method typing#AClosureDef#accept_typing for (self: AClosureDef, TypeVisitor, MParameter) */
832 void typing__AClosureDef__accept_typing(val
* self
, val
* p0
, val
* p1
) {
833 val
* var_v
/* var v: TypeVisitor */;
834 val
* var_mparameter
/* var mparameter: MParameter */;
835 val
* var
/* : nullable Array[Variable] */;
836 val
* var_variables
/* var variables: nullable Array[Variable] */;
837 val
* var1
/* : null */;
838 short int var2
/* : Bool */;
839 val
* var3
/* : MType */;
840 short int var4
/* : Bool */;
843 val
* var_msignature
/* var msignature: MSignature */;
844 long var5
/* : Int */;
845 long var6
/* : Int */;
846 short int var7
/* : Bool */;
847 short int var9
/* : Bool */;
848 short int var10
/* : Bool */;
850 val
* var11
/* : String */;
851 char* var12
/* : NativeString */;
852 long var13
/* : Int */;
853 val
* var14
/* : String */;
854 val
* var15
/* : String */;
855 static val
* varonce16
;
856 val
* var17
/* : String */;
857 char* var18
/* : NativeString */;
858 long var19
/* : Int */;
859 val
* var20
/* : String */;
860 long var21
/* : Int */;
861 static val
* varonce22
;
862 val
* var23
/* : String */;
863 char* var24
/* : NativeString */;
864 long var25
/* : Int */;
865 val
* var26
/* : String */;
866 long var27
/* : Int */;
867 static val
* varonce28
;
868 val
* var29
/* : String */;
869 char* var30
/* : NativeString */;
870 long var31
/* : Int */;
871 val
* var32
/* : String */;
872 val
* var33
/* : Array[Object] */;
873 long var34
/* : Int */;
874 val
* var35
/* : NativeArray[Object] */;
875 val
* var36
/* : Object */;
876 val
* var37
/* : Object */;
877 val
* var38
/* : String */;
878 val
* var39
/* : Range[Int] */;
879 long var40
/* : Int */;
880 long var41
/* : Int */;
881 val
* var42
/* : Discrete */;
882 val
* var43
/* : Discrete */;
883 val
* var44
/* : Iterator[nullable Object] */;
884 short int var45
/* : Bool */;
885 val
* var46
/* : nullable Object */;
886 long var_i
/* var i: Int */;
887 long var47
/* : Int */;
888 val
* var48
/* : nullable Object */;
889 val
* var49
/* : Array[MParameter] */;
890 val
* var50
/* : nullable Object */;
891 val
* var51
/* : MType */;
892 val
* var52
/* : nullable AExpr */;
895 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AClosureDef__variables
]))(self
) /* variables on <self:AClosureDef>*/;
898 if (var_variables
== NULL
) {
899 var2
= 1; /* is null */
901 var2
= 0; /* arg is null but recv is not */
907 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_typing__AClosureDef__mclosure_61d
]))(self
, var_mparameter
) /* mclosure= on <self:AClosureDef>*/;
908 var3
= ((val
* (*)(val
*))(var_mparameter
->class->vft
[COLOR_model__MParameter__mtype
]))(var_mparameter
) /* mtype on <var_mparameter:MParameter>*/;
909 /* <var3:MType> isa MSignature */
910 cltype
= type_model__MSignature
.color
;
911 idtype
= type_model__MSignature
.id
;
912 if(cltype
>= var3
->type
->table_size
) {
915 var4
= var3
->type
->type_table
[cltype
] == idtype
;
918 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/typing.nit", 1692);
921 var_msignature
= var3
;
922 var5
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
923 var6
= ((long (*)(val
*))(var_variables
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_variables
) /* length on <var_variables:nullable Array[Variable](Array[Variable])>*/;
924 { /* Inline kernel#Int#!= (var5,var6) */
935 var12
= "Type error: closure ";
937 var14
= string__NativeString__to_s_with_length(var12
, var13
);
941 var15
= ((val
* (*)(val
*))(var_mparameter
->class->vft
[COLOR_model__MParameter__name
]))(var_mparameter
) /* name on <var_mparameter:MParameter>*/;
947 var20
= string__NativeString__to_s_with_length(var18
, var19
);
951 var21
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
955 var24
= " parameters, ";
957 var26
= string__NativeString__to_s_with_length(var24
, var25
);
961 var27
= ((long (*)(val
*))(var_variables
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_variables
) /* length on <var_variables:nullable Array[Variable](Array[Variable])>*/;
967 var32
= string__NativeString__to_s_with_length(var30
, var31
);
971 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
972 { /* var33 = array_instance Array[Object] */
974 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
975 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var11
;
976 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var15
;
977 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var17
;
978 var36
= BOX_kernel__Int(var21
); /* autobox from Int to Object */
979 ((struct instance_array__NativeArray
*)var35
)->values
[3] = (val
*) var36
;
980 ((struct instance_array__NativeArray
*)var35
)->values
[4] = (val
*) var23
;
981 var37
= BOX_kernel__Int(var27
); /* autobox from Int to Object */
982 ((struct instance_array__NativeArray
*)var35
)->values
[5] = (val
*) var37
;
983 ((struct instance_array__NativeArray
*)var35
)->values
[6] = (val
*) var29
;
984 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
985 CHECK_NEW_array__Array(var33
);
987 var38
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
988 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__error
]))(var_v
, self
, var38
) /* error on <var_v:TypeVisitor>*/;
992 var39
= NEW_range__Range(&type_range__Rangekernel__Int
);
994 var41
= ((long (*)(val
*))(var_variables
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_variables
) /* length on <var_variables:nullable Array[Variable](Array[Variable])>*/;
995 var42
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
996 var43
= BOX_kernel__Int(var41
); /* autobox from Int to Discrete */
997 ((void (*)(val
*, val
*, val
*))(var39
->class->vft
[COLOR_range__Range__without_last
]))(var39
, var42
, var43
) /* without_last on <var39:Range[Int]>*/;
998 CHECK_NEW_range__Range(var39
);
999 var44
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:Range[Int]>*/;
1001 var45
= ((short int (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var44
) /* is_ok on <var44:Iterator[nullable Object]>*/;
1003 var46
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var44
) /* item on <var44:Iterator[nullable Object]>*/;
1004 var47
= ((struct instance_kernel__Int
*)var46
)->value
; /* autounbox from nullable Object to Int */;
1006 var48
= ((val
* (*)(val
*, long))(var_variables
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_variables
, var_i
) /* [] on <var_variables:nullable Array[Variable](Array[Variable])>*/;
1007 var49
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
1008 var50
= ((val
* (*)(val
*, long))(var49
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var49
, var_i
) /* [] on <var49:Array[MParameter]>*/;
1009 var51
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_model__MParameter__mtype
]))(var50
) /* mtype on <var50:nullable Object(MParameter)>*/;
1010 ((void (*)(val
*, val
*))(var48
->class->vft
[COLOR_typing__Variable__declared_type_61d
]))(var48
, var51
) /* declared_type= on <var48:nullable Object(Variable)>*/;
1011 CONTINUE_label
: (void)0;
1012 ((void (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var44
) /* next on <var44:Iterator[nullable Object]>*/;
1014 BREAK_label
: (void)0;
1015 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClosureDef__n_expr
]))(self
) /* n_expr on <self:AClosureDef>*/;
1016 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__visit_stmt
]))(var_v
, var52
) /* visit_stmt on <var_v:TypeVisitor>*/;
1019 /* method typing#AClosureDef#accept_typing for (self: Object, TypeVisitor, MParameter) */
1020 void VIRTUAL_typing__AClosureDef__accept_typing(val
* self
, val
* p0
, val
* p1
) {
1021 typing__AClosureDef__accept_typing(self
, p0
, p1
);
1024 /* method typing#ADebugTypeExpr#accept_typing for (self: ADebugTypeExpr, TypeVisitor) */
1025 void typing__ADebugTypeExpr__accept_typing(val
* self
, val
* p0
) {
1026 val
* var_v
/* var v: TypeVisitor */;
1027 val
* var
/* : AExpr */;
1028 val
* var1
/* : nullable MType */;
1029 val
* var_expr
/* var expr: nullable MType */;
1030 val
* var2
/* : null */;
1031 short int var3
/* : Bool */;
1032 val
* var4
/* : MType */;
1033 val
* var_unsafe
/* var unsafe: MType */;
1034 val
* var5
/* : AType */;
1035 val
* var_ntype
/* var ntype: AType */;
1036 val
* var6
/* : nullable MType */;
1037 val
* var_mtype
/* var mtype: nullable MType */;
1038 short int var7
/* : Bool */;
1039 val
* var8
/* : null */;
1040 short int var9
/* : Bool */;
1041 short int var_
/* var : Bool */;
1042 short int var10
/* : Bool */;
1043 val
* var11
/* : MType */;
1044 val
* var_umtype
/* var umtype: MType */;
1045 val
* var12
/* : ModelBuilder */;
1046 static val
* varonce
;
1047 val
* var13
/* : String */;
1048 char* var14
/* : NativeString */;
1049 long var15
/* : Int */;
1050 val
* var16
/* : String */;
1051 static val
* varonce17
;
1052 val
* var18
/* : String */;
1053 char* var19
/* : NativeString */;
1054 long var20
/* : Int */;
1055 val
* var21
/* : String */;
1056 static val
* varonce22
;
1057 val
* var23
/* : String */;
1058 char* var24
/* : NativeString */;
1059 long var25
/* : Int */;
1060 val
* var26
/* : String */;
1061 static val
* varonce27
;
1062 val
* var28
/* : String */;
1063 char* var29
/* : NativeString */;
1064 long var30
/* : Int */;
1065 val
* var31
/* : String */;
1066 static val
* varonce32
;
1067 val
* var33
/* : String */;
1068 char* var34
/* : NativeString */;
1069 long var35
/* : Int */;
1070 val
* var36
/* : String */;
1071 val
* var37
/* : Array[Object] */;
1072 long var38
/* : Int */;
1073 val
* var39
/* : NativeArray[Object] */;
1074 val
* var40
/* : String */;
1075 short int var41
/* : Bool */;
1077 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADebugTypeExpr__n_expr
]))(self
) /* n_expr on <self:ADebugTypeExpr>*/;
1078 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__visit_expr
]))(var_v
, var
) /* visit_expr on <var_v:TypeVisitor>*/;
1081 if (var_expr
== NULL
) {
1082 var3
= 1; /* is null */
1084 var3
= 0; /* arg is null but recv is not */
1090 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__anchor_to
]))(var_v
, var_expr
) /* anchor_to on <var_v:TypeVisitor>*/;
1092 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADebugTypeExpr__n_type
]))(self
) /* n_type on <self:ADebugTypeExpr>*/;
1094 var6
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__resolve_mtype
]))(var_v
, var_ntype
) /* resolve_mtype on <var_v:TypeVisitor>*/;
1097 if (var_mtype
== NULL
) {
1098 var9
= 0; /* is null */
1100 var9
= 1; /* arg is null and recv is not */
1104 var10
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_mtype
, var_expr
) /* != on <var_mtype:nullable MType(MType)>*/;
1110 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__anchor_to
]))(var_v
, var_mtype
) /* anchor_to on <var_v:TypeVisitor>*/;
1112 var12
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_typing__TypeVisitor__modelbuilder
]))(var_v
) /* modelbuilder on <var_v:TypeVisitor>*/;
1116 var14
= "Found type ";
1118 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1127 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1134 var24
= "), expected ";
1136 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1145 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1154 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1158 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
1159 { /* var37 = array_instance Array[Object] */
1161 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
1162 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var13
;
1163 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var_expr
;
1164 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var18
;
1165 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var_unsafe
;
1166 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var23
;
1167 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var_mtype
;
1168 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var28
;
1169 ((struct instance_array__NativeArray
*)var39
)->values
[7] = (val
*) var_umtype
;
1170 ((struct instance_array__NativeArray
*)var39
)->values
[8] = (val
*) var33
;
1171 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
1172 CHECK_NEW_array__Array(var37
);
1174 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
1175 ((void (*)(val
*, val
*, val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__warning
]))(var12
, self
, var40
) /* warning on <var12:ModelBuilder>*/;
1179 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_typing__AExpr__is_typed_61d
]))(self
, var41
) /* is_typed= on <self:ADebugTypeExpr>*/;
1182 /* method typing#ADebugTypeExpr#accept_typing for (self: Object, TypeVisitor) */
1183 void VIRTUAL_typing__ADebugTypeExpr__accept_typing(val
* self
, val
* p0
) {
1184 typing__ADebugTypeExpr__accept_typing(self
, p0
);