1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, String) */
3 void abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
4 val
* var_file
/* var file: String */;
6 val
* var
/* : String */;
7 char* var1
/* : NativeString */;
9 val
* var3
/* : FlatString */;
10 val
* var4
/* : String */;
12 val
* var6
/* : String */;
13 char* var7
/* : NativeString */;
14 long var8
/* : Int */;
15 val
* var9
/* : FlatString */;
16 val
* var10
/* : String */;
17 val
* var_tryfile
/* var tryfile: String */;
18 short int var11
/* : Bool */;
19 static val
* varonce12
;
20 val
* var13
/* : String */;
21 char* var14
/* : NativeString */;
22 long var15
/* : Int */;
23 val
* var16
/* : FlatString */;
24 static val
* varonce17
;
25 val
* var18
/* : String */;
26 char* var19
/* : NativeString */;
27 long var20
/* : Int */;
28 val
* var21
/* : FlatString */;
29 val
* var22
/* : String */;
30 static val
* varonce23
;
31 val
* var24
/* : String */;
32 char* var25
/* : NativeString */;
33 long var26
/* : Int */;
34 val
* var27
/* : FlatString */;
35 val
* var28
/* : Array[Object] */;
36 long var29
/* : Int */;
37 val
* var30
/* : NativeArray[Object] */;
38 val
* var31
/* : String */;
39 val
* var32
/* : AbstractCompiler */;
40 val
* var34
/* : AbstractCompiler */;
41 val
* var35
/* : Array[String] */;
42 val
* var37
/* : Array[String] */;
43 static val
* varonce38
;
44 val
* var39
/* : String */;
45 char* var40
/* : NativeString */;
46 long var41
/* : Int */;
47 val
* var42
/* : FlatString */;
48 val
* var43
/* : String */;
49 short int var44
/* : Bool */;
50 static val
* varonce45
;
51 val
* var46
/* : String */;
52 char* var47
/* : NativeString */;
53 long var48
/* : Int */;
54 val
* var49
/* : FlatString */;
55 static val
* varonce50
;
56 val
* var51
/* : String */;
57 char* var52
/* : NativeString */;
58 long var53
/* : Int */;
59 val
* var54
/* : FlatString */;
60 val
* var55
/* : String */;
61 static val
* varonce56
;
62 val
* var57
/* : String */;
63 char* var58
/* : NativeString */;
64 long var59
/* : Int */;
65 val
* var60
/* : FlatString */;
66 val
* var61
/* : Array[Object] */;
67 long var62
/* : Int */;
68 val
* var63
/* : NativeArray[Object] */;
69 val
* var64
/* : String */;
70 val
* var65
/* : AbstractCompiler */;
71 val
* var67
/* : AbstractCompiler */;
72 val
* var68
/* : Array[String] */;
73 val
* var70
/* : Array[String] */;
74 val
* var71
/* : AbstractCompiler */;
75 val
* var73
/* : AbstractCompiler */;
76 val
* var74
/* : ArraySet[String] */;
77 val
* var76
/* : ArraySet[String] */;
78 short int var77
/* : Bool */;
79 val
* var78
/* : AbstractCompiler */;
80 val
* var80
/* : AbstractCompiler */;
81 val
* var81
/* : ArraySet[String] */;
82 val
* var83
/* : ArraySet[String] */;
83 static val
* varonce84
;
84 val
* var85
/* : String */;
85 char* var86
/* : NativeString */;
86 long var87
/* : Int */;
87 val
* var88
/* : FlatString */;
88 val
* var89
/* : String */;
89 short int var90
/* : Bool */;
90 short int var91
/* : Bool */;
91 static val
* varonce92
;
92 val
* var93
/* : String */;
93 char* var94
/* : NativeString */;
94 long var95
/* : Int */;
95 val
* var96
/* : FlatString */;
96 val
* var97
/* : String */;
97 short int var98
/* : Bool */;
98 short int var99
/* : Bool */;
99 val
* var100
/* : ExternCFile */;
100 static val
* varonce101
;
101 val
* var102
/* : String */;
102 char* var103
/* : NativeString */;
103 long var104
/* : Int */;
104 val
* var105
/* : FlatString */;
105 val
* var106
/* : String */;
106 static val
* varonce107
;
107 val
* var108
/* : String */;
108 char* var109
/* : NativeString */;
109 long var110
/* : Int */;
110 val
* var111
/* : FlatString */;
111 val
* var_f
/* var f: ExternCFile */;
112 val
* var112
/* : AbstractCompiler */;
113 val
* var114
/* : AbstractCompiler */;
114 val
* var115
/* : Array[ExternFile] */;
115 val
* var117
/* : Array[ExternFile] */;
116 val
* var118
/* : AbstractCompiler */;
117 val
* var120
/* : AbstractCompiler */;
118 val
* var121
/* : Array[String] */;
119 val
* var123
/* : Array[String] */;
126 var3
= string__NativeString__to_s_with_length(var1
, var2
);
131 var4
= file__String__strip_extension(var_file
, var
);
139 var9
= string__NativeString__to_s_with_length(var7
, var8
);
144 var10
= string__FlatString___43d(var_file
, var6
);
148 var11
= file__String__file_exists(var_tryfile
);
154 var14
= "#include \"";
156 var16
= string__NativeString__to_s_with_length(var14
, var15
);
165 var21
= string__NativeString__to_s_with_length(var19
, var20
);
170 var22
= file__String__basename(var_tryfile
, var18
);
177 var27
= string__NativeString__to_s_with_length(var25
, var26
);
181 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
182 { /* var28 = array_instance Array[Object] */
184 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
185 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var13
;
186 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var22
;
187 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
189 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
193 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
196 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:AbstractCompilerVisitor>*/
199 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
200 var34
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
201 if (unlikely(var34
== NULL
)) {
202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
203 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
211 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var32) on <var32:AbstractCompiler> */
212 var37
= var32
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var32:AbstractCompiler> */
213 if (unlikely(var37
== NULL
)) {
214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
215 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 850);
223 array__Array__add(var35
, var_tryfile
); /* Direct call array#Array#add on <var35:Array[String]>*/
232 var42
= string__NativeString__to_s_with_length(var40
, var41
);
237 var43
= string__FlatString___43d(var_file
, var39
);
241 var44
= file__String__file_exists(var_tryfile
);
247 var47
= "#include \"";
249 var49
= string__NativeString__to_s_with_length(var47
, var48
);
258 var54
= string__NativeString__to_s_with_length(var52
, var53
);
263 var55
= file__String__basename(var_tryfile
, var51
);
270 var60
= string__NativeString__to_s_with_length(var58
, var59
);
274 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
275 { /* var61 = array_instance Array[Object] */
277 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
278 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var46
;
279 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var55
;
280 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
282 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
286 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
289 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:AbstractCompilerVisitor>*/
292 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
293 var67
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
294 if (unlikely(var67
== NULL
)) {
295 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
296 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
304 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var65) on <var65:AbstractCompiler> */
305 var70
= var65
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var65:AbstractCompiler> */
306 if (unlikely(var70
== NULL
)) {
307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
308 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 850);
316 array__Array__add(var68
, var_tryfile
); /* Direct call array#Array#add on <var68:Array[String]>*/
321 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
322 var73
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
323 if (unlikely(var73
== NULL
)) {
324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
325 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
333 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (var71) on <var71:AbstractCompiler> */
334 var76
= var71
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <var71:AbstractCompiler> */
335 if (unlikely(var76
== NULL
)) {
336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
337 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 853);
345 var77
= array__ArraySet__has(var74
, var_file
);
352 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
353 var80
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
354 if (unlikely(var80
== NULL
)) {
355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
356 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
364 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (var78) on <var78:AbstractCompiler> */
365 var83
= var78
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <var78:AbstractCompiler> */
366 if (unlikely(var83
== NULL
)) {
367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
368 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 853);
376 array__ArraySet__add(var81
, var_file
); /* Direct call array#ArraySet#add on <var81:ArraySet[String]>*/
383 var88
= string__NativeString__to_s_with_length(var86
, var87
);
388 var89
= string__FlatString___43d(var_file
, var85
);
392 var90
= file__String__file_exists(var_tryfile
);
401 var96
= string__NativeString__to_s_with_length(var94
, var95
);
406 var97
= string__FlatString___43d(var_file
, var93
);
410 var98
= file__String__file_exists(var_tryfile
);
419 var100
= NEW_c_tools__ExternCFile(&type_c_tools__ExternCFile
);
425 var105
= string__NativeString__to_s_with_length(var103
, var104
);
430 var106
= file__String__basename(var_tryfile
, var102
);
437 var111
= string__NativeString__to_s_with_length(var109
, var110
);
442 c_tools__ExternCFile__init(var100
, var106
, var108
); /* Direct call c_tools#ExternCFile#init on <var100:ExternCFile>*/
446 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
447 var114
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
448 if (unlikely(var114
== NULL
)) {
449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
450 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
454 RET_LABEL113
:(void)0;
458 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var112) on <var112:AbstractCompiler> */
459 var117
= var112
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var112:AbstractCompiler> */
460 if (unlikely(var117
== NULL
)) {
461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
462 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 847);
466 RET_LABEL116
:(void)0;
470 array__Array__add(var115
, var_f
); /* Direct call array#Array#add on <var115:Array[ExternFile]>*/
473 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
474 var120
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
475 if (unlikely(var120
== NULL
)) {
476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
477 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
481 RET_LABEL119
:(void)0;
485 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var118) on <var118:AbstractCompiler> */
486 var123
= var118
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var118:AbstractCompiler> */
487 if (unlikely(var123
== NULL
)) {
488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
489 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 850);
493 RET_LABEL122
:(void)0;
497 array__Array__add(var121
, var_tryfile
); /* Direct call array#Array#add on <var121:Array[String]>*/
501 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: Object, String) */
502 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
503 abstract_compiler__AbstractCompilerVisitor__add_extern(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_extern on <self:Object(AbstractCompilerVisitor)>*/
506 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: AbstractCompilerVisitor, String, MType): RuntimeVariable */
507 val
* abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
508 val
* var
/* : RuntimeVariable */;
509 val
* var_cexpr
/* var cexpr: String */;
510 val
* var_mtype
/* var mtype: MType */;
511 val
* var1
/* : RuntimeVariable */;
512 val
* var_res
/* var res: RuntimeVariable */;
514 val
* var2
/* : String */;
515 char* var3
/* : NativeString */;
516 long var4
/* : Int */;
517 val
* var5
/* : FlatString */;
518 static val
* varonce6
;
519 val
* var7
/* : String */;
520 char* var8
/* : NativeString */;
521 long var9
/* : Int */;
522 val
* var10
/* : FlatString */;
523 val
* var11
/* : Array[Object] */;
524 long var12
/* : Int */;
525 val
* var13
/* : NativeArray[Object] */;
526 val
* var14
/* : String */;
530 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
538 var5
= string__NativeString__to_s_with_length(var3
, var4
);
547 var10
= string__NativeString__to_s_with_length(var8
, var9
);
551 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
552 { /* var11 = array_instance Array[Object] */
554 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
555 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_res
;
556 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
557 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_cexpr
;
558 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
560 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
564 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
567 abstract_compiler__AbstractCompilerVisitor__add(self
, var14
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
574 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: Object, String, MType): RuntimeVariable */
575 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
576 val
* var
/* : RuntimeVariable */;
577 val
* var1
/* : RuntimeVariable */;
578 var1
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, p0
, p1
);
583 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */
584 void abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
585 val
* var_message
/* var message: String */;
587 val
* var
/* : String */;
588 char* var1
/* : NativeString */;
589 long var2
/* : Int */;
590 val
* var3
/* : FlatString */;
591 val
* var4
/* : String */;
592 static val
* varonce5
;
593 val
* var6
/* : String */;
594 char* var7
/* : NativeString */;
595 long var8
/* : Int */;
596 val
* var9
/* : FlatString */;
597 val
* var10
/* : Array[Object] */;
598 long var11
/* : Int */;
599 val
* var12
/* : NativeArray[Object] */;
600 val
* var13
/* : String */;
605 var1
= "PRINT_ERROR(\"Runtime error: %s\", \"";
607 var3
= string__NativeString__to_s_with_length(var1
, var2
);
612 var4
= string__Text__escape_to_c(var_message
);
619 var9
= string__NativeString__to_s_with_length(var7
, var8
);
623 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
624 { /* var10 = array_instance Array[Object] */
626 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
627 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var
;
628 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var4
;
629 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
631 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
635 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
638 abstract_compiler__AbstractCompilerVisitor__add(self
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
641 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:AbstractCompilerVisitor>*/
645 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: Object, String) */
646 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
647 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:Object(AbstractCompilerVisitor)>*/
650 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: AbstractCompilerVisitor) */
651 void abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
652 short int var
/* : Bool */;
653 val
* var1
/* : nullable ANode */;
654 val
* var3
/* : nullable ANode */;
655 val
* var4
/* : null */;
656 short int var5
/* : Bool */;
657 short int var6
/* : Bool */;
658 val
* var_other
/* var other: nullable Object */;
659 short int var8
/* : Bool */;
660 short int var9
/* : Bool */;
661 short int var10
/* : Bool */;
662 short int var_
/* var : Bool */;
663 val
* var11
/* : nullable ANode */;
664 val
* var13
/* : nullable ANode */;
665 val
* var14
/* : Location */;
666 val
* var15
/* : nullable SourceFile */;
667 val
* var17
/* : nullable SourceFile */;
668 val
* var18
/* : null */;
669 short int var19
/* : Bool */;
670 short int var20
/* : Bool */;
671 short int var22
/* : Bool */;
672 short int var23
/* : Bool */;
673 short int var24
/* : Bool */;
675 val
* var25
/* : String */;
676 char* var26
/* : NativeString */;
677 long var27
/* : Int */;
678 val
* var28
/* : FlatString */;
679 val
* var29
/* : nullable ANode */;
680 val
* var31
/* : nullable ANode */;
681 val
* var32
/* : Location */;
682 val
* var33
/* : nullable SourceFile */;
683 val
* var35
/* : nullable SourceFile */;
684 val
* var36
/* : String */;
685 val
* var38
/* : String */;
686 val
* var39
/* : String */;
687 static val
* varonce40
;
688 val
* var41
/* : String */;
689 char* var42
/* : NativeString */;
690 long var43
/* : Int */;
691 val
* var44
/* : FlatString */;
692 val
* var45
/* : nullable ANode */;
693 val
* var47
/* : nullable ANode */;
694 val
* var48
/* : Location */;
695 long var49
/* : Int */;
696 long var51
/* : Int */;
697 static val
* varonce52
;
698 val
* var53
/* : String */;
699 char* var54
/* : NativeString */;
700 long var55
/* : Int */;
701 val
* var56
/* : FlatString */;
702 val
* var57
/* : Array[Object] */;
703 long var58
/* : Int */;
704 val
* var59
/* : NativeArray[Object] */;
705 val
* var60
/* : Object */;
706 val
* var61
/* : String */;
707 static val
* varonce62
;
708 val
* var63
/* : String */;
709 char* var64
/* : NativeString */;
710 long var65
/* : Int */;
711 val
* var66
/* : FlatString */;
712 static val
* varonce67
;
713 val
* var68
/* : String */;
714 char* var69
/* : NativeString */;
715 long var70
/* : Int */;
716 val
* var71
/* : FlatString */;
718 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
719 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
726 var5
= 0; /* is null */
728 var5
= 1; /* arg is null and recv is not */
731 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable ANode> */
734 var9
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable ANode(ANode)>*/;
747 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
748 var13
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
754 PRINT_ERROR("Runtime error: %s", "Receiver is null");
755 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1368);
758 var14
= parser_nodes__ANode__location(var11
);
761 { /* Inline location#Location#file (var14) on <var14:Location> */
762 var17
= var14
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var14:Location> */
769 var19
= 0; /* is null */
771 var19
= 1; /* arg is null and recv is not */
774 { /* Inline kernel#Object#!= (var15,var18) on <var15:nullable SourceFile> */
777 var23
= ((short int (*)(val
*, val
*))(var15
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var15
, var_other
) /* == on <var15:nullable SourceFile(SourceFile)>*/;
795 var26
= "PRINT_ERROR(\" (%s:%d)\\n\", \"";
797 var28
= string__NativeString__to_s_with_length(var26
, var27
);
802 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
803 var31
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
809 PRINT_ERROR("Runtime error: %s", "Receiver is null");
810 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1369);
813 var32
= parser_nodes__ANode__location(var29
);
816 { /* Inline location#Location#file (var32) on <var32:Location> */
817 var35
= var32
->attrs
[COLOR_location__Location___file
].val
; /* _file on <var32:Location> */
823 PRINT_ERROR("Runtime error: %s", "Receiver is null");
824 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1369);
827 { /* Inline location#SourceFile#filename (var33) on <var33:nullable SourceFile> */
828 if (unlikely(var33
== NULL
)) {
829 PRINT_ERROR("Runtime error: %s", "Receiver is null");
830 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
833 var38
= var33
->attrs
[COLOR_location__SourceFile___filename
].val
; /* _filename on <var33:nullable SourceFile> */
834 if (unlikely(var38
== NULL
)) {
835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
836 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
844 var39
= string__Text__escape_to_c(var36
);
851 var44
= string__NativeString__to_s_with_length(var42
, var43
);
856 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
857 var47
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
863 PRINT_ERROR("Runtime error: %s", "Receiver is null");
864 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1369);
867 var48
= parser_nodes__ANode__location(var45
);
870 { /* Inline location#Location#line_start (var48) on <var48:Location> */
871 var51
= var48
->attrs
[COLOR_location__Location___line_start
].l
; /* _line_start on <var48:Location> */
881 var56
= string__NativeString__to_s_with_length(var54
, var55
);
885 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
886 { /* var57 = array_instance Array[Object] */
888 var59
= NEW_array__NativeArray(var58
, &type_array__NativeArraykernel__Object
);
889 ((struct instance_array__NativeArray
*)var59
)->values
[0] = (val
*) var25
;
890 ((struct instance_array__NativeArray
*)var59
)->values
[1] = (val
*) var39
;
891 ((struct instance_array__NativeArray
*)var59
)->values
[2] = (val
*) var41
;
892 var60
= BOX_kernel__Int(var49
); /* autobox from Int to Object */
893 ((struct instance_array__NativeArray
*)var59
)->values
[3] = (val
*) var60
;
894 ((struct instance_array__NativeArray
*)var59
)->values
[4] = (val
*) var53
;
896 ((void (*)(val
*, val
*, long))(var57
->class->vft
[COLOR_array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
900 var61
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
903 abstract_compiler__AbstractCompilerVisitor__add(self
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
909 var64
= "PRINT_ERROR(\"\\n\");";
911 var66
= string__NativeString__to_s_with_length(var64
, var65
);
916 abstract_compiler__AbstractCompilerVisitor__add(self
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
922 var69
= "show_backtrace(1);";
924 var71
= string__NativeString__to_s_with_length(var69
, var70
);
929 abstract_compiler__AbstractCompilerVisitor__add(self
, var68
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
933 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: Object) */
934 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
935 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:Object(AbstractCompilerVisitor)>*/
938 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String) */
939 void abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
940 val
* var_value
/* var value: RuntimeVariable */;
941 val
* var_mtype
/* var mtype: MType */;
942 val
* var_tag
/* var tag: String */;
943 val
* var
/* : RuntimeVariable */;
944 val
* var_res
/* var res: RuntimeVariable */;
946 val
* var1
/* : String */;
947 char* var2
/* : NativeString */;
948 long var3
/* : Int */;
949 val
* var4
/* : FlatString */;
950 static val
* varonce5
;
951 val
* var6
/* : String */;
952 char* var7
/* : NativeString */;
953 long var8
/* : Int */;
954 val
* var9
/* : FlatString */;
955 val
* var10
/* : Array[Object] */;
956 long var11
/* : Int */;
957 val
* var12
/* : NativeArray[Object] */;
958 val
* var13
/* : String */;
959 val
* var14
/* : String */;
960 val
* var_cn
/* var cn: String */;
961 static val
* varonce15
;
962 val
* var16
/* : String */;
963 char* var17
/* : NativeString */;
964 long var18
/* : Int */;
965 val
* var19
/* : FlatString */;
966 val
* var20
/* : String */;
967 val
* var21
/* : String */;
968 static val
* varonce22
;
969 val
* var23
/* : String */;
970 char* var24
/* : NativeString */;
971 long var25
/* : Int */;
972 val
* var26
/* : FlatString */;
973 static val
* varonce27
;
974 val
* var28
/* : String */;
975 char* var29
/* : NativeString */;
976 long var30
/* : Int */;
977 val
* var31
/* : FlatString */;
978 val
* var32
/* : Array[Object] */;
979 long var33
/* : Int */;
980 val
* var34
/* : NativeArray[Object] */;
981 val
* var35
/* : String */;
982 static val
* varonce36
;
983 val
* var37
/* : String */;
984 char* var38
/* : NativeString */;
985 long var39
/* : Int */;
986 val
* var40
/* : FlatString */;
991 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>*/;
997 var2
= "if (unlikely(!";
999 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1008 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1012 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1013 { /* var10 = array_instance Array[Object] */
1015 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
1016 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var1
;
1017 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var_res
;
1018 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
1020 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
1024 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
1027 abstract_compiler__AbstractCompilerVisitor__add(self
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1030 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(self
, var_value
) /* class_name_string on <self:AbstractCompilerVisitor>*/;
1036 var17
= "PRINT_ERROR(\"Runtime error: Cast failed. Expected `%s`, got `%s`\", \"";
1038 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1043 var20
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
1046 var21
= string__Text__escape_to_c(var20
);
1053 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1062 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1066 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
1067 { /* var32 = array_instance Array[Object] */
1069 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
1070 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var16
;
1071 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
1072 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
1073 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_cn
;
1074 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
1076 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
1080 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
1083 abstract_compiler__AbstractCompilerVisitor__add(self
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1086 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <self:AbstractCompilerVisitor>*/
1093 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1098 abstract_compiler__AbstractCompilerVisitor__add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1102 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: Object, RuntimeVariable, MType, String) */
1103 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1104 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <self:Object(AbstractCompilerVisitor)>*/
1107 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: AbstractCompilerVisitor, RuntimeVariable) */
1108 void abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
1109 val
* var_s
/* var s: RuntimeVariable */;
1110 val
* var
/* : nullable Frame */;
1111 val
* var2
/* : nullable Frame */;
1112 val
* var3
/* : nullable RuntimeVariable */;
1113 val
* var5
/* : nullable RuntimeVariable */;
1114 static val
* varonce
;
1115 val
* var6
/* : String */;
1116 char* var7
/* : NativeString */;
1117 long var8
/* : Int */;
1118 val
* var9
/* : FlatString */;
1119 val
* var10
/* : nullable Frame */;
1120 val
* var12
/* : nullable Frame */;
1121 val
* var13
/* : nullable String */;
1122 val
* var15
/* : nullable String */;
1123 static val
* varonce16
;
1124 val
* var17
/* : String */;
1125 char* var18
/* : NativeString */;
1126 long var19
/* : Int */;
1127 val
* var20
/* : FlatString */;
1128 val
* var21
/* : Array[Object] */;
1129 long var22
/* : Int */;
1130 val
* var23
/* : NativeArray[Object] */;
1131 val
* var24
/* : String */;
1134 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
1135 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
1141 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1142 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1390);
1145 { /* Inline abstract_compiler#Frame#returnvar (var) on <var:nullable Frame> */
1146 if (unlikely(var
== NULL
)) {
1147 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1148 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1541);
1151 var5
= var
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <var:nullable Frame> */
1156 if (unlikely(var3
== NULL
)) {
1157 PRINT_ERROR("Runtime error: %s", "Cast failed");
1158 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1390);
1162 abstract_compiler__AbstractCompilerVisitor__assign(self
, var3
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:AbstractCompilerVisitor>*/
1169 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1174 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
1175 var12
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
1177 RET_LABEL11
:(void)0;
1180 if (var10
== NULL
) {
1181 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1182 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1391);
1185 { /* Inline abstract_compiler#Frame#returnlabel (var10) on <var10:nullable Frame> */
1186 if (unlikely(var10
== NULL
)) {
1187 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1188 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1544);
1191 var15
= var10
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <var10:nullable Frame> */
1193 RET_LABEL14
:(void)0;
1196 if (unlikely(var13
== NULL
)) {
1197 PRINT_ERROR("Runtime error: %s", "Cast failed");
1198 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1391);
1206 var20
= string__NativeString__to_s_with_length(var18
, var19
);
1210 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
1211 { /* var21 = array_instance Array[Object] */
1213 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
1214 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var6
;
1215 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var13
;
1216 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
1218 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
1222 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
1225 abstract_compiler__AbstractCompilerVisitor__add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1229 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: Object, RuntimeVariable) */
1230 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
1231 abstract_compiler__AbstractCompilerVisitor__ret(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:Object(AbstractCompilerVisitor)>*/
1234 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */
1235 void abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
1236 val
* var_nexpr
/* var nexpr: nullable AExpr */;
1237 val
* var
/* : null */;
1238 short int var1
/* : Bool */;
1239 short int var2
/* : Bool */;
1240 val
* var_other
/* var other: nullable Object */;
1241 short int var4
/* : Bool */;
1242 short int var6
/* : Bool */;
1243 val
* var7
/* : nullable ANode */;
1244 val
* var9
/* : nullable ANode */;
1245 val
* var_old
/* var old: nullable ANode */;
1248 if (var_nexpr
== NULL
) {
1249 var1
= 1; /* is null */
1251 var1
= 0; /* arg is null but recv is not */
1254 { /* Inline kernel#Object#== (var_nexpr,var) on <var_nexpr:nullable AExpr> */
1257 { /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on <var_nexpr:nullable AExpr(AExpr)> */
1258 var6
= var_nexpr
== var_other
;
1275 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1276 var9
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1283 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on <self:AbstractCompilerVisitor> */
1284 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nexpr
; /* _current_node on <self:AbstractCompilerVisitor> */
1285 RET_LABEL10
:(void)0;
1289 ((void (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__stmt
]))(var_nexpr
, self
) /* stmt on <var_nexpr:nullable AExpr(AExpr)>*/;
1292 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on <self:AbstractCompilerVisitor> */
1293 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_old
; /* _current_node on <self:AbstractCompilerVisitor> */
1294 RET_LABEL11
:(void)0;
1299 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: Object, nullable AExpr) */
1300 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
1301 abstract_compiler__AbstractCompilerVisitor__stmt(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <self:Object(AbstractCompilerVisitor)>*/
1304 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */
1305 val
* abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
1306 val
* var
/* : RuntimeVariable */;
1307 val
* var_nexpr
/* var nexpr: AExpr */;
1308 val
* var_mtype
/* var mtype: nullable MType */;
1309 val
* var1
/* : nullable ANode */;
1310 val
* var3
/* : nullable ANode */;
1311 val
* var_old
/* var old: nullable ANode */;
1312 val
* var5
/* : nullable RuntimeVariable */;
1313 val
* var_res
/* var res: RuntimeVariable */;
1314 val
* var6
/* : null */;
1315 short int var7
/* : Bool */;
1316 short int var8
/* : Bool */;
1317 val
* var_other
/* var other: nullable Object */;
1318 short int var10
/* : Bool */;
1319 short int var11
/* : Bool */;
1320 short int var12
/* : Bool */;
1321 val
* var13
/* : MType */;
1322 val
* var14
/* : RuntimeVariable */;
1323 val
* var15
/* : nullable MType */;
1324 val
* var16
/* : RuntimeVariable */;
1325 val
* var17
/* : nullable MType */;
1326 val
* var19
/* : nullable MType */;
1327 val
* var_implicit_cast_to
/* var implicit_cast_to: nullable MType */;
1328 short int var20
/* : Bool */;
1329 val
* var21
/* : null */;
1330 short int var22
/* : Bool */;
1331 short int var23
/* : Bool */;
1332 short int var25
/* : Bool */;
1333 short int var26
/* : Bool */;
1334 short int var27
/* : Bool */;
1335 short int var_
/* var : Bool */;
1336 val
* var28
/* : AbstractCompiler */;
1337 val
* var30
/* : AbstractCompiler */;
1338 val
* var31
/* : ModelBuilder */;
1339 val
* var33
/* : ModelBuilder */;
1340 val
* var34
/* : ToolContext */;
1341 val
* var36
/* : ToolContext */;
1342 val
* var37
/* : OptionBool */;
1343 val
* var39
/* : OptionBool */;
1344 val
* var40
/* : nullable Object */;
1345 val
* var42
/* : nullable Object */;
1346 short int var43
/* : Bool */;
1347 short int var44
/* : Bool */;
1348 static val
* varonce
;
1349 val
* var45
/* : String */;
1350 char* var46
/* : NativeString */;
1351 long var47
/* : Int */;
1352 val
* var48
/* : FlatString */;
1353 val
* var49
/* : RuntimeVariable */;
1357 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1358 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1365 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on <self:AbstractCompilerVisitor> */
1366 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nexpr
; /* _current_node on <self:AbstractCompilerVisitor> */
1371 var5
= ((val
* (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__expr
]))(var_nexpr
, self
) /* expr on <var_nexpr:AExpr>*/;
1373 if (unlikely(var5
== NULL
)) {
1374 PRINT_ERROR("Runtime error: %s", "Cast failed");
1375 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1410);
1380 if (var_mtype
== NULL
) {
1381 var7
= 0; /* is null */
1383 var7
= 1; /* arg is null and recv is not */
1386 { /* Inline kernel#Object#!= (var_mtype,var6) on <var_mtype:nullable MType> */
1389 var11
= ((short int (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mtype
, var_other
) /* == on <var_mtype:nullable MType(MType)>*/;
1401 var13
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
1405 var14
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_res
, var_mtype
);
1411 var15
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_nexpr
) /* mtype on <var_nexpr:AExpr>*/;
1413 if (unlikely(var15
== NULL
)) {
1414 PRINT_ERROR("Runtime error: %s", "Cast failed");
1415 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1415);
1419 var16
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, var_res
, var15
);
1423 { /* Inline typing#AExpr#implicit_cast_to (var_nexpr) on <var_nexpr:AExpr> */
1424 var19
= var_nexpr
->attrs
[COLOR_typing__AExpr___implicit_cast_to
].val
; /* _implicit_cast_to on <var_nexpr:AExpr> */
1426 RET_LABEL18
:(void)0;
1429 var_implicit_cast_to
= var17
;
1431 if (var_implicit_cast_to
== NULL
) {
1432 var22
= 0; /* is null */
1434 var22
= 1; /* arg is null and recv is not */
1437 { /* Inline kernel#Object#!= (var_implicit_cast_to,var21) on <var_implicit_cast_to:nullable MType> */
1440 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)>*/;
1446 RET_LABEL24
:(void)0;
1453 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
1454 var30
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
1455 if (unlikely(var30
== NULL
)) {
1456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1457 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1461 RET_LABEL29
:(void)0;
1465 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var28) on <var28:AbstractCompiler> */
1466 var33
= var28
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var28:AbstractCompiler> */
1467 if (unlikely(var33
== NULL
)) {
1468 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1469 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1473 RET_LABEL32
:(void)0;
1477 { /* Inline modelbuilder#ModelBuilder#toolcontext (var31) on <var31:ModelBuilder> */
1478 var36
= var31
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var31:ModelBuilder> */
1479 if (unlikely(var36
== NULL
)) {
1480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1481 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1485 RET_LABEL35
:(void)0;
1489 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (var34) on <var34:ToolContext> */
1490 var39
= var34
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <var34:ToolContext> */
1491 if (unlikely(var39
== NULL
)) {
1492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
1493 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 52);
1497 RET_LABEL38
:(void)0;
1501 { /* Inline opts#Option#value (var37) on <var37:OptionBool> */
1502 var42
= var37
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var37:OptionBool> */
1504 RET_LABEL41
:(void)0;
1507 var43
= ((struct instance_kernel__Bool
*)var40
)->value
; /* autounbox from nullable Object to Bool */;
1519 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1524 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, var_res
, var_implicit_cast_to
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <self:AbstractCompilerVisitor>*/
1527 var49
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, var_res
, var_implicit_cast_to
);
1533 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on <self:AbstractCompilerVisitor> */
1534 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_old
; /* _current_node on <self:AbstractCompilerVisitor> */
1535 RET_LABEL50
:(void)0;
1543 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: Object, AExpr, nullable MType): RuntimeVariable */
1544 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
1545 val
* var
/* : RuntimeVariable */;
1546 val
* var1
/* : RuntimeVariable */;
1547 var1
= abstract_compiler__AbstractCompilerVisitor__expr(self
, p0
, p1
);
1552 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: AbstractCompilerVisitor, AExpr): RuntimeVariable */
1553 val
* abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
1554 val
* var
/* : RuntimeVariable */;
1555 val
* var_nexpr
/* var nexpr: AExpr */;
1556 val
* var1
/* : MClassType */;
1557 val
* var2
/* : RuntimeVariable */;
1560 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
1563 var2
= abstract_compiler__AbstractCompilerVisitor__expr(self
, var_nexpr
, var1
);
1570 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: Object, AExpr): RuntimeVariable */
1571 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
1572 val
* var
/* : RuntimeVariable */;
1573 val
* var1
/* : RuntimeVariable */;
1574 var1
= abstract_compiler__AbstractCompilerVisitor__expr_bool(self
, p0
);
1579 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: AbstractCompilerVisitor, String) */
1580 void abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
1581 val
* var_message
/* var message: String */;
1582 val
* var
/* : nullable ANode */;
1583 val
* var2
/* : nullable ANode */;
1584 val
* var_node
/* var node: nullable ANode */;
1585 val
* var3
/* : null */;
1586 short int var4
/* : Bool */;
1587 short int var5
/* : Bool */;
1588 val
* var_other
/* var other: nullable Object */;
1589 short int var7
/* : Bool */;
1590 short int var9
/* : Bool */;
1591 static val
* varonce
;
1592 val
* var10
/* : String */;
1593 char* var11
/* : NativeString */;
1594 long var12
/* : Int */;
1595 val
* var13
/* : FlatString */;
1596 val
* var14
/* : Array[Object] */;
1597 long var15
/* : Int */;
1598 val
* var16
/* : NativeArray[Object] */;
1599 val
* var17
/* : String */;
1600 static val
* varonce18
;
1601 val
* var19
/* : String */;
1602 char* var20
/* : NativeString */;
1603 long var21
/* : Int */;
1604 val
* var22
/* : FlatString */;
1605 static val
* varonce23
;
1606 val
* var24
/* : String */;
1607 char* var25
/* : NativeString */;
1608 long var26
/* : Int */;
1609 val
* var27
/* : FlatString */;
1610 val
* var28
/* : Array[Object] */;
1611 long var29
/* : Int */;
1612 val
* var30
/* : NativeArray[Object] */;
1613 val
* var31
/* : String */;
1616 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
1617 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
1624 if (var_node
== NULL
) {
1625 var4
= 1; /* is null */
1627 var4
= 0; /* arg is null but recv is not */
1630 { /* Inline kernel#Object#== (var_node,var3) on <var_node:nullable ANode> */
1633 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ANode(ANode)> */
1634 var9
= var_node
== var_other
;
1652 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1656 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
1657 { /* var14 = array_instance Array[Object] */
1659 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
1660 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var10
;
1661 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_message
;
1663 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
1667 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
1670 file__Object__print(self
, var17
); /* Direct call file#Object#print on <self:AbstractCompilerVisitor>*/
1674 parser_nodes__ANode__debug(var_node
, var_message
); /* Direct call parser_nodes#ANode#debug on <var_node:nullable ANode(ANode)>*/
1680 var20
= "/* DEBUG: ";
1682 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1691 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1695 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1696 { /* var28 = array_instance Array[Object] */
1698 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
1699 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
1700 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_message
;
1701 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
1703 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
1707 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
1710 abstract_compiler__AbstractCompilerVisitor__add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
1714 /* method abstract_compiler#AbstractCompilerVisitor#debug for (self: Object, String) */
1715 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__debug(val
* self
, val
* p0
) {
1716 abstract_compiler__AbstractCompilerVisitor__debug(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:Object(AbstractCompilerVisitor)>*/
1719 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: AbstractRuntimeFunction): MMethodDef */
1720 val
* abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
1721 val
* var
/* : MMethodDef */;
1722 val
* var1
/* : MMethodDef */;
1723 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:AbstractRuntimeFunction> */
1724 if (unlikely(var1
== NULL
)) {
1725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
1726 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1448);
1733 /* method abstract_compiler#AbstractRuntimeFunction#mmethoddef for (self: Object): MMethodDef */
1734 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__mmethoddef(val
* self
) {
1735 val
* var
/* : MMethodDef */;
1736 val
* var1
/* : MMethodDef */;
1737 val
* var3
/* : MMethodDef */;
1738 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:Object(AbstractRuntimeFunction)> */
1739 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:Object(AbstractRuntimeFunction)> */
1740 if (unlikely(var3
== NULL
)) {
1741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
1742 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1448);
1752 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: AbstractRuntimeFunction): String */
1753 val
* abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
1754 val
* var
/* : String */;
1755 val
* var1
/* : nullable String */;
1756 val
* var3
/* : nullable String */;
1757 val
* var_res
/* var res: nullable String */;
1758 val
* var4
/* : null */;
1759 short int var5
/* : Bool */;
1760 short int var6
/* : Bool */;
1761 val
* var_other
/* var other: nullable Object */;
1762 short int var8
/* : Bool */;
1763 short int var9
/* : Bool */;
1764 short int var10
/* : Bool */;
1765 val
* var11
/* : String */;
1767 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache (self) on <self:AbstractRuntimeFunction> */
1768 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
1775 if (var_res
== NULL
) {
1776 var5
= 0; /* is null */
1778 var5
= 1; /* arg is null and recv is not */
1781 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
1784 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
1800 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__build_c_name
]))(self
) /* build_c_name on <self:AbstractRuntimeFunction>*/;
1804 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache= (self,var_res) on <self:AbstractRuntimeFunction> */
1805 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
1806 RET_LABEL12
:(void)0;
1814 /* method abstract_compiler#AbstractRuntimeFunction#c_name for (self: Object): String */
1815 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name(val
* self
) {
1816 val
* var
/* : String */;
1817 val
* var1
/* : String */;
1818 var1
= abstract_compiler__AbstractRuntimeFunction__c_name(self
);
1823 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: AbstractRuntimeFunction): nullable String */
1824 val
* abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
1825 val
* var
/* : nullable String */;
1826 val
* var1
/* : nullable String */;
1827 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
1832 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache for (self: Object): nullable String */
1833 val
* VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache(val
* self
) {
1834 val
* var
/* : nullable String */;
1835 val
* var1
/* : nullable String */;
1836 val
* var3
/* : nullable String */;
1837 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache (self) on <self:Object(AbstractRuntimeFunction)> */
1838 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
; /* _c_name_cache on <self:Object(AbstractRuntimeFunction)> */
1846 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: AbstractRuntimeFunction, nullable String) */
1847 void abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
1848 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= p0
; /* _c_name_cache on <self:AbstractRuntimeFunction> */
1851 /* method abstract_compiler#AbstractRuntimeFunction#c_name_cache= for (self: Object, nullable String) */
1852 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d(val
* self
, val
* p0
) {
1853 { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache= (self,p0) on <self:Object(AbstractRuntimeFunction)> */
1854 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(AbstractRuntimeFunction)> */
1859 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: AbstractRuntimeFunction, MMethodDef) */
1860 void abstract_compiler__AbstractRuntimeFunction__init(val
* self
, val
* p0
) {
1861 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
= p0
; /* _mmethoddef on <self:AbstractRuntimeFunction> */
1864 /* method abstract_compiler#AbstractRuntimeFunction#init for (self: Object, MMethodDef) */
1865 void VIRTUAL_abstract_compiler__AbstractRuntimeFunction__init(val
* self
, val
* p0
) {
1866 { /* Inline abstract_compiler#AbstractRuntimeFunction#init (self,p0) on <self:Object(AbstractRuntimeFunction)> */
1867 self
->attrs
[COLOR_abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
= p0
; /* _mmethoddef on <self:Object(AbstractRuntimeFunction)> */
1872 /* method abstract_compiler#RuntimeVariable#name for (self: RuntimeVariable): String */
1873 val
* abstract_compiler__RuntimeVariable__name(val
* self
) {
1874 val
* var
/* : String */;
1875 val
* var1
/* : String */;
1876 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
1877 if (unlikely(var1
== NULL
)) {
1878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1879 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
1886 /* method abstract_compiler#RuntimeVariable#name for (self: Object): String */
1887 val
* VIRTUAL_abstract_compiler__RuntimeVariable__name(val
* self
) {
1888 val
* var
/* : String */;
1889 val
* var1
/* : String */;
1890 val
* var3
/* : String */;
1891 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:Object(RuntimeVariable)> */
1892 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:Object(RuntimeVariable)> */
1893 if (unlikely(var3
== NULL
)) {
1894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1895 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
1905 /* method abstract_compiler#RuntimeVariable#name= for (self: RuntimeVariable, String) */
1906 void abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
1907 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= p0
; /* _name on <self:RuntimeVariable> */
1910 /* method abstract_compiler#RuntimeVariable#name= for (self: Object, String) */
1911 void VIRTUAL_abstract_compiler__RuntimeVariable__name_61d(val
* self
, val
* p0
) {
1912 { /* Inline abstract_compiler#RuntimeVariable#name= (self,p0) on <self:Object(RuntimeVariable)> */
1913 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= p0
; /* _name on <self:Object(RuntimeVariable)> */
1918 /* method abstract_compiler#RuntimeVariable#mtype for (self: RuntimeVariable): MType */
1919 val
* abstract_compiler__RuntimeVariable__mtype(val
* self
) {
1920 val
* var
/* : MType */;
1921 val
* var1
/* : MType */;
1922 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
1923 if (unlikely(var1
== NULL
)) {
1924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1925 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
1932 /* method abstract_compiler#RuntimeVariable#mtype for (self: Object): MType */
1933 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mtype(val
* self
) {
1934 val
* var
/* : MType */;
1935 val
* var1
/* : MType */;
1936 val
* var3
/* : MType */;
1937 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:Object(RuntimeVariable)> */
1938 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:Object(RuntimeVariable)> */
1939 if (unlikely(var3
== NULL
)) {
1940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1941 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
1951 /* method abstract_compiler#RuntimeVariable#mtype= for (self: RuntimeVariable, MType) */
1952 void abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
1953 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= p0
; /* _mtype on <self:RuntimeVariable> */
1956 /* method abstract_compiler#RuntimeVariable#mtype= for (self: Object, MType) */
1957 void VIRTUAL_abstract_compiler__RuntimeVariable__mtype_61d(val
* self
, val
* p0
) {
1958 { /* Inline abstract_compiler#RuntimeVariable#mtype= (self,p0) on <self:Object(RuntimeVariable)> */
1959 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= p0
; /* _mtype on <self:Object(RuntimeVariable)> */
1964 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: RuntimeVariable): MType */
1965 val
* abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
1966 val
* var
/* : MType */;
1967 val
* var1
/* : MType */;
1968 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
1969 if (unlikely(var1
== NULL
)) {
1970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1971 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
1978 /* method abstract_compiler#RuntimeVariable#mcasttype for (self: Object): MType */
1979 val
* VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype(val
* self
) {
1980 val
* var
/* : MType */;
1981 val
* var1
/* : MType */;
1982 val
* var3
/* : MType */;
1983 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:Object(RuntimeVariable)> */
1984 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:Object(RuntimeVariable)> */
1985 if (unlikely(var3
== NULL
)) {
1986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
1987 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
1997 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: RuntimeVariable, MType) */
1998 void abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
1999 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= p0
; /* _mcasttype on <self:RuntimeVariable> */
2002 /* method abstract_compiler#RuntimeVariable#mcasttype= for (self: Object, MType) */
2003 void VIRTUAL_abstract_compiler__RuntimeVariable__mcasttype_61d(val
* self
, val
* p0
) {
2004 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (self,p0) on <self:Object(RuntimeVariable)> */
2005 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= p0
; /* _mcasttype on <self:Object(RuntimeVariable)> */
2010 /* method abstract_compiler#RuntimeVariable#is_exact for (self: RuntimeVariable): Bool */
2011 short int abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2012 short int var
/* : Bool */;
2013 short int var1
/* : Bool */;
2014 var1
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:RuntimeVariable> */
2019 /* method abstract_compiler#RuntimeVariable#is_exact for (self: Object): Bool */
2020 short int VIRTUAL_abstract_compiler__RuntimeVariable__is_exact(val
* self
) {
2021 short int var
/* : Bool */;
2022 short int var1
/* : Bool */;
2023 short int var3
/* : Bool */;
2024 { /* Inline abstract_compiler#RuntimeVariable#is_exact (self) on <self:Object(RuntimeVariable)> */
2025 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:Object(RuntimeVariable)> */
2033 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: RuntimeVariable, Bool) */
2034 void abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2035 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= p0
; /* _is_exact on <self:RuntimeVariable> */
2038 /* method abstract_compiler#RuntimeVariable#is_exact= for (self: Object, Bool) */
2039 void VIRTUAL_abstract_compiler__RuntimeVariable__is_exact_61d(val
* self
, short int p0
) {
2040 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (self,p0) on <self:Object(RuntimeVariable)> */
2041 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= p0
; /* _is_exact on <self:Object(RuntimeVariable)> */
2046 /* method abstract_compiler#RuntimeVariable#init for (self: RuntimeVariable, String, MType, MType) */
2047 void abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2048 val
* var_name
/* var name: String */;
2049 val
* var_mtype
/* var mtype: MType */;
2050 val
* var_mcasttype
/* var mcasttype: MType */;
2051 short int var
/* : Bool */;
2052 short int var4
/* : Bool */;
2053 short int var5
/* : Bool */;
2054 short int var6
/* : Bool */;
2059 { /* Inline abstract_compiler#RuntimeVariable#name= (self,var_name) on <self:RuntimeVariable> */
2060 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
= var_name
; /* _name on <self:RuntimeVariable> */
2065 { /* Inline abstract_compiler#RuntimeVariable#mtype= (self,var_mtype) on <self:RuntimeVariable> */
2066 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
= var_mtype
; /* _mtype on <self:RuntimeVariable> */
2071 { /* Inline abstract_compiler#RuntimeVariable#mcasttype= (self,var_mcasttype) on <self:RuntimeVariable> */
2072 self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
= var_mcasttype
; /* _mcasttype on <self:RuntimeVariable> */
2077 var
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
2080 if (unlikely(!var4
)) {
2081 PRINT_ERROR("Runtime error: %s", "Assert failed");
2082 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1499);
2086 var5
= ((short int (*)(val
*))(var_mcasttype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mcasttype
) /* need_anchor on <var_mcasttype:MType>*/;
2089 if (unlikely(!var6
)) {
2090 PRINT_ERROR("Runtime error: %s", "Assert failed");
2091 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1500);
2096 /* method abstract_compiler#RuntimeVariable#init for (self: Object, String, MType, MType) */
2097 void VIRTUAL_abstract_compiler__RuntimeVariable__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2098 abstract_compiler__RuntimeVariable__init(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#RuntimeVariable#init on <self:Object(RuntimeVariable)>*/
2101 /* method abstract_compiler#RuntimeVariable#to_s for (self: RuntimeVariable): String */
2102 val
* abstract_compiler__RuntimeVariable__to_s(val
* self
) {
2103 val
* var
/* : String */;
2104 val
* var1
/* : String */;
2105 val
* var3
/* : String */;
2107 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:RuntimeVariable> */
2108 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
2109 if (unlikely(var3
== NULL
)) {
2110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2111 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
2123 /* method abstract_compiler#RuntimeVariable#to_s for (self: Object): String */
2124 val
* VIRTUAL_abstract_compiler__RuntimeVariable__to_s(val
* self
) {
2125 val
* var
/* : String */;
2126 val
* var1
/* : String */;
2127 var1
= abstract_compiler__RuntimeVariable__to_s(self
);
2132 /* method abstract_compiler#RuntimeVariable#inspect for (self: RuntimeVariable): String */
2133 val
* abstract_compiler__RuntimeVariable__inspect(val
* self
) {
2134 val
* var
/* : String */;
2135 short int var1
/* : Bool */;
2136 short int var3
/* : Bool */;
2137 static val
* varonce
;
2138 val
* var4
/* : String */;
2139 char* var5
/* : NativeString */;
2140 long var6
/* : Int */;
2141 val
* var7
/* : FlatString */;
2142 val
* var_exact_str
/* var exact_str: nullable Object */;
2143 static val
* varonce8
;
2144 val
* var9
/* : String */;
2145 char* var10
/* : NativeString */;
2146 long var11
/* : Int */;
2147 val
* var12
/* : FlatString */;
2148 val
* var13
/* : MType */;
2149 val
* var15
/* : MType */;
2150 val
* var16
/* : MType */;
2151 val
* var18
/* : MType */;
2152 short int var19
/* : Bool */;
2153 short int var20
/* : Bool */;
2154 val
* var_other
/* var other: nullable Object */;
2155 short int var22
/* : Bool */;
2156 short int var24
/* : Bool */;
2157 val
* var25
/* : MType */;
2158 val
* var27
/* : MType */;
2159 val
* var28
/* : Array[Object] */;
2160 long var29
/* : Int */;
2161 val
* var30
/* : NativeArray[Object] */;
2162 val
* var31
/* : String */;
2163 val
* var_type_str
/* var type_str: nullable Object */;
2164 val
* var32
/* : MType */;
2165 val
* var34
/* : MType */;
2166 static val
* varonce35
;
2167 val
* var36
/* : String */;
2168 char* var37
/* : NativeString */;
2169 long var38
/* : Int */;
2170 val
* var39
/* : FlatString */;
2171 val
* var40
/* : MType */;
2172 val
* var42
/* : MType */;
2173 static val
* varonce43
;
2174 val
* var44
/* : String */;
2175 char* var45
/* : NativeString */;
2176 long var46
/* : Int */;
2177 val
* var47
/* : FlatString */;
2178 val
* var48
/* : Array[Object] */;
2179 long var49
/* : Int */;
2180 val
* var50
/* : NativeArray[Object] */;
2181 val
* var51
/* : String */;
2182 static val
* varonce52
;
2183 val
* var53
/* : String */;
2184 char* var54
/* : NativeString */;
2185 long var55
/* : Int */;
2186 val
* var56
/* : FlatString */;
2187 val
* var57
/* : String */;
2188 val
* var59
/* : String */;
2189 static val
* varonce60
;
2190 val
* var61
/* : String */;
2191 char* var62
/* : NativeString */;
2192 long var63
/* : Int */;
2193 val
* var64
/* : FlatString */;
2194 static val
* varonce65
;
2195 val
* var66
/* : String */;
2196 char* var67
/* : NativeString */;
2197 long var68
/* : Int */;
2198 val
* var69
/* : FlatString */;
2199 val
* var70
/* : Array[Object] */;
2200 long var71
/* : Int */;
2201 val
* var72
/* : NativeArray[Object] */;
2202 val
* var73
/* : String */;
2204 { /* Inline abstract_compiler#RuntimeVariable#is_exact (self) on <self:RuntimeVariable> */
2205 var3
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
; /* _is_exact on <self:RuntimeVariable> */
2216 var7
= string__NativeString__to_s_with_length(var5
, var6
);
2220 var_exact_str
= var4
;
2227 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2231 var_exact_str
= var9
;
2234 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
2235 var15
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
2236 if (unlikely(var15
== NULL
)) {
2237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2238 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
2242 RET_LABEL14
:(void)0;
2246 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:RuntimeVariable> */
2247 var18
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
2248 if (unlikely(var18
== NULL
)) {
2249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2250 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
2254 RET_LABEL17
:(void)0;
2258 { /* Inline kernel#Object#== (var13,var16) on <var13:MType> */
2261 { /* Inline kernel#Object#is_same_instance (var13,var_other) on <var13:MType> */
2262 var24
= var13
== var_other
;
2265 RET_LABEL23
:(void)0;
2270 RET_LABEL21
:(void)0;
2276 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
2277 var27
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
2278 if (unlikely(var27
== NULL
)) {
2279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2280 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
2284 RET_LABEL26
:(void)0;
2287 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2288 { /* var28 = array_instance Array[Object] */
2290 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2291 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var25
;
2292 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_exact_str
;
2294 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2298 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2300 var_type_str
= var31
;
2303 { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on <self:RuntimeVariable> */
2304 var34
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <self:RuntimeVariable> */
2305 if (unlikely(var34
== NULL
)) {
2306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2307 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
2311 RET_LABEL33
:(void)0;
2319 var39
= string__NativeString__to_s_with_length(var37
, var38
);
2324 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on <self:RuntimeVariable> */
2325 var42
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <self:RuntimeVariable> */
2326 if (unlikely(var42
== NULL
)) {
2327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
2328 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
2332 RET_LABEL41
:(void)0;
2340 var47
= string__NativeString__to_s_with_length(var45
, var46
);
2344 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
2345 { /* var48 = array_instance Array[Object] */
2347 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
2348 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var32
;
2349 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) var36
;
2350 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var40
;
2351 ((struct instance_array__NativeArray
*)var50
)->values
[3] = (val
*) var_exact_str
;
2352 ((struct instance_array__NativeArray
*)var50
)->values
[4] = (val
*) var44
;
2354 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
2358 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
2360 var_type_str
= var51
;
2367 var56
= string__NativeString__to_s_with_length(var54
, var55
);
2372 { /* Inline abstract_compiler#RuntimeVariable#name (self) on <self:RuntimeVariable> */
2373 var59
= self
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <self:RuntimeVariable> */
2374 if (unlikely(var59
== NULL
)) {
2375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2376 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
2380 RET_LABEL58
:(void)0;
2388 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2397 var69
= string__NativeString__to_s_with_length(var67
, var68
);
2401 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
2402 { /* var70 = array_instance Array[Object] */
2404 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
2405 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var53
;
2406 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var57
;
2407 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var61
;
2408 ((struct instance_array__NativeArray
*)var72
)->values
[3] = (val
*) var_type_str
;
2409 ((struct instance_array__NativeArray
*)var72
)->values
[4] = (val
*) var66
;
2411 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
2415 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
2422 /* method abstract_compiler#RuntimeVariable#inspect for (self: Object): String */
2423 val
* VIRTUAL_abstract_compiler__RuntimeVariable__inspect(val
* self
) {
2424 val
* var
/* : String */;
2425 val
* var1
/* : String */;
2426 var1
= abstract_compiler__RuntimeVariable__inspect(self
);
2431 /* method abstract_compiler#Frame#mpropdef for (self: Frame): MPropDef */
2432 val
* abstract_compiler__Frame__mpropdef(val
* self
) {
2433 val
* var
/* : MPropDef */;
2434 val
* var1
/* : MPropDef */;
2435 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <self:Frame> */
2436 if (unlikely(var1
== NULL
)) {
2437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
2438 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
2445 /* method abstract_compiler#Frame#mpropdef for (self: Object): MPropDef */
2446 val
* VIRTUAL_abstract_compiler__Frame__mpropdef(val
* self
) {
2447 val
* var
/* : MPropDef */;
2448 val
* var1
/* : MPropDef */;
2449 val
* var3
/* : MPropDef */;
2450 { /* Inline abstract_compiler#Frame#mpropdef (self) on <self:Object(Frame)> */
2451 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
; /* _mpropdef on <self:Object(Frame)> */
2452 if (unlikely(var3
== NULL
)) {
2453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
2454 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1531);
2464 /* method abstract_compiler#Frame#receiver for (self: Frame): MClassType */
2465 val
* abstract_compiler__Frame__receiver(val
* self
) {
2466 val
* var
/* : MClassType */;
2467 val
* var1
/* : MClassType */;
2468 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <self:Frame> */
2469 if (unlikely(var1
== NULL
)) {
2470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
2471 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
2478 /* method abstract_compiler#Frame#receiver for (self: Object): MClassType */
2479 val
* VIRTUAL_abstract_compiler__Frame__receiver(val
* self
) {
2480 val
* var
/* : MClassType */;
2481 val
* var1
/* : MClassType */;
2482 val
* var3
/* : MClassType */;
2483 { /* Inline abstract_compiler#Frame#receiver (self) on <self:Object(Frame)> */
2484 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <self:Object(Frame)> */
2485 if (unlikely(var3
== NULL
)) {
2486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
2487 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
2497 /* method abstract_compiler#Frame#arguments for (self: Frame): Array[RuntimeVariable] */
2498 val
* abstract_compiler__Frame__arguments(val
* self
) {
2499 val
* var
/* : Array[RuntimeVariable] */;
2500 val
* var1
/* : Array[RuntimeVariable] */;
2501 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <self:Frame> */
2502 if (unlikely(var1
== NULL
)) {
2503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2504 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
2511 /* method abstract_compiler#Frame#arguments for (self: Object): Array[RuntimeVariable] */
2512 val
* VIRTUAL_abstract_compiler__Frame__arguments(val
* self
) {
2513 val
* var
/* : Array[RuntimeVariable] */;
2514 val
* var1
/* : Array[RuntimeVariable] */;
2515 val
* var3
/* : Array[RuntimeVariable] */;
2516 { /* Inline abstract_compiler#Frame#arguments (self) on <self:Object(Frame)> */
2517 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <self:Object(Frame)> */
2518 if (unlikely(var3
== NULL
)) {
2519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
2520 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
2530 /* method abstract_compiler#Frame#returnvar for (self: Frame): nullable RuntimeVariable */
2531 val
* abstract_compiler__Frame__returnvar(val
* self
) {
2532 val
* var
/* : nullable RuntimeVariable */;
2533 val
* var1
/* : nullable RuntimeVariable */;
2534 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <self:Frame> */
2539 /* method abstract_compiler#Frame#returnvar for (self: Object): nullable RuntimeVariable */
2540 val
* VIRTUAL_abstract_compiler__Frame__returnvar(val
* self
) {
2541 val
* var
/* : nullable RuntimeVariable */;
2542 val
* var1
/* : nullable RuntimeVariable */;
2543 val
* var3
/* : nullable RuntimeVariable */;
2544 { /* Inline abstract_compiler#Frame#returnvar (self) on <self:Object(Frame)> */
2545 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
; /* _returnvar on <self:Object(Frame)> */
2553 /* method abstract_compiler#Frame#returnvar= for (self: Frame, nullable RuntimeVariable) */
2554 void abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
2555 self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= p0
; /* _returnvar on <self:Frame> */
2558 /* method abstract_compiler#Frame#returnvar= for (self: Object, nullable RuntimeVariable) */
2559 void VIRTUAL_abstract_compiler__Frame__returnvar_61d(val
* self
, val
* p0
) {
2560 { /* Inline abstract_compiler#Frame#returnvar= (self,p0) on <self:Object(Frame)> */
2561 self
->attrs
[COLOR_abstract_compiler__Frame___returnvar
].val
= p0
; /* _returnvar on <self:Object(Frame)> */
2566 /* method abstract_compiler#Frame#returnlabel for (self: Frame): nullable String */
2567 val
* abstract_compiler__Frame__returnlabel(val
* self
) {
2568 val
* var
/* : nullable String */;
2569 val
* var1
/* : nullable String */;
2570 var1
= self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <self:Frame> */
2575 /* method abstract_compiler#Frame#returnlabel for (self: Object): nullable String */
2576 val
* VIRTUAL_abstract_compiler__Frame__returnlabel(val
* self
) {
2577 val
* var
/* : nullable String */;
2578 val
* var1
/* : nullable String */;
2579 val
* var3
/* : nullable String */;
2580 { /* Inline abstract_compiler#Frame#returnlabel (self) on <self:Object(Frame)> */
2581 var3
= self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
; /* _returnlabel on <self:Object(Frame)> */
2589 /* method abstract_compiler#Frame#returnlabel= for (self: Frame, nullable String) */
2590 void abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
2591 self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= p0
; /* _returnlabel on <self:Frame> */
2594 /* method abstract_compiler#Frame#returnlabel= for (self: Object, nullable String) */
2595 void VIRTUAL_abstract_compiler__Frame__returnlabel_61d(val
* self
, val
* p0
) {
2596 { /* Inline abstract_compiler#Frame#returnlabel= (self,p0) on <self:Object(Frame)> */
2597 self
->attrs
[COLOR_abstract_compiler__Frame___returnlabel
].val
= p0
; /* _returnlabel on <self:Object(Frame)> */
2602 /* method abstract_compiler#Frame#init for (self: Frame, AbstractCompilerVisitor, MPropDef, MClassType, Array[RuntimeVariable]) */
2603 void abstract_compiler__Frame__init(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2604 short int var
/* : Bool */;
2607 const struct type
* type_struct
;
2608 const char* var_class_name
;
2609 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
2610 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2611 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
2612 cltype
= type_struct
->color
;
2613 idtype
= type_struct
->id
;
2614 if(cltype
>= p0
->type
->table_size
) {
2617 var
= p0
->type
->type_table
[cltype
] == idtype
;
2619 if (unlikely(!var
)) {
2620 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2621 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2622 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1523);
2625 self
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= p0
; /* _visitor on <self:Frame> */
2626 self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= p1
; /* _mpropdef on <self:Frame> */
2627 self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= p2
; /* _receiver on <self:Frame> */
2628 self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= p3
; /* _arguments on <self:Frame> */
2631 /* method abstract_compiler#Frame#init for (self: Object, AbstractCompilerVisitor, MPropDef, MClassType, Array[RuntimeVariable]) */
2632 void VIRTUAL_abstract_compiler__Frame__init(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
2633 short int var
/* : Bool */;
2636 const struct type
* type_struct
;
2637 const char* var_class_name
;
2638 { /* Inline abstract_compiler#Frame#init (self,p0,p1,p2,p3) on <self:Object(Frame)> */
2639 /* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
2640 /* <p0:AbstractCompilerVisitor> isa VISITOR */
2641 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__Frame_VTVISITOR
];
2642 cltype
= type_struct
->color
;
2643 idtype
= type_struct
->id
;
2644 if(cltype
>= p0
->type
->table_size
) {
2647 var
= p0
->type
->type_table
[cltype
] == idtype
;
2649 if (unlikely(!var
)) {
2650 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2651 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2652 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1523);
2655 self
->attrs
[COLOR_abstract_compiler__Frame___visitor
].val
= p0
; /* _visitor on <self:Object(Frame)> */
2656 self
->attrs
[COLOR_abstract_compiler__Frame___mpropdef
].val
= p1
; /* _mpropdef on <self:Object(Frame)> */
2657 self
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
= p2
; /* _receiver on <self:Object(Frame)> */
2658 self
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
= p3
; /* _arguments on <self:Object(Frame)> */
2663 /* method abstract_compiler#MType#ctype for (self: MType): String */
2664 val
* abstract_compiler__MType__ctype(val
* self
) {
2665 val
* var
/* : String */;
2666 static val
* varonce
;
2667 val
* var1
/* : String */;
2668 char* var2
/* : NativeString */;
2669 long var3
/* : Int */;
2670 val
* var4
/* : FlatString */;
2676 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2685 /* method abstract_compiler#MType#ctype for (self: Object): String */
2686 val
* VIRTUAL_abstract_compiler__MType__ctype(val
* self
) {
2687 val
* var
/* : String */;
2688 val
* var1
/* : String */;
2689 var1
= abstract_compiler__MType__ctype(self
);
2694 /* method abstract_compiler#MType#ctypename for (self: MType): String */
2695 val
* abstract_compiler__MType__ctypename(val
* self
) {
2696 val
* var
/* : String */;
2697 static val
* varonce
;
2698 val
* var1
/* : String */;
2699 char* var2
/* : NativeString */;
2700 long var3
/* : Int */;
2701 val
* var4
/* : FlatString */;
2707 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2716 /* method abstract_compiler#MType#ctypename for (self: Object): String */
2717 val
* VIRTUAL_abstract_compiler__MType__ctypename(val
* self
) {
2718 val
* var
/* : String */;
2719 val
* var1
/* : String */;
2720 var1
= abstract_compiler__MType__ctypename(self
);
2725 /* method abstract_compiler#MType#c_name for (self: MType): String */
2726 val
* abstract_compiler__MType__c_name(val
* self
) {
2727 val
* var
/* : String */;
2728 const char* var_class_name
;
2729 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
2730 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name
);
2731 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1554);
2736 /* method abstract_compiler#MType#c_name for (self: Object): String */
2737 val
* VIRTUAL_abstract_compiler__MType__c_name(val
* self
) {
2738 val
* var
/* : String */;
2739 val
* var1
/* : String */;
2740 const char* var_class_name
;
2741 { /* Inline abstract_compiler#MType#c_name (self) on <self:Object(MType)> */
2742 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
2743 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name
);
2744 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1554);
2752 /* method abstract_compiler#MType#c_name_cache for (self: MType): nullable String */
2753 val
* abstract_compiler__MType__c_name_cache(val
* self
) {
2754 val
* var
/* : nullable String */;
2755 val
* var1
/* : nullable String */;
2756 var1
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MType> */
2761 /* method abstract_compiler#MType#c_name_cache for (self: Object): nullable String */
2762 val
* VIRTUAL_abstract_compiler__MType__c_name_cache(val
* self
) {
2763 val
* var
/* : nullable String */;
2764 val
* var1
/* : nullable String */;
2765 val
* var3
/* : nullable String */;
2766 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:Object(MType)> */
2767 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:Object(MType)> */
2775 /* method abstract_compiler#MType#c_name_cache= for (self: MType, nullable String) */
2776 void abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
2777 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MType> */
2780 /* method abstract_compiler#MType#c_name_cache= for (self: Object, nullable String) */
2781 void VIRTUAL_abstract_compiler__MType__c_name_cache_61d(val
* self
, val
* p0
) {
2782 { /* Inline abstract_compiler#MType#c_name_cache= (self,p0) on <self:Object(MType)> */
2783 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MType)> */
2788 /* method abstract_compiler#MClassType#c_name for (self: MClassType): String */
2789 val
* abstract_compiler__MClassType__c_name(val
* self
) {
2790 val
* var
/* : String */;
2791 val
* var1
/* : nullable String */;
2792 val
* var3
/* : nullable String */;
2793 val
* var_res
/* var res: nullable String */;
2794 val
* var4
/* : null */;
2795 short int var5
/* : Bool */;
2796 short int var6
/* : Bool */;
2797 val
* var_other
/* var other: nullable Object */;
2798 short int var8
/* : Bool */;
2799 short int var9
/* : Bool */;
2800 short int var10
/* : Bool */;
2801 val
* var11
/* : MClass */;
2802 val
* var13
/* : MClass */;
2803 val
* var14
/* : MModule */;
2804 val
* var16
/* : MModule */;
2805 val
* var17
/* : String */;
2806 val
* var19
/* : String */;
2807 val
* var20
/* : String */;
2808 static val
* varonce
;
2809 val
* var21
/* : String */;
2810 char* var22
/* : NativeString */;
2811 long var23
/* : Int */;
2812 val
* var24
/* : FlatString */;
2813 val
* var25
/* : MClass */;
2814 val
* var27
/* : MClass */;
2815 val
* var28
/* : String */;
2816 val
* var30
/* : String */;
2817 val
* var31
/* : String */;
2818 val
* var32
/* : Array[Object] */;
2819 long var33
/* : Int */;
2820 val
* var34
/* : NativeArray[Object] */;
2821 val
* var35
/* : String */;
2823 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MClassType> */
2824 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MClassType> */
2831 if (var_res
== NULL
) {
2832 var5
= 0; /* is null */
2834 var5
= 1; /* arg is null and recv is not */
2837 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
2840 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
2856 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
2857 var13
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
2858 if (unlikely(var13
== NULL
)) {
2859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2860 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2864 RET_LABEL12
:(void)0;
2868 { /* Inline model#MClass#intro_mmodule (var11) on <var11:MClass> */
2869 var16
= var11
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var11:MClass> */
2870 if (unlikely(var16
== NULL
)) {
2871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
2872 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 335);
2876 RET_LABEL15
:(void)0;
2880 { /* Inline mmodule#MModule#name (var14) on <var14:MModule> */
2881 var19
= var14
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var14:MModule> */
2882 if (unlikely(var19
== NULL
)) {
2883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2884 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 86);
2888 RET_LABEL18
:(void)0;
2892 var20
= string__Text__to_cmangle(var17
);
2899 var24
= string__NativeString__to_s_with_length(var22
, var23
);
2904 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
2905 var27
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
2906 if (unlikely(var27
== NULL
)) {
2907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2908 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2912 RET_LABEL26
:(void)0;
2916 { /* Inline model#MClass#name (var25) on <var25:MClass> */
2917 var30
= var25
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var25:MClass> */
2918 if (unlikely(var30
== NULL
)) {
2919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2920 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
2924 RET_LABEL29
:(void)0;
2928 var31
= string__Text__to_cmangle(var28
);
2930 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
2931 { /* var32 = array_instance Array[Object] */
2933 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
2934 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var20
;
2935 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
2936 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var31
;
2938 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
2942 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
2946 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MClassType> */
2947 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MClassType> */
2948 RET_LABEL36
:(void)0;
2956 /* method abstract_compiler#MClassType#c_name for (self: Object): String */
2957 val
* VIRTUAL_abstract_compiler__MClassType__c_name(val
* self
) {
2958 val
* var
/* : String */;
2959 val
* var1
/* : String */;
2960 var1
= abstract_compiler__MClassType__c_name(self
);
2965 /* method abstract_compiler#MClassType#ctype for (self: MClassType): String */
2966 val
* abstract_compiler__MClassType__ctype(val
* self
) {
2967 val
* var
/* : String */;
2968 val
* var1
/* : MClass */;
2969 val
* var3
/* : MClass */;
2970 val
* var4
/* : String */;
2971 val
* var6
/* : String */;
2972 static val
* varonce
;
2973 val
* var7
/* : String */;
2974 char* var8
/* : NativeString */;
2975 long var9
/* : Int */;
2976 val
* var10
/* : FlatString */;
2977 short int var11
/* : Bool */;
2978 short int var12
/* : Bool */;
2979 static val
* varonce13
;
2980 val
* var14
/* : String */;
2981 char* var15
/* : NativeString */;
2982 long var16
/* : Int */;
2983 val
* var17
/* : FlatString */;
2984 val
* var18
/* : MClass */;
2985 val
* var20
/* : MClass */;
2986 val
* var21
/* : String */;
2987 val
* var23
/* : String */;
2988 static val
* varonce24
;
2989 val
* var25
/* : String */;
2990 char* var26
/* : NativeString */;
2991 long var27
/* : Int */;
2992 val
* var28
/* : FlatString */;
2993 short int var29
/* : Bool */;
2994 short int var30
/* : Bool */;
2995 static val
* varonce31
;
2996 val
* var32
/* : String */;
2997 char* var33
/* : NativeString */;
2998 long var34
/* : Int */;
2999 val
* var35
/* : FlatString */;
3000 val
* var36
/* : MClass */;
3001 val
* var38
/* : MClass */;
3002 val
* var39
/* : String */;
3003 val
* var41
/* : String */;
3004 static val
* varonce42
;
3005 val
* var43
/* : String */;
3006 char* var44
/* : NativeString */;
3007 long var45
/* : Int */;
3008 val
* var46
/* : FlatString */;
3009 short int var47
/* : Bool */;
3010 short int var48
/* : Bool */;
3011 static val
* varonce49
;
3012 val
* var50
/* : String */;
3013 char* var51
/* : NativeString */;
3014 long var52
/* : Int */;
3015 val
* var53
/* : FlatString */;
3016 val
* var54
/* : MClass */;
3017 val
* var56
/* : MClass */;
3018 val
* var57
/* : String */;
3019 val
* var59
/* : String */;
3020 static val
* varonce60
;
3021 val
* var61
/* : String */;
3022 char* var62
/* : NativeString */;
3023 long var63
/* : Int */;
3024 val
* var64
/* : FlatString */;
3025 short int var65
/* : Bool */;
3026 short int var66
/* : Bool */;
3027 static val
* varonce67
;
3028 val
* var68
/* : String */;
3029 char* var69
/* : NativeString */;
3030 long var70
/* : Int */;
3031 val
* var71
/* : FlatString */;
3032 val
* var72
/* : MClass */;
3033 val
* var74
/* : MClass */;
3034 val
* var75
/* : String */;
3035 val
* var77
/* : String */;
3036 static val
* varonce78
;
3037 val
* var79
/* : String */;
3038 char* var80
/* : NativeString */;
3039 long var81
/* : Int */;
3040 val
* var82
/* : FlatString */;
3041 short int var83
/* : Bool */;
3042 short int var84
/* : Bool */;
3043 static val
* varonce85
;
3044 val
* var86
/* : String */;
3045 char* var87
/* : NativeString */;
3046 long var88
/* : Int */;
3047 val
* var89
/* : FlatString */;
3048 val
* var90
/* : MClass */;
3049 val
* var92
/* : MClass */;
3050 val
* var93
/* : String */;
3051 val
* var95
/* : String */;
3052 static val
* varonce96
;
3053 val
* var97
/* : String */;
3054 char* var98
/* : NativeString */;
3055 long var99
/* : Int */;
3056 val
* var100
/* : FlatString */;
3057 short int var101
/* : Bool */;
3058 short int var102
/* : Bool */;
3059 static val
* varonce103
;
3060 val
* var104
/* : String */;
3061 char* var105
/* : NativeString */;
3062 long var106
/* : Int */;
3063 val
* var107
/* : FlatString */;
3064 val
* var108
/* : MClass */;
3065 val
* var110
/* : MClass */;
3066 val
* var111
/* : MClassKind */;
3067 val
* var113
/* : MClassKind */;
3068 val
* var114
/* : MClassKind */;
3069 short int var115
/* : Bool */;
3070 short int var116
/* : Bool */;
3071 val
* var_other
/* var other: nullable Object */;
3072 short int var118
/* : Bool */;
3073 short int var120
/* : Bool */;
3074 static val
* varonce121
;
3075 val
* var122
/* : String */;
3076 char* var123
/* : NativeString */;
3077 long var124
/* : Int */;
3078 val
* var125
/* : FlatString */;
3079 static val
* varonce126
;
3080 val
* var127
/* : String */;
3081 char* var128
/* : NativeString */;
3082 long var129
/* : Int */;
3083 val
* var130
/* : FlatString */;
3085 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3086 var3
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3087 if (unlikely(var3
== NULL
)) {
3088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3089 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3097 { /* Inline model#MClass#name (var1) on <var1:MClass> */
3098 var6
= var1
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var1:MClass> */
3099 if (unlikely(var6
== NULL
)) {
3100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3101 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3113 var10
= string__NativeString__to_s_with_length(var8
, var9
);
3118 var12
= string__FlatString___61d_61d(var4
, var7
);
3127 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3135 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3136 var20
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3137 if (unlikely(var20
== NULL
)) {
3138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3139 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3143 RET_LABEL19
:(void)0;
3147 { /* Inline model#MClass#name (var18) on <var18:MClass> */
3148 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
3149 if (unlikely(var23
== NULL
)) {
3150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3151 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3155 RET_LABEL22
:(void)0;
3163 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3168 var30
= string__FlatString___61d_61d(var21
, var25
);
3175 var33
= "short int";
3177 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3185 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3186 var38
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3187 if (unlikely(var38
== NULL
)) {
3188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3189 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3193 RET_LABEL37
:(void)0;
3197 { /* Inline model#MClass#name (var36) on <var36:MClass> */
3198 var41
= var36
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var36:MClass> */
3199 if (unlikely(var41
== NULL
)) {
3200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3201 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3205 RET_LABEL40
:(void)0;
3213 var46
= string__NativeString__to_s_with_length(var44
, var45
);
3218 var48
= string__FlatString___61d_61d(var39
, var43
);
3227 var53
= string__NativeString__to_s_with_length(var51
, var52
);
3235 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3236 var56
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3237 if (unlikely(var56
== NULL
)) {
3238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3239 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3243 RET_LABEL55
:(void)0;
3247 { /* Inline model#MClass#name (var54) on <var54:MClass> */
3248 var59
= var54
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var54:MClass> */
3249 if (unlikely(var59
== NULL
)) {
3250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3251 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3255 RET_LABEL58
:(void)0;
3263 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3268 var66
= string__FlatString___61d_61d(var57
, var61
);
3277 var71
= string__NativeString__to_s_with_length(var69
, var70
);
3285 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3286 var74
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3287 if (unlikely(var74
== NULL
)) {
3288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3289 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3293 RET_LABEL73
:(void)0;
3297 { /* Inline model#MClass#name (var72) on <var72:MClass> */
3298 var77
= var72
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var72:MClass> */
3299 if (unlikely(var77
== NULL
)) {
3300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3301 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3305 RET_LABEL76
:(void)0;
3311 var80
= "NativeString";
3313 var82
= string__NativeString__to_s_with_length(var80
, var81
);
3318 var84
= string__FlatString___61d_61d(var75
, var79
);
3327 var89
= string__NativeString__to_s_with_length(var87
, var88
);
3335 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3336 var92
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3337 if (unlikely(var92
== NULL
)) {
3338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3339 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3343 RET_LABEL91
:(void)0;
3347 { /* Inline model#MClass#name (var90) on <var90:MClass> */
3348 var95
= var90
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var90:MClass> */
3349 if (unlikely(var95
== NULL
)) {
3350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3351 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3355 RET_LABEL94
:(void)0;
3361 var98
= "NativeArray";
3363 var100
= string__NativeString__to_s_with_length(var98
, var99
);
3368 var102
= string__FlatString___61d_61d(var93
, var97
);
3373 var104
= varonce103
;
3377 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3379 varonce103
= var104
;
3385 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3386 var110
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3387 if (unlikely(var110
== NULL
)) {
3388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3389 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3393 RET_LABEL109
:(void)0;
3397 { /* Inline model#MClass#kind (var108) on <var108:MClass> */
3398 var113
= var108
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var108:MClass> */
3399 if (unlikely(var113
== NULL
)) {
3400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3401 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
3405 RET_LABEL112
:(void)0;
3409 var114
= model__Object__extern_kind(self
);
3412 { /* Inline kernel#Object#== (var111,var114) on <var111:MClassKind> */
3415 { /* Inline kernel#Object#is_same_instance (var111,var_other) on <var111:MClassKind> */
3416 var120
= var111
== var_other
;
3419 RET_LABEL119
:(void)0;
3424 RET_LABEL117
:(void)0;
3430 var122
= varonce121
;
3434 var125
= string__NativeString__to_s_with_length(var123
, var124
);
3436 varonce121
= var122
;
3442 var127
= varonce126
;
3446 var130
= string__NativeString__to_s_with_length(var128
, var129
);
3448 varonce126
= var127
;
3462 /* method abstract_compiler#MClassType#ctype for (self: Object): String */
3463 val
* VIRTUAL_abstract_compiler__MClassType__ctype(val
* self
) {
3464 val
* var
/* : String */;
3465 val
* var1
/* : String */;
3466 var1
= abstract_compiler__MClassType__ctype(self
);
3471 /* method abstract_compiler#MClassType#ctypename for (self: MClassType): String */
3472 val
* abstract_compiler__MClassType__ctypename(val
* self
) {
3473 val
* var
/* : String */;
3474 val
* var1
/* : MClass */;
3475 val
* var3
/* : MClass */;
3476 val
* var4
/* : String */;
3477 val
* var6
/* : String */;
3478 static val
* varonce
;
3479 val
* var7
/* : String */;
3480 char* var8
/* : NativeString */;
3481 long var9
/* : Int */;
3482 val
* var10
/* : FlatString */;
3483 short int var11
/* : Bool */;
3484 short int var12
/* : Bool */;
3485 static val
* varonce13
;
3486 val
* var14
/* : String */;
3487 char* var15
/* : NativeString */;
3488 long var16
/* : Int */;
3489 val
* var17
/* : FlatString */;
3490 val
* var18
/* : MClass */;
3491 val
* var20
/* : MClass */;
3492 val
* var21
/* : String */;
3493 val
* var23
/* : String */;
3494 static val
* varonce24
;
3495 val
* var25
/* : String */;
3496 char* var26
/* : NativeString */;
3497 long var27
/* : Int */;
3498 val
* var28
/* : FlatString */;
3499 short int var29
/* : Bool */;
3500 short int var30
/* : Bool */;
3501 static val
* varonce31
;
3502 val
* var32
/* : String */;
3503 char* var33
/* : NativeString */;
3504 long var34
/* : Int */;
3505 val
* var35
/* : FlatString */;
3506 val
* var36
/* : MClass */;
3507 val
* var38
/* : MClass */;
3508 val
* var39
/* : String */;
3509 val
* var41
/* : String */;
3510 static val
* varonce42
;
3511 val
* var43
/* : String */;
3512 char* var44
/* : NativeString */;
3513 long var45
/* : Int */;
3514 val
* var46
/* : FlatString */;
3515 short int var47
/* : Bool */;
3516 short int var48
/* : Bool */;
3517 static val
* varonce49
;
3518 val
* var50
/* : String */;
3519 char* var51
/* : NativeString */;
3520 long var52
/* : Int */;
3521 val
* var53
/* : FlatString */;
3522 val
* var54
/* : MClass */;
3523 val
* var56
/* : MClass */;
3524 val
* var57
/* : String */;
3525 val
* var59
/* : String */;
3526 static val
* varonce60
;
3527 val
* var61
/* : String */;
3528 char* var62
/* : NativeString */;
3529 long var63
/* : Int */;
3530 val
* var64
/* : FlatString */;
3531 short int var65
/* : Bool */;
3532 short int var66
/* : Bool */;
3533 static val
* varonce67
;
3534 val
* var68
/* : String */;
3535 char* var69
/* : NativeString */;
3536 long var70
/* : Int */;
3537 val
* var71
/* : FlatString */;
3538 val
* var72
/* : MClass */;
3539 val
* var74
/* : MClass */;
3540 val
* var75
/* : String */;
3541 val
* var77
/* : String */;
3542 static val
* varonce78
;
3543 val
* var79
/* : String */;
3544 char* var80
/* : NativeString */;
3545 long var81
/* : Int */;
3546 val
* var82
/* : FlatString */;
3547 short int var83
/* : Bool */;
3548 short int var84
/* : Bool */;
3549 static val
* varonce85
;
3550 val
* var86
/* : String */;
3551 char* var87
/* : NativeString */;
3552 long var88
/* : Int */;
3553 val
* var89
/* : FlatString */;
3554 val
* var90
/* : MClass */;
3555 val
* var92
/* : MClass */;
3556 val
* var93
/* : String */;
3557 val
* var95
/* : String */;
3558 static val
* varonce96
;
3559 val
* var97
/* : String */;
3560 char* var98
/* : NativeString */;
3561 long var99
/* : Int */;
3562 val
* var100
/* : FlatString */;
3563 short int var101
/* : Bool */;
3564 short int var102
/* : Bool */;
3565 static val
* varonce103
;
3566 val
* var104
/* : String */;
3567 char* var105
/* : NativeString */;
3568 long var106
/* : Int */;
3569 val
* var107
/* : FlatString */;
3570 val
* var108
/* : MClass */;
3571 val
* var110
/* : MClass */;
3572 val
* var111
/* : MClassKind */;
3573 val
* var113
/* : MClassKind */;
3574 val
* var114
/* : MClassKind */;
3575 short int var115
/* : Bool */;
3576 short int var116
/* : Bool */;
3577 val
* var_other
/* var other: nullable Object */;
3578 short int var118
/* : Bool */;
3579 short int var120
/* : Bool */;
3580 static val
* varonce121
;
3581 val
* var122
/* : String */;
3582 char* var123
/* : NativeString */;
3583 long var124
/* : Int */;
3584 val
* var125
/* : FlatString */;
3585 static val
* varonce126
;
3586 val
* var127
/* : String */;
3587 char* var128
/* : NativeString */;
3588 long var129
/* : Int */;
3589 val
* var130
/* : FlatString */;
3591 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3592 var3
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3593 if (unlikely(var3
== NULL
)) {
3594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3595 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3603 { /* Inline model#MClass#name (var1) on <var1:MClass> */
3604 var6
= var1
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var1:MClass> */
3605 if (unlikely(var6
== NULL
)) {
3606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3607 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3619 var10
= string__NativeString__to_s_with_length(var8
, var9
);
3624 var12
= string__FlatString___61d_61d(var4
, var7
);
3633 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3641 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3642 var20
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3643 if (unlikely(var20
== NULL
)) {
3644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3645 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3649 RET_LABEL19
:(void)0;
3653 { /* Inline model#MClass#name (var18) on <var18:MClass> */
3654 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
3655 if (unlikely(var23
== NULL
)) {
3656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3657 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3661 RET_LABEL22
:(void)0;
3669 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3674 var30
= string__FlatString___61d_61d(var21
, var25
);
3683 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3691 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3692 var38
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3693 if (unlikely(var38
== NULL
)) {
3694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3695 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3699 RET_LABEL37
:(void)0;
3703 { /* Inline model#MClass#name (var36) on <var36:MClass> */
3704 var41
= var36
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var36:MClass> */
3705 if (unlikely(var41
== NULL
)) {
3706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3707 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3711 RET_LABEL40
:(void)0;
3719 var46
= string__NativeString__to_s_with_length(var44
, var45
);
3724 var48
= string__FlatString___61d_61d(var39
, var43
);
3733 var53
= string__NativeString__to_s_with_length(var51
, var52
);
3741 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3742 var56
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3743 if (unlikely(var56
== NULL
)) {
3744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3745 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3749 RET_LABEL55
:(void)0;
3753 { /* Inline model#MClass#name (var54) on <var54:MClass> */
3754 var59
= var54
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var54:MClass> */
3755 if (unlikely(var59
== NULL
)) {
3756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3757 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3761 RET_LABEL58
:(void)0;
3769 var64
= string__NativeString__to_s_with_length(var62
, var63
);
3774 var66
= string__FlatString___61d_61d(var57
, var61
);
3783 var71
= string__NativeString__to_s_with_length(var69
, var70
);
3791 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3792 var74
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3793 if (unlikely(var74
== NULL
)) {
3794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3795 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3799 RET_LABEL73
:(void)0;
3803 { /* Inline model#MClass#name (var72) on <var72:MClass> */
3804 var77
= var72
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var72:MClass> */
3805 if (unlikely(var77
== NULL
)) {
3806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3807 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3811 RET_LABEL76
:(void)0;
3817 var80
= "NativeString";
3819 var82
= string__NativeString__to_s_with_length(var80
, var81
);
3824 var84
= string__FlatString___61d_61d(var75
, var79
);
3833 var89
= string__NativeString__to_s_with_length(var87
, var88
);
3841 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3842 var92
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3843 if (unlikely(var92
== NULL
)) {
3844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3845 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3849 RET_LABEL91
:(void)0;
3853 { /* Inline model#MClass#name (var90) on <var90:MClass> */
3854 var95
= var90
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var90:MClass> */
3855 if (unlikely(var95
== NULL
)) {
3856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3857 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
3861 RET_LABEL94
:(void)0;
3867 var98
= "NativeArray";
3869 var100
= string__NativeString__to_s_with_length(var98
, var99
);
3874 var102
= string__FlatString___61d_61d(var93
, var97
);
3879 var104
= varonce103
;
3883 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3885 varonce103
= var104
;
3891 { /* Inline model#MClassType#mclass (self) on <self:MClassType> */
3892 var110
= self
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <self:MClassType> */
3893 if (unlikely(var110
== NULL
)) {
3894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3895 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
3899 RET_LABEL109
:(void)0;
3903 { /* Inline model#MClass#kind (var108) on <var108:MClass> */
3904 var113
= var108
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var108:MClass> */
3905 if (unlikely(var113
== NULL
)) {
3906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3907 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
3911 RET_LABEL112
:(void)0;
3915 var114
= model__Object__extern_kind(self
);
3918 { /* Inline kernel#Object#== (var111,var114) on <var111:MClassKind> */
3921 { /* Inline kernel#Object#is_same_instance (var111,var_other) on <var111:MClassKind> */
3922 var120
= var111
== var_other
;
3925 RET_LABEL119
:(void)0;
3930 RET_LABEL117
:(void)0;
3936 var122
= varonce121
;
3940 var125
= string__NativeString__to_s_with_length(var123
, var124
);
3942 varonce121
= var122
;
3948 var127
= varonce126
;
3952 var130
= string__NativeString__to_s_with_length(var128
, var129
);
3954 varonce126
= var127
;
3968 /* method abstract_compiler#MClassType#ctypename for (self: Object): String */
3969 val
* VIRTUAL_abstract_compiler__MClassType__ctypename(val
* self
) {
3970 val
* var
/* : String */;
3971 val
* var1
/* : String */;
3972 var1
= abstract_compiler__MClassType__ctypename(self
);
3977 /* method abstract_compiler#MGenericType#c_name for (self: MGenericType): String */
3978 val
* abstract_compiler__MGenericType__c_name(val
* self
) {
3979 val
* var
/* : String */;
3980 val
* var1
/* : nullable String */;
3981 val
* var3
/* : nullable String */;
3982 val
* var_res
/* var res: nullable String */;
3983 val
* var4
/* : null */;
3984 short int var5
/* : Bool */;
3985 short int var6
/* : Bool */;
3986 val
* var_other
/* var other: nullable Object */;
3987 short int var8
/* : Bool */;
3988 short int var9
/* : Bool */;
3989 short int var10
/* : Bool */;
3990 val
* var11
/* : String */;
3991 val
* var12
/* : Array[MType] */;
3992 val
* var14
/* : Array[MType] */;
3993 val
* var15
/* : ArrayIterator[nullable Object] */;
3994 short int var16
/* : Bool */;
3995 val
* var17
/* : nullable Object */;
3996 val
* var_t
/* var t: MType */;
3997 val
* var18
/* : String */;
3998 val
* var19
/* : String */;
4000 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MGenericType> */
4001 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MGenericType> */
4008 if (var_res
== NULL
) {
4009 var5
= 0; /* is null */
4011 var5
= 1; /* arg is null and recv is not */
4014 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4017 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4033 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MGenericType__c_name
]))(self
) /* c_name on <self:MGenericType>*/;
4037 { /* Inline model#MClassType#arguments (self) on <self:MGenericType> */
4038 var14
= self
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <self:MGenericType> */
4039 if (unlikely(var14
== NULL
)) {
4040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4041 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 979);
4045 RET_LABEL13
:(void)0;
4049 var15
= array__AbstractArrayRead__iterator(var12
);
4053 var16
= array__ArrayIterator__is_ok(var15
);
4057 var17
= array__ArrayIterator__item(var15
);
4061 var18
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MType>*/;
4064 var19
= string__FlatString___43d(var_res
, var18
);
4067 CONTINUE_label
: (void)0;
4069 array__ArrayIterator__next(var15
); /* Direct call array#ArrayIterator#next on <var15:ArrayIterator[nullable Object]>*/
4072 BREAK_label
: (void)0;
4074 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MGenericType> */
4075 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MGenericType> */
4076 RET_LABEL20
:(void)0;
4084 /* method abstract_compiler#MGenericType#c_name for (self: Object): String */
4085 val
* VIRTUAL_abstract_compiler__MGenericType__c_name(val
* self
) {
4086 val
* var
/* : String */;
4087 val
* var1
/* : String */;
4088 var1
= abstract_compiler__MGenericType__c_name(self
);
4093 /* method abstract_compiler#MParameterType#c_name for (self: MParameterType): String */
4094 val
* abstract_compiler__MParameterType__c_name(val
* self
) {
4095 val
* var
/* : String */;
4096 val
* var1
/* : nullable String */;
4097 val
* var3
/* : nullable String */;
4098 val
* var_res
/* var res: nullable String */;
4099 val
* var4
/* : null */;
4100 short int var5
/* : Bool */;
4101 short int var6
/* : Bool */;
4102 val
* var_other
/* var other: nullable Object */;
4103 short int var8
/* : Bool */;
4104 short int var9
/* : Bool */;
4105 short int var10
/* : Bool */;
4106 val
* var11
/* : MClass */;
4107 val
* var13
/* : MClass */;
4108 val
* var14
/* : String */;
4109 static val
* varonce
;
4110 val
* var15
/* : String */;
4111 char* var16
/* : NativeString */;
4112 long var17
/* : Int */;
4113 val
* var18
/* : FlatString */;
4114 long var19
/* : Int */;
4115 long var21
/* : Int */;
4116 val
* var22
/* : Array[Object] */;
4117 long var23
/* : Int */;
4118 val
* var24
/* : NativeArray[Object] */;
4119 val
* var25
/* : Object */;
4120 val
* var26
/* : String */;
4122 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MParameterType> */
4123 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MParameterType> */
4130 if (var_res
== NULL
) {
4131 var5
= 0; /* is null */
4133 var5
= 1; /* arg is null and recv is not */
4136 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4139 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4155 { /* Inline model#MParameterType#mclass (self) on <self:MParameterType> */
4156 var13
= self
->attrs
[COLOR_model__MParameterType___mclass
].val
; /* _mclass on <self:MParameterType> */
4157 if (unlikely(var13
== NULL
)) {
4158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4159 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1265);
4163 RET_LABEL12
:(void)0;
4167 var14
= abstract_compiler__MClass__c_name(var11
);
4174 var18
= string__NativeString__to_s_with_length(var16
, var17
);
4179 { /* Inline model#MParameterType#rank (self) on <self:MParameterType> */
4180 var21
= self
->attrs
[COLOR_model__MParameterType___rank
].l
; /* _rank on <self:MParameterType> */
4182 RET_LABEL20
:(void)0;
4185 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
4186 { /* var22 = array_instance Array[Object] */
4188 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
4189 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var14
;
4190 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var15
;
4191 var25
= BOX_kernel__Int(var19
); /* autobox from Int to Object */
4192 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var25
;
4194 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
4198 var26
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
4202 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MParameterType> */
4203 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MParameterType> */
4204 RET_LABEL27
:(void)0;
4212 /* method abstract_compiler#MParameterType#c_name for (self: Object): String */
4213 val
* VIRTUAL_abstract_compiler__MParameterType__c_name(val
* self
) {
4214 val
* var
/* : String */;
4215 val
* var1
/* : String */;
4216 var1
= abstract_compiler__MParameterType__c_name(self
);
4221 /* method abstract_compiler#MVirtualType#c_name for (self: MVirtualType): String */
4222 val
* abstract_compiler__MVirtualType__c_name(val
* self
) {
4223 val
* var
/* : String */;
4224 val
* var1
/* : nullable String */;
4225 val
* var3
/* : nullable String */;
4226 val
* var_res
/* var res: nullable String */;
4227 val
* var4
/* : null */;
4228 short int var5
/* : Bool */;
4229 short int var6
/* : Bool */;
4230 val
* var_other
/* var other: nullable Object */;
4231 short int var8
/* : Bool */;
4232 short int var9
/* : Bool */;
4233 short int var10
/* : Bool */;
4234 val
* var11
/* : MProperty */;
4235 val
* var13
/* : MProperty */;
4236 val
* var14
/* : MPropDef */;
4237 val
* var15
/* : MClassDef */;
4238 val
* var17
/* : MClassDef */;
4239 val
* var18
/* : MClass */;
4240 val
* var20
/* : MClass */;
4241 val
* var21
/* : String */;
4242 static val
* varonce
;
4243 val
* var22
/* : String */;
4244 char* var23
/* : NativeString */;
4245 long var24
/* : Int */;
4246 val
* var25
/* : FlatString */;
4247 val
* var26
/* : MProperty */;
4248 val
* var28
/* : MProperty */;
4249 val
* var29
/* : String */;
4250 val
* var31
/* : String */;
4251 val
* var32
/* : Array[Object] */;
4252 long var33
/* : Int */;
4253 val
* var34
/* : NativeArray[Object] */;
4254 val
* var35
/* : String */;
4256 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MVirtualType> */
4257 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MVirtualType> */
4264 if (var_res
== NULL
) {
4265 var5
= 0; /* is null */
4267 var5
= 1; /* arg is null and recv is not */
4270 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4273 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4289 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
4290 var13
= self
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
4291 if (unlikely(var13
== NULL
)) {
4292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4293 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1135);
4297 RET_LABEL12
:(void)0;
4301 var14
= model__MProperty__intro(var11
);
4304 { /* Inline model#MPropDef#mclassdef (var14) on <var14:MPropDef> */
4305 var17
= var14
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var14:MPropDef> */
4306 if (unlikely(var17
== NULL
)) {
4307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4308 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4312 RET_LABEL16
:(void)0;
4316 { /* Inline model#MClassDef#mclass (var15) on <var15:MClassDef> */
4317 var20
= var15
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var15:MClassDef> */
4318 if (unlikely(var20
== NULL
)) {
4319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4320 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
4324 RET_LABEL19
:(void)0;
4328 var21
= abstract_compiler__MClass__c_name(var18
);
4335 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4340 { /* Inline model#MVirtualType#mproperty (self) on <self:MVirtualType> */
4341 var28
= self
->attrs
[COLOR_model__MVirtualType___mproperty
].val
; /* _mproperty on <self:MVirtualType> */
4342 if (unlikely(var28
== NULL
)) {
4343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
4344 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1135);
4348 RET_LABEL27
:(void)0;
4352 { /* Inline model#MProperty#name (var26) on <var26:MProperty> */
4353 var31
= var26
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var26:MProperty> */
4354 if (unlikely(var31
== NULL
)) {
4355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4356 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
4360 RET_LABEL30
:(void)0;
4363 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
4364 { /* var32 = array_instance Array[Object] */
4366 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
4367 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var21
;
4368 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var22
;
4369 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var29
;
4371 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
4375 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
4379 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MVirtualType> */
4380 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MVirtualType> */
4381 RET_LABEL36
:(void)0;
4389 /* method abstract_compiler#MVirtualType#c_name for (self: Object): String */
4390 val
* VIRTUAL_abstract_compiler__MVirtualType__c_name(val
* self
) {
4391 val
* var
/* : String */;
4392 val
* var1
/* : String */;
4393 var1
= abstract_compiler__MVirtualType__c_name(self
);
4398 /* method abstract_compiler#MNullableType#c_name for (self: MNullableType): String */
4399 val
* abstract_compiler__MNullableType__c_name(val
* self
) {
4400 val
* var
/* : String */;
4401 val
* var1
/* : nullable String */;
4402 val
* var3
/* : nullable String */;
4403 val
* var_res
/* var res: nullable String */;
4404 val
* var4
/* : null */;
4405 short int var5
/* : Bool */;
4406 short int var6
/* : Bool */;
4407 val
* var_other
/* var other: nullable Object */;
4408 short int var8
/* : Bool */;
4409 short int var9
/* : Bool */;
4410 short int var10
/* : Bool */;
4411 static val
* varonce
;
4412 val
* var11
/* : String */;
4413 char* var12
/* : NativeString */;
4414 long var13
/* : Int */;
4415 val
* var14
/* : FlatString */;
4416 val
* var15
/* : MType */;
4417 val
* var17
/* : MType */;
4418 val
* var18
/* : String */;
4419 val
* var19
/* : Array[Object] */;
4420 long var20
/* : Int */;
4421 val
* var21
/* : NativeArray[Object] */;
4422 val
* var22
/* : String */;
4424 { /* Inline abstract_compiler#MType#c_name_cache (self) on <self:MNullableType> */
4425 var3
= self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
; /* _c_name_cache on <self:MNullableType> */
4432 if (var_res
== NULL
) {
4433 var5
= 0; /* is null */
4435 var5
= 1; /* arg is null and recv is not */
4438 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4441 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4459 var12
= "nullable_";
4461 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4466 { /* Inline model#MNullableType#mtype (self) on <self:MNullableType> */
4467 var17
= self
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <self:MNullableType> */
4468 if (unlikely(var17
== NULL
)) {
4469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4470 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
4474 RET_LABEL16
:(void)0;
4478 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var15
) /* c_name on <var15:MType>*/;
4480 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
4481 { /* var19 = array_instance Array[Object] */
4483 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
4484 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var11
;
4485 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var18
;
4487 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
4491 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
4495 { /* Inline abstract_compiler#MType#c_name_cache= (self,var_res) on <self:MNullableType> */
4496 self
->attrs
[COLOR_abstract_compiler__MType___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MNullableType> */
4497 RET_LABEL23
:(void)0;
4505 /* method abstract_compiler#MNullableType#c_name for (self: Object): String */
4506 val
* VIRTUAL_abstract_compiler__MNullableType__c_name(val
* self
) {
4507 val
* var
/* : String */;
4508 val
* var1
/* : String */;
4509 var1
= abstract_compiler__MNullableType__c_name(self
);
4514 /* method abstract_compiler#MClass#c_name for (self: MClass): String */
4515 val
* abstract_compiler__MClass__c_name(val
* self
) {
4516 val
* var
/* : String */;
4517 val
* var1
/* : nullable String */;
4518 val
* var3
/* : nullable String */;
4519 val
* var_res
/* var res: nullable String */;
4520 val
* var4
/* : null */;
4521 short int var5
/* : Bool */;
4522 short int var6
/* : Bool */;
4523 val
* var_other
/* var other: nullable Object */;
4524 short int var8
/* : Bool */;
4525 short int var9
/* : Bool */;
4526 short int var10
/* : Bool */;
4527 val
* var11
/* : MModule */;
4528 val
* var13
/* : MModule */;
4529 val
* var14
/* : String */;
4530 val
* var16
/* : String */;
4531 val
* var17
/* : String */;
4532 static val
* varonce
;
4533 val
* var18
/* : String */;
4534 char* var19
/* : NativeString */;
4535 long var20
/* : Int */;
4536 val
* var21
/* : FlatString */;
4537 val
* var22
/* : String */;
4538 val
* var24
/* : String */;
4539 val
* var25
/* : String */;
4540 val
* var26
/* : Array[Object] */;
4541 long var27
/* : Int */;
4542 val
* var28
/* : NativeArray[Object] */;
4543 val
* var29
/* : String */;
4545 { /* Inline abstract_compiler#MClass#c_name_cache (self) on <self:MClass> */
4546 var3
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:MClass> */
4553 if (var_res
== NULL
) {
4554 var5
= 0; /* is null */
4556 var5
= 1; /* arg is null and recv is not */
4559 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4562 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4578 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
4579 var13
= self
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
4580 if (unlikely(var13
== NULL
)) {
4581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
4582 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 335);
4586 RET_LABEL12
:(void)0;
4590 { /* Inline mmodule#MModule#name (var11) on <var11:MModule> */
4591 var16
= var11
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var11:MModule> */
4592 if (unlikely(var16
== NULL
)) {
4593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4594 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 86);
4598 RET_LABEL15
:(void)0;
4602 var17
= string__Text__to_cmangle(var14
);
4609 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4614 { /* Inline model#MClass#name (self) on <self:MClass> */
4615 var24
= self
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <self:MClass> */
4616 if (unlikely(var24
== NULL
)) {
4617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4618 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
4622 RET_LABEL23
:(void)0;
4626 var25
= string__Text__to_cmangle(var22
);
4628 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
4629 { /* var26 = array_instance Array[Object] */
4631 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
4632 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
4633 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var18
;
4634 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var25
;
4636 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
4640 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
4644 { /* Inline abstract_compiler#MClass#c_name_cache= (self,var_res) on <self:MClass> */
4645 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MClass> */
4646 RET_LABEL30
:(void)0;
4654 /* method abstract_compiler#MClass#c_name for (self: Object): String */
4655 val
* VIRTUAL_abstract_compiler__MClass__c_name(val
* self
) {
4656 val
* var
/* : String */;
4657 val
* var1
/* : String */;
4658 var1
= abstract_compiler__MClass__c_name(self
);
4663 /* method abstract_compiler#MClass#c_name_cache for (self: MClass): nullable String */
4664 val
* abstract_compiler__MClass__c_name_cache(val
* self
) {
4665 val
* var
/* : nullable String */;
4666 val
* var1
/* : nullable String */;
4667 var1
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:MClass> */
4672 /* method abstract_compiler#MClass#c_name_cache for (self: Object): nullable String */
4673 val
* VIRTUAL_abstract_compiler__MClass__c_name_cache(val
* self
) {
4674 val
* var
/* : nullable String */;
4675 val
* var1
/* : nullable String */;
4676 val
* var3
/* : nullable String */;
4677 { /* Inline abstract_compiler#MClass#c_name_cache (self) on <self:Object(MClass)> */
4678 var3
= self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
; /* _c_name_cache on <self:Object(MClass)> */
4686 /* method abstract_compiler#MClass#c_name_cache= for (self: MClass, nullable String) */
4687 void abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
4688 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MClass> */
4691 /* method abstract_compiler#MClass#c_name_cache= for (self: Object, nullable String) */
4692 void VIRTUAL_abstract_compiler__MClass__c_name_cache_61d(val
* self
, val
* p0
) {
4693 { /* Inline abstract_compiler#MClass#c_name_cache= (self,p0) on <self:Object(MClass)> */
4694 self
->attrs
[COLOR_abstract_compiler__MClass___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MClass)> */
4699 /* method abstract_compiler#MProperty#c_name for (self: MProperty): String */
4700 val
* abstract_compiler__MProperty__c_name(val
* self
) {
4701 val
* var
/* : String */;
4702 val
* var1
/* : nullable String */;
4703 val
* var3
/* : nullable String */;
4704 val
* var_res
/* var res: nullable String */;
4705 val
* var4
/* : null */;
4706 short int var5
/* : Bool */;
4707 short int var6
/* : Bool */;
4708 val
* var_other
/* var other: nullable Object */;
4709 short int var8
/* : Bool */;
4710 short int var9
/* : Bool */;
4711 short int var10
/* : Bool */;
4712 val
* var11
/* : MPropDef */;
4713 val
* var12
/* : String */;
4714 val
* var13
/* : Array[Object] */;
4715 long var14
/* : Int */;
4716 val
* var15
/* : NativeArray[Object] */;
4717 val
* var16
/* : String */;
4719 { /* Inline abstract_compiler#MProperty#c_name_cache (self) on <self:MProperty> */
4720 var3
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:MProperty> */
4727 if (var_res
== NULL
) {
4728 var5
= 0; /* is null */
4730 var5
= 1; /* arg is null and recv is not */
4733 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4736 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4752 var11
= model__MProperty__intro(self
);
4755 var12
= abstract_compiler__MPropDef__c_name(var11
);
4757 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4758 { /* var13 = array_instance Array[Object] */
4760 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
4761 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var12
;
4763 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
4767 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
4771 { /* Inline abstract_compiler#MProperty#c_name_cache= (self,var_res) on <self:MProperty> */
4772 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MProperty> */
4773 RET_LABEL17
:(void)0;
4781 /* method abstract_compiler#MProperty#c_name for (self: Object): String */
4782 val
* VIRTUAL_abstract_compiler__MProperty__c_name(val
* self
) {
4783 val
* var
/* : String */;
4784 val
* var1
/* : String */;
4785 var1
= abstract_compiler__MProperty__c_name(self
);
4790 /* method abstract_compiler#MProperty#c_name_cache for (self: MProperty): nullable String */
4791 val
* abstract_compiler__MProperty__c_name_cache(val
* self
) {
4792 val
* var
/* : nullable String */;
4793 val
* var1
/* : nullable String */;
4794 var1
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:MProperty> */
4799 /* method abstract_compiler#MProperty#c_name_cache for (self: Object): nullable String */
4800 val
* VIRTUAL_abstract_compiler__MProperty__c_name_cache(val
* self
) {
4801 val
* var
/* : nullable String */;
4802 val
* var1
/* : nullable String */;
4803 val
* var3
/* : nullable String */;
4804 { /* Inline abstract_compiler#MProperty#c_name_cache (self) on <self:Object(MProperty)> */
4805 var3
= self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
; /* _c_name_cache on <self:Object(MProperty)> */
4813 /* method abstract_compiler#MProperty#c_name_cache= for (self: MProperty, nullable String) */
4814 void abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
4815 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MProperty> */
4818 /* method abstract_compiler#MProperty#c_name_cache= for (self: Object, nullable String) */
4819 void VIRTUAL_abstract_compiler__MProperty__c_name_cache_61d(val
* self
, val
* p0
) {
4820 { /* Inline abstract_compiler#MProperty#c_name_cache= (self,p0) on <self:Object(MProperty)> */
4821 self
->attrs
[COLOR_abstract_compiler__MProperty___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MProperty)> */
4826 /* method abstract_compiler#MPropDef#c_name_cache for (self: MPropDef): nullable String */
4827 val
* abstract_compiler__MPropDef__c_name_cache(val
* self
) {
4828 val
* var
/* : nullable String */;
4829 val
* var1
/* : nullable String */;
4830 var1
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:MPropDef> */
4835 /* method abstract_compiler#MPropDef#c_name_cache for (self: Object): nullable String */
4836 val
* VIRTUAL_abstract_compiler__MPropDef__c_name_cache(val
* self
) {
4837 val
* var
/* : nullable String */;
4838 val
* var1
/* : nullable String */;
4839 val
* var3
/* : nullable String */;
4840 { /* Inline abstract_compiler#MPropDef#c_name_cache (self) on <self:Object(MPropDef)> */
4841 var3
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:Object(MPropDef)> */
4849 /* method abstract_compiler#MPropDef#c_name_cache= for (self: MPropDef, nullable String) */
4850 void abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
4851 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= p0
; /* _c_name_cache on <self:MPropDef> */
4854 /* method abstract_compiler#MPropDef#c_name_cache= for (self: Object, nullable String) */
4855 void VIRTUAL_abstract_compiler__MPropDef__c_name_cache_61d(val
* self
, val
* p0
) {
4856 { /* Inline abstract_compiler#MPropDef#c_name_cache= (self,p0) on <self:Object(MPropDef)> */
4857 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= p0
; /* _c_name_cache on <self:Object(MPropDef)> */
4862 /* method abstract_compiler#MPropDef#c_name for (self: MPropDef): String */
4863 val
* abstract_compiler__MPropDef__c_name(val
* self
) {
4864 val
* var
/* : String */;
4865 val
* var1
/* : nullable String */;
4866 val
* var3
/* : nullable String */;
4867 val
* var_res
/* var res: nullable String */;
4868 val
* var4
/* : null */;
4869 short int var5
/* : Bool */;
4870 short int var6
/* : Bool */;
4871 val
* var_other
/* var other: nullable Object */;
4872 short int var8
/* : Bool */;
4873 short int var9
/* : Bool */;
4874 short int var10
/* : Bool */;
4875 val
* var11
/* : MClassDef */;
4876 val
* var13
/* : MClassDef */;
4877 val
* var14
/* : MModule */;
4878 val
* var16
/* : MModule */;
4879 val
* var17
/* : String */;
4880 val
* var19
/* : String */;
4881 val
* var20
/* : String */;
4882 static val
* varonce
;
4883 val
* var21
/* : String */;
4884 char* var22
/* : NativeString */;
4885 long var23
/* : Int */;
4886 val
* var24
/* : FlatString */;
4887 val
* var25
/* : MClassDef */;
4888 val
* var27
/* : MClassDef */;
4889 val
* var28
/* : MClass */;
4890 val
* var30
/* : MClass */;
4891 val
* var31
/* : String */;
4892 val
* var33
/* : String */;
4893 val
* var34
/* : String */;
4894 static val
* varonce35
;
4895 val
* var36
/* : String */;
4896 char* var37
/* : NativeString */;
4897 long var38
/* : Int */;
4898 val
* var39
/* : FlatString */;
4899 val
* var40
/* : MProperty */;
4900 val
* var42
/* : MProperty */;
4901 val
* var43
/* : String */;
4902 val
* var45
/* : String */;
4903 val
* var46
/* : String */;
4904 val
* var47
/* : Array[Object] */;
4905 long var48
/* : Int */;
4906 val
* var49
/* : NativeArray[Object] */;
4907 val
* var50
/* : String */;
4909 { /* Inline abstract_compiler#MPropDef#c_name_cache (self) on <self:MPropDef> */
4910 var3
= self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
; /* _c_name_cache on <self:MPropDef> */
4917 if (var_res
== NULL
) {
4918 var5
= 0; /* is null */
4920 var5
= 1; /* arg is null and recv is not */
4923 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
4926 var9
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable String(String)>*/;
4942 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
4943 var13
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
4944 if (unlikely(var13
== NULL
)) {
4945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4946 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4950 RET_LABEL12
:(void)0;
4954 { /* Inline model#MClassDef#mmodule (var11) on <var11:MClassDef> */
4955 var16
= var11
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var11:MClassDef> */
4956 if (unlikely(var16
== NULL
)) {
4957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
4958 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
4962 RET_LABEL15
:(void)0;
4966 { /* Inline mmodule#MModule#name (var14) on <var14:MModule> */
4967 var19
= var14
->attrs
[COLOR_mmodule__MModule___name
].val
; /* _name on <var14:MModule> */
4968 if (unlikely(var19
== NULL
)) {
4969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4970 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 86);
4974 RET_LABEL18
:(void)0;
4978 var20
= string__Text__to_cmangle(var17
);
4985 var24
= string__NativeString__to_s_with_length(var22
, var23
);
4990 { /* Inline model#MPropDef#mclassdef (self) on <self:MPropDef> */
4991 var27
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MPropDef> */
4992 if (unlikely(var27
== NULL
)) {
4993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
4994 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
4998 RET_LABEL26
:(void)0;
5002 { /* Inline model#MClassDef#mclass (var25) on <var25:MClassDef> */
5003 var30
= var25
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var25:MClassDef> */
5004 if (unlikely(var30
== NULL
)) {
5005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5006 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
5010 RET_LABEL29
:(void)0;
5014 { /* Inline model#MClass#name (var28) on <var28:MClass> */
5015 var33
= var28
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var28:MClass> */
5016 if (unlikely(var33
== NULL
)) {
5017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5018 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
5022 RET_LABEL32
:(void)0;
5026 var34
= string__Text__to_cmangle(var31
);
5033 var39
= string__NativeString__to_s_with_length(var37
, var38
);
5038 { /* Inline model#MPropDef#mproperty (self) on <self:MPropDef> */
5039 var42
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MPropDef> */
5040 if (unlikely(var42
== NULL
)) {
5041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5042 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
5046 RET_LABEL41
:(void)0;
5050 { /* Inline model#MProperty#name (var40) on <var40:MProperty> */
5051 var45
= var40
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var40:MProperty> */
5052 if (unlikely(var45
== NULL
)) {
5053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5054 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
5058 RET_LABEL44
:(void)0;
5062 var46
= string__Text__to_cmangle(var43
);
5064 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
5065 { /* var47 = array_instance Array[Object] */
5067 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
5068 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var20
;
5069 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var21
;
5070 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var34
;
5071 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var36
;
5072 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var46
;
5074 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
5078 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
5082 { /* Inline abstract_compiler#MPropDef#c_name_cache= (self,var_res) on <self:MPropDef> */
5083 self
->attrs
[COLOR_abstract_compiler__MPropDef___c_name_cache
].val
= var_res
; /* _c_name_cache on <self:MPropDef> */
5084 RET_LABEL51
:(void)0;
5092 /* method abstract_compiler#MPropDef#c_name for (self: Object): String */
5093 val
* VIRTUAL_abstract_compiler__MPropDef__c_name(val
* self
) {
5094 val
* var
/* : String */;
5095 val
* var1
/* : String */;
5096 var1
= abstract_compiler__MPropDef__c_name(self
);
5101 /* method abstract_compiler#MMethodDef#can_inline for (self: MMethodDef, AbstractCompilerVisitor): Bool */
5102 short int abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
5103 short int var
/* : Bool */;
5104 short int var1
/* : Bool */;
5107 const struct type
* type_struct
;
5108 const char* var_class_name
;
5109 val
* var_v
/* var v: AbstractCompilerVisitor */;
5110 short int var2
/* : Bool */;
5111 short int var4
/* : Bool */;
5112 short int var5
/* : Bool */;
5113 val
* var6
/* : AbstractCompiler */;
5114 val
* var8
/* : AbstractCompiler */;
5115 val
* var9
/* : ModelBuilder */;
5116 val
* var11
/* : ModelBuilder */;
5117 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5118 val
* var12
/* : HashMap[MPropDef, APropdef] */;
5119 val
* var14
/* : HashMap[MPropDef, APropdef] */;
5120 short int var15
/* : Bool */;
5121 val
* var16
/* : HashMap[MPropDef, APropdef] */;
5122 val
* var18
/* : HashMap[MPropDef, APropdef] */;
5123 val
* var19
/* : nullable Object */;
5124 val
* var_npropdef
/* var npropdef: APropdef */;
5125 short int var20
/* : Bool */;
5126 val
* var21
/* : MProperty */;
5127 val
* var23
/* : MProperty */;
5128 val
* var24
/* : String */;
5129 val
* var26
/* : String */;
5130 static val
* varonce
;
5131 val
* var27
/* : String */;
5132 char* var28
/* : NativeString */;
5133 long var29
/* : Int */;
5134 val
* var30
/* : FlatString */;
5135 short int var31
/* : Bool */;
5136 short int var32
/* : Bool */;
5137 short int var33
/* : Bool */;
5138 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5139 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5140 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
5141 cltype
= type_struct
->color
;
5142 idtype
= type_struct
->id
;
5143 if(cltype
>= p0
->type
->table_size
) {
5146 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5148 if (unlikely(!var1
)) {
5149 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5150 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5151 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1700);
5156 { /* Inline model#MMethodDef#is_abstract (self) on <self:MMethodDef> */
5157 var4
= self
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <self:MMethodDef> */
5169 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
5170 var8
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
5171 if (unlikely(var8
== NULL
)) {
5172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5173 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5181 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
5182 var11
= var6
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
5183 if (unlikely(var11
== NULL
)) {
5184 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5185 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
5189 RET_LABEL10
:(void)0;
5192 var_modelbuilder
= var9
;
5194 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
5195 var14
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
5196 if (unlikely(var14
== NULL
)) {
5197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
5198 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
5202 RET_LABEL13
:(void)0;
5206 var15
= abstract_collection__MapRead__has_key(var12
, self
);
5210 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
5211 var18
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
5212 if (unlikely(var18
== NULL
)) {
5213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
5214 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
5218 RET_LABEL17
:(void)0;
5222 var19
= hash_collection__HashMap___91d_93d(var16
, self
);
5224 var_npropdef
= var19
;
5226 var20
= ((short int (*)(val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__APropdef__can_inline
]))(var_npropdef
) /* can_inline on <var_npropdef:APropdef>*/;
5232 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
5233 var23
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
5234 if (unlikely(var23
== NULL
)) {
5235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5236 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
5240 RET_LABEL22
:(void)0;
5244 { /* Inline model#MProperty#name (var21) on <var21:MProperty(MMethod)> */
5245 var26
= var21
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var21:MProperty(MMethod)> */
5246 if (unlikely(var26
== NULL
)) {
5247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5248 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
5252 RET_LABEL25
:(void)0;
5260 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5265 var32
= string__FlatString___61d_61d(var24
, var27
);
5273 PRINT_ERROR("Runtime error: %s", "Aborted");
5274 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1712);
5281 /* method abstract_compiler#MMethodDef#can_inline for (self: Object, AbstractCompilerVisitor): Bool */
5282 short int VIRTUAL_abstract_compiler__MMethodDef__can_inline(val
* self
, val
* p0
) {
5283 short int var
/* : Bool */;
5284 short int var1
/* : Bool */;
5285 var1
= abstract_compiler__MMethodDef__can_inline(self
, p0
);
5290 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
5291 val
* abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
5292 val
* var
/* : nullable RuntimeVariable */;
5293 short int var1
/* : Bool */;
5296 const struct type
* type_struct
;
5297 const char* var_class_name
;
5298 val
* var_v
/* var v: AbstractCompilerVisitor */;
5299 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5300 val
* var2
/* : AbstractCompiler */;
5301 val
* var4
/* : AbstractCompiler */;
5302 val
* var5
/* : ModelBuilder */;
5303 val
* var7
/* : ModelBuilder */;
5304 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5305 val
* var8
/* : HashMap[MPropDef, APropdef] */;
5306 val
* var10
/* : HashMap[MPropDef, APropdef] */;
5307 short int var11
/* : Bool */;
5308 val
* var12
/* : HashMap[MPropDef, APropdef] */;
5309 val
* var14
/* : HashMap[MPropDef, APropdef] */;
5310 val
* var15
/* : nullable Object */;
5311 val
* var_npropdef
/* var npropdef: APropdef */;
5312 val
* var16
/* : nullable ANode */;
5313 val
* var18
/* : nullable ANode */;
5314 val
* var_oldnode
/* var oldnode: nullable ANode */;
5315 val
* var21
/* : MProperty */;
5316 val
* var23
/* : MProperty */;
5317 val
* var24
/* : String */;
5318 val
* var26
/* : String */;
5319 static val
* varonce
;
5320 val
* var27
/* : String */;
5321 char* var28
/* : NativeString */;
5322 long var29
/* : Int */;
5323 val
* var30
/* : FlatString */;
5324 short int var31
/* : Bool */;
5325 short int var32
/* : Bool */;
5326 val
* var33
/* : HashMap[MClassDef, AClassdef] */;
5327 val
* var35
/* : HashMap[MClassDef, AClassdef] */;
5328 val
* var36
/* : MClassDef */;
5329 val
* var38
/* : MClassDef */;
5330 val
* var39
/* : nullable Object */;
5331 val
* var_nclassdef
/* var nclassdef: AClassdef */;
5332 val
* var40
/* : nullable ANode */;
5333 val
* var42
/* : nullable ANode */;
5334 val
* var_oldnode43
/* var oldnode: nullable ANode */;
5335 val
* var46
/* : null */;
5336 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5337 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5338 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
5339 cltype
= type_struct
->color
;
5340 idtype
= type_struct
->id
;
5341 if(cltype
>= p0
->type
->table_size
) {
5344 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5346 if (unlikely(!var1
)) {
5347 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5348 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5349 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1716);
5355 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
5356 var4
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
5357 if (unlikely(var4
== NULL
)) {
5358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5359 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5367 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
5368 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
5369 if (unlikely(var7
== NULL
)) {
5370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5371 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
5378 var_modelbuilder
= var5
;
5380 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
5381 var10
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
5382 if (unlikely(var10
== NULL
)) {
5383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
5384 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
5392 var11
= abstract_collection__MapRead__has_key(var8
, self
);
5396 { /* Inline modelize_property#ModelBuilder#mpropdef2npropdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
5397 var14
= var_modelbuilder
->attrs
[COLOR_modelize_property__ModelBuilder___mpropdef2npropdef
].val
; /* _mpropdef2npropdef on <var_modelbuilder:ModelBuilder> */
5398 if (unlikely(var14
== NULL
)) {
5399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef2npropdef");
5400 PRINT_ERROR(" (%s:%d)\n", "src/modelize_property.nit", 39);
5404 RET_LABEL13
:(void)0;
5408 var15
= hash_collection__HashMap___91d_93d(var12
, self
);
5410 var_npropdef
= var15
;
5412 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on <var_v:AbstractCompilerVisitor> */
5413 var18
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5415 RET_LABEL17
:(void)0;
5418 var_oldnode
= var16
;
5420 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_npropdef) on <var_v:AbstractCompilerVisitor> */
5421 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_npropdef
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5422 RET_LABEL19
:(void)0;
5426 abstract_compiler__MMethodDef__compile_parameter_check(self
, var_v
, var_arguments
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:MMethodDef>*/
5429 ((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>*/;
5432 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode) on <var_v:AbstractCompilerVisitor> */
5433 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_oldnode
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5434 RET_LABEL20
:(void)0;
5439 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
5440 var23
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
5441 if (unlikely(var23
== NULL
)) {
5442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5443 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
5447 RET_LABEL22
:(void)0;
5451 { /* Inline model#MProperty#name (var21) on <var21:MProperty(MMethod)> */
5452 var26
= var21
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var21:MProperty(MMethod)> */
5453 if (unlikely(var26
== NULL
)) {
5454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5455 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
5459 RET_LABEL25
:(void)0;
5467 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5472 var32
= string__FlatString___61d_61d(var24
, var27
);
5477 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
5478 var35
= var_modelbuilder
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <var_modelbuilder:ModelBuilder> */
5479 if (unlikely(var35
== NULL
)) {
5480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
5481 PRINT_ERROR(" (%s:%d)\n", "src/modelize_class.nit", 399);
5485 RET_LABEL34
:(void)0;
5489 { /* Inline model#MPropDef#mclassdef (self) on <self:MMethodDef> */
5490 var38
= self
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MMethodDef> */
5491 if (unlikely(var38
== NULL
)) {
5492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
5493 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
5497 RET_LABEL37
:(void)0;
5501 var39
= hash_collection__HashMap___91d_93d(var33
, var36
);
5503 var_nclassdef
= var39
;
5505 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on <var_v:AbstractCompilerVisitor> */
5506 var42
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5508 RET_LABEL41
:(void)0;
5511 var_oldnode43
= var40
;
5513 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_nclassdef) on <var_v:AbstractCompilerVisitor> */
5514 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_nclassdef
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5515 RET_LABEL44
:(void)0;
5519 abstract_compiler__MMethodDef__compile_parameter_check(self
, var_v
, var_arguments
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:MMethodDef>*/
5522 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>*/
5525 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode43) on <var_v:AbstractCompilerVisitor> */
5526 var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= var_oldnode43
; /* _current_node on <var_v:AbstractCompilerVisitor> */
5527 RET_LABEL45
:(void)0;
5531 PRINT_ERROR("Runtime error: %s", "Aborted");
5532 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1735);
5542 /* method abstract_compiler#MMethodDef#compile_inside_to_c for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
5543 val
* VIRTUAL_abstract_compiler__MMethodDef__compile_inside_to_c(val
* self
, val
* p0
, val
* p1
) {
5544 val
* var
/* : nullable RuntimeVariable */;
5545 val
* var1
/* : nullable RuntimeVariable */;
5546 var1
= abstract_compiler__MMethodDef__compile_inside_to_c(self
, p0
, p1
);
5551 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: MMethodDef, AbstractCompilerVisitor, Array[RuntimeVariable]) */
5552 void abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
5553 short int var
/* : Bool */;
5556 const struct type
* type_struct
;
5557 const char* var_class_name
;
5558 val
* var_v
/* var v: AbstractCompilerVisitor */;
5559 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5560 val
* var1
/* : AbstractCompiler */;
5561 val
* var3
/* : AbstractCompiler */;
5562 val
* var4
/* : ModelBuilder */;
5563 val
* var6
/* : ModelBuilder */;
5564 val
* var7
/* : ToolContext */;
5565 val
* var9
/* : ToolContext */;
5566 val
* var10
/* : OptionBool */;
5567 val
* var12
/* : OptionBool */;
5568 val
* var13
/* : nullable Object */;
5569 val
* var15
/* : nullable Object */;
5570 short int var16
/* : Bool */;
5571 val
* var17
/* : Range[Int] */;
5572 long var18
/* : Int */;
5573 val
* var19
/* : nullable MSignature */;
5574 val
* var21
/* : nullable MSignature */;
5575 long var22
/* : Int */;
5576 val
* var23
/* : Discrete */;
5577 val
* var24
/* : Discrete */;
5578 val
* var25
/* : Iterator[Discrete] */;
5579 short int var26
/* : Bool */;
5580 val
* var27
/* : nullable Object */;
5581 long var_i
/* var i: Int */;
5582 long var28
/* : Int */;
5583 val
* var29
/* : nullable MSignature */;
5584 val
* var31
/* : nullable MSignature */;
5585 long var32
/* : Int */;
5586 long var34
/* : Int */;
5587 short int var35
/* : Bool */;
5588 short int var36
/* : Bool */;
5589 short int var38
/* : Bool */;
5590 val
* var39
/* : MProperty */;
5591 val
* var41
/* : MProperty */;
5592 val
* var42
/* : MPropDef */;
5593 val
* var43
/* : nullable MSignature */;
5594 val
* var45
/* : nullable MSignature */;
5595 val
* var46
/* : Array[MParameter] */;
5596 val
* var48
/* : Array[MParameter] */;
5597 val
* var49
/* : nullable Object */;
5598 val
* var50
/* : MType */;
5599 val
* var52
/* : MType */;
5600 val
* var_origmtype
/* var origmtype: MType */;
5601 short int var53
/* : Bool */;
5602 short int var54
/* : Bool */;
5603 val
* var55
/* : nullable MSignature */;
5604 val
* var57
/* : nullable MSignature */;
5605 val
* var58
/* : Array[MParameter] */;
5606 val
* var60
/* : Array[MParameter] */;
5607 val
* var61
/* : nullable Object */;
5608 val
* var62
/* : MType */;
5609 val
* var64
/* : MType */;
5610 val
* var_mtype
/* var mtype: MType */;
5611 static val
* varonce
;
5612 val
* var65
/* : String */;
5613 char* var66
/* : NativeString */;
5614 long var67
/* : Int */;
5615 val
* var68
/* : FlatString */;
5616 static val
* varonce69
;
5617 val
* var70
/* : String */;
5618 char* var71
/* : NativeString */;
5619 long var72
/* : Int */;
5620 val
* var73
/* : FlatString */;
5621 val
* var74
/* : nullable MSignature */;
5622 val
* var76
/* : nullable MSignature */;
5623 val
* var77
/* : Array[MParameter] */;
5624 val
* var79
/* : Array[MParameter] */;
5625 val
* var80
/* : nullable Object */;
5626 val
* var81
/* : String */;
5627 val
* var83
/* : String */;
5628 static val
* varonce84
;
5629 val
* var85
/* : String */;
5630 char* var86
/* : NativeString */;
5631 long var87
/* : Int */;
5632 val
* var88
/* : FlatString */;
5633 long var89
/* : Int */;
5634 long var90
/* : Int */;
5635 short int var92
/* : Bool */;
5638 const char* var_class_name95
;
5639 long var96
/* : Int */;
5640 val
* var97
/* : nullable Object */;
5641 val
* var98
/* : String */;
5642 static val
* varonce99
;
5643 val
* var100
/* : String */;
5644 char* var101
/* : NativeString */;
5645 long var102
/* : Int */;
5646 val
* var103
/* : FlatString */;
5647 static val
* varonce104
;
5648 val
* var105
/* : String */;
5649 char* var106
/* : NativeString */;
5650 long var107
/* : Int */;
5651 val
* var108
/* : FlatString */;
5652 val
* var109
/* : Array[Object] */;
5653 long var110
/* : Int */;
5654 val
* var111
/* : NativeArray[Object] */;
5655 val
* var112
/* : Object */;
5656 val
* var113
/* : String */;
5657 long var114
/* : Int */;
5658 long var115
/* : Int */;
5659 short int var117
/* : Bool */;
5662 const char* var_class_name120
;
5663 long var121
/* : Int */;
5664 val
* var122
/* : nullable Object */;
5665 static val
* varonce123
;
5666 val
* var124
/* : String */;
5667 char* var125
/* : NativeString */;
5668 long var126
/* : Int */;
5669 val
* var127
/* : FlatString */;
5670 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5671 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5672 type_struct
= self
->type
->resolution_table
->types
[COLOR_model__MPropDef_VTVISITOR
];
5673 cltype
= type_struct
->color
;
5674 idtype
= type_struct
->id
;
5675 if(cltype
>= p0
->type
->table_size
) {
5678 var
= p0
->type
->type_table
[cltype
] == idtype
;
5680 if (unlikely(!var
)) {
5681 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5682 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5683 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1740);
5689 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
5690 var3
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
5691 if (unlikely(var3
== NULL
)) {
5692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5693 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5701 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler> */
5702 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler> */
5703 if (unlikely(var6
== NULL
)) {
5704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5705 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
5713 { /* Inline modelbuilder#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
5714 var9
= var4
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
5715 if (unlikely(var9
== NULL
)) {
5716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5717 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
5725 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (var7) on <var7:ToolContext> */
5726 var12
= var7
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <var7:ToolContext> */
5727 if (unlikely(var12
== NULL
)) {
5728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
5729 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 46);
5733 RET_LABEL11
:(void)0;
5737 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
5738 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
5740 RET_LABEL14
:(void)0;
5743 var16
= ((struct instance_kernel__Bool
*)var13
)->value
; /* autounbox from nullable Object to Bool */;
5748 var17
= NEW_range__Range(&type_range__Rangekernel__Int
);
5751 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
5752 var21
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
5754 RET_LABEL20
:(void)0;
5757 if (var19
== NULL
) {
5758 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5759 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1745);
5762 var22
= model__MSignature__arity(var19
);
5765 var23
= BOX_kernel__Int(var18
); /* autobox from Int to Discrete */
5766 var24
= BOX_kernel__Int(var22
); /* autobox from Int to Discrete */
5767 range__Range__without_last(var17
, var23
, var24
); /* Direct call range#Range#without_last on <var17:Range[Int]>*/
5770 var25
= range__Range__iterator(var17
);
5774 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[Discrete]>*/;
5778 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[Discrete]>*/;
5780 var28
= ((struct instance_kernel__Int
*)var27
)->value
; /* autounbox from nullable Object to Int */;
5783 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
5784 var31
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
5786 RET_LABEL30
:(void)0;
5789 if (var29
== NULL
) {
5790 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5791 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1747);
5794 { /* Inline model#MSignature#vararg_rank (var29) on <var29:nullable MSignature> */
5795 if (unlikely(var29
== NULL
)) {
5796 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5797 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1497);
5800 var34
= var29
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var29:nullable MSignature> */
5802 RET_LABEL33
:(void)0;
5806 { /* Inline kernel#Int#== (var32,var_i) on <var32:Int> */
5807 var38
= var32
== var_i
;
5810 RET_LABEL37
:(void)0;
5815 goto CONTINUE_label
;
5819 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
5820 var41
= self
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
5821 if (unlikely(var41
== NULL
)) {
5822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5823 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
5827 RET_LABEL40
:(void)0;
5831 var42
= model__MProperty__intro(var39
);
5834 { /* Inline model#MMethodDef#msignature (var42) on <var42:MPropDef(MMethodDef)> */
5835 var45
= var42
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var42:MPropDef(MMethodDef)> */
5837 RET_LABEL44
:(void)0;
5840 if (var43
== NULL
) {
5841 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5842 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1750);
5845 { /* Inline model#MSignature#mparameters (var43) on <var43:nullable MSignature> */
5846 if (unlikely(var43
== NULL
)) {
5847 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5848 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5851 var48
= var43
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var43:nullable MSignature> */
5852 if (unlikely(var48
== NULL
)) {
5853 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5854 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5858 RET_LABEL47
:(void)0;
5862 var49
= array__Array___91d_93d(var46
, var_i
);
5865 { /* Inline model#MParameter#mtype (var49) on <var49:nullable Object(MParameter)> */
5866 var52
= var49
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var49:nullable Object(MParameter)> */
5867 if (unlikely(var52
== NULL
)) {
5868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5869 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
5873 RET_LABEL51
:(void)0;
5876 var_origmtype
= var50
;
5878 var53
= ((short int (*)(val
*))(var_origmtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_origmtype
) /* need_anchor on <var_origmtype:MType>*/;
5882 goto CONTINUE_label
;
5886 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
5887 var57
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
5889 RET_LABEL56
:(void)0;
5892 if (var55
== NULL
) {
5893 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5894 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1754);
5897 { /* Inline model#MSignature#mparameters (var55) on <var55:nullable MSignature> */
5898 if (unlikely(var55
== NULL
)) {
5899 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5900 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5903 var60
= var55
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var55:nullable MSignature> */
5904 if (unlikely(var60
== NULL
)) {
5905 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5906 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5910 RET_LABEL59
:(void)0;
5914 var61
= array__Array___91d_93d(var58
, var_i
);
5917 { /* Inline model#MParameter#mtype (var61) on <var61:nullable Object(MParameter)> */
5918 var64
= var61
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var61:nullable Object(MParameter)> */
5919 if (unlikely(var64
== NULL
)) {
5920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5921 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
5925 RET_LABEL63
:(void)0;
5932 var66
= "/* Covariant cast for argument ";
5934 var68
= string__NativeString__to_s_with_length(var66
, var67
);
5943 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5948 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
5949 var76
= self
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
5951 RET_LABEL75
:(void)0;
5954 if (var74
== NULL
) {
5955 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5956 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1758);
5959 { /* Inline model#MSignature#mparameters (var74) on <var74:nullable MSignature> */
5960 if (unlikely(var74
== NULL
)) {
5961 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5962 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5965 var79
= var74
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var74:nullable MSignature> */
5966 if (unlikely(var79
== NULL
)) {
5967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5968 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
5972 RET_LABEL78
:(void)0;
5976 var80
= array__Array___91d_93d(var77
, var_i
);
5979 { /* Inline model#MParameter#name (var80) on <var80:nullable Object(MParameter)> */
5980 var83
= var80
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var80:nullable Object(MParameter)> */
5981 if (unlikely(var83
== NULL
)) {
5982 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5983 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
5987 RET_LABEL82
:(void)0;
5995 var88
= string__NativeString__to_s_with_length(var86
, var87
);
6001 { /* Inline kernel#Int#+ (var_i,var89) on <var_i:Int> */
6002 /* Covariant cast for argument 0 (i) <var89:Int> isa OTHER */
6003 /* <var89:Int> isa OTHER */
6004 var92
= 1; /* easy <var89:Int> isa OTHER*/
6005 if (unlikely(!var92
)) {
6006 var_class_name95
= type_kernel__Int
.name
;
6007 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name95
);
6008 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6011 var96
= var_i
+ var89
;
6014 RET_LABEL91
:(void)0;
6018 var97
= array__Array___91d_93d(var_arguments
, var90
);
6021 var98
= abstract_compiler__RuntimeVariable__inspect(var97
);
6028 var103
= string__NativeString__to_s_with_length(var101
, var102
);
6033 var105
= varonce104
;
6037 var108
= string__NativeString__to_s_with_length(var106
, var107
);
6039 varonce104
= var105
;
6041 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
6042 { /* var109 = array_instance Array[Object] */
6044 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
6045 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var65
;
6046 var112
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
6047 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var112
;
6048 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var70
;
6049 ((struct instance_array__NativeArray
*)var111
)->values
[3] = (val
*) var81
;
6050 ((struct instance_array__NativeArray
*)var111
)->values
[4] = (val
*) var85
;
6051 ((struct instance_array__NativeArray
*)var111
)->values
[5] = (val
*) var98
;
6052 ((struct instance_array__NativeArray
*)var111
)->values
[6] = (val
*) var100
;
6053 ((struct instance_array__NativeArray
*)var111
)->values
[7] = (val
*) var_mtype
;
6054 ((struct instance_array__NativeArray
*)var111
)->values
[8] = (val
*) var105
;
6056 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
6060 var113
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
6063 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
6067 { /* Inline kernel#Int#+ (var_i,var114) on <var_i:Int> */
6068 /* Covariant cast for argument 0 (i) <var114:Int> isa OTHER */
6069 /* <var114:Int> isa OTHER */
6070 var117
= 1; /* easy <var114:Int> isa OTHER*/
6071 if (unlikely(!var117
)) {
6072 var_class_name120
= type_kernel__Int
.name
;
6073 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name120
);
6074 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6077 var121
= var_i
+ var114
;
6080 RET_LABEL116
:(void)0;
6084 var122
= array__Array___91d_93d(var_arguments
, var115
);
6087 var124
= varonce123
;
6089 var125
= "covariance";
6091 var127
= string__NativeString__to_s_with_length(var125
, var126
);
6093 varonce123
= var124
;
6096 abstract_compiler__AbstractCompilerVisitor__add_cast(var_v
, var122
, var_mtype
, var124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
6098 CONTINUE_label
: (void)0;
6100 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[Discrete]>*/;
6103 BREAK_label
: (void)0;
6106 /* method abstract_compiler#MMethodDef#compile_parameter_check for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]) */
6107 void VIRTUAL_abstract_compiler__MMethodDef__compile_parameter_check(val
* self
, val
* p0
, val
* p1
) {
6108 abstract_compiler__MMethodDef__compile_parameter_check(self
, p0
, p1
); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on <self:Object(MMethodDef)>*/
6111 /* method abstract_compiler#APropdef#compile_to_c for (self: APropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
6112 void abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6113 val
* var_v
/* var v: AbstractCompilerVisitor */;
6114 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6115 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6116 static val
* varonce
;
6117 val
* var
/* : String */;
6118 char* var1
/* : NativeString */;
6119 long var2
/* : Int */;
6120 val
* var3
/* : FlatString */;
6121 val
* var4
/* : String */;
6122 static val
* varonce5
;
6123 val
* var6
/* : String */;
6124 char* var7
/* : NativeString */;
6125 long var8
/* : Int */;
6126 val
* var9
/* : FlatString */;
6127 static val
* varonce10
;
6128 val
* var11
/* : String */;
6129 char* var12
/* : NativeString */;
6130 long var13
/* : Int */;
6131 val
* var14
/* : FlatString */;
6132 val
* var15
/* : Location */;
6133 val
* var16
/* : String */;
6134 static val
* varonce17
;
6135 val
* var18
/* : String */;
6136 char* var19
/* : NativeString */;
6137 long var20
/* : Int */;
6138 val
* var21
/* : FlatString */;
6139 val
* var22
/* : Array[Object] */;
6140 long var23
/* : Int */;
6141 val
* var24
/* : NativeArray[Object] */;
6142 val
* var25
/* : String */;
6143 static val
* varonce26
;
6144 val
* var27
/* : String */;
6145 char* var28
/* : NativeString */;
6146 long var29
/* : Int */;
6147 val
* var30
/* : FlatString */;
6154 var1
= "PRINT_ERROR(\"NOT YET IMPLEMENTED ";
6156 var3
= string__NativeString__to_s_with_length(var1
, var2
);
6161 var4
= string__Object__class_name(self
);
6168 var9
= string__NativeString__to_s_with_length(var7
, var8
);
6177 var14
= string__NativeString__to_s_with_length(var12
, var13
);
6182 var15
= parser_nodes__ANode__location(self
);
6185 var16
= location__Location__to_s(var15
);
6192 var21
= string__NativeString__to_s_with_length(var19
, var20
);
6196 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
6197 { /* var22 = array_instance Array[Object] */
6199 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
6200 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var
;
6201 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var4
;
6202 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var6
;
6203 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var_mpropdef
;
6204 ((struct instance_array__NativeArray
*)var24
)->values
[4] = (val
*) var11
;
6205 ((struct instance_array__NativeArray
*)var24
)->values
[5] = (val
*) var16
;
6206 ((struct instance_array__NativeArray
*)var24
)->values
[6] = (val
*) var18
;
6208 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
6212 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
6215 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
6220 var28
= "Not yet implemented";
6222 var30
= string__NativeString__to_s_with_length(var28
, var29
);
6227 parser_nodes__ANode__debug(self
, var27
); /* Direct call parser_nodes#ANode#debug on <self:APropdef>*/
6231 /* method abstract_compiler#APropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
6232 void VIRTUAL_abstract_compiler__APropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6233 abstract_compiler__APropdef__compile_to_c(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#APropdef#compile_to_c on <self:Object(APropdef)>*/
6236 /* method abstract_compiler#APropdef#can_inline for (self: APropdef): Bool */
6237 short int abstract_compiler__APropdef__can_inline(val
* self
) {
6238 short int var
/* : Bool */;
6239 short int var1
/* : Bool */;
6246 /* method abstract_compiler#APropdef#can_inline for (self: Object): Bool */
6247 short int VIRTUAL_abstract_compiler__APropdef__can_inline(val
* self
) {
6248 short int var
/* : Bool */;
6249 short int var1
/* : Bool */;
6250 var1
= abstract_compiler__APropdef__can_inline(self
);
6255 /* method abstract_compiler#AMethPropdef#compile_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
6256 void abstract_compiler__AMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6257 val
* var_v
/* var v: AbstractCompilerVisitor */;
6258 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6259 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6260 short int var
/* : Bool */;
6261 short int var2
/* : Bool */;
6262 val
* var3
/* : nullable Object */;
6263 val
* var4
/* : String */;
6264 val
* var_cn
/* var cn: String */;
6265 static val
* varonce
;
6266 val
* var5
/* : String */;
6267 char* var6
/* : NativeString */;
6268 long var7
/* : Int */;
6269 val
* var8
/* : FlatString */;
6270 val
* var9
/* : MProperty */;
6271 val
* var11
/* : MProperty */;
6272 val
* var12
/* : String */;
6273 val
* var14
/* : String */;
6274 val
* var15
/* : String */;
6275 static val
* varonce16
;
6276 val
* var17
/* : String */;
6277 char* var18
/* : NativeString */;
6278 long var19
/* : Int */;
6279 val
* var20
/* : FlatString */;
6280 static val
* varonce21
;
6281 val
* var22
/* : String */;
6282 char* var23
/* : NativeString */;
6283 long var24
/* : Int */;
6284 val
* var25
/* : FlatString */;
6285 val
* var26
/* : Array[Object] */;
6286 long var27
/* : Int */;
6287 val
* var28
/* : NativeArray[Object] */;
6288 val
* var29
/* : String */;
6289 val
* var30
/* : nullable Array[CallSite] */;
6290 val
* var32
/* : nullable Array[CallSite] */;
6291 val
* var_auto_super_inits
/* var auto_super_inits: nullable Array[CallSite] */;
6292 val
* var33
/* : null */;
6293 short int var34
/* : Bool */;
6294 short int var35
/* : Bool */;
6295 val
* var_other
/* var other: nullable Object */;
6296 short int var37
/* : Bool */;
6297 short int var38
/* : Bool */;
6298 short int var39
/* : Bool */;
6299 val
* var40
/* : Array[RuntimeVariable] */;
6300 long var41
/* : Int */;
6301 val
* var_
/* var : Array[RuntimeVariable] */;
6302 val
* var42
/* : nullable Object */;
6303 val
* var_args
/* var args: Array[RuntimeVariable] */;
6304 val
* var43
/* : ArrayIterator[nullable Object] */;
6305 short int var44
/* : Bool */;
6306 val
* var45
/* : nullable Object */;
6307 val
* var_auto_super_init
/* var auto_super_init: CallSite */;
6308 val
* var46
/* : Range[Int] */;
6309 long var47
/* : Int */;
6310 val
* var48
/* : MSignature */;
6311 val
* var50
/* : MSignature */;
6312 long var51
/* : Int */;
6313 long var52
/* : Int */;
6314 long var53
/* : Int */;
6315 short int var55
/* : Bool */;
6318 const char* var_class_name
;
6319 long var56
/* : Int */;
6320 val
* var57
/* : Discrete */;
6321 val
* var58
/* : Discrete */;
6322 val
* var59
/* : Iterator[Discrete] */;
6323 short int var60
/* : Bool */;
6324 val
* var61
/* : nullable Object */;
6325 long var_i
/* var i: Int */;
6326 long var62
/* : Int */;
6327 val
* var63
/* : nullable Object */;
6328 val
* var64
/* : nullable RuntimeVariable */;
6329 val
* var66
/* : nullable AExpr */;
6330 val
* var_n_block
/* var n_block: nullable AExpr */;
6331 val
* var67
/* : null */;
6332 short int var68
/* : Bool */;
6333 short int var69
/* : Bool */;
6334 short int var71
/* : Bool */;
6335 short int var72
/* : Bool */;
6336 short int var73
/* : Bool */;
6337 val
* var74
/* : Range[Int] */;
6338 long var75
/* : Int */;
6339 val
* var76
/* : nullable MSignature */;
6340 val
* var78
/* : nullable MSignature */;
6341 long var79
/* : Int */;
6342 val
* var80
/* : Discrete */;
6343 val
* var81
/* : Discrete */;
6344 val
* var82
/* : Iterator[Discrete] */;
6345 short int var83
/* : Bool */;
6346 val
* var84
/* : nullable Object */;
6347 long var_i85
/* var i: Int */;
6348 long var86
/* : Int */;
6349 val
* var87
/* : nullable ASignature */;
6350 val
* var88
/* : ANodes[AParam] */;
6351 val
* var90
/* : ANodes[AParam] */;
6352 val
* var91
/* : ANode */;
6353 val
* var92
/* : nullable Variable */;
6354 val
* var94
/* : nullable Variable */;
6355 val
* var_variable
/* var variable: Variable */;
6356 val
* var95
/* : RuntimeVariable */;
6357 long var96
/* : Int */;
6358 long var97
/* : Int */;
6359 short int var99
/* : Bool */;
6362 const char* var_class_name102
;
6363 long var103
/* : Int */;
6364 val
* var104
/* : nullable Object */;
6365 short int var106
/* : Bool */;
6366 short int var108
/* : Bool */;
6367 short int var109
/* : Bool */;
6368 short int var111
/* : Bool */;
6369 val
* var112
/* : MProperty */;
6370 val
* var114
/* : MProperty */;
6371 short int var115
/* : Bool */;
6372 short int var117
/* : Bool */;
6377 { /* Inline model#MMethodDef#is_abstract (var_mpropdef) on <var_mpropdef:MMethodDef> */
6378 var2
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_abstract
].s
; /* _is_abstract on <var_mpropdef:MMethodDef> */
6385 var3
= abstract_collection__SequenceRead__first(var_arguments
);
6388 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>*/;
6394 var6
= "PRINT_ERROR(\"Runtime error: Abstract method `%s` called on `%s`\", \"";
6396 var8
= string__NativeString__to_s_with_length(var6
, var7
);
6401 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
6402 var11
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
6403 if (unlikely(var11
== NULL
)) {
6404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6405 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6409 RET_LABEL10
:(void)0;
6413 { /* Inline model#MProperty#name (var9) on <var9:MProperty(MMethod)> */
6414 var14
= var9
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var9:MProperty(MMethod)> */
6415 if (unlikely(var14
== NULL
)) {
6416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6417 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
6421 RET_LABEL13
:(void)0;
6425 var15
= string__Text__escape_to_c(var12
);
6432 var20
= string__NativeString__to_s_with_length(var18
, var19
);
6441 var25
= string__NativeString__to_s_with_length(var23
, var24
);
6445 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
6446 { /* var26 = array_instance Array[Object] */
6448 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
6449 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var5
;
6450 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var15
;
6451 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var17
;
6452 ((struct instance_array__NativeArray
*)var28
)->values
[3] = (val
*) var_cn
;
6453 ((struct instance_array__NativeArray
*)var28
)->values
[4] = (val
*) var22
;
6455 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
6459 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
6462 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
6465 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(var_v
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on <var_v:AbstractCompilerVisitor>*/
6471 { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on <self:AMethPropdef> */
6472 var32
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
6474 RET_LABEL31
:(void)0;
6477 var_auto_super_inits
= var30
;
6479 if (var_auto_super_inits
== NULL
) {
6480 var34
= 0; /* is null */
6482 var34
= 1; /* arg is null and recv is not */
6485 { /* Inline kernel#Object#!= (var_auto_super_inits,var33) on <var_auto_super_inits:nullable Array[CallSite]> */
6488 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])>*/;
6494 RET_LABEL36
:(void)0;
6499 var40
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6502 array__Array__with_capacity(var40
, var41
); /* Direct call array#Array#with_capacity on <var40:Array[RuntimeVariable]>*/
6506 var42
= abstract_collection__SequenceRead__first(var_arguments
);
6509 array__AbstractArray__push(var_
, var42
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6513 var43
= array__AbstractArrayRead__iterator(var_auto_super_inits
);
6517 var44
= array__ArrayIterator__is_ok(var43
);
6521 var45
= array__ArrayIterator__item(var43
);
6523 var_auto_super_init
= var45
;
6525 array__AbstractArray__clear(var_args
); /* Direct call array#AbstractArray#clear on <var_args:Array[RuntimeVariable]>*/
6527 var46
= NEW_range__Range(&type_range__Rangekernel__Int
);
6530 { /* Inline typing#CallSite#msignature (var_auto_super_init) on <var_auto_super_init:CallSite> */
6531 var50
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_auto_super_init:CallSite> */
6532 if (unlikely(var50
== NULL
)) {
6533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
6534 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 429);
6538 RET_LABEL49
:(void)0;
6542 var51
= model__MSignature__arity(var48
);
6546 { /* Inline kernel#Int#+ (var51,var52) on <var51:Int> */
6547 /* Covariant cast for argument 0 (i) <var52:Int> isa OTHER */
6548 /* <var52:Int> isa OTHER */
6549 var55
= 1; /* easy <var52:Int> isa OTHER*/
6550 if (unlikely(!var55
)) {
6551 var_class_name
= type_kernel__Int
.name
;
6552 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6553 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6556 var56
= var51
+ var52
;
6559 RET_LABEL54
:(void)0;
6563 var57
= BOX_kernel__Int(var47
); /* autobox from Int to Discrete */
6564 var58
= BOX_kernel__Int(var53
); /* autobox from Int to Discrete */
6565 range__Range__without_last(var46
, var57
, var58
); /* Direct call range#Range#without_last on <var46:Range[Int]>*/
6568 var59
= range__Range__iterator(var46
);
6572 var60
= ((short int (*)(val
*))(var59
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var59
) /* is_ok on <var59:Iterator[Discrete]>*/;
6576 var61
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var59
) /* item on <var59:Iterator[Discrete]>*/;
6578 var62
= ((struct instance_kernel__Int
*)var61
)->value
; /* autounbox from nullable Object to Int */;
6581 var63
= array__Array___91d_93d(var_arguments
, var_i
);
6584 array__Array__add(var_args
, var63
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6586 CONTINUE_label
: (void)0;
6588 ((void (*)(val
*))(var59
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var59
) /* next on <var59:Iterator[Discrete]>*/;
6591 BREAK_label
: (void)0;
6593 var64
= ((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>*/;
6596 CONTINUE_label65
: (void)0;
6598 array__ArrayIterator__next(var43
); /* Direct call array#ArrayIterator#next on <var43:ArrayIterator[nullable Object]>*/
6601 BREAK_label65
: (void)0;
6605 var66
= parser_nodes__AMethPropdef__n_block(self
);
6607 var_n_block
= var66
;
6609 if (var_n_block
== NULL
) {
6610 var68
= 0; /* is null */
6612 var68
= 1; /* arg is null and recv is not */
6615 { /* Inline kernel#Object#!= (var_n_block,var67) on <var_n_block:nullable AExpr> */
6618 var72
= ((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)>*/;
6624 RET_LABEL70
:(void)0;
6629 var74
= NEW_range__Range(&type_range__Rangekernel__Int
);
6632 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
6633 var78
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
6635 RET_LABEL77
:(void)0;
6638 if (var76
== NULL
) {
6639 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6640 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1801);
6643 var79
= model__MSignature__arity(var76
);
6646 var80
= BOX_kernel__Int(var75
); /* autobox from Int to Discrete */
6647 var81
= BOX_kernel__Int(var79
); /* autobox from Int to Discrete */
6648 range__Range__without_last(var74
, var80
, var81
); /* Direct call range#Range#without_last on <var74:Range[Int]>*/
6651 var82
= range__Range__iterator(var74
);
6655 var83
= ((short int (*)(val
*))(var82
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var82
) /* is_ok on <var82:Iterator[Discrete]>*/;
6659 var84
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var82
) /* item on <var82:Iterator[Discrete]>*/;
6661 var86
= ((struct instance_kernel__Int
*)var84
)->value
; /* autounbox from nullable Object to Int */;
6664 var87
= parser_nodes__AMethPropdef__n_signature(self
);
6666 if (var87
== NULL
) {
6667 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6668 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1802);
6671 { /* Inline parser_nodes#ASignature#n_params (var87) on <var87:nullable ASignature> */
6672 if (unlikely(var87
== NULL
)) {
6673 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6674 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
6677 var90
= var87
->attrs
[COLOR_parser_nodes__ASignature___n_params
].val
; /* _n_params on <var87:nullable ASignature> */
6678 if (unlikely(var90
== NULL
)) {
6679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params");
6680 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1360);
6684 RET_LABEL89
:(void)0;
6688 var91
= parser_nodes__ANodes___91d_93d(var88
, var_i85
);
6691 { /* Inline scope#AParam#variable (var91) on <var91:ANode(AParam)> */
6692 var94
= var91
->attrs
[COLOR_scope__AParam___variable
].val
; /* _variable on <var91:ANode(AParam)> */
6694 RET_LABEL93
:(void)0;
6697 if (unlikely(var92
== NULL
)) {
6698 PRINT_ERROR("Runtime error: %s", "Cast failed");
6699 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1802);
6702 var_variable
= var92
;
6704 var95
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var_variable
);
6708 { /* Inline kernel#Int#+ (var_i85,var96) on <var_i85:Int> */
6709 /* Covariant cast for argument 0 (i) <var96:Int> isa OTHER */
6710 /* <var96:Int> isa OTHER */
6711 var99
= 1; /* easy <var96:Int> isa OTHER*/
6712 if (unlikely(!var99
)) {
6713 var_class_name102
= type_kernel__Int
.name
;
6714 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name102
);
6715 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6718 var103
= var_i85
+ var96
;
6721 RET_LABEL98
:(void)0;
6725 var104
= array__Array___91d_93d(var_arguments
, var97
);
6728 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var95
, var104
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
6730 CONTINUE_label105
: (void)0;
6732 ((void (*)(val
*))(var82
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var82
) /* next on <var82:Iterator[Discrete]>*/;
6735 BREAK_label105
: (void)0;
6737 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var_n_block
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
6741 { /* Inline model#MMethodDef#is_intern (var_mpropdef) on <var_mpropdef:MMethodDef> */
6742 var108
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_intern
].s
; /* _is_intern on <var_mpropdef:MMethodDef> */
6744 RET_LABEL107
:(void)0;
6749 abstract_compiler__AMethPropdef__compile_intern_to_c(self
, var_v
, var_mpropdef
, var_arguments
); /* Direct call abstract_compiler#AMethPropdef#compile_intern_to_c on <self:AMethPropdef>*/
6753 { /* Inline model#MMethodDef#is_extern (var_mpropdef) on <var_mpropdef:MMethodDef> */
6754 var111
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <var_mpropdef:MMethodDef> */
6756 RET_LABEL110
:(void)0;
6761 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
6762 var114
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
6763 if (unlikely(var114
== NULL
)) {
6764 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6765 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6769 RET_LABEL113
:(void)0;
6773 { /* Inline model#MMethod#is_init (var112) on <var112:MProperty(MMethod)> */
6774 var117
= var112
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var112:MProperty(MMethod)> */
6776 RET_LABEL116
:(void)0;
6781 abstract_compiler__AMethPropdef__compile_externinit_to_c(self
, var_v
, var_mpropdef
, var_arguments
); /* Direct call abstract_compiler#AMethPropdef#compile_externinit_to_c on <self:AMethPropdef>*/
6785 abstract_compiler__AMethPropdef__compile_externmeth_to_c(self
, var_v
, var_mpropdef
, var_arguments
); /* Direct call abstract_compiler#AMethPropdef#compile_externmeth_to_c on <self:AMethPropdef>*/
6794 /* method abstract_compiler#AMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
6795 void VIRTUAL_abstract_compiler__AMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6796 abstract_compiler__AMethPropdef__compile_to_c(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AMethPropdef#compile_to_c on <self:Object(AMethPropdef)>*/
6799 /* method abstract_compiler#AMethPropdef#can_inline for (self: AMethPropdef): Bool */
6800 short int abstract_compiler__AMethPropdef__can_inline(val
* self
) {
6801 short int var
/* : Bool */;
6802 val
* var1
/* : nullable Array[CallSite] */;
6803 val
* var3
/* : nullable Array[CallSite] */;
6804 val
* var4
/* : null */;
6805 short int var5
/* : Bool */;
6806 short int var6
/* : Bool */;
6807 val
* var_other
/* var other: nullable Object */;
6808 short int var8
/* : Bool */;
6809 short int var9
/* : Bool */;
6810 short int var10
/* : Bool */;
6811 short int var11
/* : Bool */;
6812 val
* var12
/* : nullable AExpr */;
6813 val
* var_nblock
/* var nblock: nullable AExpr */;
6814 val
* var13
/* : null */;
6815 short int var14
/* : Bool */;
6816 short int var15
/* : Bool */;
6817 val
* var_other17
/* var other: nullable Object */;
6818 short int var18
/* : Bool */;
6819 short int var20
/* : Bool */;
6820 short int var21
/* : Bool */;
6821 short int var22
/* : Bool */;
6822 short int var23
/* : Bool */;
6823 val
* var24
/* : nullable MPropDef */;
6824 val
* var26
/* : nullable MPropDef */;
6825 val
* var27
/* : MProperty */;
6826 val
* var29
/* : MProperty */;
6827 val
* var30
/* : String */;
6828 val
* var32
/* : String */;
6829 static val
* varonce
;
6830 val
* var33
/* : String */;
6831 char* var34
/* : NativeString */;
6832 long var35
/* : Int */;
6833 val
* var36
/* : FlatString */;
6834 short int var37
/* : Bool */;
6835 short int var38
/* : Bool */;
6836 short int var_
/* var : Bool */;
6837 val
* var39
/* : nullable MPropDef */;
6838 val
* var41
/* : nullable MPropDef */;
6839 val
* var42
/* : MProperty */;
6840 val
* var44
/* : MProperty */;
6841 val
* var45
/* : String */;
6842 val
* var47
/* : String */;
6843 static val
* varonce48
;
6844 val
* var49
/* : String */;
6845 char* var50
/* : NativeString */;
6846 long var51
/* : Int */;
6847 val
* var52
/* : FlatString */;
6848 short int var53
/* : Bool */;
6849 short int var54
/* : Bool */;
6850 short int var_55
/* var : Bool */;
6851 val
* var56
/* : nullable MPropDef */;
6852 val
* var58
/* : nullable MPropDef */;
6853 val
* var59
/* : MClassDef */;
6854 val
* var61
/* : MClassDef */;
6855 val
* var62
/* : MClass */;
6856 val
* var64
/* : MClass */;
6857 val
* var65
/* : String */;
6858 val
* var67
/* : String */;
6859 static val
* varonce68
;
6860 val
* var69
/* : String */;
6861 char* var70
/* : NativeString */;
6862 long var71
/* : Int */;
6863 val
* var72
/* : FlatString */;
6864 short int var73
/* : Bool */;
6865 short int var74
/* : Bool */;
6866 short int var75
/* : Bool */;
6867 short int var76
/* : Bool */;
6868 short int var77
/* : Bool */;
6871 short int var_78
/* var : Bool */;
6872 val
* var79
/* : ANodes[AExpr] */;
6873 val
* var81
/* : ANodes[AExpr] */;
6874 long var82
/* : Int */;
6875 long var83
/* : Int */;
6876 short int var84
/* : Bool */;
6877 short int var85
/* : Bool */;
6878 short int var87
/* : Bool */;
6879 short int var88
/* : Bool */;
6880 short int var89
/* : Bool */;
6882 { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on <self:AMethPropdef> */
6883 var3
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
6890 var5
= 0; /* is null */
6892 var5
= 1; /* arg is null and recv is not */
6895 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable Array[CallSite]> */
6898 var9
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable Array[CallSite](Array[CallSite])>*/;
6915 var12
= parser_nodes__AMethPropdef__n_block(self
);
6919 if (var_nblock
== NULL
) {
6920 var14
= 1; /* is null */
6922 var14
= 0; /* arg is null but recv is not */
6925 { /* Inline kernel#Object#== (var_nblock,var13) on <var_nblock:nullable AExpr> */
6926 var_other17
= var13
;
6928 { /* Inline kernel#Object#is_same_instance (var_nblock,var_other17) on <var_nblock:nullable AExpr(AExpr)> */
6929 var20
= var_nblock
== var_other17
;
6932 RET_LABEL19
:(void)0;
6937 RET_LABEL16
:(void)0;
6948 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
6949 var26
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
6951 RET_LABEL25
:(void)0;
6954 if (var24
== NULL
) {
6955 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6956 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1822);
6959 { /* Inline model#MPropDef#mproperty (var24) on <var24:nullable MPropDef(nullable MMethodDef)> */
6960 if (unlikely(var24
== NULL
)) {
6961 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6962 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6965 var29
= var24
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var24:nullable MPropDef(nullable MMethodDef)> */
6966 if (unlikely(var29
== NULL
)) {
6967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6968 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
6972 RET_LABEL28
:(void)0;
6976 { /* Inline model#MProperty#name (var27) on <var27:MProperty(MMethod)> */
6977 var32
= var27
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var27:MProperty(MMethod)> */
6978 if (unlikely(var32
== NULL
)) {
6979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6980 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
6984 RET_LABEL31
:(void)0;
6992 var36
= string__NativeString__to_s_with_length(var34
, var35
);
6997 var38
= string__FlatString___61d_61d(var30
, var33
);
7005 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
7006 var41
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
7008 RET_LABEL40
:(void)0;
7011 if (var39
== NULL
) {
7012 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7013 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1822);
7016 { /* Inline model#MPropDef#mproperty (var39) on <var39:nullable MPropDef(nullable MMethodDef)> */
7017 if (unlikely(var39
== NULL
)) {
7018 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7019 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
7022 var44
= var39
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var39:nullable MPropDef(nullable MMethodDef)> */
7023 if (unlikely(var44
== NULL
)) {
7024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7025 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
7029 RET_LABEL43
:(void)0;
7033 { /* Inline model#MProperty#name (var42) on <var42:MProperty(MMethod)> */
7034 var47
= var42
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var42:MProperty(MMethod)> */
7035 if (unlikely(var47
== NULL
)) {
7036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7037 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
7041 RET_LABEL46
:(void)0;
7049 var52
= string__NativeString__to_s_with_length(var50
, var51
);
7054 var54
= string__FlatString___61d_61d(var45
, var49
);
7062 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
7063 var58
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
7065 RET_LABEL57
:(void)0;
7068 if (var56
== NULL
) {
7069 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7070 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1822);
7073 { /* Inline model#MPropDef#mclassdef (var56) on <var56:nullable MPropDef(nullable MMethodDef)> */
7074 if (unlikely(var56
== NULL
)) {
7075 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7076 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7079 var61
= var56
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var56:nullable MPropDef(nullable MMethodDef)> */
7080 if (unlikely(var61
== NULL
)) {
7081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7082 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
7086 RET_LABEL60
:(void)0;
7090 { /* Inline model#MClassDef#mclass (var59) on <var59:MClassDef> */
7091 var64
= var59
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var59:MClassDef> */
7092 if (unlikely(var64
== NULL
)) {
7093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7094 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
7098 RET_LABEL63
:(void)0;
7102 { /* Inline model#MClass#name (var62) on <var62:MClass> */
7103 var67
= var62
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var62:MClass> */
7104 if (unlikely(var67
== NULL
)) {
7105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7106 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
7110 RET_LABEL66
:(void)0;
7118 var72
= string__NativeString__to_s_with_length(var70
, var71
);
7123 var74
= string__FlatString___61d_61d(var65
, var69
);
7136 /* <var_nblock:nullable AExpr(AExpr)> isa ABlockExpr */
7137 cltype
= type_parser_nodes__ABlockExpr
.color
;
7138 idtype
= type_parser_nodes__ABlockExpr
.id
;
7139 if(cltype
>= var_nblock
->type
->table_size
) {
7142 var77
= var_nblock
->type
->type_table
[cltype
] == idtype
;
7147 { /* Inline parser_nodes#ABlockExpr#n_expr (var_nblock) on <var_nblock:nullable AExpr(ABlockExpr)> */
7148 var81
= var_nblock
->attrs
[COLOR_parser_nodes__ABlockExpr___n_expr
].val
; /* _n_expr on <var_nblock:nullable AExpr(ABlockExpr)> */
7149 if (unlikely(var81
== NULL
)) {
7150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7151 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 1424);
7155 RET_LABEL80
:(void)0;
7159 var82
= parser_nodes__ANodes__length(var79
);
7163 { /* Inline kernel#Int#== (var82,var83) on <var82:Int> */
7164 var87
= var82
== var83
;
7167 RET_LABEL86
:(void)0;
7187 /* method abstract_compiler#AMethPropdef#can_inline for (self: Object): Bool */
7188 short int VIRTUAL_abstract_compiler__AMethPropdef__can_inline(val
* self
) {
7189 short int var
/* : Bool */;
7190 short int var1
/* : Bool */;
7191 var1
= abstract_compiler__AMethPropdef__can_inline(self
);