1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
3 val
* abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_string
/* var string: String */;
7 val
* var1
/* : String */;
8 char* var2
/* : NativeString */;
10 val
* var4
/* : FlatString */;
11 val
* var5
/* : MClass */;
12 val
* var6
/* : MClassType */;
13 val
* var8
/* : MClassType */;
14 val
* var_mtype
/* var mtype: MClassType */;
16 val
* var10
/* : String */;
17 char* var11
/* : NativeString */;
18 long var12
/* : Int */;
19 val
* var13
/* : FlatString */;
20 val
* var14
/* : String */;
21 val
* var_name
/* var name: String */;
22 static val
* varonce15
;
23 val
* var16
/* : String */;
24 char* var17
/* : NativeString */;
25 long var18
/* : Int */;
26 val
* var19
/* : FlatString */;
27 val
* var20
/* : String */;
28 static val
* varonce21
;
29 val
* var22
/* : String */;
30 char* var23
/* : NativeString */;
31 long var24
/* : Int */;
32 val
* var25
/* : FlatString */;
33 static val
* varonce26
;
34 val
* var27
/* : String */;
35 char* var28
/* : NativeString */;
36 long var29
/* : Int */;
37 val
* var30
/* : FlatString */;
38 val
* var31
/* : Array[Object] */;
39 long var32
/* : Int */;
40 val
* var33
/* : NativeArray[Object] */;
41 val
* var34
/* : String */;
42 val
* var35
/* : RuntimeVariable */;
43 val
* var_res
/* var res: RuntimeVariable */;
44 static val
* varonce36
;
45 val
* var37
/* : String */;
46 char* var38
/* : NativeString */;
47 long var39
/* : Int */;
48 val
* var40
/* : FlatString */;
49 static val
* varonce41
;
50 val
* var42
/* : String */;
51 char* var43
/* : NativeString */;
52 long var44
/* : Int */;
53 val
* var45
/* : FlatString */;
54 val
* var46
/* : Array[Object] */;
55 long var47
/* : Int */;
56 val
* var48
/* : NativeArray[Object] */;
57 val
* var49
/* : String */;
58 static val
* varonce50
;
59 val
* var51
/* : String */;
60 char* var52
/* : NativeString */;
61 long var53
/* : Int */;
62 val
* var54
/* : FlatString */;
63 static val
* varonce55
;
64 val
* var56
/* : String */;
65 char* var57
/* : NativeString */;
66 long var58
/* : Int */;
67 val
* var59
/* : FlatString */;
68 val
* var60
/* : Array[Object] */;
69 long var61
/* : Int */;
70 val
* var62
/* : NativeArray[Object] */;
71 val
* var63
/* : String */;
72 static val
* varonce64
;
73 val
* var65
/* : String */;
74 char* var66
/* : NativeString */;
75 long var67
/* : Int */;
76 val
* var68
/* : FlatString */;
77 static val
* varonce69
;
78 val
* var70
/* : String */;
79 char* var71
/* : NativeString */;
80 long var72
/* : Int */;
81 val
* var73
/* : FlatString */;
82 val
* var74
/* : MClass */;
83 val
* var75
/* : MClassType */;
84 val
* var77
/* : MClassType */;
85 val
* var_native_mtype
/* var native_mtype: MClassType */;
86 val
* var78
/* : RuntimeVariable */;
87 val
* var_nat
/* var nat: RuntimeVariable */;
88 static val
* varonce79
;
89 val
* var80
/* : String */;
90 char* var81
/* : NativeString */;
91 long var82
/* : Int */;
92 val
* var83
/* : FlatString */;
93 val
* var84
/* : String */;
94 static val
* varonce85
;
95 val
* var86
/* : String */;
96 char* var87
/* : NativeString */;
97 long var88
/* : Int */;
98 val
* var89
/* : FlatString */;
99 val
* var90
/* : Array[Object] */;
100 long var91
/* : Int */;
101 val
* var92
/* : NativeArray[Object] */;
102 val
* var93
/* : String */;
103 long var94
/* : Int */;
104 long var96
/* : Int */;
105 val
* var97
/* : RuntimeVariable */;
106 val
* var_length
/* var length: RuntimeVariable */;
107 static val
* varonce98
;
108 val
* var99
/* : String */;
109 char* var100
/* : NativeString */;
110 long var101
/* : Int */;
111 val
* var102
/* : FlatString */;
112 static val
* varonce103
;
113 val
* var104
/* : String */;
114 char* var105
/* : NativeString */;
115 long var106
/* : Int */;
116 val
* var107
/* : FlatString */;
117 val
* var108
/* : MMethod */;
118 val
* var109
/* : Array[RuntimeVariable] */;
119 long var110
/* : Int */;
120 val
* var_
/* var : Array[RuntimeVariable] */;
121 val
* var111
/* : nullable RuntimeVariable */;
122 static val
* varonce112
;
123 val
* var113
/* : String */;
124 char* var114
/* : NativeString */;
125 long var115
/* : Int */;
126 val
* var116
/* : FlatString */;
127 val
* var117
/* : Array[Object] */;
128 long var118
/* : Int */;
129 val
* var119
/* : NativeArray[Object] */;
130 val
* var120
/* : String */;
131 static val
* varonce121
;
132 val
* var122
/* : String */;
133 char* var123
/* : NativeString */;
134 long var124
/* : Int */;
135 val
* var125
/* : FlatString */;
136 static val
* varonce126
;
137 val
* var127
/* : String */;
138 char* var128
/* : NativeString */;
139 long var129
/* : Int */;
140 val
* var130
/* : FlatString */;
141 val
* var131
/* : Array[Object] */;
142 long var132
/* : Int */;
143 val
* var133
/* : NativeArray[Object] */;
144 val
* var134
/* : String */;
145 static val
* varonce135
;
146 val
* var136
/* : String */;
147 char* var137
/* : NativeString */;
148 long var138
/* : Int */;
149 val
* var139
/* : FlatString */;
156 var4
= string__NativeString__to_s_with_length(var2
, var3
);
161 var5
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var1
);
164 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
165 var8
= var5
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
166 if (unlikely(var8
== NULL
)) {
167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
168 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
181 var13
= string__NativeString__to_s_with_length(var11
, var12
);
186 var14
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var10
);
194 var19
= string__NativeString__to_s_with_length(var17
, var18
);
199 var20
= abstract_compiler__MClassType__ctype(var_mtype
);
206 var25
= string__NativeString__to_s_with_length(var23
, var24
);
215 var30
= string__NativeString__to_s_with_length(var28
, var29
);
219 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
220 { /* var31 = array_instance Array[Object] */
222 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
223 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var16
;
224 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var20
;
225 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
226 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_name
;
227 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
229 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
233 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
236 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
239 var35
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
247 var40
= string__NativeString__to_s_with_length(var38
, var39
);
256 var45
= string__NativeString__to_s_with_length(var43
, var44
);
260 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
261 { /* var46 = array_instance Array[Object] */
263 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
264 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
265 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var_name
;
266 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
268 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
272 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
275 abstract_compiler__AbstractCompilerVisitor__add(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
282 var54
= string__NativeString__to_s_with_length(var52
, var53
);
291 var59
= string__NativeString__to_s_with_length(var57
, var58
);
295 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
296 { /* var60 = array_instance Array[Object] */
298 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
299 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var_res
;
300 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var51
;
301 ((struct instance_array__NativeArray
*)var62
)->values
[2] = (val
*) var_name
;
302 ((struct instance_array__NativeArray
*)var62
)->values
[3] = (val
*) var56
;
304 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
308 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
311 abstract_compiler__AbstractCompilerVisitor__add(self
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
318 var68
= string__NativeString__to_s_with_length(var66
, var67
);
323 abstract_compiler__AbstractCompilerVisitor__add(self
, var65
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
328 var71
= "NativeString";
330 var73
= string__NativeString__to_s_with_length(var71
, var72
);
335 var74
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var70
);
338 { /* Inline model#MClass#mclass_type (var74) on <var74:MClass> */
339 var77
= var74
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var74:MClass> */
340 if (unlikely(var77
== NULL
)) {
341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
342 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
349 var_native_mtype
= var75
;
351 var78
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_native_mtype
);
359 var83
= string__NativeString__to_s_with_length(var81
, var82
);
364 var84
= string__Text__escape_to_c(var_string
);
371 var89
= string__NativeString__to_s_with_length(var87
, var88
);
375 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
376 { /* var90 = array_instance Array[Object] */
378 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
379 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_nat
;
380 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var80
;
381 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var84
;
382 ((struct instance_array__NativeArray
*)var92
)->values
[3] = (val
*) var86
;
384 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
388 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
391 abstract_compiler__AbstractCompilerVisitor__add(self
, var93
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
394 { /* Inline string#FlatText#length (var_string) on <var_string:String> */
395 var96
= var_string
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_string:String> */
401 var97
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, var94
);
409 var102
= string__NativeString__to_s_with_length(var100
, var101
);
416 var105
= "to_s_with_length";
418 var107
= string__NativeString__to_s_with_length(var105
, var106
);
423 var108
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, var104
, var_native_mtype
);
425 var109
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
428 array__Array__with_capacity(var109
, var110
); /* Direct call array#Array#with_capacity on <var109:Array[RuntimeVariable]>*/
432 array__AbstractArray__push(var_
, var_nat
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
435 array__AbstractArray__push(var_
, var_length
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
438 var111
= separate_compiler__SeparateCompilerVisitor__send(self
, var108
, var_
);
440 if (unlikely(var111
== NULL
)) {
441 PRINT_ERROR("Runtime error: %s", "Cast failed");
442 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1420);
450 var116
= string__NativeString__to_s_with_length(var114
, var115
);
454 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
455 { /* var117 = array_instance Array[Object] */
457 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
458 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_res
;
459 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var99
;
460 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var111
;
461 ((struct instance_array__NativeArray
*)var119
)->values
[3] = (val
*) var113
;
463 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
467 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
470 abstract_compiler__AbstractCompilerVisitor__add(self
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
477 var125
= string__NativeString__to_s_with_length(var123
, var124
);
486 var130
= string__NativeString__to_s_with_length(var128
, var129
);
490 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
491 { /* var131 = array_instance Array[Object] */
493 var133
= NEW_array__NativeArray(var132
, &type_array__NativeArraykernel__Object
);
494 ((struct instance_array__NativeArray
*)var133
)->values
[0] = (val
*) var_name
;
495 ((struct instance_array__NativeArray
*)var133
)->values
[1] = (val
*) var122
;
496 ((struct instance_array__NativeArray
*)var133
)->values
[2] = (val
*) var_res
;
497 ((struct instance_array__NativeArray
*)var133
)->values
[3] = (val
*) var127
;
499 ((void (*)(val
*, val
*, long))(var131
->class->vft
[COLOR_array__Array__with_native
]))(var131
, var133
, var132
) /* with_native on <var131:Array[Object]>*/;
503 var134
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_string__Object__to_s
]))(var131
) /* to_s on <var131:Array[Object]>*/;
506 abstract_compiler__AbstractCompilerVisitor__add(self
, var134
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
513 var139
= string__NativeString__to_s_with_length(var137
, var138
);
518 abstract_compiler__AbstractCompilerVisitor__add(self
, var136
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
525 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: Object, String): RuntimeVariable */
526 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
527 val
* var
/* : RuntimeVariable */;
528 val
* var1
/* : RuntimeVariable */;
529 var1
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, p0
);
534 /* method abstract_compiler#AbstractCompilerVisitor#value_instance for (self: AbstractCompilerVisitor, Object): RuntimeVariable */
535 val
* abstract_compiler__AbstractCompilerVisitor__value_instance(val
* self
, val
* p0
) {
536 val
* var
/* : RuntimeVariable */;
537 val
* var_object
/* var object: Object */;
538 short int var1
/* : Bool */;
541 val
* var2
/* : RuntimeVariable */;
542 long var3
/* : Int */;
543 short int var4
/* : Bool */;
546 val
* var7
/* : RuntimeVariable */;
547 short int var8
/* : Bool */;
548 short int var9
/* : Bool */;
551 val
* var12
/* : RuntimeVariable */;
553 /* <var_object:Object> isa Int */
554 cltype
= type_kernel__Int
.color
;
555 idtype
= type_kernel__Int
.id
;
556 if(cltype
>= var_object
->type
->table_size
) {
559 var1
= var_object
->type
->type_table
[cltype
] == idtype
;
563 var3
= ((struct instance_kernel__Int
*)var_object
)->value
; /* autounbox from Object to Int */;
564 var2
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, var3
);
569 /* <var_object:Object> isa Bool */
570 cltype5
= type_kernel__Bool
.color
;
571 idtype6
= type_kernel__Bool
.id
;
572 if(cltype5
>= var_object
->type
->table_size
) {
575 var4
= var_object
->type
->type_table
[cltype5
] == idtype6
;
579 var8
= ((struct instance_kernel__Bool
*)var_object
)->value
; /* autounbox from Object to Bool */;
580 var7
= abstract_compiler__AbstractCompilerVisitor__bool_instance(self
, var8
);
585 /* <var_object:Object> isa String */
586 cltype10
= type_string__String
.color
;
587 idtype11
= type_string__String
.id
;
588 if(cltype10
>= var_object
->type
->table_size
) {
591 var9
= var_object
->type
->type_table
[cltype10
] == idtype11
;
595 var12
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, var_object
);
600 PRINT_ERROR("Runtime error: %s", "Aborted");
601 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1435);
609 /* method abstract_compiler#AbstractCompilerVisitor#value_instance for (self: Object, Object): RuntimeVariable */
610 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__value_instance(val
* self
, val
* p0
) {
611 val
* var
/* : RuntimeVariable */;
612 val
* var1
/* : RuntimeVariable */;
613 var1
= abstract_compiler__AbstractCompilerVisitor__value_instance(self
, p0
);
618 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
619 void abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
620 val
* var_s
/* var s: String */;
621 val
* var
/* : CodeWriter */;
622 val
* var2
/* : CodeWriter */;
623 val
* var3
/* : List[String] */;
624 val
* var5
/* : List[String] */;
627 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
628 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
629 if (unlikely(var2
== NULL
)) {
630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
631 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
639 { /* Inline abstract_compiler#CodeWriter#lines (var) on <var:CodeWriter> */
640 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var:CodeWriter> */
641 if (unlikely(var5
== NULL
)) {
642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
643 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1019);
651 abstract_collection__Sequence__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
655 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: Object, String) */
656 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
657 abstract_compiler__AbstractCompilerVisitor__add(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:Object(AbstractCompilerVisitor)>*/
660 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
661 void abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
662 val
* var_s
/* var s: String */;
663 val
* var
/* : CodeWriter */;
664 val
* var2
/* : CodeWriter */;
665 val
* var3
/* : List[String] */;
666 val
* var5
/* : List[String] */;
669 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
670 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
671 if (unlikely(var2
== NULL
)) {
672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
673 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
681 { /* Inline abstract_compiler#CodeWriter#decl_lines (var) on <var:CodeWriter> */
682 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var:CodeWriter> */
683 if (unlikely(var5
== NULL
)) {
684 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
685 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
693 abstract_collection__Sequence__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
697 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: Object, String) */
698 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
699 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:Object(AbstractCompilerVisitor)>*/
702 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
703 void abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
704 val
* var_key
/* var key: String */;
705 val
* var
/* : CodeWriter */;
706 val
* var2
/* : CodeWriter */;
707 val
* var3
/* : CodeFile */;
708 val
* var5
/* : CodeFile */;
709 val
* var6
/* : HashSet[String] */;
710 val
* var8
/* : HashSet[String] */;
711 val
* var_reqs
/* var reqs: HashSet[String] */;
712 short int var9
/* : Bool */;
713 val
* var10
/* : nullable ANode */;
714 val
* var12
/* : nullable ANode */;
715 val
* var_node
/* var node: nullable ANode */;
716 val
* var13
/* : null */;
717 short int var14
/* : Bool */;
718 short int var15
/* : Bool */;
719 val
* var_other
/* var other: nullable Object */;
720 short int var17
/* : Bool */;
721 short int var18
/* : Bool */;
722 short int var19
/* : Bool */;
723 val
* var20
/* : AbstractCompiler */;
724 val
* var22
/* : AbstractCompiler */;
725 val
* var23
/* : HashMap[String, ANode] */;
726 val
* var25
/* : HashMap[String, ANode] */;
729 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
730 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
731 if (unlikely(var2
== NULL
)) {
732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
733 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
741 { /* Inline abstract_compiler#CodeWriter#file (var) on <var:CodeWriter> */
742 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <var:CodeWriter> */
743 if (unlikely(var5
== NULL
)) {
744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
745 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1018);
753 { /* Inline abstract_compiler#CodeFile#required_declarations (var3) on <var3:CodeFile> */
754 var8
= var3
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var3:CodeFile> */
755 if (unlikely(var8
== NULL
)) {
756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
757 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1013);
766 var9
= hash_collection__HashSet__has(var_reqs
, var_key
);
773 hash_collection__HashSet__add(var_reqs
, var_key
); /* Direct call hash_collection#HashSet#add on <var_reqs:HashSet[String]>*/
776 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
777 var12
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
784 if (var_node
== NULL
) {
785 var14
= 0; /* is null */
787 var14
= 1; /* arg is null and recv is not */
790 { /* Inline kernel#Object#!= (var_node,var13) on <var_node:nullable ANode> */
793 var18
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ANode(ANode)>*/;
805 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
806 var22
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
807 if (unlikely(var22
== NULL
)) {
808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
809 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
817 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var20) on <var20:AbstractCompiler> */
818 var25
= var20
->attrs
[COLOR_abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var20:AbstractCompiler> */
819 if (unlikely(var25
== NULL
)) {
820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
821 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 520);
829 hash_collection__HashMap___91d_93d_61d(var23
, var_key
, var_node
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, ANode]>*/
835 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: Object, String) */
836 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
837 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:Object(AbstractCompilerVisitor)>*/
840 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
841 void abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
842 val
* var_s
/* var s: String */;
843 val
* var
/* : AbstractCompiler */;
844 val
* var2
/* : AbstractCompiler */;
847 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
848 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
849 if (unlikely(var2
== NULL
)) {
850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
851 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
859 abstract_compiler__AbstractCompiler__provide_declaration(var
, var_s
, var_s
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <var:AbstractCompiler>*/
862 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:AbstractCompilerVisitor>*/
866 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: Object, String) */
867 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
868 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:Object(AbstractCompilerVisitor)>*/
871 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, String) */
872 void abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
873 val
* var_file
/* var file: String */;
875 val
* var
/* : String */;
876 char* var1
/* : NativeString */;
877 long var2
/* : Int */;
878 val
* var3
/* : FlatString */;
879 val
* var4
/* : String */;
880 static val
* varonce5
;
881 val
* var6
/* : String */;
882 char* var7
/* : NativeString */;
883 long var8
/* : Int */;
884 val
* var9
/* : FlatString */;
885 val
* var10
/* : String */;
886 val
* var_tryfile
/* var tryfile: String */;
887 short int var11
/* : Bool */;
888 static val
* varonce12
;
889 val
* var13
/* : String */;
890 char* var14
/* : NativeString */;
891 long var15
/* : Int */;
892 val
* var16
/* : FlatString */;
893 static val
* varonce17
;
894 val
* var18
/* : String */;
895 char* var19
/* : NativeString */;
896 long var20
/* : Int */;
897 val
* var21
/* : FlatString */;
898 val
* var22
/* : String */;
899 static val
* varonce23
;
900 val
* var24
/* : String */;
901 char* var25
/* : NativeString */;
902 long var26
/* : Int */;
903 val
* var27
/* : FlatString */;
904 val
* var28
/* : Array[Object] */;
905 long var29
/* : Int */;
906 val
* var30
/* : NativeArray[Object] */;
907 val
* var31
/* : String */;
908 val
* var32
/* : AbstractCompiler */;
909 val
* var34
/* : AbstractCompiler */;
910 val
* var35
/* : Array[String] */;
911 val
* var37
/* : Array[String] */;
912 static val
* varonce38
;
913 val
* var39
/* : String */;
914 char* var40
/* : NativeString */;
915 long var41
/* : Int */;
916 val
* var42
/* : FlatString */;
917 val
* var43
/* : String */;
918 short int var44
/* : Bool */;
919 static val
* varonce45
;
920 val
* var46
/* : String */;
921 char* var47
/* : NativeString */;
922 long var48
/* : Int */;
923 val
* var49
/* : FlatString */;
924 static val
* varonce50
;
925 val
* var51
/* : String */;
926 char* var52
/* : NativeString */;
927 long var53
/* : Int */;
928 val
* var54
/* : FlatString */;
929 val
* var55
/* : String */;
930 static val
* varonce56
;
931 val
* var57
/* : String */;
932 char* var58
/* : NativeString */;
933 long var59
/* : Int */;
934 val
* var60
/* : FlatString */;
935 val
* var61
/* : Array[Object] */;
936 long var62
/* : Int */;
937 val
* var63
/* : NativeArray[Object] */;
938 val
* var64
/* : String */;
939 val
* var65
/* : AbstractCompiler */;
940 val
* var67
/* : AbstractCompiler */;
941 val
* var68
/* : Array[String] */;
942 val
* var70
/* : Array[String] */;
943 val
* var71
/* : AbstractCompiler */;
944 val
* var73
/* : AbstractCompiler */;
945 val
* var74
/* : ArraySet[String] */;
946 val
* var76
/* : ArraySet[String] */;
947 short int var77
/* : Bool */;
948 val
* var78
/* : AbstractCompiler */;
949 val
* var80
/* : AbstractCompiler */;
950 val
* var81
/* : ArraySet[String] */;
951 val
* var83
/* : ArraySet[String] */;
952 static val
* varonce84
;
953 val
* var85
/* : String */;
954 char* var86
/* : NativeString */;
955 long var87
/* : Int */;
956 val
* var88
/* : FlatString */;
957 val
* var89
/* : String */;
958 short int var90
/* : Bool */;
959 short int var91
/* : Bool */;
960 static val
* varonce92
;
961 val
* var93
/* : String */;
962 char* var94
/* : NativeString */;
963 long var95
/* : Int */;
964 val
* var96
/* : FlatString */;
965 val
* var97
/* : String */;
966 short int var98
/* : Bool */;
967 short int var99
/* : Bool */;
968 val
* var100
/* : ExternCFile */;
969 static val
* varonce101
;
970 val
* var102
/* : String */;
971 char* var103
/* : NativeString */;
972 long var104
/* : Int */;
973 val
* var105
/* : FlatString */;
974 val
* var106
/* : String */;
975 static val
* varonce107
;
976 val
* var108
/* : String */;
977 char* var109
/* : NativeString */;
978 long var110
/* : Int */;
979 val
* var111
/* : FlatString */;
980 val
* var_f
/* var f: ExternCFile */;
981 val
* var112
/* : AbstractCompiler */;
982 val
* var114
/* : AbstractCompiler */;
983 val
* var115
/* : Array[ExternFile] */;
984 val
* var117
/* : Array[ExternFile] */;
985 val
* var118
/* : AbstractCompiler */;
986 val
* var120
/* : AbstractCompiler */;
987 val
* var121
/* : Array[String] */;
988 val
* var123
/* : Array[String] */;
995 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1000 var4
= file__String__strip_extension(var_file
, var
);
1008 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1013 var10
= string__FlatString___43d(var_file
, var6
);
1015 var_tryfile
= var10
;
1017 var11
= file__String__file_exists(var_tryfile
);
1023 var14
= "#include \"";
1025 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1034 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1039 var22
= file__String__basename(var_tryfile
, var18
);
1046 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1050 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1051 { /* var28 = array_instance Array[Object] */
1053 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
1054 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var13
;
1055 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var22
;
1056 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
1058 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
1062 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
1065 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:AbstractCompilerVisitor>*/
1068 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1069 var34
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1070 if (unlikely(var34
== NULL
)) {
1071 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1072 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1076 RET_LABEL33
:(void)0;
1080 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var32) on <var32:AbstractCompiler> */
1081 var37
= var32
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var32:AbstractCompiler> */
1082 if (unlikely(var37
== NULL
)) {
1083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
1084 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 904);
1088 RET_LABEL36
:(void)0;
1092 array__Array__add(var35
, var_tryfile
); /* Direct call array#Array#add on <var35:Array[String]>*/
1101 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1106 var43
= string__FlatString___43d(var_file
, var39
);
1108 var_tryfile
= var43
;
1110 var44
= file__String__file_exists(var_tryfile
);
1116 var47
= "#include \"";
1118 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1127 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1132 var55
= file__String__basename(var_tryfile
, var51
);
1139 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1143 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
1144 { /* var61 = array_instance Array[Object] */
1146 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
1147 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var46
;
1148 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var55
;
1149 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
1151 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1155 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1158 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:AbstractCompilerVisitor>*/
1161 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1162 var67
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1163 if (unlikely(var67
== NULL
)) {
1164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1165 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1169 RET_LABEL66
:(void)0;
1173 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var65) on <var65:AbstractCompiler> */
1174 var70
= var65
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var65:AbstractCompiler> */
1175 if (unlikely(var70
== NULL
)) {
1176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
1177 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 904);
1181 RET_LABEL69
:(void)0;
1185 array__Array__add(var68
, var_tryfile
); /* Direct call array#Array#add on <var68:Array[String]>*/
1190 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1191 var73
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1192 if (unlikely(var73
== NULL
)) {
1193 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1194 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1198 RET_LABEL72
:(void)0;
1202 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (var71) on <var71:AbstractCompiler> */
1203 var76
= var71
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <var71:AbstractCompiler> */
1204 if (unlikely(var76
== NULL
)) {
1205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
1206 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 907);
1210 RET_LABEL75
:(void)0;
1214 var77
= array__ArraySet__has(var74
, var_file
);
1221 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1222 var80
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1223 if (unlikely(var80
== NULL
)) {
1224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1225 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1229 RET_LABEL79
:(void)0;
1233 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (var78) on <var78:AbstractCompiler> */
1234 var83
= var78
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <var78:AbstractCompiler> */
1235 if (unlikely(var83
== NULL
)) {
1236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
1237 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 907);
1241 RET_LABEL82
:(void)0;
1245 array__ArraySet__add(var81
, var_file
); /* Direct call array#ArraySet#add on <var81:ArraySet[String]>*/
1252 var88
= string__NativeString__to_s_with_length(var86
, var87
);
1257 var89
= string__FlatString___43d(var_file
, var85
);
1259 var_tryfile
= var89
;
1261 var90
= file__String__file_exists(var_tryfile
);
1270 var96
= string__NativeString__to_s_with_length(var94
, var95
);
1275 var97
= string__FlatString___43d(var_file
, var93
);
1277 var_tryfile
= var97
;
1279 var98
= file__String__file_exists(var_tryfile
);
1288 var100
= NEW_c_tools__ExternCFile(&type_c_tools__ExternCFile
);
1290 var102
= varonce101
;
1294 var105
= string__NativeString__to_s_with_length(var103
, var104
);
1296 varonce101
= var102
;
1299 var106
= file__String__basename(var_tryfile
, var102
);
1302 var108
= varonce107
;
1306 var111
= string__NativeString__to_s_with_length(var109
, var110
);
1308 varonce107
= var108
;
1311 c_tools__ExternCFile__init(var100
, var106
, var108
); /* Direct call c_tools#ExternCFile#init on <var100:ExternCFile>*/
1315 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1316 var114
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1317 if (unlikely(var114
== NULL
)) {
1318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1319 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1323 RET_LABEL113
:(void)0;
1327 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var112) on <var112:AbstractCompiler> */
1328 var117
= var112
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var112:AbstractCompiler> */
1329 if (unlikely(var117
== NULL
)) {
1330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
1331 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 901);
1335 RET_LABEL116
:(void)0;
1339 array__Array__add(var115
, var_f
); /* Direct call array#Array#add on <var115:Array[ExternFile]>*/
1342 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1343 var120
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1344 if (unlikely(var120
== NULL
)) {
1345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1346 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1350 RET_LABEL119
:(void)0;
1354 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var118) on <var118:AbstractCompiler> */
1355 var123
= var118
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var118:AbstractCompiler> */
1356 if (unlikely(var123
== NULL
)) {
1357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
1358 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 904);
1362 RET_LABEL122
:(void)0;
1366 array__Array__add(var121
, var_tryfile
); /* Direct call array#Array#add on <var121:Array[String]>*/
1370 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: Object, String) */
1371 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
1372 abstract_compiler__AbstractCompilerVisitor__add_extern(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_extern on <self:Object(AbstractCompilerVisitor)>*/
1375 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: AbstractCompilerVisitor, String, MType): RuntimeVariable */
1376 val
* abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
1377 val
* var
/* : RuntimeVariable */;
1378 val
* var_cexpr
/* var cexpr: String */;
1379 val
* var_mtype
/* var mtype: MType */;
1380 val
* var1
/* : RuntimeVariable */;
1381 val
* var_res
/* var res: RuntimeVariable */;
1382 static val
* varonce
;
1383 val
* var2
/* : String */;
1384 char* var3
/* : NativeString */;
1385 long var4
/* : Int */;
1386 val
* var5
/* : FlatString */;
1387 static val
* varonce6
;
1388 val
* var7
/* : String */;
1389 char* var8
/* : NativeString */;
1390 long var9
/* : Int */;
1391 val
* var10
/* : FlatString */;
1392 val
* var11
/* : Array[Object] */;
1393 long var12
/* : Int */;
1394 val
* var13
/* : NativeArray[Object] */;
1395 val
* var14
/* : String */;
1399 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
1407 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1416 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1420 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1421 { /* var11 = array_instance Array[Object] */
1423 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
1424 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_res
;
1425 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
1426 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_cexpr
;
1427 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
1429 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
1433 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
1436 abstract_compiler__AbstractCompilerVisitor__add(self
, var14
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1443 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: Object, String, MType): RuntimeVariable */
1444 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
1445 val
* var
/* : RuntimeVariable */;
1446 val
* var1
/* : RuntimeVariable */;
1447 var1
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, p0
, p1
);
1452 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */
1453 void abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
1454 val
* var_message
/* var message: String */;
1455 static val
* varonce
;
1456 val
* var
/* : String */;
1457 char* var1
/* : NativeString */;
1458 long var2
/* : Int */;
1459 val
* var3
/* : FlatString */;
1460 val
* var4
/* : String */;
1461 static val
* varonce5
;
1462 val
* var6
/* : String */;
1463 char* var7
/* : NativeString */;
1464 long var8
/* : Int */;
1465 val
* var9
/* : FlatString */;
1466 val
* var10
/* : Array[Object] */;
1467 long var11
/* : Int */;
1468 val
* var12
/* : NativeArray[Object] */;
1469 val
* var13
/* : String */;
1474 var1
= "PRINT_ERROR(\"Runtime error: %s\", \"";
1476 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1481 var4
= string__Text__escape_to_c(var_message
);
1488 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1492 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1493 { /* var10 = array_instance Array[Object] */
1495 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
1496 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var
;
1497 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var4
;
1498 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
1500 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
1504 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
1507 abstract_compiler__AbstractCompilerVisitor__add(self
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1510 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:AbstractCompilerVisitor>*/
1514 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: Object, String) */
1515 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
1516 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:Object(AbstractCompilerVisitor)>*/
1519 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: AbstractCompilerVisitor) */
1520 void abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
1521 short int var
/* : Bool */;
1522 val
* var1
/* : nullable ANode */;
1523 val
* var3
/* : nullable ANode */;
1524 val
* var4
/* : null */;
1525 short int var5
/* : Bool */;
1526 short int var6
/* : Bool */;
1527 val
* var_other
/* var other: nullable Object */;
1528 short int var8
/* : Bool */;
1529 short int var9
/* : Bool */;
1530 short int var10
/* : Bool */;
1531 short int var_
/* var : Bool */;
1532 val
* var11
/* : nullable ANode */;
1533 val
* var13
/* : nullable ANode */;
1534 val
* var14
/* : Location */;
1535 val
* var16
/* : Location */;
1536 val
* var17
/* : nullable SourceFile */;
1537 val
* var19
/* : nullable SourceFile */;
1538 val
* var20
/* : null */;
1539 short int var21
/* : Bool */;
1540 short int var22
/* : Bool */;
1541 short int var24
/* : Bool */;
1542 short int var25
/* : Bool */;
1543 short int var26
/* : Bool */;
1544 static val
* varonce
;
1545 val
* var27
/* : String */;
1546 char* var28
/* : NativeString */;
1547 long var29
/* : Int */;
1548 val
* var30
/* : FlatString */;
1549 val
* var31
/* : nullable ANode */;
1550 val
* var33
/* : nullable ANode */;
1551 val
* var34
/* : Location */;
1552 val
* var36
/* : Location */;
1553 val
* var37
/* : nullable SourceFile */;
1554 val
* var39
/* : nullable SourceFile */;
1555 val
* var40
/* : String */;
1556 val
* var42
/* : String */;
1557 val
* var43
/* : String */;
1558 static val
* varonce44
;
1559 val
* var45
/* : String */;
1560 char* var46
/* : NativeString */;
1561 long var47
/* : Int */;
1562 val
* var48
/* : FlatString */;
1563 val
* var49
/* : nullable ANode */;
1564 val
* var51
/* : nullable ANode */;
1565 val
* var52
/* : Location */;
1566 val
* var54
/* : Location */;
1567 long var55
/* : Int */;
1568 long var57
/* : Int */;
1569 static val
* varonce58
;
1570 val
* var59
/* : String */;
1571 char* var60
/* : NativeString */;
1572 long var61
/* : Int */;
1573 val
* var62
/* : FlatString */;
1574 val
* var63
/* : Array[Object] */;
1575 long var64
/* : Int */;
1576 val
* var65
/* : NativeArray[Object] */;
1577 val
* var66
/* : Object */;
1578 val
* var67
/* : String */;
1579 static val
* varonce68
;
1580 val
* var69
/* : String */;
1581 char* var70
/* : NativeString */;
1582 long var71
/* : Int */;
1583 val
* var72
/* : FlatString */;
1584 static val
* varonce73
;
1585 val
* var74
/* : String */;
1586 char* var75
/* : NativeString */;
1587 long var76
/* : Int */;
1588 val
* var77
/* : FlatString */;
1590 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1591 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1598 var5
= 0; /* is null */
1600 var5
= 1; /* arg is null and recv is not */
1603 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable ANode> */
1606 var9
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable ANode(ANode)>*/;
1619 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1620 var13
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1622 RET_LABEL12
:(void)0;
1625 if (var11
== NULL
) {
1626 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1627 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1518);
1630 { /* Inline parser_nodes#ANode#location (var11) on <var11:nullable ANode> */
1631 if (unlikely(var11
== NULL
)) {
1632 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1633 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1636 var16
= var11
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var11:nullable ANode> */
1637 if (unlikely(var16
== NULL
)) {
1638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1639 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1643 RET_LABEL15
:(void)0;
1647 { /* Inline location#Location#file (var14) on <var14:Location> */
1648 var19
= var14
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var14:Location> */
1650 RET_LABEL18
:(void)0;
1654 if (var17
== NULL
) {
1655 var21
= 0; /* is null */
1657 var21
= 1; /* arg is null and recv is not */
1660 { /* Inline kernel#Object#!= (var17,var20) on <var17:nullable SourceFile> */
1663 var25
= ((short int (*)(val
*, val
*))(var17
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var17
, var_other
) /* == on <var17:nullable SourceFile(SourceFile)>*/;
1669 RET_LABEL23
:(void)0;
1681 var28
= "PRINT_ERROR(\" (%s:%d)\\n\", \"";
1683 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1688 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1689 var33
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1691 RET_LABEL32
:(void)0;
1694 if (var31
== NULL
) {
1695 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1696 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1519);
1699 { /* Inline parser_nodes#ANode#location (var31) on <var31:nullable ANode> */
1700 if (unlikely(var31
== NULL
)) {
1701 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1702 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1705 var36
= var31
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var31:nullable ANode> */
1706 if (unlikely(var36
== NULL
)) {
1707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1708 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1712 RET_LABEL35
:(void)0;
1716 { /* Inline location#Location#file (var34) on <var34:Location> */
1717 var39
= var34
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var34:Location> */
1719 RET_LABEL38
:(void)0;
1722 if (var37
== NULL
) {
1723 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1724 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1519);
1727 { /* Inline location#SourceFile#filename (var37) on <var37:nullable SourceFile> */
1728 if (unlikely(var37
== NULL
)) {
1729 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1730 PRINT_ERROR(" (%s:%d)\n", "location.nit", 22);
1733 var42
= var37
->attrs
[COLOR_location__SourceFile___filename
].val
; /* _filename on <var37:nullable SourceFile> */
1734 if (unlikely(var42
== NULL
)) {
1735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1736 PRINT_ERROR(" (%s:%d)\n", "location.nit", 22);
1740 RET_LABEL41
:(void)0;
1744 var43
= string__Text__escape_to_c(var40
);
1751 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1756 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1757 var51
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1759 RET_LABEL50
:(void)0;
1762 if (var49
== NULL
) {
1763 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1764 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1519);
1767 { /* Inline parser_nodes#ANode#location (var49) on <var49:nullable ANode> */
1768 if (unlikely(var49
== NULL
)) {
1769 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1770 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1773 var54
= var49
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var49:nullable ANode> */
1774 if (unlikely(var54
== NULL
)) {
1775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
1776 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
1780 RET_LABEL53
:(void)0;
1784 { /* Inline location#Location#line_start (var52) on <var52:Location> */
1785 var57
= var52
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var52:Location> */
1787 RET_LABEL56
:(void)0;
1795 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1799 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
1800 { /* var63 = array_instance Array[Object] */
1802 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
1803 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var27
;
1804 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var43
;
1805 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var45
;
1806 var66
= BOX_kernel__Int(var55
); /* autobox from Int to Object */
1807 ((struct instance_array__NativeArray
*)var65
)->values
[3] = (val
*) var66
;
1808 ((struct instance_array__NativeArray
*)var65
)->values
[4] = (val
*) var59
;
1810 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
1814 var67
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
1817 abstract_compiler__AbstractCompilerVisitor__add(self
, var67
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1823 var70
= "PRINT_ERROR(\"\\n\");";
1825 var72
= string__NativeString__to_s_with_length(var70
, var71
);
1830 abstract_compiler__AbstractCompilerVisitor__add(self
, var69
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1836 var75
= "show_backtrace(1);";
1838 var77
= string__NativeString__to_s_with_length(var75
, var76
);
1843 abstract_compiler__AbstractCompilerVisitor__add(self
, var74
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1847 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: Object) */
1848 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
1849 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:Object(AbstractCompilerVisitor)>*/
1852 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String) */
1853 void abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1854 val
* var_value
/* var value: RuntimeVariable */;
1855 val
* var_mtype
/* var mtype: MType */;
1856 val
* var_tag
/* var tag: String */;
1857 val
* var
/* : RuntimeVariable */;
1858 val
* var_res
/* var res: RuntimeVariable */;
1859 static val
* varonce
;
1860 val
* var1
/* : String */;
1861 char* var2
/* : NativeString */;
1862 long var3
/* : Int */;
1863 val
* var4
/* : FlatString */;
1864 static val
* varonce5
;
1865 val
* var6
/* : String */;
1866 char* var7
/* : NativeString */;
1867 long var8
/* : Int */;
1868 val
* var9
/* : FlatString */;
1869 val
* var10
/* : Array[Object] */;
1870 long var11
/* : Int */;
1871 val
* var12
/* : NativeArray[Object] */;
1872 val
* var13
/* : String */;
1873 val
* var14
/* : String */;
1874 val
* var_cn
/* var cn: String */;
1875 static val
* varonce15
;
1876 val
* var16
/* : String */;
1877 char* var17
/* : NativeString */;
1878 long var18
/* : Int */;
1879 val
* var19
/* : FlatString */;
1880 val
* var20
/* : String */;
1881 val
* var21
/* : String */;
1882 static val
* varonce22
;
1883 val
* var23
/* : String */;
1884 char* var24
/* : NativeString */;
1885 long var25
/* : Int */;
1886 val
* var26
/* : FlatString */;
1887 static val
* varonce27
;
1888 val
* var28
/* : String */;
1889 char* var29
/* : NativeString */;
1890 long var30
/* : Int */;
1891 val
* var31
/* : FlatString */;
1892 val
* var32
/* : Array[Object] */;
1893 long var33
/* : Int */;
1894 val
* var34
/* : NativeArray[Object] */;
1895 val
* var35
/* : String */;
1896 static val
* varonce36
;
1897 val
* var37
/* : String */;
1898 char* var38
/* : NativeString */;
1899 long var39
/* : Int */;
1900 val
* var40
/* : FlatString */;
1905 var
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(self
, var_value
, var_mtype
, var_tag
) /* type_test on <self:AbstractCompilerVisitor>*/;
1911 var2
= "if (unlikely(!";
1913 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1922 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1926 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1927 { /* var10 = array_instance Array[Object] */
1929 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
1930 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var1
;
1931 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var_res
;
1932 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
1934 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
1938 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
1941 abstract_compiler__AbstractCompilerVisitor__add(self
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1944 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(self
, var_value
) /* class_name_string on <self:AbstractCompilerVisitor>*/;
1950 var17
= "PRINT_ERROR(\"Runtime error: Cast failed. Expected `%s`, got `%s`\", \"";
1952 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1957 var20
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
1960 var21
= string__Text__escape_to_c(var20
);
1967 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1976 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1980 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
1981 { /* var32 = array_instance Array[Object] */
1983 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
1984 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var16
;
1985 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
1986 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
1987 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_cn
;
1988 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
1990 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
1994 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
1997 abstract_compiler__AbstractCompilerVisitor__add(self
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
2000 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:AbstractCompilerVisitor>*/
2007 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2012 abstract_compiler__AbstractCompilerVisitor__add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
2016 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: Object, RuntimeVariable, MType, String) */
2017 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2018 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <self:Object(AbstractCompilerVisitor)>*/
2021 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: AbstractCompilerVisitor, RuntimeVariable) */
2022 void abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
2023 val
* var_s
/* var s: RuntimeVariable */;
2024 val
* var
/* : nullable Frame */;
2025 val
* var2
/* : nullable Frame */;
2026 val
* var3
/* : nullable RuntimeVariable */;
2027 val
* var5
/* : nullable RuntimeVariable */;
2028 static val
* varonce
;
2029 val
* var6
/* : String */;
2030 char* var7
/* : NativeString */;
2031 long var8
/* : Int */;
2032 val
* var9
/* : FlatString */;
2033 val
* var10
/* : nullable Frame */;
2034 val
* var12
/* : nullable Frame */;
2035 val
* var13
/* : nullable String */;
2036 val
* var15
/* : nullable String */;
2037 static val
* varonce16
;
2038 val
* var17
/* : String */;
2039 char* var18
/* : NativeString */;
2040 long var19
/* : Int */;
2041 val
* var20
/* : FlatString */;
2042 val
* var21
/* : Array[Object] */;
2043 long var22
/* : Int */;
2044 val
* var23
/* : NativeArray[Object] */;
2045 val
* var24
/* : String */;
2048 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
2049 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
2055 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2056 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1540);
2059 { /* Inline abstract_compiler#Frame#returnvar (var) on <var:nullable Frame> */
2060 if (unlikely(var
== NULL
)) {
2061 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2062 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1691);
2065 var5
= var
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <var:nullable Frame> */
2070 if (unlikely(var3
== NULL
)) {
2071 PRINT_ERROR("Runtime error: %s", "Cast failed");
2072 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1540);
2076 abstract_compiler__AbstractCompilerVisitor__assign(self
, var3
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:AbstractCompilerVisitor>*/
2083 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2088 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
2089 var12
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
2091 RET_LABEL11
:(void)0;
2094 if (var10
== NULL
) {
2095 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2096 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1541);
2099 { /* Inline abstract_compiler#Frame#returnlabel (var10) on <var10:nullable Frame> */
2100 if (unlikely(var10
== NULL
)) {
2101 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2102 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1694);
2105 var15
= var10
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <var10:nullable Frame> */
2107 RET_LABEL14
:(void)0;
2110 if (unlikely(var13
== NULL
)) {
2111 PRINT_ERROR("Runtime error: %s", "Cast failed");
2112 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1541);
2120 var20
= string__NativeString__to_s_with_length(var18
, var19
);
2124 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
2125 { /* var21 = array_instance Array[Object] */
2127 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
2128 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var6
;
2129 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var13
;
2130 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
2132 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
2136 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
2139 abstract_compiler__AbstractCompilerVisitor__add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
2143 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: Object, RuntimeVariable) */
2144 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
2145 abstract_compiler__AbstractCompilerVisitor__ret(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:Object(AbstractCompilerVisitor)>*/
2148 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */
2149 void abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
2150 val
* var_nexpr
/* var nexpr: nullable AExpr */;
2151 val
* var
/* : null */;
2152 short int var1
/* : Bool */;
2153 short int var2
/* : Bool */;
2154 val
* var_other
/* var other: nullable Object */;
2155 short int var4
/* : Bool */;
2156 short int var6
/* : Bool */;
2157 val
* var7
/* : nullable ANode */;
2158 val
* var9
/* : nullable ANode */;
2159 val
* var_old
/* var old: nullable ANode */;
2162 if (var_nexpr
== NULL
) {
2163 var1
= 1; /* is null */
2165 var1
= 0; /* arg is null but recv is not */
2168 { /* Inline kernel#Object#== (var_nexpr,var) on <var_nexpr:nullable AExpr> */
2171 { /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on <var_nexpr:nullable AExpr(AExpr)> */
2172 var6
= var_nexpr
== var_other
;
2189 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
2190 var9
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
2197 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on <self:AbstractCompilerVisitor> */
2198 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nexpr
; /* _current_node on <self:AbstractCompilerVisitor> */
2199 RET_LABEL10
:(void)0;
2203 ((void (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__stmt
]))(var_nexpr
, self
) /* stmt on <var_nexpr:nullable AExpr(AExpr)>*/;
2206 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on <self:AbstractCompilerVisitor> */
2207 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_old
; /* _current_node on <self:AbstractCompilerVisitor> */
2208 RET_LABEL11
:(void)0;
2213 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: Object, nullable AExpr) */
2214 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
2215 abstract_compiler__AbstractCompilerVisitor__stmt(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <self:Object(AbstractCompilerVisitor)>*/
2218 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */
2219 val
* abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
2220 val
* var
/* : RuntimeVariable */;
2221 val
* var_nexpr
/* var nexpr: AExpr */;
2222 val
* var_mtype
/* var mtype: nullable MType */;
2223 val
* var1
/* : nullable ANode */;
2224 val
* var3
/* : nullable ANode */;
2225 val
* var_old
/* var old: nullable ANode */;
2226 val
* var5
/* : nullable RuntimeVariable */;
2227 val
* var_res
/* var res: RuntimeVariable */;
2228 val
* var6
/* : null */;
2229 short int var7
/* : Bool */;
2230 short int var8
/* : Bool */;
2231 val
* var_other
/* var other: nullable Object */;
2232 short int var10
/* : Bool */;
2233 short int var11
/* : Bool */;
2234 short int var12
/* : Bool */;
2235 val
* var13
/* : MType */;
2236 val
* var14
/* : RuntimeVariable */;
2237 val
* var15
/* : nullable MType */;
2238 val
* var16
/* : RuntimeVariable */;
2239 val
* var17
/* : nullable MType */;
2240 val
* var19
/* : nullable MType */;
2241 val
* var_implicit_cast_to
/* var implicit_cast_to: nullable MType */;
2242 short int var20
/* : Bool */;
2243 val
* var21
/* : null */;
2244 short int var22
/* : Bool */;
2245 short int var23
/* : Bool */;
2246 short int var25
/* : Bool */;
2247 short int var26
/* : Bool */;
2248 short int var27
/* : Bool */;
2249 short int var_
/* var : Bool */;
2250 val
* var28
/* : AbstractCompiler */;
2251 val
* var30
/* : AbstractCompiler */;
2252 val
* var31
/* : ModelBuilder */;
2253 val
* var33
/* : ModelBuilder */;
2254 val
* var34
/* : ToolContext */;
2255 val
* var36
/* : ToolContext */;
2256 val
* var37
/* : OptionBool */;
2257 val
* var39
/* : OptionBool */;
2258 val
* var40
/* : nullable Object */;
2259 val
* var42
/* : nullable Object */;
2260 short int var43
/* : Bool */;
2261 short int var44
/* : Bool */;
2262 static val
* varonce
;
2263 val
* var45
/* : String */;
2264 char* var46
/* : NativeString */;
2265 long var47
/* : Int */;
2266 val
* var48
/* : FlatString */;
2267 val
* var49
/* : RuntimeVariable */;
2271 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
2272 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
2279 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on <self:AbstractCompilerVisitor> */
2280 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nexpr
; /* _current_node on <self:AbstractCompilerVisitor> */
2285 var5
= ((val
* (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__expr
]))(var_nexpr
, self
) /* expr on <var_nexpr:AExpr>*/;
2287 if (unlikely(var5
== NULL
)) {
2288 PRINT_ERROR("Runtime error: %s", "Cast failed");
2289 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1560);
2294 if (var_mtype
== NULL
) {
2295 var7
= 0; /* is null */
2297 var7
= 1; /* arg is null and recv is not */
2300 { /* Inline kernel#Object#!= (var_mtype,var6) on <var_mtype:nullable MType> */
2303 var11
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mtype
, var_other
) /* == on <var_mtype:nullable MType(MType)>*/;
2315 var13
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
2319 var14
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_res
, var_mtype
);
2325 var15
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_nexpr
) /* mtype on <var_nexpr:AExpr>*/;
2327 if (unlikely(var15
== NULL
)) {
2328 PRINT_ERROR("Runtime error: %s", "Cast failed");
2329 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1565);
2333 var16
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, var_res
, var15
);
2337 { /* Inline typing#AExpr#implicit_cast_to (var_nexpr) on <var_nexpr:AExpr> */
2338 var19
= var_nexpr
->attrs
[COLOR_typing__AExpr___implicit_cast_to
].val
; /* _implicit_cast_to on <var_nexpr:AExpr> */
2340 RET_LABEL18
:(void)0;
2343 var_implicit_cast_to
= var17
;
2345 if (var_implicit_cast_to
== NULL
) {
2346 var22
= 0; /* is null */
2348 var22
= 1; /* arg is null and recv is not */
2351 { /* Inline kernel#Object#!= (var_implicit_cast_to,var21) on <var_implicit_cast_to:nullable MType> */
2354 var26
= ((short int (*)(val
*, val
*))(var_implicit_cast_to
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_implicit_cast_to
, var_other
) /* == on <var_implicit_cast_to:nullable MType(MType)>*/;
2360 RET_LABEL24
:(void)0;
2367 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
2368 var30
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
2369 if (unlikely(var30
== NULL
)) {
2370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2371 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
2375 RET_LABEL29
:(void)0;
2379 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var28) on <var28:AbstractCompiler> */
2380 var33
= var28
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var28:AbstractCompiler> */
2381 if (unlikely(var33
== NULL
)) {
2382 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2383 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
2387 RET_LABEL32
:(void)0;
2391 { /* Inline modelbuilder#ModelBuilder#toolcontext (var31) on <var31:ModelBuilder> */
2392 var36
= var31
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var31:ModelBuilder> */
2393 if (unlikely(var36
== NULL
)) {
2394 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2395 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2399 RET_LABEL35
:(void)0;
2403 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (var34) on <var34:ToolContext> */
2404 var39
= var34
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <var34:ToolContext> */
2405 if (unlikely(var39
== NULL
)) {
2406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
2407 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 55);
2411 RET_LABEL38
:(void)0;
2415 { /* Inline opts#Option#value (var37) on <var37:OptionBool> */
2416 var42
= var37
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var37:OptionBool> */
2418 RET_LABEL41
:(void)0;
2421 var43
= ((struct instance_kernel__Bool
*)var40
)->value
; /* autounbox from nullable Object to Bool */;
2433 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2438 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, var_res
, var_implicit_cast_to
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <self:AbstractCompilerVisitor>*/
2441 var49
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, var_res
, var_implicit_cast_to
);
2447 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on <self:AbstractCompilerVisitor> */
2448 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_old
; /* _current_node on <self:AbstractCompilerVisitor> */
2449 RET_LABEL50
:(void)0;
2457 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: Object, AExpr, nullable MType): RuntimeVariable */
2458 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
2459 val
* var
/* : RuntimeVariable */;
2460 val
* var1
/* : RuntimeVariable */;
2461 var1
= abstract_compiler__AbstractCompilerVisitor__expr(self
, p0
, p1
);
2466 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: AbstractCompilerVisitor, AExpr): RuntimeVariable */
2467 val
* abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
2468 val
* var
/* : RuntimeVariable */;
2469 val
* var_nexpr
/* var nexpr: AExpr */;
2470 val
* var1
/* : MClassType */;
2471 val
* var2
/* : RuntimeVariable */;
2474 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
2477 var2
= abstract_compiler__AbstractCompilerVisitor__expr(self
, var_nexpr
, var1
);
2484 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: Object, AExpr): RuntimeVariable */
2485 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
2486 val
* var
/* : RuntimeVariable */;
2487 val
* var1
/* : RuntimeVariable */;
2488 var1
= abstract_compiler__AbstractCompilerVisitor__expr_bool(self
, p0
);
2493 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: AbstractCompilerVisitor, String) */
2494 void abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
2495 val
* var_message
/* var message: String */;
2496 val
* var
/* : nullable ANode */;
2497 val
* var2
/* : nullable ANode */;
2498 val
* var_node
/* var node: nullable ANode */;
2499 val
* var3
/* : null */;
2500 short int var4
/* : Bool */;
2501 short int var5
/* : Bool */;
2502 val
* var_other
/* var other: nullable Object */;
2503 short int var7
/* : Bool */;
2504 short int var9
/* : Bool */;
2505 static val
* varonce
;
2506 val
* var10
/* : String */;
2507 char* var11
/* : NativeString */;
2508 long var12
/* : Int */;
2509 val
* var13
/* : FlatString */;
2510 val
* var14
/* : Array[Object] */;
2511 long var15
/* : Int */;
2512 val
* var16
/* : NativeArray[Object] */;
2513 val
* var17
/* : String */;
2514 static val
* varonce18
;
2515 val
* var19
/* : String */;
2516 char* var20
/* : NativeString */;
2517 long var21
/* : Int */;
2518 val
* var22
/* : FlatString */;
2519 static val
* varonce23
;
2520 val
* var24
/* : String */;
2521 char* var25
/* : NativeString */;
2522 long var26
/* : Int */;
2523 val
* var27
/* : FlatString */;
2524 val
* var28
/* : Array[Object] */;
2525 long var29
/* : Int */;
2526 val
* var30
/* : NativeArray[Object] */;
2527 val
* var31
/* : String */;
2530 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
2531 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
2538 if (var_node
== NULL
) {
2539 var4
= 1; /* is null */
2541 var4
= 0; /* arg is null but recv is not */
2544 { /* Inline kernel#Object#== (var_node,var3) on <var_node:nullable ANode> */
2547 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ANode(ANode)> */
2548 var9
= var_node
== var_other
;
2566 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2570 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2571 { /* var14 = array_instance Array[Object] */
2573 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2574 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var10
;
2575 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_message
;
2577 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2581 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2584 file__Object__print(self
, var17
); /* Direct call file#Object#print on <self:AbstractCompilerVisitor>*/
2588 parser_nodes__ANode__debug(var_node
, var_message
); /* Direct call parser_nodes#ANode#debug on <var_node:nullable ANode(ANode)>*/
2594 var20
= "/* DEBUG: ";
2596 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2605 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2609 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2610 { /* var28 = array_instance Array[Object] */
2612 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2613 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
2614 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_message
;
2615 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
2617 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2621 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2624 abstract_compiler__AbstractCompilerVisitor__add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
2628 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: Object, String) */
2629 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
2630 abstract_compiler__AbstractCompilerVisitor__debug(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:Object(AbstractCompilerVisitor)>*/
2633 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: AbstractRuntimeFunction): MMethodDef */
2634 val
* abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
2635 val
* var
/* : MMethodDef */;
2636 val
* var1
/* : MMethodDef */;
2637 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:AbstractRuntimeFunction> */
2638 if (unlikely(var1
== NULL
)) {
2639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
2640 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1598);
2647 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: Object): MMethodDef */
2648 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
2649 val
* var
/* : MMethodDef */;
2650 val
* var1
/* : MMethodDef */;
2651 val
* var3
/* : MMethodDef */;
2652 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:Object(AbstractRuntimeFunction)> */
2653 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:Object(AbstractRuntimeFunction)> */
2654 if (unlikely(var3
== NULL
)) {
2655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
2656 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1598);
2666 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef= for (self: AbstractRuntimeFunction, MMethodDef) */
2667 void abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d(val
* self
, val
* p0
) {
2668 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
= p0
; /* _mmethoddef on <self:AbstractRuntimeFunction> */
2671 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef= for (self: Object, MMethodDef) */
2672 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d(val
* self
, val
* p0
) {
2673 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef= (self,p0) on <self:Object(AbstractRuntimeFunction)> */
2674 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
= p0
; /* _mmethoddef on <self:Object(AbstractRuntimeFunction)> */
2679 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: AbstractRuntimeFunction): String */
2680 val
* abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
2681 val
* var
/* : String */;
2682 val
* var1
/* : nullable String */;
2683 val
* var3
/* : nullable String */;
2684 val
* var_res
/* var res: nullable String */;
2685 val
* var4
/* : null */;
2686 short int var5
/* : Bool */;
2687 short int var6
/* : Bool */;
2688 val
* var_other
/* var other: nullable Object */;
2689 short int var8
/* : Bool */;
2690 short int var9
/* : Bool */;
2691 short int var10
/* : Bool */;
2692 val
* var11
/* : String */;
2694 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache (self) on <self:AbstractRuntimeFunction> */
2695 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
2702 if (var_res
== NULL
) {
2703 var5
= 0; /* is null */
2705 var5
= 1; /* arg is null and recv is not */
2708 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
2711 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
2727 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__build_c_name
]))(self
) /* build_c_name on <self:AbstractRuntimeFunction>*/;
2731 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache= (self,var_res) on <self:AbstractRuntimeFunction> */
2732 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
2733 RET_LABEL12
:(void)0;
2741 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: Object): String */
2742 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
2743 val
* var
/* : String */;
2744 val
* var1
/* : String */;
2745 var1
= abstract_compiler__AbstractRuntimeFunction__c_name(self
);
2750 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: AbstractRuntimeFunction): nullable String */
2751 val
* abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
2752 val
* var
/* : nullable String */;
2753 val
* var1
/* : nullable String */;
2754 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
2759 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: Object): nullable String */
2760 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
2761 val
* var
/* : nullable String */;
2762 val
* var1
/* : nullable String */;
2763 val
* var3
/* : nullable String */;
2764 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache (self) on <self:Object(AbstractRuntimeFunction)> */
2765 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:Object(AbstractRuntimeFunction)> */
2773 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: AbstractRuntimeFunction, nullable String) */
2774 void abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
2775 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= p0
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
2778 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: Object, nullable String) */
2779 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
2780 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache= (self,p0) on <self:Object(AbstractRuntimeFunction)> */
2781 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(AbstractRuntimeFunction)> */
2786 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: AbstractRuntimeFunction) */
2787 void abstract_compiler__AbstractRuntimeFunction__init(val
* self
) {
2789 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(self
) /* init on <self:AbstractRuntimeFunction>*/;
2793 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: Object) */
2794 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__init(val
* self
) {
2795 { /* Inline abstract_compiler#AbstractRuntimeFunction#init (self) on <self:Object(AbstractRuntimeFunction)> */
2797 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(self
) /* init on <self:Object(AbstractRuntimeFunction)>*/;
2803 /* method abstract_compiler#RuntimeVariable#name for (self: RuntimeVariable): String */
2804 val
* abstract_compiler__RuntimeVariable__name(val
* self
) {
2805 val
* var
/* : String */;
2806 val
* var1
/* : String */;
2807 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
2808 if (unlikely(var1
== NULL
)) {
2809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2810 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
2817 /* method abstract_compiler#RuntimeVariable#name for (self: Object): String */
2818 val
* VIRTUAL_abstract_compiler__RuntimeVariable__name(val
* self
) {
2819 val
* var
/* : String */;
2820 val
* var1
/* : String */;
2821 val
* var3
/* : String */;
2822 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:Object(RuntimeVariable)> */
2823 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:Object(RuntimeVariable)> */
2824 if (unlikely(var3
== NULL
)) {
2825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2826 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
2836 /* method abstract_compiler#RuntimeVariable#name= for (self: RuntimeVariable, String) */
2837 void abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
2838 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= p0
; /* _name on <self:RuntimeVariable> */
2841 /* method abstract_compiler#RuntimeVariable#name= for (self: Object, String) */
2842 void VIRTUAL_abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
2843 { /* Inline abstract_compiler#RuntimeVariable#name= (self,p0) on <self:Object(RuntimeVariable)> */
2844 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= p0
; /* _name on <self:Object(RuntimeVariable)> */
2849 /* method abstract_compiler#RuntimeVariable#mtype for (self: RuntimeVariable): MType */
2850 val
* abstract_compiler__RuntimeVariable__mtype(val
* self
) {
2851 val
* var
/* : MType */;
2852 val
* var1
/* : MType */;
2853 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
2854 if (unlikely(var1
== NULL
)) {
2855 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2856 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
2863 /* method abstract_compiler#RuntimeVariable#mtype for (self: Object): MType */
2864 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mtype(val
* self
) {
2865 val
* var
/* : MType */;
2866 val
* var1
/* : MType */;
2867 val
* var3
/* : MType */;
2868 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:Object(RuntimeVariable)> */
2869 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:Object(RuntimeVariable)> */
2870 if (unlikely(var3
== NULL
)) {
2871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2872 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
2882 /* method abstract_compiler#RuntimeVariable#mtype= for (self: RuntimeVariable, MType) */
2883 void abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
2884 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= p0
; /* _mtype on <self:RuntimeVariable> */
2887 /* method abstract_compiler#RuntimeVariable#mtype= for (self: Object, MType) */
2888 void VIRTUAL_abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
2889 { /* Inline abstract_compiler#RuntimeVariable#mtype= (self,p0) on <self:Object(RuntimeVariable)> */
2890 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= p0
; /* _mtype on <self:Object(RuntimeVariable)> */
2895 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: RuntimeVariable): MType */
2896 val
* abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
2897 val
* var
/* : MType */;
2898 val
* var1
/* : MType */;
2899 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
2900 if (unlikely(var1
== NULL
)) {
2901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2902 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2909 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: Object): MType */
2910 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
2911 val
* var
/* : MType */;
2912 val
* var1
/* : MType */;
2913 val
* var3
/* : MType */;
2914 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:Object(RuntimeVariable)> */
2915 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:Object(RuntimeVariable)> */
2916 if (unlikely(var3
== NULL
)) {
2917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2918 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
2928 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: RuntimeVariable, MType) */
2929 void abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
2930 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= p0
; /* _mcasttype on <self:RuntimeVariable> */
2933 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: Object, MType) */
2934 void VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
2935 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (self,p0) on <self:Object(RuntimeVariable)> */
2936 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= p0
; /* _mcasttype on <self:Object(RuntimeVariable)> */
2941 /* method abstract_compiler#RuntimeVariable#is_exact for (self: RuntimeVariable): Bool */
2942 short int abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2943 short int var
/* : Bool */;
2944 short int var1
/* : Bool */;
2945 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:RuntimeVariable> */
2950 /* method abstract_compiler#RuntimeVariable#is_exact for (self: Object): Bool */
2951 short int VIRTUAL_abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2952 short int var
/* : Bool */;
2953 short int var1
/* : Bool */;
2954 short int var3
/* : Bool */;
2955 { /* Inline abstract_compiler#RuntimeVariable#is_exact (self) on <self:Object(RuntimeVariable)> */
2956 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:Object(RuntimeVariable)> */
2964 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: RuntimeVariable, Bool) */
2965 void abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2966 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= p0
; /* _is_exact on <self:RuntimeVariable> */
2969 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: Object, Bool) */
2970 void VIRTUAL_abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2971 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (self,p0) on <self:Object(RuntimeVariable)> */
2972 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= p0
; /* _is_exact on <self:Object(RuntimeVariable)> */
2977 /* method abstract_compiler#RuntimeVariable#init for (self: RuntimeVariable, String, MType, MType) */
2978 void abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2979 val
* var_name
/* var name: String */;
2980 val
* var_mtype
/* var mtype: MType */;
2981 val
* var_mcasttype
/* var mcasttype: MType */;
2982 short int var
/* : Bool */;
2983 short int var4
/* : Bool */;
2984 short int var5
/* : Bool */;
2985 short int var6
/* : Bool */;
2990 { /* Inline abstract_compiler#RuntimeVariable#name= (self,var_name) on <self:RuntimeVariable> */
2991 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= var_name
; /* _name on <self:RuntimeVariable> */
2996 { /* Inline abstract_compiler#RuntimeVariable#mtype= (self,var_mtype) on <self:RuntimeVariable> */
2997 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= var_mtype
; /* _mtype on <self:RuntimeVariable> */
3002 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (self,var_mcasttype) on <self:RuntimeVariable> */
3003 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= var_mcasttype
; /* _mcasttype on <self:RuntimeVariable> */
3008 var
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
3011 if (unlikely(!var4
)) {
3012 PRINT_ERROR("Runtime error: %s", "Assert failed");
3013 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1649);
3017 var5
= ((short int (*)(val
*))(var_mcasttype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mcasttype
) /* need_anchor on <var_mcasttype:MType>*/;
3020 if (unlikely(!var6
)) {
3021 PRINT_ERROR("Runtime error: %s", "Assert failed");
3022 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1650);
3027 /* method abstract_compiler#RuntimeVariable#init for (self: Object, String, MType, MType) */
3028 void VIRTUAL_abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3029 abstract_compiler__RuntimeVariable__init(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#RuntimeVariable#init on <self:Object(RuntimeVariable)>*/
3032 /* method abstract_compiler#RuntimeVariable#to_s for (self: RuntimeVariable): String */
3033 val
* abstract_compiler__RuntimeVariable__to_s(val
* self
) {
3034 val
* var
/* : String */;
3035 val
* var1
/* : String */;
3036 val
* var3
/* : String */;
3038 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:RuntimeVariable> */
3039 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
3040 if (unlikely(var3
== NULL
)) {
3041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3042 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
3054 /* method abstract_compiler#RuntimeVariable#to_s for (self: Object): String */
3055 val
* VIRTUAL_abstract_compiler__RuntimeVariable__to_s(val
* self
) {
3056 val
* var
/* : String */;
3057 val
* var1
/* : String */;
3058 var1
= abstract_compiler__RuntimeVariable__to_s(self
);
3063 /* method abstract_compiler#RuntimeVariable#inspect for (self: RuntimeVariable): String */
3064 val
* abstract_compiler__RuntimeVariable__inspect(val
* self
) {
3065 val
* var
/* : String */;
3066 short int var1
/* : Bool */;
3067 short int var3
/* : Bool */;
3068 static val
* varonce
;
3069 val
* var4
/* : String */;
3070 char* var5
/* : NativeString */;
3071 long var6
/* : Int */;
3072 val
* var7
/* : FlatString */;
3073 val
* var_exact_str
/* var exact_str: nullable Object */;
3074 static val
* varonce8
;
3075 val
* var9
/* : String */;
3076 char* var10
/* : NativeString */;
3077 long var11
/* : Int */;
3078 val
* var12
/* : FlatString */;
3079 val
* var13
/* : MType */;
3080 val
* var15
/* : MType */;
3081 val
* var16
/* : MType */;
3082 val
* var18
/* : MType */;
3083 short int var19
/* : Bool */;
3084 short int var20
/* : Bool */;
3085 val
* var_other
/* var other: nullable Object */;
3086 short int var22
/* : Bool */;
3087 short int var24
/* : Bool */;
3088 val
* var25
/* : MType */;
3089 val
* var27
/* : MType */;
3090 val
* var28
/* : Array[Object] */;
3091 long var29
/* : Int */;
3092 val
* var30
/* : NativeArray[Object] */;
3093 val
* var31
/* : String */;
3094 val
* var_type_str
/* var type_str: nullable Object */;
3095 val
* var32
/* : MType */;
3096 val
* var34
/* : MType */;
3097 static val
* varonce35
;
3098 val
* var36
/* : String */;
3099 char* var37
/* : NativeString */;
3100 long var38
/* : Int */;
3101 val
* var39
/* : FlatString */;
3102 val
* var40
/* : MType */;
3103 val
* var42
/* : MType */;
3104 static val
* varonce43
;
3105 val
* var44
/* : String */;
3106 char* var45
/* : NativeString */;
3107 long var46
/* : Int */;
3108 val
* var47
/* : FlatString */;
3109 val
* var48
/* : Array[Object] */;
3110 long var49
/* : Int */;
3111 val
* var50
/* : NativeArray[Object] */;
3112 val
* var51
/* : String */;
3113 static val
* varonce52
;
3114 val
* var53
/* : String */;
3115 char* var54
/* : NativeString */;
3116 long var55
/* : Int */;
3117 val
* var56
/* : FlatString */;
3118 val
* var57
/* : String */;
3119 val
* var59
/* : String */;
3120 static val
* varonce60
;
3121 val
* var61
/* : String */;
3122 char* var62
/* : NativeString */;
3123 long var63
/* : Int */;
3124 val
* var64
/* : FlatString */;
3125 static val
* varonce65
;
3126 val
* var66
/* : String */;
3127 char* var67
/* : NativeString */;
3128 long var68
/* : Int */;
3129 val
* var69
/* : FlatString */;
3130 val
* var70
/* : Array[Object] */;
3131 long var71
/* : Int */;
3132 val
* var72
/* : NativeArray[Object] */;
3133 val
* var73
/* : String */;
3135 { /* Inline abstract_compiler#RuntimeVariable#is_exact (self) on <self:RuntimeVariable> */
3136 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:RuntimeVariable> */
3147 var7
= string__NativeString__to_s_with_length(var5
, var6
);
3151 var_exact_str
= var4
;
3158 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3162 var_exact_str
= var9
;
3165 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
3166 var15
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
3167 if (unlikely(var15
== NULL
)) {
3168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3169 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
3173 RET_LABEL14
:(void)0;
3177 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:RuntimeVariable> */
3178 var18
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
3179 if (unlikely(var18
== NULL
)) {
3180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3181 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
3185 RET_LABEL17
:(void)0;
3189 { /* Inline kernel#Object#== (var13,var16) on <var13:MType> */
3192 { /* Inline kernel#Object#is_same_instance (var13,var_other) on <var13:MType> */
3193 var24
= var13
== var_other
;
3196 RET_LABEL23
:(void)0;
3201 RET_LABEL21
:(void)0;
3207 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
3208 var27
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
3209 if (unlikely(var27
== NULL
)) {
3210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3211 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
3215 RET_LABEL26
:(void)0;
3218 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
3219 { /* var28 = array_instance Array[Object] */
3221 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
3222 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var25
;
3223 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_exact_str
;
3225 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
3229 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
3231 var_type_str
= var31
;
3234 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
3235 var34
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
3236 if (unlikely(var34
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3238 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
3242 RET_LABEL33
:(void)0;
3250 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3255 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:RuntimeVariable> */
3256 var42
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
3257 if (unlikely(var42
== NULL
)) {
3258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3259 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
3263 RET_LABEL41
:(void)0;
3271 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3275 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
3276 { /* var48 = array_instance Array[Object] */
3278 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
3279 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var32
;
3280 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) var36
;
3281 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var40
;
3282 ((struct instance_array__NativeArray
*)var50
)->values
[3] = (val
*) var_exact_str
;
3283 ((struct instance_array__NativeArray
*)var50
)->values
[4] = (val
*) var44
;
3285 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
3289 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
3291 var_type_str
= var51
;
3298 var56
= string__NativeString__to_s_with_length(var54
, var55
);
3303 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:RuntimeVariable> */
3304 var59
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
3305 if (unlikely(var59
== NULL
)) {
3306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3307 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
3311 RET_LABEL58
:(void)0;
3319 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3328 var69
= string__NativeString__to_s_with_length(var67
, var68
);
3332 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
3333 { /* var70 = array_instance Array[Object] */
3335 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
3336 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var53
;
3337 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var57
;
3338 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var61
;
3339 ((struct instance_array__NativeArray
*)var72
)->values
[3] = (val
*) var_type_str
;
3340 ((struct instance_array__NativeArray
*)var72
)->values
[4] = (val
*) var66
;
3342 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
3346 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
3353 /* method abstract_compiler#RuntimeVariable#inspect for (self: Object): String */
3354 val
* VIRTUAL_abstract_compiler__RuntimeVariable__inspect(val
* self
) {
3355 val
* var
/* : String */;
3356 val
* var1
/* : String */;
3357 var1
= abstract_compiler__RuntimeVariable__inspect(self
);
3362 /* method abstract_compiler#Frame#visitor= for (self: Frame, AbstractCompilerVisitor) */
3363 void abstract_compiler__Frame__visitor_61d(val
* self
, val
* p0
) {
3364 short int var
/* : Bool */;
3367 const struct type
* type_struct
;
3368 const char* var_class_name
;
3369 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
3370 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3371 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
3372 cltype
= type_struct
->color
;
3373 idtype
= type_struct
->id
;
3374 if(cltype
>= p0
->type
->table_size
) {
3377 var
= p0
->type
->type_table
[cltype
] == idtype
;
3379 if (unlikely(!var
)) {
3380 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3381 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3382 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1678);
3385 self
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= p0
; /* _visitor on <self:Frame> */
3388 /* method abstract_compiler#Frame#visitor= for (self: Object, AbstractCompilerVisitor) */
3389 void VIRTUAL_abstract_compiler__Frame__visitor_61d(val
* self
, val
* p0
) {
3390 short int var
/* : Bool */;
3393 const struct type
* type_struct
;
3394 const char* var_class_name
;
3395 { /* Inline abstract_compiler#Frame#visitor= (self,p0) on <self:Object(Frame)> */
3396 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
3397 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3398 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
3399 cltype
= type_struct
->color
;
3400 idtype
= type_struct
->id
;
3401 if(cltype
>= p0
->type
->table_size
) {
3404 var
= p0
->type
->type_table
[cltype
] == idtype
;
3406 if (unlikely(!var
)) {
3407 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3409 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1678);
3412 self
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= p0
; /* _visitor on <self:Object(Frame)> */
3417 /* method abstract_compiler#Frame#mpropdef for (self: Frame): MPropDef */
3418 val
* abstract_compiler__Frame__mpropdef(val
* self
) {
3419 val
* var
/* : MPropDef */;
3420 val
* var1
/* : MPropDef */;
3421 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <self:Frame> */
3422 if (unlikely(var1
== NULL
)) {
3423 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
3424 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1681);
3431 /* method abstract_compiler#Frame#mpropdef for (self: Object): MPropDef */
3432 val
* VIRTUAL_abstract_compiler__Frame__mpropdef(val
* self
) {
3433 val
* var
/* : MPropDef */;
3434 val
* var1
/* : MPropDef */;
3435 val
* var3
/* : MPropDef */;
3436 { /* Inline abstract_compiler#Frame#mpropdef (self) on <self:Object(Frame)> */
3437 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <self:Object(Frame)> */
3438 if (unlikely(var3
== NULL
)) {
3439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
3440 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1681);
3450 /* method abstract_compiler#Frame#mpropdef= for (self: Frame, MPropDef) */
3451 void abstract_compiler__Frame__mpropdef_61d(val
* self
, val
* p0
) {
3452 self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= p0
; /* _mpropdef on <self:Frame> */
3455 /* method abstract_compiler#Frame#mpropdef= for (self: Object, MPropDef) */
3456 void VIRTUAL_abstract_compiler__Frame__mpropdef_61d(val
* self
, val
* p0
) {
3457 { /* Inline abstract_compiler#Frame#mpropdef= (self,p0) on <self:Object(Frame)> */
3458 self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= p0
; /* _mpropdef on <self:Object(Frame)> */
3463 /* method abstract_compiler#Frame#receiver for (self: Frame): MClassType */
3464 val
* abstract_compiler__Frame__receiver(val
* self
) {
3465 val
* var
/* : MClassType */;
3466 val
* var1
/* : MClassType */;
3467 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <self:Frame> */
3468 if (unlikely(var1
== NULL
)) {
3469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
3470 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
3477 /* method abstract_compiler#Frame#receiver for (self: Object): MClassType */
3478 val
* VIRTUAL_abstract_compiler__Frame__receiver(val
* self
) {
3479 val
* var
/* : MClassType */;
3480 val
* var1
/* : MClassType */;
3481 val
* var3
/* : MClassType */;
3482 { /* Inline abstract_compiler#Frame#receiver (self) on <self:Object(Frame)> */
3483 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <self:Object(Frame)> */
3484 if (unlikely(var3
== NULL
)) {
3485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
3486 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
3496 /* method abstract_compiler#Frame#receiver= for (self: Frame, MClassType) */
3497 void abstract_compiler__Frame__receiver_61d(val
* self
, val
* p0
) {
3498 self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= p0
; /* _receiver on <self:Frame> */
3501 /* method abstract_compiler#Frame#receiver= for (self: Object, MClassType) */
3502 void VIRTUAL_abstract_compiler__Frame__receiver_61d(val
* self
, val
* p0
) {
3503 { /* Inline abstract_compiler#Frame#receiver= (self,p0) on <self:Object(Frame)> */
3504 self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= p0
; /* _receiver on <self:Object(Frame)> */
3509 /* method abstract_compiler#Frame#arguments for (self: Frame): Array[RuntimeVariable] */
3510 val
* abstract_compiler__Frame__arguments(val
* self
) {
3511 val
* var
/* : Array[RuntimeVariable] */;
3512 val
* var1
/* : Array[RuntimeVariable] */;
3513 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <self:Frame> */
3514 if (unlikely(var1
== NULL
)) {
3515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3516 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
3523 /* method abstract_compiler#Frame#arguments for (self: Object): Array[RuntimeVariable] */
3524 val
* VIRTUAL_abstract_compiler__Frame__arguments(val
* self
) {
3525 val
* var
/* : Array[RuntimeVariable] */;
3526 val
* var1
/* : Array[RuntimeVariable] */;
3527 val
* var3
/* : Array[RuntimeVariable] */;
3528 { /* Inline abstract_compiler#Frame#arguments (self) on <self:Object(Frame)> */
3529 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <self:Object(Frame)> */
3530 if (unlikely(var3
== NULL
)) {
3531 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3532 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1688);
3542 /* method abstract_compiler#Frame#arguments= for (self: Frame, Array[RuntimeVariable]) */
3543 void abstract_compiler__Frame__arguments_61d(val
* self
, val
* p0
) {
3544 self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= p0
; /* _arguments on <self:Frame> */
3547 /* method abstract_compiler#Frame#arguments= for (self: Object, Array[RuntimeVariable]) */
3548 void VIRTUAL_abstract_compiler__Frame__arguments_61d(val
* self
, val
* p0
) {
3549 { /* Inline abstract_compiler#Frame#arguments= (self,p0) on <self:Object(Frame)> */
3550 self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= p0
; /* _arguments on <self:Object(Frame)> */
3555 /* method abstract_compiler#Frame#returnvar for (self: Frame): nullable RuntimeVariable */
3556 val
* abstract_compiler__Frame__returnvar(val
* self
) {
3557 val
* var
/* : nullable RuntimeVariable */;
3558 val
* var1
/* : nullable RuntimeVariable */;
3559 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <self:Frame> */
3564 /* method abstract_compiler#Frame#returnvar for (self: Object): nullable RuntimeVariable */
3565 val
* VIRTUAL_abstract_compiler__Frame__returnvar(val
* self
) {
3566 val
* var
/* : nullable RuntimeVariable */;
3567 val
* var1
/* : nullable RuntimeVariable */;
3568 val
* var3
/* : nullable RuntimeVariable */;
3569 { /* Inline abstract_compiler#Frame#returnvar (self) on <self:Object(Frame)> */
3570 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <self:Object(Frame)> */
3578 /* method abstract_compiler#Frame#returnvar= for (self: Frame, nullable RuntimeVariable) */
3579 void abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
3580 self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= p0
; /* _returnvar on <self:Frame> */
3583 /* method abstract_compiler#Frame#returnvar= for (self: Object, nullable RuntimeVariable) */
3584 void VIRTUAL_abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
3585 { /* Inline abstract_compiler#Frame#returnvar= (self,p0) on <self:Object(Frame)> */
3586 self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= p0
; /* _returnvar on <self:Object(Frame)> */
3591 /* method abstract_compiler#Frame#returnlabel for (self: Frame): nullable String */
3592 val
* abstract_compiler__Frame__returnlabel(val
* self
) {
3593 val
* var
/* : nullable String */;
3594 val
* var1
/* : nullable String */;
3595 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <self:Frame> */
3600 /* method abstract_compiler#Frame#returnlabel for (self: Object): nullable String */
3601 val
* VIRTUAL_abstract_compiler__Frame__returnlabel(val
* self
) {
3602 val
* var
/* : nullable String */;
3603 val
* var1
/* : nullable String */;
3604 val
* var3
/* : nullable String */;
3605 { /* Inline abstract_compiler#Frame#returnlabel (self) on <self:Object(Frame)> */
3606 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <self:Object(Frame)> */
3614 /* method abstract_compiler#Frame#returnlabel= for (self: Frame, nullable String) */
3615 void abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
3616 self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= p0
; /* _returnlabel on <self:Frame> */
3619 /* method abstract_compiler#Frame#returnlabel= for (self: Object, nullable String) */
3620 void VIRTUAL_abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
3621 { /* Inline abstract_compiler#Frame#returnlabel= (self,p0) on <self:Object(Frame)> */
3622 self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= p0
; /* _returnlabel on <self:Object(Frame)> */
3627 /* method abstract_compiler#Frame#init for (self: Frame) */
3628 void abstract_compiler__Frame__init(val
* self
) {
3630 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(self
) /* init on <self:Frame>*/;
3634 /* method abstract_compiler#Frame#init for (self: Object) */
3635 void VIRTUAL_abstract_compiler__Frame__init(val
* self
) {
3636 { /* Inline abstract_compiler#Frame#init (self) on <self:Object(Frame)> */
3638 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(self
) /* init on <self:Object(Frame)>*/;
3644 /* method abstract_compiler#MType#ctype for (self: MType): String */
3645 val
* abstract_compiler__MType__ctype(val
* self
) {
3646 val
* var
/* : String */;
3647 static val
* varonce
;
3648 val
* var1
/* : String */;
3649 char* var2
/* : NativeString */;
3650 long var3
/* : Int */;
3651 val
* var4
/* : FlatString */;
3657 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3666 /* method abstract_compiler#MType#ctype for (self: Object): String */
3667 val
* VIRTUAL_abstract_compiler__MType__ctype(val
* self
) {
3668 val
* var
/* : String */;
3669 val
* var1
/* : String */;
3670 var1
= abstract_compiler__MType__ctype(self
);
3675 /* method abstract_compiler#MType#ctype_extern for (self: MType): String */
3676 val
* abstract_compiler__MType__ctype_extern(val
* self
) {
3677 val
* var
/* : String */;
3678 static val
* varonce
;
3679 val
* var1
/* : String */;
3680 char* var2
/* : NativeString */;
3681 long var3
/* : Int */;
3682 val
* var4
/* : FlatString */;
3688 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3697 /* method abstract_compiler#MType#ctype_extern for (self: Object): String */
3698 val
* VIRTUAL_abstract_compiler__MType__ctype_extern(val
* self
) {
3699 val
* var
/* : String */;
3700 val
* var1
/* : String */;
3701 var1
= abstract_compiler__MType__ctype_extern(self
);
3706 /* method abstract_compiler#MType#ctypename for (self: MType): String */
3707 val
* abstract_compiler__MType__ctypename(val
* self
) {
3708 val
* var
/* : String */;
3709 static val
* varonce
;
3710 val
* var1
/* : String */;
3711 char* var2
/* : NativeString */;
3712 long var3
/* : Int */;
3713 val
* var4
/* : FlatString */;
3719 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3728 /* method abstract_compiler#MType#ctypename for (self: Object): String */
3729 val
* VIRTUAL_abstract_compiler__MType__ctypename(val
* self
) {
3730 val
* var
/* : String */;
3731 val
* var1
/* : String */;
3732 var1
= abstract_compiler__MType__ctypename(self
);
3737 /* method abstract_compiler#MType#c_name for (self: MType): String */
3738 val
* abstract_compiler__MType__c_name(val
* self
) {
3739 val
* var
/* : String */;
3740 const char* var_class_name
;
3741 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3742 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name
);
3743 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1708);
3748 /* method abstract_compiler#MType#c_name for (self: Object): String */
3749 val
* VIRTUAL_abstract_compiler__MType__c_name(val
* self
) {
3750 val
* var
/* : String */;
3751 val
* var1
/* : String */;
3752 const char* var_class_name
;
3753 { /* Inline abstract_compiler#MType#c_name (self) on <self:Object(MType)> */
3754 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3755 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name
);
3756 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1708);
3764 /* method abstract_compiler#MType#c_name_cache for (self: MType): nullable String */
3765 val
* abstract_compiler__MType__c_name_cache(val
* self
) {
3766 val
* var
/* : nullable String */;
3767 val
* var1
/* : nullable String */;
3768 var1
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MType> */
3773 /* method abstract_compiler#MType#c_name_cache for (self: Object): nullable String */
3774 val
* VIRTUAL_abstract_compiler__MType__c_name_cache(val
* self
) {
3775 val
* var
/* : nullable String */;
3776 val
* var1
/* : nullable String */;
3777 val
* var3
/* : nullable String */;
3778 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:Object(MType)> */
3779 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:Object(MType)> */
3787 /* method abstract_compiler#MType#c_name_cache= for (self: MType, nullable String) */
3788 void abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
3789 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MType> */
3792 /* method abstract_compiler#MType#c_name_cache= for (self: Object, nullable String) */
3793 void VIRTUAL_abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
3794 { /* Inline abstract_compiler#MType#c_name_cache= (self,p0) on <self:Object(MType)> */
3795 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MType)> */
3800 /* method abstract_compiler#MClassType#c_name for (self: MClassType): String */
3801 val
* abstract_compiler__MClassType__c_name(val
* self
) {
3802 val
* var
/* : String */;
3803 val
* var1
/* : nullable String */;
3804 val
* var3
/* : nullable String */;
3805 val
* var_res
/* var res: nullable String */;
3806 val
* var4
/* : null */;
3807 short int var5
/* : Bool */;
3808 short int var6
/* : Bool */;
3809 val
* var_other
/* var other: nullable Object */;
3810 short int var8
/* : Bool */;
3811 short int var9
/* : Bool */;
3812 short int var10
/* : Bool */;
3813 val
* var11
/* : MClass */;
3814 val
* var13
/* : MClass */;
3815 val
* var14
/* : MModule */;
3816 val
* var16
/* : MModule */;
3817 val
* var17
/* : String */;
3818 val
* var19
/* : String */;
3819 val
* var20
/* : String */;
3820 static val
* varonce
;
3821 val
* var21
/* : String */;
3822 char* var22
/* : NativeString */;
3823 long var23
/* : Int */;
3824 val
* var24
/* : FlatString */;
3825 val
* var25
/* : MClass */;
3826 val
* var27
/* : MClass */;
3827 val
* var28
/* : String */;
3828 val
* var30
/* : String */;
3829 val
* var31
/* : String */;
3830 val
* var32
/* : Array[Object] */;
3831 long var33
/* : Int */;
3832 val
* var34
/* : NativeArray[Object] */;
3833 val
* var35
/* : String */;
3835 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MClassType> */
3836 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MClassType> */
3843 if (var_res
== NULL
) {
3844 var5
= 0; /* is null */
3846 var5
= 1; /* arg is null and recv is not */
3849 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
3852 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
3868 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3869 var13
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3870 if (unlikely(var13
== NULL
)) {
3871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3872 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3876 RET_LABEL12
:(void)0;
3880 { /* Inline model#MClass#intro_mmodule (var11) on <var11:MClass> */
3881 var16
= var11
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var11:MClass> */
3882 if (unlikely(var16
== NULL
)) {
3883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
3884 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
3888 RET_LABEL15
:(void)0;
3892 { /* Inline mmodule#MModule#name (var14) on <var14:MModule> */
3893 var19
= var14
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var14:MModule> */
3894 if (unlikely(var19
== NULL
)) {
3895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3896 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 78);
3900 RET_LABEL18
:(void)0;
3904 var20
= string__Text__to_cmangle(var17
);
3911 var24
= string__NativeString__to_s_with_length(var22
, var23
);
3916 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3917 var27
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3918 if (unlikely(var27
== NULL
)) {
3919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3920 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3924 RET_LABEL26
:(void)0;
3928 { /* Inline model#MClass#name (var25) on <var25:MClass> */
3929 var30
= var25
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var25:MClass> */
3930 if (unlikely(var30
== NULL
)) {
3931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3932 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
3936 RET_LABEL29
:(void)0;
3940 var31
= string__Text__to_cmangle(var28
);
3942 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
3943 { /* var32 = array_instance Array[Object] */
3945 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
3946 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var20
;
3947 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
3948 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var31
;
3950 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
3954 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
3958 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MClassType> */
3959 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MClassType> */
3960 RET_LABEL36
:(void)0;
3968 /* method abstract_compiler#MClassType#c_name for (self: Object): String */
3969 val
* VIRTUAL_abstract_compiler__MClassType__c_name(val
* self
) {
3970 val
* var
/* : String */;
3971 val
* var1
/* : String */;
3972 var1
= abstract_compiler__MClassType__c_name(self
);
3977 /* method abstract_compiler#MClassType#ctype for (self: MClassType): String */
3978 val
* abstract_compiler__MClassType__ctype(val
* self
) {
3979 val
* var
/* : String */;
3980 val
* var1
/* : MClass */;
3981 val
* var3
/* : MClass */;
3982 val
* var4
/* : String */;
3983 val
* var6
/* : String */;
3984 static val
* varonce
;
3985 val
* var7
/* : String */;
3986 char* var8
/* : NativeString */;
3987 long var9
/* : Int */;
3988 val
* var10
/* : FlatString */;
3989 short int var11
/* : Bool */;
3990 short int var12
/* : Bool */;
3991 static val
* varonce13
;
3992 val
* var14
/* : String */;
3993 char* var15
/* : NativeString */;
3994 long var16
/* : Int */;
3995 val
* var17
/* : FlatString */;
3996 val
* var18
/* : MClass */;
3997 val
* var20
/* : MClass */;
3998 val
* var21
/* : String */;
3999 val
* var23
/* : String */;
4000 static val
* varonce24
;
4001 val
* var25
/* : String */;
4002 char* var26
/* : NativeString */;
4003 long var27
/* : Int */;
4004 val
* var28
/* : FlatString */;
4005 short int var29
/* : Bool */;
4006 short int var30
/* : Bool */;
4007 static val
* varonce31
;
4008 val
* var32
/* : String */;
4009 char* var33
/* : NativeString */;
4010 long var34
/* : Int */;
4011 val
* var35
/* : FlatString */;
4012 val
* var36
/* : MClass */;
4013 val
* var38
/* : MClass */;
4014 val
* var39
/* : String */;
4015 val
* var41
/* : String */;
4016 static val
* varonce42
;
4017 val
* var43
/* : String */;
4018 char* var44
/* : NativeString */;
4019 long var45
/* : Int */;
4020 val
* var46
/* : FlatString */;
4021 short int var47
/* : Bool */;
4022 short int var48
/* : Bool */;
4023 static val
* varonce49
;
4024 val
* var50
/* : String */;
4025 char* var51
/* : NativeString */;
4026 long var52
/* : Int */;
4027 val
* var53
/* : FlatString */;
4028 val
* var54
/* : MClass */;
4029 val
* var56
/* : MClass */;
4030 val
* var57
/* : String */;
4031 val
* var59
/* : String */;
4032 static val
* varonce60
;
4033 val
* var61
/* : String */;
4034 char* var62
/* : NativeString */;
4035 long var63
/* : Int */;
4036 val
* var64
/* : FlatString */;
4037 short int var65
/* : Bool */;
4038 short int var66
/* : Bool */;
4039 static val
* varonce67
;
4040 val
* var68
/* : String */;
4041 char* var69
/* : NativeString */;
4042 long var70
/* : Int */;
4043 val
* var71
/* : FlatString */;
4044 val
* var72
/* : MClass */;
4045 val
* var74
/* : MClass */;
4046 val
* var75
/* : String */;
4047 val
* var77
/* : String */;
4048 static val
* varonce78
;
4049 val
* var79
/* : String */;
4050 char* var80
/* : NativeString */;
4051 long var81
/* : Int */;
4052 val
* var82
/* : FlatString */;
4053 short int var83
/* : Bool */;
4054 short int var84
/* : Bool */;
4055 static val
* varonce85
;
4056 val
* var86
/* : String */;
4057 char* var87
/* : NativeString */;
4058 long var88
/* : Int */;
4059 val
* var89
/* : FlatString */;
4060 val
* var90
/* : MClass */;
4061 val
* var92
/* : MClass */;
4062 val
* var93
/* : String */;
4063 val
* var95
/* : String */;
4064 static val
* varonce96
;
4065 val
* var97
/* : String */;
4066 char* var98
/* : NativeString */;
4067 long var99
/* : Int */;
4068 val
* var100
/* : FlatString */;
4069 short int var101
/* : Bool */;
4070 short int var102
/* : Bool */;
4071 static val
* varonce103
;
4072 val
* var104
/* : String */;
4073 char* var105
/* : NativeString */;
4074 long var106
/* : Int */;
4075 val
* var107
/* : FlatString */;
4076 static val
* varonce108
;
4077 val
* var109
/* : String */;
4078 char* var110
/* : NativeString */;
4079 long var111
/* : Int */;
4080 val
* var112
/* : FlatString */;
4082 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4083 var3
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4084 if (unlikely(var3
== NULL
)) {
4085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4086 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4094 { /* Inline model#MClass#name (var1) on <var1:MClass> */
4095 var6
= var1
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var1:MClass> */
4096 if (unlikely(var6
== NULL
)) {
4097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4098 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4110 var10
= string__NativeString__to_s_with_length(var8
, var9
);
4115 var12
= string__FlatString___61d_61d(var4
, var7
);
4124 var17
= string__NativeString__to_s_with_length(var15
, var16
);
4132 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4133 var20
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4134 if (unlikely(var20
== NULL
)) {
4135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4136 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4140 RET_LABEL19
:(void)0;
4144 { /* Inline model#MClass#name (var18) on <var18:MClass> */
4145 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
4146 if (unlikely(var23
== NULL
)) {
4147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4148 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4152 RET_LABEL22
:(void)0;
4160 var28
= string__NativeString__to_s_with_length(var26
, var27
);
4165 var30
= string__FlatString___61d_61d(var21
, var25
);
4172 var33
= "short int";
4174 var35
= string__NativeString__to_s_with_length(var33
, var34
);
4182 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4183 var38
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4184 if (unlikely(var38
== NULL
)) {
4185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4186 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4190 RET_LABEL37
:(void)0;
4194 { /* Inline model#MClass#name (var36) on <var36:MClass> */
4195 var41
= var36
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var36:MClass> */
4196 if (unlikely(var41
== NULL
)) {
4197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4198 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4202 RET_LABEL40
:(void)0;
4210 var46
= string__NativeString__to_s_with_length(var44
, var45
);
4215 var48
= string__FlatString___61d_61d(var39
, var43
);
4224 var53
= string__NativeString__to_s_with_length(var51
, var52
);
4232 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4233 var56
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4234 if (unlikely(var56
== NULL
)) {
4235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4236 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4240 RET_LABEL55
:(void)0;
4244 { /* Inline model#MClass#name (var54) on <var54:MClass> */
4245 var59
= var54
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var54:MClass> */
4246 if (unlikely(var59
== NULL
)) {
4247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4248 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4252 RET_LABEL58
:(void)0;
4260 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4265 var66
= string__FlatString___61d_61d(var57
, var61
);
4274 var71
= string__NativeString__to_s_with_length(var69
, var70
);
4282 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4283 var74
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4284 if (unlikely(var74
== NULL
)) {
4285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4286 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4290 RET_LABEL73
:(void)0;
4294 { /* Inline model#MClass#name (var72) on <var72:MClass> */
4295 var77
= var72
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var72:MClass> */
4296 if (unlikely(var77
== NULL
)) {
4297 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4298 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4302 RET_LABEL76
:(void)0;
4308 var80
= "NativeString";
4310 var82
= string__NativeString__to_s_with_length(var80
, var81
);
4315 var84
= string__FlatString___61d_61d(var75
, var79
);
4324 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4332 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4333 var92
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4334 if (unlikely(var92
== NULL
)) {
4335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4336 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4340 RET_LABEL91
:(void)0;
4344 { /* Inline model#MClass#name (var90) on <var90:MClass> */
4345 var95
= var90
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var90:MClass> */
4346 if (unlikely(var95
== NULL
)) {
4347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4348 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4352 RET_LABEL94
:(void)0;
4358 var98
= "NativeArray";
4360 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4365 var102
= string__FlatString___61d_61d(var93
, var97
);
4370 var104
= varonce103
;
4374 var107
= string__NativeString__to_s_with_length(var105
, var106
);
4376 varonce103
= var104
;
4382 var109
= varonce108
;
4386 var112
= string__NativeString__to_s_with_length(var110
, var111
);
4388 varonce108
= var109
;
4401 /* method abstract_compiler#MClassType#ctype for (self: Object): String */
4402 val
* VIRTUAL_abstract_compiler__MClassType__ctype(val
* self
) {
4403 val
* var
/* : String */;
4404 val
* var1
/* : String */;
4405 var1
= abstract_compiler__MClassType__ctype(self
);
4410 /* method abstract_compiler#MClassType#ctype_extern for (self: MClassType): String */
4411 val
* abstract_compiler__MClassType__ctype_extern(val
* self
) {
4412 val
* var
/* : String */;
4413 val
* var1
/* : MClass */;
4414 val
* var3
/* : MClass */;
4415 val
* var4
/* : MClassKind */;
4416 val
* var6
/* : MClassKind */;
4417 val
* var7
/* : MClassKind */;
4418 short int var8
/* : Bool */;
4419 short int var9
/* : Bool */;
4420 val
* var_other
/* var other: nullable Object */;
4421 short int var11
/* : Bool */;
4422 short int var13
/* : Bool */;
4423 static val
* varonce
;
4424 val
* var14
/* : String */;
4425 char* var15
/* : NativeString */;
4426 long var16
/* : Int */;
4427 val
* var17
/* : FlatString */;
4428 val
* var18
/* : String */;
4430 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4431 var3
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4432 if (unlikely(var3
== NULL
)) {
4433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4434 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4442 { /* Inline model#MClass#kind (var1) on <var1:MClass> */
4443 var6
= var1
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var1:MClass> */
4444 if (unlikely(var6
== NULL
)) {
4445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
4446 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
4454 var7
= model__Object__extern_kind(self
);
4457 { /* Inline kernel#Object#== (var4,var7) on <var4:MClassKind> */
4460 { /* Inline kernel#Object#is_same_instance (var4,var_other) on <var4:MClassKind> */
4461 var13
= var4
== var_other
;
4464 RET_LABEL12
:(void)0;
4469 RET_LABEL10
:(void)0;
4479 var17
= string__NativeString__to_s_with_length(var15
, var16
);
4487 var18
= abstract_compiler__MClassType__ctype(self
);
4495 /* method abstract_compiler#MClassType#ctype_extern for (self: Object): String */
4496 val
* VIRTUAL_abstract_compiler__MClassType__ctype_extern(val
* self
) {
4497 val
* var
/* : String */;
4498 val
* var1
/* : String */;
4499 var1
= abstract_compiler__MClassType__ctype_extern(self
);
4504 /* method abstract_compiler#MClassType#ctypename for (self: MClassType): String */
4505 val
* abstract_compiler__MClassType__ctypename(val
* self
) {
4506 val
* var
/* : String */;
4507 val
* var1
/* : MClass */;
4508 val
* var3
/* : MClass */;
4509 val
* var4
/* : String */;
4510 val
* var6
/* : String */;
4511 static val
* varonce
;
4512 val
* var7
/* : String */;
4513 char* var8
/* : NativeString */;
4514 long var9
/* : Int */;
4515 val
* var10
/* : FlatString */;
4516 short int var11
/* : Bool */;
4517 short int var12
/* : Bool */;
4518 static val
* varonce13
;
4519 val
* var14
/* : String */;
4520 char* var15
/* : NativeString */;
4521 long var16
/* : Int */;
4522 val
* var17
/* : FlatString */;
4523 val
* var18
/* : MClass */;
4524 val
* var20
/* : MClass */;
4525 val
* var21
/* : String */;
4526 val
* var23
/* : String */;
4527 static val
* varonce24
;
4528 val
* var25
/* : String */;
4529 char* var26
/* : NativeString */;
4530 long var27
/* : Int */;
4531 val
* var28
/* : FlatString */;
4532 short int var29
/* : Bool */;
4533 short int var30
/* : Bool */;
4534 static val
* varonce31
;
4535 val
* var32
/* : String */;
4536 char* var33
/* : NativeString */;
4537 long var34
/* : Int */;
4538 val
* var35
/* : FlatString */;
4539 val
* var36
/* : MClass */;
4540 val
* var38
/* : MClass */;
4541 val
* var39
/* : String */;
4542 val
* var41
/* : String */;
4543 static val
* varonce42
;
4544 val
* var43
/* : String */;
4545 char* var44
/* : NativeString */;
4546 long var45
/* : Int */;
4547 val
* var46
/* : FlatString */;
4548 short int var47
/* : Bool */;
4549 short int var48
/* : Bool */;
4550 static val
* varonce49
;
4551 val
* var50
/* : String */;
4552 char* var51
/* : NativeString */;
4553 long var52
/* : Int */;
4554 val
* var53
/* : FlatString */;
4555 val
* var54
/* : MClass */;
4556 val
* var56
/* : MClass */;
4557 val
* var57
/* : String */;
4558 val
* var59
/* : String */;
4559 static val
* varonce60
;
4560 val
* var61
/* : String */;
4561 char* var62
/* : NativeString */;
4562 long var63
/* : Int */;
4563 val
* var64
/* : FlatString */;
4564 short int var65
/* : Bool */;
4565 short int var66
/* : Bool */;
4566 static val
* varonce67
;
4567 val
* var68
/* : String */;
4568 char* var69
/* : NativeString */;
4569 long var70
/* : Int */;
4570 val
* var71
/* : FlatString */;
4571 val
* var72
/* : MClass */;
4572 val
* var74
/* : MClass */;
4573 val
* var75
/* : String */;
4574 val
* var77
/* : String */;
4575 static val
* varonce78
;
4576 val
* var79
/* : String */;
4577 char* var80
/* : NativeString */;
4578 long var81
/* : Int */;
4579 val
* var82
/* : FlatString */;
4580 short int var83
/* : Bool */;
4581 short int var84
/* : Bool */;
4582 static val
* varonce85
;
4583 val
* var86
/* : String */;
4584 char* var87
/* : NativeString */;
4585 long var88
/* : Int */;
4586 val
* var89
/* : FlatString */;
4587 val
* var90
/* : MClass */;
4588 val
* var92
/* : MClass */;
4589 val
* var93
/* : String */;
4590 val
* var95
/* : String */;
4591 static val
* varonce96
;
4592 val
* var97
/* : String */;
4593 char* var98
/* : NativeString */;
4594 long var99
/* : Int */;
4595 val
* var100
/* : FlatString */;
4596 short int var101
/* : Bool */;
4597 short int var102
/* : Bool */;
4598 static val
* varonce103
;
4599 val
* var104
/* : String */;
4600 char* var105
/* : NativeString */;
4601 long var106
/* : Int */;
4602 val
* var107
/* : FlatString */;
4603 static val
* varonce108
;
4604 val
* var109
/* : String */;
4605 char* var110
/* : NativeString */;
4606 long var111
/* : Int */;
4607 val
* var112
/* : FlatString */;
4609 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4610 var3
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4611 if (unlikely(var3
== NULL
)) {
4612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4613 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4621 { /* Inline model#MClass#name (var1) on <var1:MClass> */
4622 var6
= var1
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var1:MClass> */
4623 if (unlikely(var6
== NULL
)) {
4624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4625 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4637 var10
= string__NativeString__to_s_with_length(var8
, var9
);
4642 var12
= string__FlatString___61d_61d(var4
, var7
);
4651 var17
= string__NativeString__to_s_with_length(var15
, var16
);
4659 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4660 var20
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4661 if (unlikely(var20
== NULL
)) {
4662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4663 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4667 RET_LABEL19
:(void)0;
4671 { /* Inline model#MClass#name (var18) on <var18:MClass> */
4672 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
4673 if (unlikely(var23
== NULL
)) {
4674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4675 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4679 RET_LABEL22
:(void)0;
4687 var28
= string__NativeString__to_s_with_length(var26
, var27
);
4692 var30
= string__FlatString___61d_61d(var21
, var25
);
4701 var35
= string__NativeString__to_s_with_length(var33
, var34
);
4709 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4710 var38
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4711 if (unlikely(var38
== NULL
)) {
4712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4713 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4717 RET_LABEL37
:(void)0;
4721 { /* Inline model#MClass#name (var36) on <var36:MClass> */
4722 var41
= var36
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var36:MClass> */
4723 if (unlikely(var41
== NULL
)) {
4724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4725 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4729 RET_LABEL40
:(void)0;
4737 var46
= string__NativeString__to_s_with_length(var44
, var45
);
4742 var48
= string__FlatString___61d_61d(var39
, var43
);
4751 var53
= string__NativeString__to_s_with_length(var51
, var52
);
4759 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4760 var56
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4761 if (unlikely(var56
== NULL
)) {
4762 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4763 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4767 RET_LABEL55
:(void)0;
4771 { /* Inline model#MClass#name (var54) on <var54:MClass> */
4772 var59
= var54
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var54:MClass> */
4773 if (unlikely(var59
== NULL
)) {
4774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4775 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4779 RET_LABEL58
:(void)0;
4787 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4792 var66
= string__FlatString___61d_61d(var57
, var61
);
4801 var71
= string__NativeString__to_s_with_length(var69
, var70
);
4809 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4810 var74
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4811 if (unlikely(var74
== NULL
)) {
4812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4813 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4817 RET_LABEL73
:(void)0;
4821 { /* Inline model#MClass#name (var72) on <var72:MClass> */
4822 var77
= var72
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var72:MClass> */
4823 if (unlikely(var77
== NULL
)) {
4824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4825 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4829 RET_LABEL76
:(void)0;
4835 var80
= "NativeString";
4837 var82
= string__NativeString__to_s_with_length(var80
, var81
);
4842 var84
= string__FlatString___61d_61d(var75
, var79
);
4851 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4859 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
4860 var92
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
4861 if (unlikely(var92
== NULL
)) {
4862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4863 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
4867 RET_LABEL91
:(void)0;
4871 { /* Inline model#MClass#name (var90) on <var90:MClass> */
4872 var95
= var90
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var90:MClass> */
4873 if (unlikely(var95
== NULL
)) {
4874 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4875 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
4879 RET_LABEL94
:(void)0;
4885 var98
= "NativeArray";
4887 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4892 var102
= string__FlatString___61d_61d(var93
, var97
);
4897 var104
= varonce103
;
4901 var107
= string__NativeString__to_s_with_length(var105
, var106
);
4903 varonce103
= var104
;
4909 var109
= varonce108
;
4913 var112
= string__NativeString__to_s_with_length(var110
, var111
);
4915 varonce108
= var109
;
4928 /* method abstract_compiler#MClassType#ctypename for (self: Object): String */
4929 val
* VIRTUAL_abstract_compiler__MClassType__ctypename(val
* self
) {
4930 val
* var
/* : String */;
4931 val
* var1
/* : String */;
4932 var1
= abstract_compiler__MClassType__ctypename(self
);
4937 /* method abstract_compiler#MGenericType#c_name for (self: MGenericType): String */
4938 val
* abstract_compiler__MGenericType__c_name(val
* self
) {
4939 val
* var
/* : String */;
4940 val
* var1
/* : nullable String */;
4941 val
* var3
/* : nullable String */;
4942 val
* var_res
/* var res: nullable String */;
4943 val
* var4
/* : null */;
4944 short int var5
/* : Bool */;
4945 short int var6
/* : Bool */;
4946 val
* var_other
/* var other: nullable Object */;
4947 short int var8
/* : Bool */;
4948 short int var9
/* : Bool */;
4949 short int var10
/* : Bool */;
4950 val
* var11
/* : String */;
4951 val
* var12
/* : Array[MType] */;
4952 val
* var14
/* : Array[MType] */;
4953 val
* var_
/* var : Array[MType] */;
4954 val
* var15
/* : ArrayIterator[nullable Object] */;
4955 val
* var_16
/* var : ArrayIterator[MType] */;
4956 short int var17
/* : Bool */;
4957 val
* var18
/* : nullable Object */;
4958 val
* var_t
/* var t: MType */;
4959 val
* var19
/* : String */;
4960 val
* var20
/* : String */;
4962 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MGenericType> */
4963 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MGenericType> */
4970 if (var_res
== NULL
) {
4971 var5
= 0; /* is null */
4973 var5
= 1; /* arg is null and recv is not */
4976 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4979 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4995 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MGenericType__c_name
]))(self
) /* c_name on <self:MGenericType>*/;
4999 { /* Inline model#MClassType#arguments (self) on <self:MGenericType> */
5000 var14
= self
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <self:MGenericType> */
5001 if (unlikely(var14
== NULL
)) {
5002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5003 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
5007 RET_LABEL13
:(void)0;
5012 var15
= array__AbstractArrayRead__iterator(var_
);
5017 var17
= array__ArrayIterator__is_ok(var_16
);
5021 var18
= array__ArrayIterator__item(var_16
);
5025 var19
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MType>*/;
5028 var20
= string__FlatString___43d(var_res
, var19
);
5032 array__ArrayIterator__next(var_16
); /* Direct call array#ArrayIterator#next on <var_16:ArrayIterator[MType]>*/
5038 BREAK_label
: (void)0;
5040 { /* Inline abstract_collection#Iterator#finish (var_16) on <var_16:ArrayIterator[MType]> */
5041 RET_LABEL21
:(void)0;
5045 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MGenericType> */
5046 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MGenericType> */
5047 RET_LABEL22
:(void)0;
5055 /* method abstract_compiler#MGenericType#c_name for (self: Object): String */
5056 val
* VIRTUAL_abstract_compiler__MGenericType__c_name(val
* self
) {
5057 val
* var
/* : String */;
5058 val
* var1
/* : String */;
5059 var1
= abstract_compiler__MGenericType__c_name(self
);
5064 /* method abstract_compiler#MParameterType#c_name for (self: MParameterType): String */
5065 val
* abstract_compiler__MParameterType__c_name(val
* self
) {
5066 val
* var
/* : String */;
5067 val
* var1
/* : nullable String */;
5068 val
* var3
/* : nullable String */;
5069 val
* var_res
/* var res: nullable String */;
5070 val
* var4
/* : null */;
5071 short int var5
/* : Bool */;
5072 short int var6
/* : Bool */;
5073 val
* var_other
/* var other: nullable Object */;
5074 short int var8
/* : Bool */;
5075 short int var9
/* : Bool */;
5076 short int var10
/* : Bool */;
5077 val
* var11
/* : MClass */;
5078 val
* var13
/* : MClass */;
5079 val
* var14
/* : String */;
5080 static val
* varonce
;
5081 val
* var15
/* : String */;
5082 char* var16
/* : NativeString */;
5083 long var17
/* : Int */;
5084 val
* var18
/* : FlatString */;
5085 long var19
/* : Int */;
5086 long var21
/* : Int */;
5087 val
* var22
/* : Array[Object] */;
5088 long var23
/* : Int */;
5089 val
* var24
/* : NativeArray[Object] */;
5090 val
* var25
/* : Object */;
5091 val
* var26
/* : String */;
5093 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MParameterType> */
5094 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MParameterType> */
5101 if (var_res
== NULL
) {
5102 var5
= 0; /* is null */
5104 var5
= 1; /* arg is null and recv is not */
5107 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5110 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5126 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
5127 var13
= self
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
5128 if (unlikely(var13
== NULL
)) {
5129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5130 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1280);
5134 RET_LABEL12
:(void)0;
5138 var14
= abstract_compiler__MClass__c_name(var11
);
5145 var18
= string__NativeString__to_s_with_length(var16
, var17
);
5150 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
5151 var21
= self
->attrs
[COLOR_model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
5153 RET_LABEL20
:(void)0;
5156 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
5157 { /* var22 = array_instance Array[Object] */
5159 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
5160 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var14
;
5161 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var15
;
5162 var25
= BOX_kernel__Int(var19
); /* autobox from Int to Object */
5163 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var25
;
5165 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
5169 var26
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
5173 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MParameterType> */
5174 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MParameterType> */
5175 RET_LABEL27
:(void)0;
5183 /* method abstract_compiler#MParameterType#c_name for (self: Object): String */
5184 val
* VIRTUAL_abstract_compiler__MParameterType__c_name(val
* self
) {
5185 val
* var
/* : String */;
5186 val
* var1
/* : String */;
5187 var1
= abstract_compiler__MParameterType__c_name(self
);
5192 /* method abstract_compiler#MVirtualType#c_name for (self: MVirtualType): String */
5193 val
* abstract_compiler__MVirtualType__c_name(val
* self
) {
5194 val
* var
/* : String */;
5195 val
* var1
/* : nullable String */;
5196 val
* var3
/* : nullable String */;
5197 val
* var_res
/* var res: nullable String */;
5198 val
* var4
/* : null */;
5199 short int var5
/* : Bool */;
5200 short int var6
/* : Bool */;
5201 val
* var_other
/* var other: nullable Object */;
5202 short int var8
/* : Bool */;
5203 short int var9
/* : Bool */;
5204 short int var10
/* : Bool */;
5205 val
* var11
/* : MProperty */;
5206 val
* var13
/* : MProperty */;
5207 val
* var14
/* : MPropDef */;
5208 val
* var16
/* : MPropDef */;
5209 val
* var17
/* : MClassDef */;
5210 val
* var19
/* : MClassDef */;
5211 val
* var20
/* : MClass */;
5212 val
* var22
/* : MClass */;
5213 val
* var23
/* : String */;
5214 static val
* varonce
;
5215 val
* var24
/* : String */;
5216 char* var25
/* : NativeString */;
5217 long var26
/* : Int */;
5218 val
* var27
/* : FlatString */;
5219 val
* var28
/* : MProperty */;
5220 val
* var30
/* : MProperty */;
5221 val
* var31
/* : String */;
5222 val
* var33
/* : String */;
5223 val
* var34
/* : Array[Object] */;
5224 long var35
/* : Int */;
5225 val
* var36
/* : NativeArray[Object] */;
5226 val
* var37
/* : String */;
5228 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MVirtualType> */
5229 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MVirtualType> */
5236 if (var_res
== NULL
) {
5237 var5
= 0; /* is null */
5239 var5
= 1; /* arg is null and recv is not */
5242 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5245 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5261 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
5262 var13
= self
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
5263 if (unlikely(var13
== NULL
)) {
5264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5265 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1152);
5269 RET_LABEL12
:(void)0;
5273 { /* Inline model#MProperty#intro (var11) on <var11:MProperty> */
5274 var16
= var11
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var11:MProperty> */
5275 if (unlikely(var16
== NULL
)) {
5276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5277 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5281 RET_LABEL15
:(void)0;
5285 { /* Inline model#MPropDef#mclassdef (var14) on <var14:MPropDef> */
5286 var19
= var14
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var14:MPropDef> */
5287 if (unlikely(var19
== NULL
)) {
5288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5289 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5293 RET_LABEL18
:(void)0;
5297 { /* Inline model#MClassDef#mclass (var17) on <var17:MClassDef> */
5298 var22
= var17
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var17:MClassDef> */
5299 if (unlikely(var22
== NULL
)) {
5300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5301 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
5305 RET_LABEL21
:(void)0;
5309 var23
= abstract_compiler__MClass__c_name(var20
);
5316 var27
= string__NativeString__to_s_with_length(var25
, var26
);
5321 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
5322 var30
= self
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
5323 if (unlikely(var30
== NULL
)) {
5324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5325 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1152);
5329 RET_LABEL29
:(void)0;
5333 { /* Inline model#MProperty#name (var28) on <var28:MProperty> */
5334 var33
= var28
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var28:MProperty> */
5335 if (unlikely(var33
== NULL
)) {
5336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5337 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
5341 RET_LABEL32
:(void)0;
5344 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
5345 { /* var34 = array_instance Array[Object] */
5347 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
5348 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var23
;
5349 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var24
;
5350 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var31
;
5352 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
5356 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
5360 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MVirtualType> */
5361 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MVirtualType> */
5362 RET_LABEL38
:(void)0;
5370 /* method abstract_compiler#MVirtualType#c_name for (self: Object): String */
5371 val
* VIRTUAL_abstract_compiler__MVirtualType__c_name(val
* self
) {
5372 val
* var
/* : String */;
5373 val
* var1
/* : String */;
5374 var1
= abstract_compiler__MVirtualType__c_name(self
);
5379 /* method abstract_compiler#MNullableType#c_name for (self: MNullableType): String */
5380 val
* abstract_compiler__MNullableType__c_name(val
* self
) {
5381 val
* var
/* : String */;
5382 val
* var1
/* : nullable String */;
5383 val
* var3
/* : nullable String */;
5384 val
* var_res
/* var res: nullable String */;
5385 val
* var4
/* : null */;
5386 short int var5
/* : Bool */;
5387 short int var6
/* : Bool */;
5388 val
* var_other
/* var other: nullable Object */;
5389 short int var8
/* : Bool */;
5390 short int var9
/* : Bool */;
5391 short int var10
/* : Bool */;
5392 static val
* varonce
;
5393 val
* var11
/* : String */;
5394 char* var12
/* : NativeString */;
5395 long var13
/* : Int */;
5396 val
* var14
/* : FlatString */;
5397 val
* var15
/* : MType */;
5398 val
* var17
/* : MType */;
5399 val
* var18
/* : String */;
5400 val
* var19
/* : Array[Object] */;
5401 long var20
/* : Int */;
5402 val
* var21
/* : NativeArray[Object] */;
5403 val
* var22
/* : String */;
5405 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MNullableType> */
5406 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MNullableType> */
5413 if (var_res
== NULL
) {
5414 var5
= 0; /* is null */
5416 var5
= 1; /* arg is null and recv is not */
5419 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5422 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5440 var12
= "nullable_";
5442 var14
= string__NativeString__to_s_with_length(var12
, var13
);
5447 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
5448 var17
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
5449 if (unlikely(var17
== NULL
)) {
5450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5451 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
5455 RET_LABEL16
:(void)0;
5459 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var15
) /* c_name on <var15:MType>*/;
5461 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
5462 { /* var19 = array_instance Array[Object] */
5464 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
5465 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var11
;
5466 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var18
;
5468 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
5472 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
5476 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MNullableType> */
5477 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MNullableType> */
5478 RET_LABEL23
:(void)0;
5486 /* method abstract_compiler#MNullableType#c_name for (self: Object): String */
5487 val
* VIRTUAL_abstract_compiler__MNullableType__c_name(val
* self
) {
5488 val
* var
/* : String */;
5489 val
* var1
/* : String */;
5490 var1
= abstract_compiler__MNullableType__c_name(self
);
5495 /* method abstract_compiler#MClass#c_name for (self: MClass): String */
5496 val
* abstract_compiler__MClass__c_name(val
* self
) {
5497 val
* var
/* : String */;
5498 val
* var1
/* : nullable String */;
5499 val
* var3
/* : nullable String */;
5500 val
* var_res
/* var res: nullable String */;
5501 val
* var4
/* : null */;
5502 short int var5
/* : Bool */;
5503 short int var6
/* : Bool */;
5504 val
* var_other
/* var other: nullable Object */;
5505 short int var8
/* : Bool */;
5506 short int var9
/* : Bool */;
5507 short int var10
/* : Bool */;
5508 val
* var11
/* : MModule */;
5509 val
* var13
/* : MModule */;
5510 val
* var14
/* : String */;
5511 val
* var16
/* : String */;
5512 val
* var17
/* : String */;
5513 static val
* varonce
;
5514 val
* var18
/* : String */;
5515 char* var19
/* : NativeString */;
5516 long var20
/* : Int */;
5517 val
* var21
/* : FlatString */;
5518 val
* var22
/* : String */;
5519 val
* var24
/* : String */;
5520 val
* var25
/* : String */;
5521 val
* var26
/* : Array[Object] */;
5522 long var27
/* : Int */;
5523 val
* var28
/* : NativeArray[Object] */;
5524 val
* var29
/* : String */;
5526 { /* Inline abstract_compiler#MClass#c_name_cache (self) on <self:MClass> */
5527 var3
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:MClass> */
5534 if (var_res
== NULL
) {
5535 var5
= 0; /* is null */
5537 var5
= 1; /* arg is null and recv is not */
5540 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5543 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5559 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
5560 var13
= self
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
5561 if (unlikely(var13
== NULL
)) {
5562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
5563 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
5567 RET_LABEL12
:(void)0;
5571 { /* Inline mmodule#MModule#name (var11) on <var11:MModule> */
5572 var16
= var11
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var11:MModule> */
5573 if (unlikely(var16
== NULL
)) {
5574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5575 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 78);
5579 RET_LABEL15
:(void)0;
5583 var17
= string__Text__to_cmangle(var14
);
5590 var21
= string__NativeString__to_s_with_length(var19
, var20
);
5595 { /* Inline model#MClass#name (self) on <self:MClass> */
5596 var24
= self
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <self:MClass> */
5597 if (unlikely(var24
== NULL
)) {
5598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5599 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
5603 RET_LABEL23
:(void)0;
5607 var25
= string__Text__to_cmangle(var22
);
5609 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
5610 { /* var26 = array_instance Array[Object] */
5612 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
5613 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
5614 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var18
;
5615 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var25
;
5617 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
5621 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
5625 { /* Inline abstract_compiler#MClass#c_name_cache= (self,var_res) on <self:MClass> */
5626 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MClass> */
5627 RET_LABEL30
:(void)0;
5635 /* method abstract_compiler#MClass#c_name for (self: Object): String */
5636 val
* VIRTUAL_abstract_compiler__MClass__c_name(val
* self
) {
5637 val
* var
/* : String */;
5638 val
* var1
/* : String */;
5639 var1
= abstract_compiler__MClass__c_name(self
);
5644 /* method abstract_compiler#MClass#c_name_cache for (self: MClass): nullable String */
5645 val
* abstract_compiler__MClass__c_name_cache(val
* self
) {
5646 val
* var
/* : nullable String */;
5647 val
* var1
/* : nullable String */;
5648 var1
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:MClass> */
5653 /* method abstract_compiler#MClass#c_name_cache for (self: Object): nullable String */
5654 val
* VIRTUAL_abstract_compiler__MClass__c_name_cache(val
* self
) {
5655 val
* var
/* : nullable String */;
5656 val
* var1
/* : nullable String */;
5657 val
* var3
/* : nullable String */;
5658 { /* Inline abstract_compiler#MClass#c_name_cache (self) on <self:Object(MClass)> */
5659 var3
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:Object(MClass)> */
5667 /* method abstract_compiler#MClass#c_name_cache= for (self: MClass, nullable String) */
5668 void abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
5669 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MClass> */
5672 /* method abstract_compiler#MClass#c_name_cache= for (self: Object, nullable String) */
5673 void VIRTUAL_abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
5674 { /* Inline abstract_compiler#MClass#c_name_cache= (self,p0) on <self:Object(MClass)> */
5675 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MClass)> */
5680 /* method abstract_compiler#MProperty#c_name for (self: MProperty): String */
5681 val
* abstract_compiler__MProperty__c_name(val
* self
) {
5682 val
* var
/* : String */;
5683 val
* var1
/* : nullable String */;
5684 val
* var3
/* : nullable String */;
5685 val
* var_res
/* var res: nullable String */;
5686 val
* var4
/* : null */;
5687 short int var5
/* : Bool */;
5688 short int var6
/* : Bool */;
5689 val
* var_other
/* var other: nullable Object */;
5690 short int var8
/* : Bool */;
5691 short int var9
/* : Bool */;
5692 short int var10
/* : Bool */;
5693 val
* var11
/* : MPropDef */;
5694 val
* var13
/* : MPropDef */;
5695 val
* var14
/* : String */;
5696 val
* var15
/* : Array[Object] */;
5697 long var16
/* : Int */;
5698 val
* var17
/* : NativeArray[Object] */;
5699 val
* var18
/* : String */;
5701 { /* Inline abstract_compiler#MProperty#c_name_cache (self) on <self:MProperty> */
5702 var3
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:MProperty> */
5709 if (var_res
== NULL
) {
5710 var5
= 0; /* is null */
5712 var5
= 1; /* arg is null and recv is not */
5715 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5718 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5734 { /* Inline model#MProperty#intro (self) on <self:MProperty> */
5735 var13
= self
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <self:MProperty> */
5736 if (unlikely(var13
== NULL
)) {
5737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5738 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
5742 RET_LABEL12
:(void)0;
5746 var14
= abstract_compiler__MPropDef__c_name(var11
);
5748 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
5749 { /* var15 = array_instance Array[Object] */
5751 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
5752 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var14
;
5754 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
5758 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
5762 { /* Inline abstract_compiler#MProperty#c_name_cache= (self,var_res) on <self:MProperty> */
5763 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MProperty> */
5764 RET_LABEL19
:(void)0;
5772 /* method abstract_compiler#MProperty#c_name for (self: Object): String */
5773 val
* VIRTUAL_abstract_compiler__MProperty__c_name(val
* self
) {
5774 val
* var
/* : String */;
5775 val
* var1
/* : String */;
5776 var1
= abstract_compiler__MProperty__c_name(self
);
5781 /* method abstract_compiler#MProperty#c_name_cache for (self: MProperty): nullable String */
5782 val
* abstract_compiler__MProperty__c_name_cache(val
* self
) {
5783 val
* var
/* : nullable String */;
5784 val
* var1
/* : nullable String */;
5785 var1
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:MProperty> */
5790 /* method abstract_compiler#MProperty#c_name_cache for (self: Object): nullable String */
5791 val
* VIRTUAL_abstract_compiler__MProperty__c_name_cache(val
* self
) {
5792 val
* var
/* : nullable String */;
5793 val
* var1
/* : nullable String */;
5794 val
* var3
/* : nullable String */;
5795 { /* Inline abstract_compiler#MProperty#c_name_cache (self) on <self:Object(MProperty)> */
5796 var3
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:Object(MProperty)> */
5804 /* method abstract_compiler#MProperty#c_name_cache= for (self: MProperty, nullable String) */
5805 void abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
5806 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MProperty> */
5809 /* method abstract_compiler#MProperty#c_name_cache= for (self: Object, nullable String) */
5810 void VIRTUAL_abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
5811 { /* Inline abstract_compiler#MProperty#c_name_cache= (self,p0) on <self:Object(MProperty)> */
5812 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MProperty)> */
5817 /* method abstract_compiler#MPropDef#c_name_cache for (self: MPropDef): nullable String */
5818 val
* abstract_compiler__MPropDef__c_name_cache(val
* self
) {
5819 val
* var
/* : nullable String */;
5820 val
* var1
/* : nullable String */;
5821 var1
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:MPropDef> */
5826 /* method abstract_compiler#MPropDef#c_name_cache for (self: Object): nullable String */
5827 val
* VIRTUAL_abstract_compiler__MPropDef__c_name_cache(val
* self
) {
5828 val
* var
/* : nullable String */;
5829 val
* var1
/* : nullable String */;
5830 val
* var3
/* : nullable String */;
5831 { /* Inline abstract_compiler#MPropDef#c_name_cache (self) on <self:Object(MPropDef)> */
5832 var3
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:Object(MPropDef)> */
5840 /* method abstract_compiler#MPropDef#c_name_cache= for (self: MPropDef, nullable String) */
5841 void abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
5842 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MPropDef> */
5845 /* method abstract_compiler#MPropDef#c_name_cache= for (self: Object, nullable String) */
5846 void VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
5847 { /* Inline abstract_compiler#MPropDef#c_name_cache= (self,p0) on <self:Object(MPropDef)> */
5848 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MPropDef)> */
5853 /* method abstract_compiler#MPropDef#c_name for (self: MPropDef): String */
5854 val
* abstract_compiler__MPropDef__c_name(val
* self
) {
5855 val
* var
/* : String */;
5856 val
* var1
/* : nullable String */;
5857 val
* var3
/* : nullable String */;
5858 val
* var_res
/* var res: nullable String */;
5859 val
* var4
/* : null */;
5860 short int var5
/* : Bool */;
5861 short int var6
/* : Bool */;
5862 val
* var_other
/* var other: nullable Object */;
5863 short int var8
/* : Bool */;
5864 short int var9
/* : Bool */;
5865 short int var10
/* : Bool */;
5866 val
* var11
/* : MClassDef */;
5867 val
* var13
/* : MClassDef */;
5868 val
* var14
/* : MModule */;
5869 val
* var16
/* : MModule */;
5870 val
* var17
/* : String */;
5871 val
* var19
/* : String */;
5872 val
* var20
/* : String */;
5873 static val
* varonce
;
5874 val
* var21
/* : String */;
5875 char* var22
/* : NativeString */;
5876 long var23
/* : Int */;
5877 val
* var24
/* : FlatString */;
5878 val
* var25
/* : MClassDef */;
5879 val
* var27
/* : MClassDef */;
5880 val
* var28
/* : MClass */;
5881 val
* var30
/* : MClass */;
5882 val
* var31
/* : String */;
5883 val
* var33
/* : String */;
5884 val
* var34
/* : String */;
5885 static val
* varonce35
;
5886 val
* var36
/* : String */;
5887 char* var37
/* : NativeString */;
5888 long var38
/* : Int */;
5889 val
* var39
/* : FlatString */;
5890 val
* var40
/* : MProperty */;
5891 val
* var42
/* : MProperty */;
5892 val
* var43
/* : String */;
5893 val
* var45
/* : String */;
5894 val
* var46
/* : String */;
5895 val
* var47
/* : Array[Object] */;
5896 long var48
/* : Int */;
5897 val
* var49
/* : NativeArray[Object] */;
5898 val
* var50
/* : String */;
5900 { /* Inline abstract_compiler#MPropDef#c_name_cache (self) on <self:MPropDef> */
5901 var3
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:MPropDef> */
5908 if (var_res
== NULL
) {
5909 var5
= 0; /* is null */
5911 var5
= 1; /* arg is null and recv is not */
5914 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
5917 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
5933 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
5934 var13
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
5935 if (unlikely(var13
== NULL
)) {
5936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5937 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5941 RET_LABEL12
:(void)0;
5945 { /* Inline model#MClassDef#mmodule (var11) on <var11:MClassDef> */
5946 var16
= var11
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var11:MClassDef> */
5947 if (unlikely(var16
== NULL
)) {
5948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5949 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
5953 RET_LABEL15
:(void)0;
5957 { /* Inline mmodule#MModule#name (var14) on <var14:MModule> */
5958 var19
= var14
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var14:MModule> */
5959 if (unlikely(var19
== NULL
)) {
5960 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5961 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 78);
5965 RET_LABEL18
:(void)0;
5969 var20
= string__Text__to_cmangle(var17
);
5976 var24
= string__NativeString__to_s_with_length(var22
, var23
);
5981 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
5982 var27
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
5983 if (unlikely(var27
== NULL
)) {
5984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5985 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
5989 RET_LABEL26
:(void)0;
5993 { /* Inline model#MClassDef#mclass (var25) on <var25:MClassDef> */
5994 var30
= var25
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var25:MClassDef> */
5995 if (unlikely(var30
== NULL
)) {
5996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5997 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
6001 RET_LABEL29
:(void)0;
6005 { /* Inline model#MClass#name (var28) on <var28:MClass> */
6006 var33
= var28
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var28:MClass> */
6007 if (unlikely(var33
== NULL
)) {
6008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6009 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
6013 RET_LABEL32
:(void)0;
6017 var34
= string__Text__to_cmangle(var31
);
6024 var39
= string__NativeString__to_s_with_length(var37
, var38
);
6029 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
6030 var42
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
6031 if (unlikely(var42
== NULL
)) {
6032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6033 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6037 RET_LABEL41
:(void)0;
6041 { /* Inline model#MProperty#name (var40) on <var40:MProperty> */
6042 var45
= var40
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var40:MProperty> */
6043 if (unlikely(var45
== NULL
)) {
6044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6045 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
6049 RET_LABEL44
:(void)0;
6053 var46
= string__Text__to_cmangle(var43
);
6055 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
6056 { /* var47 = array_instance Array[Object] */
6058 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
6059 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var20
;
6060 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var21
;
6061 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var34
;
6062 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var36
;
6063 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var46
;
6065 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
6069 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
6073 { /* Inline abstract_compiler#MPropDef#c_name_cache= (self,var_res) on <self:MPropDef> */
6074 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MPropDef> */
6075 RET_LABEL51
:(void)0;
6083 /* method abstract_compiler#MPropDef#c_name for (self: Object): String */
6084 val
* VIRTUAL_abstract_compiler__MPropDef__c_name(val
* self
) {
6085 val
* var
/* : String */;
6086 val
* var1
/* : String */;
6087 var1
= abstract_compiler__MPropDef__c_name(self
);
6092 /* method abstract_compiler#MMethodDef#can_inline for (self: MMethodDef, AbstractCompilerVisitor): Bool */
6093 short int abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
6094 short int var
/* : Bool */;
6095 short int var1
/* : Bool */;
6098 const struct type
* type_struct
;
6099 const char* var_class_name
;
6100 val
* var_v
/* var v: AbstractCompilerVisitor */;
6101 short int var2
/* : Bool */;
6102 short int var4
/* : Bool */;
6103 short int var5
/* : Bool */;
6104 val
* var6
/* : AbstractCompiler */;
6105 val
* var8
/* : AbstractCompiler */;
6106 val
* var9
/* : ModelBuilder */;
6107 val
* var11
/* : ModelBuilder */;
6108 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6109 val
* var12
/* : HashMap[MPropDef, APropdef] */;
6110 val
* var14
/* : HashMap[MPropDef, APropdef] */;
6111 short int var15
/* : Bool */;
6112 val
* var16
/* : HashMap[MPropDef, APropdef] */;
6113 val
* var18
/* : HashMap[MPropDef, APropdef] */;
6114 val
* var19
/* : nullable Object */;
6115 val
* var_npropdef
/* var npropdef: APropdef */;
6116 short int var20
/* : Bool */;
6117 val
* var21
/* : MProperty */;
6118 val
* var23
/* : MProperty */;
6119 short int var24
/* : Bool */;
6120 short int var26
/* : Bool */;
6121 short int var27
/* : Bool */;
6122 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
6123 /* <p0:AbstractCompilerVisitor> isa VISITOR */
6124 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
6125 cltype
= type_struct
->color
;
6126 idtype
= type_struct
->id
;
6127 if(cltype
>= p0
->type
->table_size
) {
6130 var1
= p0
->type
->type_table
[cltype
] == idtype
;
6132 if (unlikely(!var1
)) {
6133 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6134 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6135 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1859);
6140 { /* Inline model#MMethodDef#is_abstract (self) on <self:MMethodDef> */
6141 var4
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:MMethodDef> */
6153 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
6154 var8
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
6155 if (unlikely(var8
== NULL
)) {
6156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6157 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6165 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
6166 var11
= var6
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
6167 if (unlikely(var11
== NULL
)) {
6168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6169 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6173 RET_LABEL10
:(void)0;
6176 var_modelbuilder
= var9
;
6178 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6179 var14
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6180 if (unlikely(var14
== NULL
)) {
6181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6182 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
6186 RET_LABEL13
:(void)0;
6190 var15
= abstract_collection__MapRead__has_key(var12
, self
);
6194 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6195 var18
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6196 if (unlikely(var18
== NULL
)) {
6197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6198 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
6202 RET_LABEL17
:(void)0;
6206 var19
= hash_collection__HashMap___91d_93d(var16
, self
);
6208 var_npropdef
= var19
;
6210 var20
= ((short int (*)(val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__APropdef__can_inline
]))(var_npropdef
) /* can_inline on <var_npropdef:APropdef>*/;
6216 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
6217 var23
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
6218 if (unlikely(var23
== NULL
)) {
6219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6220 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6224 RET_LABEL22
:(void)0;
6228 { /* Inline model#MMethod#is_root_init (var21) on <var21:MProperty(MMethod)> */
6229 var26
= var21
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var21:MProperty(MMethod)> */
6231 RET_LABEL25
:(void)0;
6239 PRINT_ERROR("Runtime error: %s", "Aborted");
6240 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1871);
6247 /* method abstract_compiler#MMethodDef#can_inline for (self: Object, AbstractCompilerVisitor): Bool */
6248 short int VIRTUAL_abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
6249 short int var
/* : Bool */;
6250 short int var1
/* : Bool */;
6251 var1
= abstract_compiler__MMethodDef__can_inline(self
, p0
);
6256 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
6257 val
* abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
6258 val
* var
/* : nullable RuntimeVariable */;
6259 short int var1
/* : Bool */;
6262 const struct type
* type_struct
;
6263 const char* var_class_name
;
6264 val
* var_v
/* var v: AbstractCompilerVisitor */;
6265 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6266 val
* var2
/* : AbstractCompiler */;
6267 val
* var4
/* : AbstractCompiler */;
6268 val
* var5
/* : ModelBuilder */;
6269 val
* var7
/* : ModelBuilder */;
6270 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6271 val
* var8
/* : nullable Object */;
6272 val
* var10
/* : nullable Object */;
6273 val
* var_val
/* var val: nullable Object */;
6274 val
* var11
/* : HashMap[MPropDef, APropdef] */;
6275 val
* var13
/* : HashMap[MPropDef, APropdef] */;
6276 short int var14
/* : Bool */;
6277 val
* var15
/* : HashMap[MPropDef, APropdef] */;
6278 val
* var17
/* : HashMap[MPropDef, APropdef] */;
6279 val
* var18
/* : nullable Object */;
6280 val
* var_npropdef
/* var npropdef: APropdef */;
6281 val
* var19
/* : nullable ANode */;
6282 val
* var21
/* : nullable ANode */;
6283 val
* var_oldnode
/* var oldnode: nullable ANode */;
6284 val
* var24
/* : MProperty */;
6285 val
* var26
/* : MProperty */;
6286 short int var27
/* : Bool */;
6287 short int var29
/* : Bool */;
6288 val
* var30
/* : HashMap[MClassDef, AClassdef] */;
6289 val
* var32
/* : HashMap[MClassDef, AClassdef] */;
6290 val
* var33
/* : MClassDef */;
6291 val
* var35
/* : MClassDef */;
6292 val
* var36
/* : nullable Object */;
6293 val
* var_nclassdef
/* var nclassdef: AClassdef */;
6294 val
* var37
/* : nullable ANode */;
6295 val
* var39
/* : nullable ANode */;
6296 val
* var_oldnode40
/* var oldnode: nullable ANode */;
6297 val
* var43
/* : null */;
6298 short int var44
/* : Bool */;
6299 short int var45
/* : Bool */;
6300 val
* var46
/* : RuntimeVariable */;
6301 val
* var47
/* : null */;
6302 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
6303 /* <p0:AbstractCompilerVisitor> isa VISITOR */
6304 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
6305 cltype
= type_struct
->color
;
6306 idtype
= type_struct
->id
;
6307 if(cltype
>= p0
->type
->table_size
) {
6310 var1
= p0
->type
->type_table
[cltype
] == idtype
;
6312 if (unlikely(!var1
)) {
6313 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6315 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1875);
6321 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
6322 var4
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
6323 if (unlikely(var4
== NULL
)) {
6324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6325 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6333 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
6334 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
6335 if (unlikely(var7
== NULL
)) {
6336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6337 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6344 var_modelbuilder
= var5
;
6346 { /* Inline model#MMethodDef#constant_value (self) on <self:MMethodDef> */
6347 var10
= self
->attrs
[COLOR_model__MMethodDef___constant_value
].val
; /* _constant_value on <self:MMethodDef> */
6354 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6355 var13
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6356 if (unlikely(var13
== NULL
)) {
6357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6358 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
6362 RET_LABEL12
:(void)0;
6366 var14
= abstract_collection__MapRead__has_key(var11
, self
);
6370 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6371 var17
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
6372 if (unlikely(var17
== NULL
)) {
6373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
6374 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_property.nit", 39);
6378 RET_LABEL16
:(void)0;
6382 var18
= hash_collection__HashMap___91d_93d(var15
, self
);
6384 var_npropdef
= var18
;
6386 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on <var_v:AbstractCompilerVisitor> */
6387 var21
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6389 RET_LABEL20
:(void)0;
6392 var_oldnode
= var19
;
6394 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_npropdef) on <var_v:AbstractCompilerVisitor> */
6395 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_npropdef
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6396 RET_LABEL22
:(void)0;
6400 abstract_compiler__MMethodDef__compile_parameter_check(self
, var_v
, var_arguments
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:MMethodDef>*/
6403 ((void (*)(val
*, val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__APropdef__compile_to_c
]))(var_npropdef
, var_v
, self
, var_arguments
) /* compile_to_c on <var_npropdef:APropdef>*/;
6406 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode) on <var_v:AbstractCompilerVisitor> */
6407 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_oldnode
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6408 RET_LABEL23
:(void)0;
6413 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
6414 var26
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
6415 if (unlikely(var26
== NULL
)) {
6416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6417 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6421 RET_LABEL25
:(void)0;
6425 { /* Inline model#MMethod#is_root_init (var24) on <var24:MProperty(MMethod)> */
6426 var29
= var24
->attrs
[COLOR_model__MMethod___is_root_init
].s
; /* _is_root_init on <var24:MProperty(MMethod)> */
6428 RET_LABEL28
:(void)0;
6433 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
6434 var32
= var_modelbuilder
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <var_modelbuilder:ModelBuilder> */
6435 if (unlikely(var32
== NULL
)) {
6436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
6437 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_class.nit", 410);
6441 RET_LABEL31
:(void)0;
6445 { /* Inline model#MPropDef#mclassdef (self) on <self:MMethodDef> */
6446 var35
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MMethodDef> */
6447 if (unlikely(var35
== NULL
)) {
6448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6449 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
6453 RET_LABEL34
:(void)0;
6457 var36
= hash_collection__HashMap___91d_93d(var30
, var33
);
6459 var_nclassdef
= var36
;
6461 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on <var_v:AbstractCompilerVisitor> */
6462 var39
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6464 RET_LABEL38
:(void)0;
6467 var_oldnode40
= var37
;
6469 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_nclassdef) on <var_v:AbstractCompilerVisitor> */
6470 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nclassdef
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6471 RET_LABEL41
:(void)0;
6475 abstract_compiler__MMethodDef__compile_parameter_check(self
, var_v
, var_arguments
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:MMethodDef>*/
6478 abstract_compiler__AClassdef__compile_to_c(var_nclassdef
, var_v
, self
, var_arguments
); /* Direct call abstract_compiler#AClassdef#compile_to_c on <var_nclassdef:AClassdef>*/
6481 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode40) on <var_v:AbstractCompilerVisitor> */
6482 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_oldnode40
; /* _current_node on <var_v:AbstractCompilerVisitor> */
6483 RET_LABEL42
:(void)0;
6488 if (var_val
== NULL
) {
6489 var44
= 0; /* is null */
6491 var44
= 1; /* arg is null and recv is not */
6494 var45
= ((short int (*)(val
*, val
*))(var_val
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_val
, var43
) /* != on <var_val:nullable Object>*/;
6499 var46
= abstract_compiler__AbstractCompilerVisitor__value_instance(var_v
, var_val
);
6502 abstract_compiler__AbstractCompilerVisitor__ret(var_v
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <var_v:AbstractCompilerVisitor>*/
6505 PRINT_ERROR("Runtime error: %s", "Aborted");
6506 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1897);
6517 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
6518 val
* VIRTUAL_abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
6519 val
* var
/* : nullable RuntimeVariable */;
6520 val
* var1
/* : nullable RuntimeVariable */;
6521 var1
= abstract_compiler__MMethodDef__compile_inside_to_c(self
, p0
, p1
);
6526 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]) */
6527 void abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
6528 short int var
/* : Bool */;
6531 const struct type
* type_struct
;
6532 const char* var_class_name
;
6533 val
* var_v
/* var v: AbstractCompilerVisitor */;
6534 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6535 val
* var1
/* : AbstractCompiler */;
6536 val
* var3
/* : AbstractCompiler */;
6537 val
* var4
/* : ModelBuilder */;
6538 val
* var6
/* : ModelBuilder */;
6539 val
* var7
/* : ToolContext */;
6540 val
* var9
/* : ToolContext */;
6541 val
* var10
/* : OptionBool */;
6542 val
* var12
/* : OptionBool */;
6543 val
* var13
/* : nullable Object */;
6544 val
* var15
/* : nullable Object */;
6545 short int var16
/* : Bool */;
6546 long var17
/* : Int */;
6547 long var_i
/* var i: Int */;
6548 val
* var18
/* : nullable MSignature */;
6549 val
* var20
/* : nullable MSignature */;
6550 long var21
/* : Int */;
6551 long var_
/* var : Int */;
6552 short int var22
/* : Bool */;
6553 short int var24
/* : Bool */;
6556 const char* var_class_name27
;
6557 short int var28
/* : Bool */;
6558 val
* var29
/* : nullable MSignature */;
6559 val
* var31
/* : nullable MSignature */;
6560 long var32
/* : Int */;
6561 long var34
/* : Int */;
6562 short int var35
/* : Bool */;
6563 short int var36
/* : Bool */;
6564 short int var38
/* : Bool */;
6565 val
* var39
/* : MProperty */;
6566 val
* var41
/* : MProperty */;
6567 val
* var42
/* : MPropDef */;
6568 val
* var44
/* : MPropDef */;
6569 val
* var45
/* : nullable MSignature */;
6570 val
* var47
/* : nullable MSignature */;
6571 val
* var48
/* : Array[MParameter] */;
6572 val
* var50
/* : Array[MParameter] */;
6573 val
* var51
/* : nullable Object */;
6574 val
* var52
/* : MType */;
6575 val
* var54
/* : MType */;
6576 val
* var_origmtype
/* var origmtype: MType */;
6577 short int var55
/* : Bool */;
6578 short int var56
/* : Bool */;
6579 val
* var57
/* : nullable MSignature */;
6580 val
* var59
/* : nullable MSignature */;
6581 val
* var60
/* : Array[MParameter] */;
6582 val
* var62
/* : Array[MParameter] */;
6583 val
* var63
/* : nullable Object */;
6584 val
* var64
/* : MType */;
6585 val
* var66
/* : MType */;
6586 val
* var_mtype
/* var mtype: MType */;
6587 static val
* varonce
;
6588 val
* var67
/* : String */;
6589 char* var68
/* : NativeString */;
6590 long var69
/* : Int */;
6591 val
* var70
/* : FlatString */;
6592 static val
* varonce71
;
6593 val
* var72
/* : String */;
6594 char* var73
/* : NativeString */;
6595 long var74
/* : Int */;
6596 val
* var75
/* : FlatString */;
6597 val
* var76
/* : nullable MSignature */;
6598 val
* var78
/* : nullable MSignature */;
6599 val
* var79
/* : Array[MParameter] */;
6600 val
* var81
/* : Array[MParameter] */;
6601 val
* var82
/* : nullable Object */;
6602 val
* var83
/* : String */;
6603 val
* var85
/* : String */;
6604 static val
* varonce86
;
6605 val
* var87
/* : String */;
6606 char* var88
/* : NativeString */;
6607 long var89
/* : Int */;
6608 val
* var90
/* : FlatString */;
6609 long var91
/* : Int */;
6610 long var92
/* : Int */;
6611 short int var94
/* : Bool */;
6614 const char* var_class_name97
;
6615 long var98
/* : Int */;
6616 val
* var99
/* : nullable Object */;
6617 val
* var100
/* : String */;
6618 static val
* varonce101
;
6619 val
* var102
/* : String */;
6620 char* var103
/* : NativeString */;
6621 long var104
/* : Int */;
6622 val
* var105
/* : FlatString */;
6623 static val
* varonce106
;
6624 val
* var107
/* : String */;
6625 char* var108
/* : NativeString */;
6626 long var109
/* : Int */;
6627 val
* var110
/* : FlatString */;
6628 val
* var111
/* : Array[Object] */;
6629 long var112
/* : Int */;
6630 val
* var113
/* : NativeArray[Object] */;
6631 val
* var114
/* : Object */;
6632 val
* var115
/* : String */;
6633 long var116
/* : Int */;
6634 long var117
/* : Int */;
6635 short int var119
/* : Bool */;
6638 const char* var_class_name122
;
6639 long var123
/* : Int */;
6640 val
* var124
/* : nullable Object */;
6641 static val
* varonce125
;
6642 val
* var126
/* : String */;
6643 char* var127
/* : NativeString */;
6644 long var128
/* : Int */;
6645 val
* var129
/* : FlatString */;
6646 long var130
/* : Int */;
6647 long var131
/* : Int */;
6648 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
6649 /* <p0:AbstractCompilerVisitor> isa VISITOR */
6650 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
6651 cltype
= type_struct
->color
;
6652 idtype
= type_struct
->id
;
6653 if(cltype
>= p0
->type
->table_size
) {
6656 var
= p0
->type
->type_table
[cltype
] == idtype
;
6658 if (unlikely(!var
)) {
6659 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6660 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6661 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1902);
6667 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
6668 var3
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
6669 if (unlikely(var3
== NULL
)) {
6670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6671 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6679 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler> */
6680 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler> */
6681 if (unlikely(var6
== NULL
)) {
6682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6683 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6691 { /* Inline modelbuilder#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
6692 var9
= var4
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
6693 if (unlikely(var9
== NULL
)) {
6694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6695 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
6703 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (var7) on <var7:ToolContext> */
6704 var12
= var7
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <var7:ToolContext> */
6705 if (unlikely(var12
== NULL
)) {
6706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
6707 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 49);
6711 RET_LABEL11
:(void)0;
6715 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
6716 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
6718 RET_LABEL14
:(void)0;
6721 var16
= ((struct instance_kernel__Bool
*)var13
)->value
; /* autounbox from nullable Object to Bool */;
6729 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
6730 var20
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
6732 RET_LABEL19
:(void)0;
6735 if (var18
== NULL
) {
6736 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6737 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1907);
6740 var21
= model__MSignature__arity(var18
);
6745 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
6746 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
6747 /* <var_:Int> isa OTHER */
6748 var24
= 1; /* easy <var_:Int> isa OTHER*/
6749 if (unlikely(!var24
)) {
6750 var_class_name27
= type_kernel__Int
.name
;
6751 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
6752 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
6755 var28
= var_i
< var_
;
6758 RET_LABEL23
:(void)0;
6763 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
6764 var31
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
6766 RET_LABEL30
:(void)0;
6769 if (var29
== NULL
) {
6770 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6771 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1909);
6774 { /* Inline model#MSignature#vararg_rank (var29) on <var29:nullable MSignature> */
6775 if (unlikely(var29
== NULL
)) {
6776 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6777 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1510);
6780 var34
= var29
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var29:nullable MSignature> */
6782 RET_LABEL33
:(void)0;
6786 { /* Inline kernel#Int#== (var32,var_i) on <var32:Int> */
6787 var38
= var32
== var_i
;
6790 RET_LABEL37
:(void)0;
6799 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
6800 var41
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
6801 if (unlikely(var41
== NULL
)) {
6802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6803 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
6807 RET_LABEL40
:(void)0;
6811 { /* Inline model#MProperty#intro (var39) on <var39:MProperty(MMethod)> */
6812 var44
= var39
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var39:MProperty(MMethod)> */
6813 if (unlikely(var44
== NULL
)) {
6814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6815 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
6819 RET_LABEL43
:(void)0;
6823 { /* Inline model#MMethodDef#msignature (var42) on <var42:MPropDef(MMethodDef)> */
6824 var47
= var42
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var42:MPropDef(MMethodDef)> */
6826 RET_LABEL46
:(void)0;
6829 if (var45
== NULL
) {
6830 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6831 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1912);
6834 { /* Inline model#MSignature#mparameters (var45) on <var45:nullable MSignature> */
6835 if (unlikely(var45
== NULL
)) {
6836 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6837 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6840 var50
= var45
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var45:nullable MSignature> */
6841 if (unlikely(var50
== NULL
)) {
6842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6843 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6847 RET_LABEL49
:(void)0;
6851 var51
= array__Array___91d_93d(var48
, var_i
);
6854 { /* Inline model#MParameter#mtype (var51) on <var51:nullable Object(MParameter)> */
6855 var54
= var51
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var51:nullable Object(MParameter)> */
6856 if (unlikely(var54
== NULL
)) {
6857 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6858 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
6862 RET_LABEL53
:(void)0;
6865 var_origmtype
= var52
;
6867 var55
= ((short int (*)(val
*))(var_origmtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_origmtype
) /* need_anchor on <var_origmtype:MType>*/;
6875 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
6876 var59
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
6878 RET_LABEL58
:(void)0;
6881 if (var57
== NULL
) {
6882 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6883 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1916);
6886 { /* Inline model#MSignature#mparameters (var57) on <var57:nullable MSignature> */
6887 if (unlikely(var57
== NULL
)) {
6888 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6889 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6892 var62
= var57
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var57:nullable MSignature> */
6893 if (unlikely(var62
== NULL
)) {
6894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6895 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6899 RET_LABEL61
:(void)0;
6903 var63
= array__Array___91d_93d(var60
, var_i
);
6906 { /* Inline model#MParameter#mtype (var63) on <var63:nullable Object(MParameter)> */
6907 var66
= var63
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var63:nullable Object(MParameter)> */
6908 if (unlikely(var66
== NULL
)) {
6909 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6910 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
6914 RET_LABEL65
:(void)0;
6921 var68
= "/* Covariant cast for argument ";
6923 var70
= string__NativeString__to_s_with_length(var68
, var69
);
6932 var75
= string__NativeString__to_s_with_length(var73
, var74
);
6937 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
6938 var78
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
6940 RET_LABEL77
:(void)0;
6943 if (var76
== NULL
) {
6944 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6945 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1920);
6948 { /* Inline model#MSignature#mparameters (var76) on <var76:nullable MSignature> */
6949 if (unlikely(var76
== NULL
)) {
6950 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6951 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6954 var81
= var76
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var76:nullable MSignature> */
6955 if (unlikely(var81
== NULL
)) {
6956 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6957 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6961 RET_LABEL80
:(void)0;
6965 var82
= array__Array___91d_93d(var79
, var_i
);
6968 { /* Inline model#MParameter#name (var82) on <var82:nullable Object(MParameter)> */
6969 var85
= var82
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var82:nullable Object(MParameter)> */
6970 if (unlikely(var85
== NULL
)) {
6971 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6972 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1562);
6976 RET_LABEL84
:(void)0;
6984 var90
= string__NativeString__to_s_with_length(var88
, var89
);
6990 { /* Inline kernel#Int#+ (var_i,var91) on <var_i:Int> */
6991 /* Covariant cast for argument 0 (i) <var91:Int> isa OTHER */
6992 /* <var91:Int> isa OTHER */
6993 var94
= 1; /* easy <var91:Int> isa OTHER*/
6994 if (unlikely(!var94
)) {
6995 var_class_name97
= type_kernel__Int
.name
;
6996 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name97
);
6997 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7000 var98
= var_i
+ var91
;
7003 RET_LABEL93
:(void)0;
7007 var99
= array__Array___91d_93d(var_arguments
, var92
);
7010 var100
= abstract_compiler__RuntimeVariable__inspect(var99
);
7013 var102
= varonce101
;
7017 var105
= string__NativeString__to_s_with_length(var103
, var104
);
7019 varonce101
= var102
;
7022 var107
= varonce106
;
7026 var110
= string__NativeString__to_s_with_length(var108
, var109
);
7028 varonce106
= var107
;
7030 var111
= NEW_array__Array(&type_array__Arraykernel__Object
);
7031 { /* var111 = array_instance Array[Object] */
7033 var113
= NEW_array__NativeArray(var112
, &type_array__NativeArraykernel__Object
);
7034 ((struct instance_array__NativeArray
*)var113
)->values
[0] = (val
*) var67
;
7035 var114
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
7036 ((struct instance_array__NativeArray
*)var113
)->values
[1] = (val
*) var114
;
7037 ((struct instance_array__NativeArray
*)var113
)->values
[2] = (val
*) var72
;
7038 ((struct instance_array__NativeArray
*)var113
)->values
[3] = (val
*) var83
;
7039 ((struct instance_array__NativeArray
*)var113
)->values
[4] = (val
*) var87
;
7040 ((struct instance_array__NativeArray
*)var113
)->values
[5] = (val
*) var100
;
7041 ((struct instance_array__NativeArray
*)var113
)->values
[6] = (val
*) var102
;
7042 ((struct instance_array__NativeArray
*)var113
)->values
[7] = (val
*) var_mtype
;
7043 ((struct instance_array__NativeArray
*)var113
)->values
[8] = (val
*) var107
;
7045 ((void (*)(val
*, val
*, long))(var111
->class->vft
[COLOR_array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
7049 var115
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
7052 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
7056 { /* Inline kernel#Int#+ (var_i,var116) on <var_i:Int> */
7057 /* Covariant cast for argument 0 (i) <var116:Int> isa OTHER */
7058 /* <var116:Int> isa OTHER */
7059 var119
= 1; /* easy <var116:Int> isa OTHER*/
7060 if (unlikely(!var119
)) {
7061 var_class_name122
= type_kernel__Int
.name
;
7062 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name122
);
7063 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7066 var123
= var_i
+ var116
;
7069 RET_LABEL118
:(void)0;
7073 var124
= array__Array___91d_93d(var_arguments
, var117
);
7076 var126
= varonce125
;
7078 var127
= "covariance";
7080 var129
= string__NativeString__to_s_with_length(var127
, var128
);
7082 varonce125
= var126
;
7085 abstract_compiler__AbstractCompilerVisitor__add_cast(var_v
, var124
, var_mtype
, var126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
7087 BREAK_label
: (void)0;
7090 var131
= kernel__Int__successor(var_i
, var130
);
7094 goto BREAK_label132
;
7097 BREAK_label132
: (void)0;
7100 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]) */
7101 void VIRTUAL_abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
7102 abstract_compiler__MMethodDef__compile_parameter_check(self
, p0
, p1
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:Object(MMethodDef)>*/
7105 /* method abstract_compiler#APropdef#compile_to_c for (self: APropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7106 void abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7107 val
* var_v
/* var v: AbstractCompilerVisitor */;
7108 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
7109 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7110 static val
* varonce
;
7111 val
* var
/* : String */;
7112 char* var1
/* : NativeString */;
7113 long var2
/* : Int */;
7114 val
* var3
/* : FlatString */;
7115 val
* var4
/* : String */;
7116 static val
* varonce5
;
7117 val
* var6
/* : String */;
7118 char* var7
/* : NativeString */;
7119 long var8
/* : Int */;
7120 val
* var9
/* : FlatString */;
7121 static val
* varonce10
;
7122 val
* var11
/* : String */;
7123 char* var12
/* : NativeString */;
7124 long var13
/* : Int */;
7125 val
* var14
/* : FlatString */;
7126 val
* var15
/* : Location */;
7127 val
* var17
/* : Location */;
7128 val
* var18
/* : String */;
7129 static val
* varonce19
;
7130 val
* var20
/* : String */;
7131 char* var21
/* : NativeString */;
7132 long var22
/* : Int */;
7133 val
* var23
/* : FlatString */;
7134 val
* var24
/* : Array[Object] */;
7135 long var25
/* : Int */;
7136 val
* var26
/* : NativeArray[Object] */;
7137 val
* var27
/* : String */;
7138 static val
* varonce28
;
7139 val
* var29
/* : String */;
7140 char* var30
/* : NativeString */;
7141 long var31
/* : Int */;
7142 val
* var32
/* : FlatString */;
7149 var1
= "PRINT_ERROR(\"NOT YET IMPLEMENTED ";
7151 var3
= string__NativeString__to_s_with_length(var1
, var2
);
7156 var4
= string__Object__class_name(self
);
7163 var9
= string__NativeString__to_s_with_length(var7
, var8
);
7172 var14
= string__NativeString__to_s_with_length(var12
, var13
);
7177 { /* Inline parser_nodes#ANode#location (self) on <self:APropdef> */
7178 var17
= self
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <self:APropdef> */
7179 if (unlikely(var17
== NULL
)) {
7180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
7181 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
7185 RET_LABEL16
:(void)0;
7189 var18
= location__Location__to_s(var15
);
7196 var23
= string__NativeString__to_s_with_length(var21
, var22
);
7200 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
7201 { /* var24 = array_instance Array[Object] */
7203 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
7204 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var
;
7205 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var4
;
7206 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var6
;
7207 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var_mpropdef
;
7208 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var11
;
7209 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var18
;
7210 ((struct instance_array__NativeArray
*)var26
)->values
[6] = (val
*) var20
;
7212 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
7216 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
7219 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
7224 var30
= "Not yet implemented";
7226 var32
= string__NativeString__to_s_with_length(var30
, var31
);
7231 parser_nodes__ANode__debug(self
, var29
); /* Direct call parser_nodes#ANode#debug on <self:APropdef>*/
7235 /* method abstract_compiler#APropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7236 void VIRTUAL_abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7237 abstract_compiler__APropdef__compile_to_c(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#APropdef#compile_to_c on <self:Object(APropdef)>*/
7240 /* method abstract_compiler#APropdef#can_inline for (self: APropdef): Bool */
7241 short int abstract_compiler__APropdef__can_inline(val
* self
) {
7242 short int var
/* : Bool */;
7243 short int var1
/* : Bool */;
7250 /* method abstract_compiler#APropdef#can_inline for (self: Object): Bool */
7251 short int VIRTUAL_abstract_compiler__APropdef__can_inline(val
* self
) {
7252 short int var
/* : Bool */;
7253 short int var1
/* : Bool */;
7254 var1
= abstract_compiler__APropdef__can_inline(self
);
7259 /* method abstract_compiler#AMethPropdef#compile_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7260 void abstract_compiler__AMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7261 val
* var_v
/* var v: AbstractCompilerVisitor */;
7262 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
7263 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7264 short int var
/* : Bool */;
7265 short int var2
/* : Bool */;
7266 val
* var3
/* : nullable Object */;
7267 val
* var4
/* : String */;
7268 val
* var_cn
/* var cn: String */;
7269 static val
* varonce
;
7270 val
* var5
/* : String */;
7271 char* var6
/* : NativeString */;
7272 long var7
/* : Int */;
7273 val
* var8
/* : FlatString */;
7274 val
* var9
/* : MProperty */;
7275 val
* var11
/* : MProperty */;
7276 val
* var12
/* : String */;
7277 val
* var14
/* : String */;
7278 val
* var15
/* : String */;
7279 static val
* varonce16
;
7280 val
* var17
/* : String */;
7281 char* var18
/* : NativeString */;
7282 long var19
/* : Int */;
7283 val
* var20
/* : FlatString */;
7284 static val
* varonce21
;
7285 val
* var22
/* : String */;
7286 char* var23
/* : NativeString */;
7287 long var24
/* : Int */;
7288 val
* var25
/* : FlatString */;
7289 val
* var26
/* : Array[Object] */;
7290 long var27
/* : Int */;
7291 val
* var28
/* : NativeArray[Object] */;
7292 val
* var29
/* : String */;
7293 val
* var30
/* : nullable Array[CallSite] */;
7294 val
* var32
/* : nullable Array[CallSite] */;
7295 val
* var_auto_super_inits
/* var auto_super_inits: nullable Array[CallSite] */;
7296 val
* var33
/* : null */;
7297 short int var34
/* : Bool */;
7298 short int var35
/* : Bool */;
7299 val
* var_other
/* var other: nullable Object */;
7300 short int var37
/* : Bool */;
7301 short int var38
/* : Bool */;
7302 short int var39
/* : Bool */;
7303 val
* var40
/* : Array[RuntimeVariable] */;
7304 long var41
/* : Int */;
7305 val
* var_
/* var : Array[RuntimeVariable] */;
7306 val
* var42
/* : nullable Object */;
7307 val
* var_args
/* var args: Array[RuntimeVariable] */;
7308 val
* var_43
/* var : Array[CallSite] */;
7309 val
* var44
/* : ArrayIterator[nullable Object] */;
7310 val
* var_45
/* var : ArrayIterator[CallSite] */;
7311 short int var46
/* : Bool */;
7312 val
* var47
/* : nullable Object */;
7313 val
* var_auto_super_init
/* var auto_super_init: CallSite */;
7314 val
* var48
/* : MMethod */;
7315 val
* var50
/* : MMethod */;
7316 val
* var51
/* : MProperty */;
7317 val
* var53
/* : MProperty */;
7318 short int var54
/* : Bool */;
7319 short int var55
/* : Bool */;
7320 short int var57
/* : Bool */;
7321 short int var58
/* : Bool */;
7322 short int var59
/* : Bool */;
7323 long var60
/* : Int */;
7324 long var_i
/* var i: Int */;
7325 val
* var61
/* : MSignature */;
7326 val
* var63
/* : MSignature */;
7327 long var64
/* : Int */;
7328 long var65
/* : Int */;
7329 long var66
/* : Int */;
7330 short int var68
/* : Bool */;
7333 const char* var_class_name
;
7334 long var69
/* : Int */;
7335 long var_70
/* var : Int */;
7336 short int var71
/* : Bool */;
7337 short int var73
/* : Bool */;
7340 const char* var_class_name76
;
7341 short int var77
/* : Bool */;
7342 val
* var78
/* : nullable Object */;
7343 long var79
/* : Int */;
7344 long var80
/* : Int */;
7345 val
* var81
/* : MMethod */;
7346 val
* var83
/* : MMethod */;
7347 val
* var84
/* : MProperty */;
7348 val
* var86
/* : MProperty */;
7349 short int var87
/* : Bool */;
7350 short int var88
/* : Bool */;
7351 short int var90
/* : Bool */;
7352 short int var91
/* : Bool */;
7353 short int var92
/* : Bool */;
7354 val
* var93
/* : nullable RuntimeVariable */;
7355 short int var96
/* : Bool */;
7356 short int var98
/* : Bool */;
7357 val
* var99
/* : nullable Object */;
7358 val
* var100
/* : MType */;
7359 val
* var102
/* : MType */;
7360 short int var103
/* : Bool */;
7363 const char* var_class_name106
;
7364 val
* var107
/* : nullable RuntimeVariable */;
7365 short int var108
/* : Bool */;
7366 short int var110
/* : Bool */;
7367 short int var111
/* : Bool */;
7368 short int var112
/* : Bool */;
7369 short int var114
/* : Bool */;
7370 val
* var115
/* : MProperty */;
7371 val
* var117
/* : MProperty */;
7372 short int var118
/* : Bool */;
7373 short int var120
/* : Bool */;
7374 short int var121
/* : Bool */;
7375 short int var122
/* : Bool */;
7376 val
* var123
/* : nullable AExpr */;
7377 val
* var125
/* : nullable AExpr */;
7378 val
* var_n_block
/* var n_block: nullable AExpr */;
7379 val
* var126
/* : null */;
7380 short int var127
/* : Bool */;
7381 short int var128
/* : Bool */;
7382 short int var130
/* : Bool */;
7383 short int var131
/* : Bool */;
7384 short int var132
/* : Bool */;
7385 long var133
/* : Int */;
7386 long var_i134
/* var i: Int */;
7387 val
* var135
/* : nullable MSignature */;
7388 val
* var137
/* : nullable MSignature */;
7389 long var138
/* : Int */;
7390 long var_139
/* var : Int */;
7391 short int var140
/* : Bool */;
7392 short int var142
/* : Bool */;
7395 const char* var_class_name145
;
7396 short int var146
/* : Bool */;
7397 val
* var147
/* : nullable ASignature */;
7398 val
* var149
/* : nullable ASignature */;
7399 val
* var150
/* : ANodes[AParam] */;
7400 val
* var152
/* : ANodes[AParam] */;
7401 val
* var153
/* : ANode */;
7402 val
* var154
/* : nullable Variable */;
7403 val
* var156
/* : nullable Variable */;
7404 val
* var_variable
/* var variable: Variable */;
7405 val
* var157
/* : RuntimeVariable */;
7406 long var158
/* : Int */;
7407 long var159
/* : Int */;
7408 short int var161
/* : Bool */;
7411 const char* var_class_name164
;
7412 long var165
/* : Int */;
7413 val
* var166
/* : nullable Object */;
7414 long var167
/* : Int */;
7415 long var168
/* : Int */;
7416 val
* var170
/* : nullable Object */;
7417 val
* var171
/* : String */;
7418 val
* var_cn172
/* var cn: String */;
7419 static val
* varonce173
;
7420 val
* var174
/* : String */;
7421 char* var175
/* : NativeString */;
7422 long var176
/* : Int */;
7423 val
* var177
/* : FlatString */;
7424 val
* var178
/* : MProperty */;
7425 val
* var180
/* : MProperty */;
7426 val
* var181
/* : String */;
7427 val
* var183
/* : String */;
7428 val
* var184
/* : String */;
7429 static val
* varonce185
;
7430 val
* var186
/* : String */;
7431 char* var187
/* : NativeString */;
7432 long var188
/* : Int */;
7433 val
* var189
/* : FlatString */;
7434 static val
* varonce190
;
7435 val
* var191
/* : String */;
7436 char* var192
/* : NativeString */;
7437 long var193
/* : Int */;
7438 val
* var194
/* : FlatString */;
7439 val
* var195
/* : Array[Object] */;
7440 long var196
/* : Int */;
7441 val
* var197
/* : NativeArray[Object] */;
7442 val
* var198
/* : String */;
7447 { /* Inline model#MMethodDef#is_abstract (var_mpropdef) on <var_mpropdef:MMethodDef> */
7448 var2
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <var_mpropdef:MMethodDef> */
7455 var3
= abstract_collection__SequenceRead__first(var_arguments
);
7458 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(var_v
, var3
) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
7464 var6
= "PRINT_ERROR(\"Runtime error: Abstract method `%s` called on `%s`\", \"";
7466 var8
= string__NativeString__to_s_with_length(var6
, var7
);
7471 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7472 var11
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7473 if (unlikely(var11
== NULL
)) {
7474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7475 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7479 RET_LABEL10
:(void)0;
7483 { /* Inline model#MProperty#name (var9) on <var9:MProperty(MMethod)> */
7484 var14
= var9
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var9:MProperty(MMethod)> */
7485 if (unlikely(var14
== NULL
)) {
7486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7487 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
7491 RET_LABEL13
:(void)0;
7495 var15
= string__Text__escape_to_c(var12
);
7502 var20
= string__NativeString__to_s_with_length(var18
, var19
);
7511 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7515 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
7516 { /* var26 = array_instance Array[Object] */
7518 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
7519 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var5
;
7520 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var15
;
7521 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var17
;
7522 ((struct instance_array__NativeArray
*)var28
)->values
[3] = (val
*) var_cn
;
7523 ((struct instance_array__NativeArray
*)var28
)->values
[4] = (val
*) var22
;
7525 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
7529 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
7532 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
7535 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(var_v
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <var_v:AbstractCompilerVisitor>*/
7541 { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on <self:AMethPropdef> */
7542 var32
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
7544 RET_LABEL31
:(void)0;
7547 var_auto_super_inits
= var30
;
7549 if (var_auto_super_inits
== NULL
) {
7550 var34
= 0; /* is null */
7552 var34
= 1; /* arg is null and recv is not */
7555 { /* Inline kernel#Object#!= (var_auto_super_inits,var33) on <var_auto_super_inits:nullable Array[CallSite]> */
7558 var38
= ((short int (*)(val
*, val
*))(var_auto_super_inits
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_auto_super_inits
, var_other
) /* == on <var_auto_super_inits:nullable Array[CallSite](Array[CallSite])>*/;
7564 RET_LABEL36
:(void)0;
7569 var40
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7572 array__Array__with_capacity(var40
, var41
); /* Direct call array#Array#with_capacity on <var40:Array[RuntimeVariable]>*/
7576 var42
= abstract_collection__SequenceRead__first(var_arguments
);
7579 array__AbstractArray__push(var_
, var42
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
7582 var_43
= var_auto_super_inits
;
7584 var44
= array__AbstractArrayRead__iterator(var_43
);
7589 var46
= array__ArrayIterator__is_ok(var_45
);
7593 var47
= array__ArrayIterator__item(var_45
);
7595 var_auto_super_init
= var47
;
7597 { /* Inline typing#CallSite#mproperty (var_auto_super_init) on <var_auto_super_init:CallSite> */
7598 var50
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_auto_super_init:CallSite> */
7599 if (unlikely(var50
== NULL
)) {
7600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7601 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
7605 RET_LABEL49
:(void)0;
7609 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7610 var53
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7611 if (unlikely(var53
== NULL
)) {
7612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7613 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7617 RET_LABEL52
:(void)0;
7621 { /* Inline kernel#Object#!= (var48,var51) on <var48:MMethod> */
7624 var58
= ((short int (*)(val
*, val
*))(var48
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var48
, var_other
) /* == on <var48:MMethod>*/;
7630 RET_LABEL56
:(void)0;
7634 if (unlikely(!var54
)) {
7635 PRINT_ERROR("Runtime error: %s", "Assert failed");
7636 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1953);
7640 array__AbstractArray__clear(var_args
); /* Direct call array#AbstractArray#clear on <var_args:Array[RuntimeVariable]>*/
7645 { /* Inline typing#CallSite#msignature (var_auto_super_init) on <var_auto_super_init:CallSite> */
7646 var63
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_auto_super_init:CallSite> */
7647 if (unlikely(var63
== NULL
)) {
7648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
7649 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 490);
7653 RET_LABEL62
:(void)0;
7657 var64
= model__MSignature__arity(var61
);
7661 { /* Inline kernel#Int#+ (var64,var65) on <var64:Int> */
7662 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
7663 /* <var65:Int> isa OTHER */
7664 var68
= 1; /* easy <var65:Int> isa OTHER*/
7665 if (unlikely(!var68
)) {
7666 var_class_name
= type_kernel__Int
.name
;
7667 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7668 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7671 var69
= var64
+ var65
;
7674 RET_LABEL67
:(void)0;
7680 { /* Inline kernel#Int#< (var_i,var_70) on <var_i:Int> */
7681 /* Covariant cast for argument 0 (i) <var_70:Int> isa OTHER */
7682 /* <var_70:Int> isa OTHER */
7683 var73
= 1; /* easy <var_70:Int> isa OTHER*/
7684 if (unlikely(!var73
)) {
7685 var_class_name76
= type_kernel__Int
.name
;
7686 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
7687 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
7690 var77
= var_i
< var_70
;
7693 RET_LABEL72
:(void)0;
7698 var78
= array__Array___91d_93d(var_arguments
, var_i
);
7701 array__Array__add(var_args
, var78
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
7705 var80
= kernel__Int__successor(var_i
, var79
);
7712 BREAK_label
: (void)0;
7714 { /* Inline typing#CallSite#mproperty (var_auto_super_init) on <var_auto_super_init:CallSite> */
7715 var83
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_auto_super_init:CallSite> */
7716 if (unlikely(var83
== NULL
)) {
7717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7718 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
7722 RET_LABEL82
:(void)0;
7726 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7727 var86
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7728 if (unlikely(var86
== NULL
)) {
7729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7730 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7734 RET_LABEL85
:(void)0;
7738 { /* Inline kernel#Object#!= (var81,var84) on <var81:MMethod> */
7741 var91
= ((short int (*)(val
*, val
*))(var81
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var81
, var_other
) /* == on <var81:MMethod>*/;
7747 RET_LABEL89
:(void)0;
7751 if (unlikely(!var87
)) {
7752 PRINT_ERROR("Runtime error: %s", "Assert failed");
7753 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1958);
7757 var93
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_auto_super_init
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
7760 array__ArrayIterator__next(var_45
); /* Direct call array#ArrayIterator#next on <var_45:ArrayIterator[CallSite]>*/
7766 BREAK_label94
: (void)0;
7768 { /* Inline abstract_collection#Iterator#finish (var_45) on <var_45:ArrayIterator[CallSite]> */
7769 RET_LABEL95
:(void)0;
7775 { /* Inline auto_super_init#AMethPropdef#auto_super_call (self) on <self:AMethPropdef> */
7776 var98
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_call
].s
; /* _auto_super_call on <self:AMethPropdef> */
7778 RET_LABEL97
:(void)0;
7783 var99
= abstract_collection__SequenceRead__first(var_arguments
);
7786 { /* Inline abstract_compiler#RuntimeVariable#mtype (var99) on <var99:nullable Object(RuntimeVariable)> */
7787 var102
= var99
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var99:nullable Object(RuntimeVariable)> */
7788 if (unlikely(var102
== NULL
)) {
7789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7790 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
7794 RET_LABEL101
:(void)0;
7797 /* <var100:MType> isa MClassType */
7798 cltype104
= type_model__MClassType
.color
;
7799 idtype105
= type_model__MClassType
.id
;
7800 if(cltype104
>= var100
->type
->table_size
) {
7803 var103
= var100
->type
->type_table
[cltype104
] == idtype105
;
7805 if (unlikely(!var103
)) {
7806 var_class_name106
= var100
== NULL ?
"null" : var100
->type
->name
;
7807 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name106
);
7808 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1963);
7812 var107
= separate_compiler__SeparateCompilerVisitor__supercall(var_v
, var_mpropdef
, var100
, var_arguments
);
7817 { /* Inline model#MMethodDef#is_intern (var_mpropdef) on <var_mpropdef:MMethodDef> */
7818 var110
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mpropdef:MMethodDef> */
7820 RET_LABEL109
:(void)0;
7825 var111
= abstract_compiler__AMethPropdef__compile_intern_to_c(self
, var_v
, var_mpropdef
, var_arguments
);
7833 { /* Inline model#MMethodDef#is_extern (var_mpropdef) on <var_mpropdef:MMethodDef> */
7834 var114
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <var_mpropdef:MMethodDef> */
7836 RET_LABEL113
:(void)0;
7841 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
7842 var117
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
7843 if (unlikely(var117
== NULL
)) {
7844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7845 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
7849 RET_LABEL116
:(void)0;
7853 { /* Inline model#MMethod#is_init (var115) on <var115:MProperty(MMethod)> */
7854 var120
= var115
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var115:MProperty(MMethod)> */
7856 RET_LABEL119
:(void)0;
7861 var121
= abstract_compiler__AMethPropdef__compile_externinit_to_c(self
, var_v
, var_mpropdef
, var_arguments
);
7869 var122
= abstract_compiler__AMethPropdef__compile_externmeth_to_c(self
, var_v
, var_mpropdef
, var_arguments
);
7880 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
7881 var125
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
7883 RET_LABEL124
:(void)0;
7886 var_n_block
= var123
;
7888 if (var_n_block
== NULL
) {
7889 var127
= 0; /* is null */
7891 var127
= 1; /* arg is null and recv is not */
7894 { /* Inline kernel#Object#!= (var_n_block,var126) on <var_n_block:nullable AExpr> */
7897 var131
= ((short int (*)(val
*, val
*))(var_n_block
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_n_block
, var_other
) /* == on <var_n_block:nullable AExpr(AExpr)>*/;
7903 RET_LABEL129
:(void)0;
7911 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
7912 var137
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
7914 RET_LABEL136
:(void)0;
7917 if (var135
== NULL
) {
7918 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7919 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1980);
7922 var138
= model__MSignature__arity(var135
);
7927 { /* Inline kernel#Int#< (var_i134,var_139) on <var_i134:Int> */
7928 /* Covariant cast for argument 0 (i) <var_139:Int> isa OTHER */
7929 /* <var_139:Int> isa OTHER */
7930 var142
= 1; /* easy <var_139:Int> isa OTHER*/
7931 if (unlikely(!var142
)) {
7932 var_class_name145
= type_kernel__Int
.name
;
7933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name145
);
7934 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
7937 var146
= var_i134
< var_139
;
7940 RET_LABEL141
:(void)0;
7945 { /* Inline parser_nodes#AMethPropdef#n_signature (self) on <self:AMethPropdef> */
7946 var149
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_signature
].val
; /* _n_signature on <self:AMethPropdef> */
7948 RET_LABEL148
:(void)0;
7951 if (var147
== NULL
) {
7952 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7953 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1981);
7956 { /* Inline parser_nodes#ASignature#n_params (var147) on <var147:nullable ASignature> */
7957 if (unlikely(var147
== NULL
)) {
7958 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7959 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
7962 var152
= var147
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var147:nullable ASignature> */
7963 if (unlikely(var152
== NULL
)) {
7964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
7965 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1279);
7969 RET_LABEL151
:(void)0;
7973 var153
= parser_nodes__ANodes___91d_93d(var150
, var_i134
);
7976 { /* Inline scope#AParam#variable (var153) on <var153:ANode(AParam)> */
7977 var156
= var153
->attrs
[COLOR_scope__AParam___variable
].val
; /* _variable on <var153:ANode(AParam)> */
7979 RET_LABEL155
:(void)0;
7982 if (unlikely(var154
== NULL
)) {
7983 PRINT_ERROR("Runtime error: %s", "Cast failed");
7984 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1981);
7987 var_variable
= var154
;
7989 var157
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var_variable
);
7993 { /* Inline kernel#Int#+ (var_i134,var158) on <var_i134:Int> */
7994 /* Covariant cast for argument 0 (i) <var158:Int> isa OTHER */
7995 /* <var158:Int> isa OTHER */
7996 var161
= 1; /* easy <var158:Int> isa OTHER*/
7997 if (unlikely(!var161
)) {
7998 var_class_name164
= type_kernel__Int
.name
;
7999 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name164
);
8000 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8003 var165
= var_i134
+ var158
;
8006 RET_LABEL160
:(void)0;
8010 var166
= array__Array___91d_93d(var_arguments
, var159
);
8013 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var157
, var166
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
8017 var168
= kernel__Int__successor(var_i134
, var167
);
8021 goto BREAK_label169
;
8024 BREAK_label169
: (void)0;
8026 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var_n_block
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
8032 var170
= abstract_collection__SequenceRead__first(var_arguments
);
8035 var171
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(var_v
, var170
) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
8039 var174
= varonce173
;
8041 var175
= "PRINT_ERROR(\"Runtime error: uncompiled method `%s` called on `%s`. NOT YET IMPLEMENTED\", \"";
8043 var177
= string__NativeString__to_s_with_length(var175
, var176
);
8045 varonce173
= var174
;
8048 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
8049 var180
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
8050 if (unlikely(var180
== NULL
)) {
8051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8052 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8056 RET_LABEL179
:(void)0;
8060 { /* Inline model#MProperty#name (var178) on <var178:MProperty(MMethod)> */
8061 var183
= var178
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var178:MProperty(MMethod)> */
8062 if (unlikely(var183
== NULL
)) {
8063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8064 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
8068 RET_LABEL182
:(void)0;
8072 var184
= string__Text__escape_to_c(var181
);
8075 var186
= varonce185
;
8079 var189
= string__NativeString__to_s_with_length(var187
, var188
);
8081 varonce185
= var186
;
8084 var191
= varonce190
;
8088 var194
= string__NativeString__to_s_with_length(var192
, var193
);
8090 varonce190
= var191
;
8092 var195
= NEW_array__Array(&type_array__Arraykernel__Object
);
8093 { /* var195 = array_instance Array[Object] */
8095 var197
= NEW_array__NativeArray(var196
, &type_array__NativeArraykernel__Object
);
8096 ((struct instance_array__NativeArray
*)var197
)->values
[0] = (val
*) var174
;
8097 ((struct instance_array__NativeArray
*)var197
)->values
[1] = (val
*) var184
;
8098 ((struct instance_array__NativeArray
*)var197
)->values
[2] = (val
*) var186
;
8099 ((struct instance_array__NativeArray
*)var197
)->values
[3] = (val
*) var_cn172
;
8100 ((struct instance_array__NativeArray
*)var197
)->values
[4] = (val
*) var191
;
8102 ((void (*)(val
*, val
*, long))(var195
->class->vft
[COLOR_array__Array__with_native
]))(var195
, var197
, var196
) /* with_native on <var195:Array[Object]>*/;
8106 var198
= ((val
* (*)(val
*))(var195
->class->vft
[COLOR_string__Object__to_s
]))(var195
) /* to_s on <var195:Array[Object]>*/;
8109 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var198
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
8112 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(var_v
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <var_v:AbstractCompilerVisitor>*/
8116 /* method abstract_compiler#AMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
8117 void VIRTUAL_abstract_compiler__AMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8118 abstract_compiler__AMethPropdef__compile_to_c(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AMethPropdef#compile_to_c on <self:Object(AMethPropdef)>*/
8121 /* method abstract_compiler#AMethPropdef#can_inline for (self: AMethPropdef): Bool */
8122 short int abstract_compiler__AMethPropdef__can_inline(val
* self
) {
8123 short int var
/* : Bool */;
8124 val
* var1
/* : nullable Array[CallSite] */;
8125 val
* var3
/* : nullable Array[CallSite] */;
8126 val
* var4
/* : null */;
8127 short int var5
/* : Bool */;
8128 short int var6
/* : Bool */;
8129 val
* var_other
/* var other: nullable Object */;
8130 short int var8
/* : Bool */;
8131 short int var9
/* : Bool */;
8132 short int var10
/* : Bool */;
8133 short int var11
/* : Bool */;
8134 val
* var12
/* : nullable AExpr */;
8135 val
* var14
/* : nullable AExpr */;
8136 val
* var_nblock
/* var nblock: nullable AExpr */;
8137 val
* var15
/* : null */;
8138 short int var16
/* : Bool */;
8139 short int var17
/* : Bool */;
8140 val
* var_other19
/* var other: nullable Object */;
8141 short int var20
/* : Bool */;
8142 short int var22
/* : Bool */;
8143 short int var23
/* : Bool */;
8144 short int var24
/* : Bool */;
8145 short int var25
/* : Bool */;
8146 val
* var26
/* : nullable MPropDef */;
8147 val
* var28
/* : nullable MPropDef */;
8148 val
* var29
/* : MProperty */;
8149 val
* var31
/* : MProperty */;
8150 val
* var32
/* : String */;
8151 val
* var34
/* : String */;
8152 static val
* varonce
;
8153 val
* var35
/* : String */;
8154 char* var36
/* : NativeString */;
8155 long var37
/* : Int */;
8156 val
* var38
/* : FlatString */;
8157 short int var39
/* : Bool */;
8158 short int var40
/* : Bool */;
8159 short int var_
/* var : Bool */;
8160 val
* var41
/* : nullable MPropDef */;
8161 val
* var43
/* : nullable MPropDef */;
8162 val
* var44
/* : MProperty */;
8163 val
* var46
/* : MProperty */;
8164 val
* var47
/* : String */;
8165 val
* var49
/* : String */;
8166 static val
* varonce50
;
8167 val
* var51
/* : String */;
8168 char* var52
/* : NativeString */;
8169 long var53
/* : Int */;
8170 val
* var54
/* : FlatString */;
8171 short int var55
/* : Bool */;
8172 short int var56
/* : Bool */;
8173 short int var_57
/* var : Bool */;
8174 val
* var58
/* : nullable MPropDef */;
8175 val
* var60
/* : nullable MPropDef */;
8176 val
* var61
/* : MClassDef */;
8177 val
* var63
/* : MClassDef */;
8178 val
* var64
/* : MClass */;
8179 val
* var66
/* : MClass */;
8180 val
* var67
/* : String */;
8181 val
* var69
/* : String */;
8182 static val
* varonce70
;
8183 val
* var71
/* : String */;
8184 char* var72
/* : NativeString */;
8185 long var73
/* : Int */;
8186 val
* var74
/* : FlatString */;
8187 short int var75
/* : Bool */;
8188 short int var76
/* : Bool */;
8189 short int var77
/* : Bool */;
8190 short int var78
/* : Bool */;
8191 short int var79
/* : Bool */;
8194 short int var_80
/* var : Bool */;
8195 val
* var81
/* : ANodes[AExpr] */;
8196 val
* var83
/* : ANodes[AExpr] */;
8197 long var84
/* : Int */;
8198 long var85
/* : Int */;
8199 short int var86
/* : Bool */;
8200 short int var87
/* : Bool */;
8201 short int var89
/* : Bool */;
8202 short int var90
/* : Bool */;
8203 short int var91
/* : Bool */;
8205 { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on <self:AMethPropdef> */
8206 var3
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
8213 var5
= 0; /* is null */
8215 var5
= 1; /* arg is null and recv is not */
8218 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable Array[CallSite]> */
8221 var9
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable Array[CallSite](Array[CallSite])>*/;
8238 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
8239 var14
= self
->attrs
[COLOR_parser_nodes__AMethPropdef___n_block
].val
; /* _n_block on <self:AMethPropdef> */
8241 RET_LABEL13
:(void)0;
8246 if (var_nblock
== NULL
) {
8247 var16
= 1; /* is null */
8249 var16
= 0; /* arg is null but recv is not */
8252 { /* Inline kernel#Object#== (var_nblock,var15) on <var_nblock:nullable AExpr> */
8253 var_other19
= var15
;
8255 { /* Inline kernel#Object#is_same_instance (var_nblock,var_other19) on <var_nblock:nullable AExpr(AExpr)> */
8256 var22
= var_nblock
== var_other19
;
8259 RET_LABEL21
:(void)0;
8264 RET_LABEL18
:(void)0;
8275 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
8276 var28
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
8278 RET_LABEL27
:(void)0;
8281 if (var26
== NULL
) {
8282 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8283 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1999);
8286 { /* Inline model#MPropDef#mproperty (var26) on <var26:nullable MPropDef(nullable MMethodDef)> */
8287 if (unlikely(var26
== NULL
)) {
8288 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8289 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8292 var31
= var26
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var26:nullable MPropDef(nullable MMethodDef)> */
8293 if (unlikely(var31
== NULL
)) {
8294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8295 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8299 RET_LABEL30
:(void)0;
8303 { /* Inline model#MProperty#name (var29) on <var29:MProperty(MMethod)> */
8304 var34
= var29
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var29:MProperty(MMethod)> */
8305 if (unlikely(var34
== NULL
)) {
8306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8307 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
8311 RET_LABEL33
:(void)0;
8319 var38
= string__NativeString__to_s_with_length(var36
, var37
);
8324 var40
= string__FlatString___61d_61d(var32
, var35
);
8332 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
8333 var43
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
8335 RET_LABEL42
:(void)0;
8338 if (var41
== NULL
) {
8339 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8340 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1999);
8343 { /* Inline model#MPropDef#mproperty (var41) on <var41:nullable MPropDef(nullable MMethodDef)> */
8344 if (unlikely(var41
== NULL
)) {
8345 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8346 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8349 var46
= var41
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var41:nullable MPropDef(nullable MMethodDef)> */
8350 if (unlikely(var46
== NULL
)) {
8351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
8352 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8356 RET_LABEL45
:(void)0;
8360 { /* Inline model#MProperty#name (var44) on <var44:MProperty(MMethod)> */
8361 var49
= var44
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var44:MProperty(MMethod)> */
8362 if (unlikely(var49
== NULL
)) {
8363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8364 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1620);
8368 RET_LABEL48
:(void)0;
8376 var54
= string__NativeString__to_s_with_length(var52
, var53
);
8381 var56
= string__FlatString___61d_61d(var47
, var51
);
8389 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
8390 var60
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
8392 RET_LABEL59
:(void)0;
8395 if (var58
== NULL
) {
8396 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8397 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1999);
8400 { /* Inline model#MPropDef#mclassdef (var58) on <var58:nullable MPropDef(nullable MMethodDef)> */
8401 if (unlikely(var58
== NULL
)) {
8402 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8403 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8406 var63
= var58
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var58:nullable MPropDef(nullable MMethodDef)> */
8407 if (unlikely(var63
== NULL
)) {
8408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8409 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8413 RET_LABEL62
:(void)0;
8417 { /* Inline model#MClassDef#mclass (var61) on <var61:MClassDef> */
8418 var66
= var61
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var61:MClassDef> */
8419 if (unlikely(var66
== NULL
)) {
8420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8421 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
8425 RET_LABEL65
:(void)0;
8429 { /* Inline model#MClass#name (var64) on <var64:MClass> */
8430 var69
= var64
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var64:MClass> */
8431 if (unlikely(var69
== NULL
)) {
8432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8433 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
8437 RET_LABEL68
:(void)0;
8445 var74
= string__NativeString__to_s_with_length(var72
, var73
);
8450 var76
= string__FlatString___61d_61d(var67
, var71
);
8463 /* <var_nblock:nullable AExpr(AExpr)> isa ABlockExpr */
8464 cltype
= type_parser_nodes__ABlockExpr
.color
;
8465 idtype
= type_parser_nodes__ABlockExpr
.id
;
8466 if(cltype
>= var_nblock
->type
->table_size
) {
8469 var79
= var_nblock
->type
->type_table
[cltype
] == idtype
;
8474 { /* Inline parser_nodes#ABlockExpr#n_expr (var_nblock) on <var_nblock:nullable AExpr(ABlockExpr)> */
8475 var83
= var_nblock
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <var_nblock:nullable AExpr(ABlockExpr)> */
8476 if (unlikely(var83
== NULL
)) {
8477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
8478 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1321);
8482 RET_LABEL82
:(void)0;
8486 var84
= parser_nodes__ANodes__length(var81
);
8490 { /* Inline kernel#Int#== (var84,var85) on <var84:Int> */
8491 var89
= var84
== var85
;
8494 RET_LABEL88
:(void)0;
8514 /* method abstract_compiler#AMethPropdef#can_inline for (self: Object): Bool */
8515 short int VIRTUAL_abstract_compiler__AMethPropdef__can_inline(val
* self
) {
8516 short int var
/* : Bool */;
8517 short int var1
/* : Bool */;
8518 var1
= abstract_compiler__AMethPropdef__can_inline(self
);