1 #include "platform.sep.0.h"
2 /* method platform#ToolContext#platform_from_name for (self: ToolContext, String): nullable Platform */
3 val
* platform__ToolContext__platform_from_name(val
* self
, val
* p0
) {
4 val
* var
/* : nullable Platform */;
5 val
* var_name
/* var name: String */;
6 val
* var1
/* : null */;
14 /* method platform#ToolContext#platform_from_name for (self: Object, String): nullable Platform */
15 val
* VIRTUAL_platform__ToolContext__platform_from_name(val
* self
, val
* p0
) {
16 val
* var
/* : nullable Platform */;
17 val
* var1
/* : nullable Platform */;
18 var1
= platform__ToolContext__platform_from_name(self
, p0
);
23 /* method platform#PlatformPhase#process_annotated_node for (self: PlatformPhase, ANode, AAnnotation) */
24 void platform__PlatformPhase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
25 val
* var_nmoduledecl
/* var nmoduledecl: ANode */;
26 val
* var_nat
/* var nat: AAnnotation */;
28 val
* var
/* : String */;
29 char* var1
/* : NativeString */;
30 long var2
/* : Int */;
31 val
* var3
/* : FlatString */;
32 val
* var_annotation_name
/* var annotation_name: String */;
33 val
* var4
/* : String */;
34 short int var5
/* : Bool */;
35 short int var6
/* : Bool */;
36 val
* var_other
/* var other: nullable Object */;
37 short int var8
/* : Bool */;
38 short int var9
/* : Bool */;
39 short int var10
/* : Bool */;
40 val
* var11
/* : ToolContext */;
41 val
* var13
/* : ToolContext */;
42 val
* var14
/* : ModelBuilder */;
43 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
44 short int var15
/* : Bool */;
47 short int var16
/* : Bool */;
48 static val
* varonce17
;
49 val
* var18
/* : String */;
50 char* var19
/* : NativeString */;
51 long var20
/* : Int */;
52 val
* var21
/* : FlatString */;
53 static val
* varonce22
;
54 val
* var23
/* : String */;
55 char* var24
/* : NativeString */;
56 long var25
/* : Int */;
57 val
* var26
/* : FlatString */;
58 val
* var27
/* : Array[Object] */;
59 long var28
/* : Int */;
60 val
* var29
/* : NativeArray[Object] */;
61 val
* var30
/* : String */;
62 val
* var31
/* : ANodes[AExpr] */;
63 val
* var33
/* : ANodes[AExpr] */;
64 val
* var_args
/* var args: ANodes[AExpr] */;
65 long var34
/* : Int */;
66 long var35
/* : Int */;
67 short int var36
/* : Bool */;
68 short int var38
/* : Bool */;
71 const char* var_class_name
;
72 short int var41
/* : Bool */;
73 static val
* varonce42
;
74 val
* var43
/* : String */;
75 char* var44
/* : NativeString */;
76 long var45
/* : Int */;
77 val
* var46
/* : FlatString */;
78 static val
* varonce47
;
79 val
* var48
/* : String */;
80 char* var49
/* : NativeString */;
81 long var50
/* : Int */;
82 val
* var51
/* : FlatString */;
83 val
* var52
/* : Array[Object] */;
84 long var53
/* : Int */;
85 val
* var54
/* : NativeArray[Object] */;
86 val
* var55
/* : String */;
87 short int var56
/* : Bool */;
88 val
* var57
/* : AModuleName */;
89 val
* var59
/* : AModuleName */;
90 val
* var60
/* : String */;
91 val
* var_platform_name
/* var platform_name: nullable Object */;
92 val
* var61
/* : nullable Object */;
93 val
* var62
/* : nullable String */;
94 val
* var63
/* : null */;
95 short int var64
/* : Bool */;
96 short int var65
/* : Bool */;
97 static val
* varonce66
;
98 val
* var67
/* : String */;
99 char* var68
/* : NativeString */;
100 long var69
/* : Int */;
101 val
* var70
/* : FlatString */;
102 static val
* varonce71
;
103 val
* var72
/* : String */;
104 char* var73
/* : NativeString */;
105 long var74
/* : Int */;
106 val
* var75
/* : FlatString */;
107 val
* var76
/* : Array[Object] */;
108 long var77
/* : Int */;
109 val
* var78
/* : NativeArray[Object] */;
110 val
* var79
/* : String */;
111 val
* var_format_error
/* var format_error: String */;
112 val
* var80
/* : nullable ANode */;
113 val
* var82
/* : nullable ANode */;
114 short int var83
/* : Bool */;
117 const char* var_class_name86
;
118 val
* var_nmodule
/* var nmodule: AModule */;
119 val
* var87
/* : nullable MModule */;
120 val
* var89
/* : nullable MModule */;
121 val
* var_mmodule
/* var mmodule: nullable MModule */;
122 val
* var90
/* : ToolContext */;
123 val
* var92
/* : ToolContext */;
124 val
* var93
/* : nullable Platform */;
125 val
* var_platform
/* var platform: nullable Platform */;
126 val
* var94
/* : null */;
127 short int var95
/* : Bool */;
128 short int var96
/* : Bool */;
129 val
* var97
/* : ToolContext */;
130 val
* var99
/* : ToolContext */;
131 val
* var100
/* : Location */;
132 val
* var102
/* : Location */;
133 static val
* varonce103
;
134 val
* var104
/* : String */;
135 char* var105
/* : NativeString */;
136 long var106
/* : Int */;
137 val
* var107
/* : FlatString */;
138 static val
* varonce108
;
139 val
* var109
/* : String */;
140 char* var110
/* : NativeString */;
141 long var111
/* : Int */;
142 val
* var112
/* : FlatString */;
143 val
* var113
/* : Array[Object] */;
144 long var114
/* : Int */;
145 val
* var115
/* : NativeArray[Object] */;
146 val
* var116
/* : String */;
147 val
* var117
/* : nullable Platform */;
148 val
* var_previous_target_platform
/* var previous_target_platform: nullable Platform */;
149 short int var118
/* : Bool */;
150 val
* var119
/* : null */;
151 short int var120
/* : Bool */;
152 short int var121
/* : Bool */;
153 short int var_
/* var : Bool */;
154 short int var122
/* : Bool */;
155 short int var123
/* : Bool */;
156 static val
* varonce124
;
157 val
* var125
/* : String */;
158 char* var126
/* : NativeString */;
159 long var127
/* : Int */;
160 val
* var128
/* : FlatString */;
161 static val
* varonce129
;
162 val
* var130
/* : String */;
163 char* var131
/* : NativeString */;
164 long var132
/* : Int */;
165 val
* var133
/* : FlatString */;
166 val
* var134
/* : Array[Object] */;
167 long var135
/* : Int */;
168 val
* var136
/* : NativeArray[Object] */;
169 val
* var137
/* : String */;
170 var_nmoduledecl
= p0
;
177 var3
= string__NativeString__to_s_with_length(var1
, var2
);
181 var_annotation_name
= var
;
183 var4
= annotation__AAnnotation__name(var_nat
);
186 { /* Inline kernel#Object#!= (var4,var_annotation_name) on <var4:String> */
187 var_other
= var_annotation_name
;
189 var9
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var4
, var_other
) /* == on <var4:String>*/;
204 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
205 var13
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
206 if (unlikely(var13
== NULL
)) {
207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
208 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
216 var14
= modelbuilder__ToolContext__modelbuilder(var11
);
218 var_modelbuilder
= var14
;
219 /* <var_nmoduledecl:ANode> isa AModuledecl */
220 cltype
= type_parser_nodes__AModuledecl
.color
;
221 idtype
= type_parser_nodes__AModuledecl
.id
;
222 if(cltype
>= var_nmoduledecl
->type
->table_size
) {
225 var15
= var_nmoduledecl
->type
->type_table
[cltype
] == idtype
;
232 var19
= "Syntax error: only the declaration of modules may use \"";
234 var21
= string__NativeString__to_s_with_length(var19
, var20
);
243 var26
= string__NativeString__to_s_with_length(var24
, var25
);
247 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
248 { /* var27 = array_instance Array[Object] */
250 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
251 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var18
;
252 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_annotation_name
;
253 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var23
;
255 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
259 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
262 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var30
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
268 { /* Inline parser_nodes#AAnnotation#n_args (var_nat) on <var_nat:AAnnotation> */
269 var33
= var_nat
->attrs
[COLOR_parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_nat:AAnnotation> */
270 if (unlikely(var33
== NULL
)) {
271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
272 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 2039);
281 var34
= parser_nodes__ANodes__length(var_args
);
285 { /* Inline kernel#Int#> (var34,var35) on <var34:Int> */
286 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
287 /* <var35:Int> isa OTHER */
288 var38
= 1; /* easy <var35:Int> isa OTHER*/
289 if (unlikely(!var38
)) {
290 var_class_name
= type_kernel__Int
.name
;
291 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
292 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
295 var41
= var34
> var35
;
305 var44
= "Syntax error: \"";
307 var46
= string__NativeString__to_s_with_length(var44
, var45
);
314 var49
= "\" expects at most a single argument.";
316 var51
= string__NativeString__to_s_with_length(var49
, var50
);
320 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
321 { /* var52 = array_instance Array[Object] */
323 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
324 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var43
;
325 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var_annotation_name
;
326 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var48
;
328 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
332 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
335 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var55
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
340 var56
= parser_nodes__ANodes__is_empty(var_args
);
344 { /* Inline parser_nodes#AModuledecl#n_name (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
345 var59
= var_nmoduledecl
->attrs
[COLOR_parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_nmoduledecl:ANode(AModuledecl)> */
346 if (unlikely(var59
== NULL
)) {
347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
348 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 869);
356 var60
= parser_work__Prod__collect_text(var57
);
358 var_platform_name
= var60
;
361 var61
= abstract_collection__SequenceRead__first(var_args
);
364 var62
= annotation__AExpr__as_string(var61
);
366 var_platform_name
= var62
;
368 if (var_platform_name
== NULL
) {
369 var64
= 1; /* is null */
371 var64
= 0; /* arg is null but recv is not */
374 var65
= string__FlatString___61d_61d(var_platform_name
, var63
);
381 var68
= "Syntax error: \"";
383 var70
= string__NativeString__to_s_with_length(var68
, var69
);
390 var73
= "\" expects its argument to be the name of the target platform as a String literal.";
392 var75
= string__NativeString__to_s_with_length(var73
, var74
);
396 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
397 { /* var76 = array_instance Array[Object] */
399 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
400 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var67
;
401 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var_annotation_name
;
402 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var72
;
404 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
408 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
410 var_format_error
= var79
;
412 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var_format_error
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
420 { /* Inline parser_nodes#ANode#parent (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
421 var82
= var_nmoduledecl
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <var_nmoduledecl:ANode(AModuledecl)> */
426 /* <var80:nullable ANode> isa AModule */
427 cltype84
= type_parser_nodes__AModule
.color
;
428 idtype85
= type_parser_nodes__AModule
.id
;
432 if(cltype84
>= var80
->type
->table_size
) {
435 var83
= var80
->type
->type_table
[cltype84
] == idtype85
;
438 if (unlikely(!var83
)) {
439 var_class_name86
= var80
== NULL ?
"null" : var80
->type
->name
;
440 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name86
);
441 PRINT_ERROR(" (%s:%d)\n", "platform.nit", 67);
446 { /* Inline modelbuilder#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
447 var89
= var_nmodule
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
454 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
455 var92
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
456 if (unlikely(var92
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
458 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
466 var93
= platform__ToolContext__platform_from_name(var90
, var_platform_name
);
468 var_platform
= var93
;
470 if (var_platform
== NULL
) {
471 var95
= 1; /* is null */
473 var95
= 0; /* arg is null but recv is not */
476 var96
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_platform
, var94
) /* == on <var_platform:nullable Platform>*/;
481 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
482 var99
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
483 if (unlikely(var99
== NULL
)) {
484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
485 PRINT_ERROR(" (%s:%d)\n", "phase.nit", 162);
493 { /* Inline parser_nodes#ANode#location (var_nat) on <var_nat:AAnnotation> */
494 var102
= var_nat
->attrs
[COLOR_parser_nodes__ANode___location
].val
; /* _location on <var_nat:AAnnotation> */
495 if (unlikely(var102
== NULL
)) {
496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
497 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 23);
501 RET_LABEL101
:(void)0;
507 var105
= "Error: target platform \"";
509 var107
= string__NativeString__to_s_with_length(var105
, var106
);
516 var110
= "\" unknown";
518 var112
= string__NativeString__to_s_with_length(var110
, var111
);
522 var113
= NEW_array__Array(&type_array__Arraykernel__Object
);
523 { /* var113 = array_instance Array[Object] */
525 var115
= NEW_array__NativeArray(var114
, &type_array__NativeArraykernel__Object
);
526 ((struct instance_array__NativeArray
*)var115
)->values
[0] = (val
*) var104
;
527 ((struct instance_array__NativeArray
*)var115
)->values
[1] = (val
*) var_platform_name
;
528 ((struct instance_array__NativeArray
*)var115
)->values
[2] = (val
*) var109
;
530 ((void (*)(val
*, val
*, long))(var113
->class->vft
[COLOR_array__Array__with_native
]))(var113
, var115
, var114
) /* with_native on <var113:Array[Object]>*/;
534 var116
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_string__Object__to_s
]))(var113
) /* to_s on <var113:Array[Object]>*/;
537 toolcontext__ToolContext__error(var97
, var100
, var116
); /* Direct call toolcontext#ToolContext#error on <var97:ToolContext>*/
542 if (var_mmodule
== NULL
) {
543 PRINT_ERROR("Runtime error: %s", "Receiver is null");
544 PRINT_ERROR(" (%s:%d)\n", "platform.nit", 76);
547 var117
= platform__MModule__target_platform(var_mmodule
);
549 var_previous_target_platform
= var117
;
551 if (var_previous_target_platform
== NULL
) {
552 var120
= 0; /* is null */
554 var120
= 1; /* arg is null and recv is not */
557 var121
= ((short int (*)(val
*, val
*))(var_previous_target_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_previous_target_platform
, var119
) /* != on <var_previous_target_platform:nullable Platform>*/;
563 var123
= ((short int (*)(val
*, val
*))(var_previous_target_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_previous_target_platform
, var_platform
) /* != on <var_previous_target_platform:nullable Platform(Platform)>*/;
574 var126
= "Syntax error: a target platform has already been defined as \"";
576 var128
= string__NativeString__to_s_with_length(var126
, var127
);
585 var133
= string__NativeString__to_s_with_length(var131
, var132
);
589 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
590 { /* var134 = array_instance Array[Object] */
592 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
593 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var125
;
594 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var_previous_target_platform
;
595 ((struct instance_array__NativeArray
*)var136
)->values
[2] = (val
*) var130
;
597 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
601 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
604 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var137
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
608 if (var_mmodule
== NULL
) {
609 PRINT_ERROR("Runtime error: %s", "Receiver is null");
610 PRINT_ERROR(" (%s:%d)\n", "platform.nit", 81);
613 { /* Inline platform#MModule#local_target_platform= (var_mmodule,var_platform) on <var_mmodule:nullable MModule> */
614 if (unlikely(var_mmodule
== NULL
)) {
615 PRINT_ERROR("Runtime error: %s", "Receiver is null");
616 PRINT_ERROR(" (%s:%d)\n", "platform.nit", 86);
619 var_mmodule
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= var_platform
; /* _local_target_platform on <var_mmodule:nullable MModule> */
620 RET_LABEL138
:(void)0;
625 /* method platform#PlatformPhase#process_annotated_node for (self: Object, ANode, AAnnotation) */
626 void VIRTUAL_platform__PlatformPhase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
627 platform__PlatformPhase__process_annotated_node(self
, p0
, p1
); /* Direct call platform#PlatformPhase#process_annotated_node on <self:Object(PlatformPhase)>*/
630 /* method platform#MModule#local_target_platform for (self: MModule): nullable Platform */
631 val
* platform__MModule__local_target_platform(val
* self
) {
632 val
* var
/* : nullable Platform */;
633 val
* var1
/* : nullable Platform */;
634 var1
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
639 /* method platform#MModule#local_target_platform for (self: Object): nullable Platform */
640 val
* VIRTUAL_platform__MModule__local_target_platform(val
* self
) {
641 val
* var
/* : nullable Platform */;
642 val
* var1
/* : nullable Platform */;
643 val
* var3
/* : nullable Platform */;
644 { /* Inline platform#MModule#local_target_platform (self) on <self:Object(MModule)> */
645 var3
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:Object(MModule)> */
653 /* method platform#MModule#local_target_platform= for (self: MModule, nullable Platform) */
654 void platform__MModule__local_target_platform_61d(val
* self
, val
* p0
) {
655 self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= p0
; /* _local_target_platform on <self:MModule> */
658 /* method platform#MModule#local_target_platform= for (self: Object, nullable Platform) */
659 void VIRTUAL_platform__MModule__local_target_platform_61d(val
* self
, val
* p0
) {
660 { /* Inline platform#MModule#local_target_platform= (self,p0) on <self:Object(MModule)> */
661 self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= p0
; /* _local_target_platform on <self:Object(MModule)> */
666 /* method platform#MModule#target_platform for (self: MModule): nullable Platform */
667 val
* platform__MModule__target_platform(val
* self
) {
668 val
* var
/* : nullable Platform */;
669 val
* var1
/* : nullable Platform */;
670 val
* var3
/* : nullable Platform */;
671 val
* var_ltp
/* var ltp: nullable Platform */;
672 val
* var4
/* : null */;
673 short int var5
/* : Bool */;
674 short int var6
/* : Bool */;
675 val
* var7
/* : POSetElement[MModule] */;
676 val
* var9
/* : POSetElement[MModule] */;
677 val
* var10
/* : Collection[Object] */;
678 val
* var_
/* var : Collection[MModule] */;
679 val
* var11
/* : Iterator[nullable Object] */;
680 val
* var_12
/* var : Iterator[MModule] */;
681 short int var13
/* : Bool */;
682 val
* var14
/* : nullable Object */;
683 val
* var_mmodule
/* var mmodule: MModule */;
684 val
* var15
/* : nullable Platform */;
685 val
* var17
/* : nullable Platform */;
686 val
* var18
/* : null */;
687 short int var19
/* : Bool */;
688 short int var20
/* : Bool */;
689 val
* var22
/* : null */;
691 { /* Inline platform#MModule#local_target_platform (self) on <self:MModule> */
692 var3
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
699 if (var_ltp
== NULL
) {
700 var5
= 0; /* is null */
702 var5
= 1; /* arg is null and recv is not */
705 var6
= ((short int (*)(val
*, val
*))(var_ltp
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ltp
, var4
) /* != on <var_ltp:nullable Platform>*/;
714 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
715 var9
= self
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
716 if (unlikely(var9
== NULL
)) {
717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
718 PRINT_ERROR(" (%s:%d)\n", "model/mmodule.nit", 93);
726 var10
= poset__POSetElement__greaters(var7
);
730 var11
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MModule]>*/;
735 var13
= ((short int (*)(val
*))(var_12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_12
) /* is_ok on <var_12:Iterator[MModule]>*/;
739 var14
= ((val
* (*)(val
*))(var_12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_12
) /* item on <var_12:Iterator[MModule]>*/;
743 { /* Inline platform#MModule#local_target_platform (var_mmodule) on <var_mmodule:MModule> */
744 var17
= var_mmodule
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <var_mmodule:MModule> */
751 if (var_ltp
== NULL
) {
752 var19
= 0; /* is null */
754 var19
= 1; /* arg is null and recv is not */
757 var20
= ((short int (*)(val
*, val
*))(var_ltp
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ltp
, var18
) /* != on <var_ltp:nullable Platform>*/;
766 ((void (*)(val
*))(var_12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_12
) /* next on <var_12:Iterator[MModule]>*/;
772 BREAK_label
: (void)0;
774 { /* Inline abstract_collection#Iterator#finish (var_12) on <var_12:Iterator[MModule]> */
784 /* method platform#MModule#target_platform for (self: Object): nullable Platform */
785 val
* VIRTUAL_platform__MModule__target_platform(val
* self
) {
786 val
* var
/* : nullable Platform */;
787 val
* var1
/* : nullable Platform */;
788 var1
= platform__MModule__target_platform(self
);
793 /* method platform#Platform#supports_libunwind for (self: Platform): Bool */
794 short int platform__Platform__supports_libunwind(val
* self
) {
795 short int var
/* : Bool */;
796 short int var1
/* : Bool */;
803 /* method platform#Platform#supports_libunwind for (self: Object): Bool */
804 short int VIRTUAL_platform__Platform__supports_libunwind(val
* self
) {
805 short int var
/* : Bool */;
806 short int var1
/* : Bool */;
807 var1
= platform__Platform__supports_libunwind(self
);
812 /* method platform#Platform#supports_libgc for (self: Platform): Bool */
813 short int platform__Platform__supports_libgc(val
* self
) {
814 short int var
/* : Bool */;
815 short int var1
/* : Bool */;
822 /* method platform#Platform#supports_libgc for (self: Object): Bool */
823 short int VIRTUAL_platform__Platform__supports_libgc(val
* self
) {
824 short int var
/* : Bool */;
825 short int var1
/* : Bool */;
826 var1
= platform__Platform__supports_libgc(self
);
831 /* method platform#Platform#no_main for (self: Platform): Bool */
832 short int platform__Platform__no_main(val
* self
) {
833 short int var
/* : Bool */;
834 short int var1
/* : Bool */;
841 /* method platform#Platform#no_main for (self: Object): Bool */
842 short int VIRTUAL_platform__Platform__no_main(val
* self
) {
843 short int var
/* : Bool */;
844 short int var1
/* : Bool */;
845 var1
= platform__Platform__no_main(self
);