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[AAtArg] */;
63 val
* var33
/* : ANodes[AAtArg] */;
64 val
* var_args
/* var args: ANodes[AAtArg] */;
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
* var58
/* : String */;
90 val
* var_platform_name
/* var platform_name: nullable Object */;
91 val
* var59
/* : nullable Object */;
92 val
* var60
/* : nullable String */;
93 val
* var61
/* : null */;
94 short int var62
/* : Bool */;
95 short int var63
/* : Bool */;
96 static val
* varonce64
;
97 val
* var65
/* : String */;
98 char* var66
/* : NativeString */;
99 long var67
/* : Int */;
100 val
* var68
/* : FlatString */;
101 static val
* varonce69
;
102 val
* var70
/* : String */;
103 char* var71
/* : NativeString */;
104 long var72
/* : Int */;
105 val
* var73
/* : FlatString */;
106 val
* var74
/* : Array[Object] */;
107 long var75
/* : Int */;
108 val
* var76
/* : NativeArray[Object] */;
109 val
* var77
/* : String */;
110 val
* var_format_error
/* var format_error: String */;
111 val
* var78
/* : nullable ANode */;
112 val
* var80
/* : nullable ANode */;
113 short int var81
/* : Bool */;
116 const char* var_class_name84
;
117 val
* var_nmodule
/* var nmodule: AModule */;
118 val
* var85
/* : nullable MModule */;
119 val
* var87
/* : nullable MModule */;
120 val
* var_mmodule
/* var mmodule: nullable MModule */;
121 val
* var88
/* : ToolContext */;
122 val
* var90
/* : ToolContext */;
123 val
* var91
/* : nullable Platform */;
124 val
* var_platform
/* var platform: nullable Platform */;
125 val
* var92
/* : null */;
126 short int var93
/* : Bool */;
127 short int var94
/* : Bool */;
128 val
* var95
/* : ToolContext */;
129 val
* var97
/* : ToolContext */;
130 val
* var98
/* : Location */;
131 static val
* varonce99
;
132 val
* var100
/* : String */;
133 char* var101
/* : NativeString */;
134 long var102
/* : Int */;
135 val
* var103
/* : FlatString */;
136 static val
* varonce104
;
137 val
* var105
/* : String */;
138 char* var106
/* : NativeString */;
139 long var107
/* : Int */;
140 val
* var108
/* : FlatString */;
141 val
* var109
/* : Array[Object] */;
142 long var110
/* : Int */;
143 val
* var111
/* : NativeArray[Object] */;
144 val
* var112
/* : String */;
145 val
* var113
/* : nullable Platform */;
146 val
* var_previous_target_platform
/* var previous_target_platform: nullable Platform */;
147 short int var114
/* : Bool */;
148 val
* var115
/* : null */;
149 short int var116
/* : Bool */;
150 short int var117
/* : Bool */;
151 short int var_
/* var : Bool */;
152 short int var118
/* : Bool */;
153 short int var119
/* : Bool */;
154 static val
* varonce120
;
155 val
* var121
/* : String */;
156 char* var122
/* : NativeString */;
157 long var123
/* : Int */;
158 val
* var124
/* : FlatString */;
159 static val
* varonce125
;
160 val
* var126
/* : String */;
161 char* var127
/* : NativeString */;
162 long var128
/* : Int */;
163 val
* var129
/* : FlatString */;
164 val
* var130
/* : Array[Object] */;
165 long var131
/* : Int */;
166 val
* var132
/* : NativeArray[Object] */;
167 val
* var133
/* : String */;
168 var_nmoduledecl
= p0
;
175 var3
= string__NativeString__to_s_with_length(var1
, var2
);
179 var_annotation_name
= var
;
181 var4
= annotation__AAnnotation__name(var_nat
);
184 { /* Inline kernel#Object#!= (var4,var_annotation_name) on <var4:String> */
185 var_other
= var_annotation_name
;
187 var9
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var4
, var_other
) /* == on <var4:String>*/;
202 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
203 var13
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
204 if (unlikely(var13
== NULL
)) {
205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
206 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
214 var14
= modelbuilder__ToolContext__modelbuilder(var11
);
216 var_modelbuilder
= var14
;
217 /* <var_nmoduledecl:ANode> isa AModuledecl */
218 cltype
= type_parser_nodes__AModuledecl
.color
;
219 idtype
= type_parser_nodes__AModuledecl
.id
;
220 if(cltype
>= var_nmoduledecl
->type
->table_size
) {
223 var15
= var_nmoduledecl
->type
->type_table
[cltype
] == idtype
;
230 var19
= "Syntax error: only the declaration of modules may use \"";
232 var21
= string__NativeString__to_s_with_length(var19
, var20
);
241 var26
= string__NativeString__to_s_with_length(var24
, var25
);
245 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
246 { /* var27 = array_instance Array[Object] */
248 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
249 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var18
;
250 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_annotation_name
;
251 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var23
;
253 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
257 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
260 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var30
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
266 { /* Inline parser_nodes#AAnnotation#n_args (var_nat) on <var_nat:AAnnotation> */
267 var33
= var_nat
->attrs
[COLOR_parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_nat:AAnnotation> */
268 if (unlikely(var33
== NULL
)) {
269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
270 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2426);
279 var34
= parser_nodes__ANodes__length(var_args
);
283 { /* Inline kernel#Int#> (var34,var35) on <var34:Int> */
284 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
285 /* <var35:Int> isa OTHER */
286 var38
= 1; /* easy <var35:Int> isa OTHER*/
287 if (unlikely(!var38
)) {
288 var_class_name
= type_kernel__Int
.name
;
289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
290 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
293 var41
= var34
> var35
;
303 var44
= "Syntax error: \"";
305 var46
= string__NativeString__to_s_with_length(var44
, var45
);
312 var49
= "\" expects at most a single argument.";
314 var51
= string__NativeString__to_s_with_length(var49
, var50
);
318 var52
= NEW_array__Array(&type_array__Arraykernel__Object
);
319 { /* var52 = array_instance Array[Object] */
321 var54
= NEW_array__NativeArray(var53
, &type_array__NativeArraykernel__Object
);
322 ((struct instance_array__NativeArray
*)var54
)->values
[0] = (val
*) var43
;
323 ((struct instance_array__NativeArray
*)var54
)->values
[1] = (val
*) var_annotation_name
;
324 ((struct instance_array__NativeArray
*)var54
)->values
[2] = (val
*) var48
;
326 ((void (*)(val
*, val
*, long))(var52
->class->vft
[COLOR_array__Array__with_native
]))(var52
, var54
, var53
) /* with_native on <var52:Array[Object]>*/;
330 var55
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_string__Object__to_s
]))(var52
) /* to_s on <var52:Array[Object]>*/;
333 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var55
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
338 var56
= parser_nodes__ANodes__is_empty(var_args
);
342 var57
= parser_nodes__AModuledecl__n_name(var_nmoduledecl
);
345 var58
= modelize_property__Prod__collect_text(var57
);
347 var_platform_name
= var58
;
350 var59
= abstract_collection__SequenceRead__first(var_args
);
353 var60
= annotation__AAtArg__as_string(var59
);
355 var_platform_name
= var60
;
357 if (var_platform_name
== NULL
) {
358 var62
= 1; /* is null */
360 var62
= 0; /* arg is null but recv is not */
363 var63
= string__FlatString___61d_61d(var_platform_name
, var61
);
370 var66
= "Syntax error: \"";
372 var68
= string__NativeString__to_s_with_length(var66
, var67
);
379 var71
= "\" expects its argument to be the name of the target platform as a String literal.";
381 var73
= string__NativeString__to_s_with_length(var71
, var72
);
385 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
386 { /* var74 = array_instance Array[Object] */
388 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
389 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var65
;
390 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var_annotation_name
;
391 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var70
;
393 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
397 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
399 var_format_error
= var77
;
401 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var_format_error
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
409 { /* Inline parser_nodes#ANode#parent (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
410 var80
= var_nmoduledecl
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <var_nmoduledecl:ANode(AModuledecl)> */
415 /* <var78:nullable ANode> isa AModule */
416 cltype82
= type_parser_nodes__AModule
.color
;
417 idtype83
= type_parser_nodes__AModule
.id
;
421 if(cltype82
>= var78
->type
->table_size
) {
424 var81
= var78
->type
->type_table
[cltype82
] == idtype83
;
427 if (unlikely(!var81
)) {
428 var_class_name84
= var78
== NULL ?
"null" : var78
->type
->name
;
429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name84
);
430 PRINT_ERROR(" (%s:%d)\n", "src/platform.nit", 66);
435 { /* Inline modelbuilder#AModule#mmodule (var_nmodule) on <var_nmodule:AModule> */
436 var87
= var_nmodule
->attrs
[COLOR_modelbuilder__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
443 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
444 var90
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
445 if (unlikely(var90
== NULL
)) {
446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
447 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
455 var91
= platform__ToolContext__platform_from_name(var88
, var_platform_name
);
457 var_platform
= var91
;
459 if (var_platform
== NULL
) {
460 var93
= 1; /* is null */
462 var93
= 0; /* arg is null but recv is not */
465 var94
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_platform
, var92
) /* == on <var_platform:nullable Platform>*/;
470 { /* Inline phase#Phase#toolcontext (self) on <self:PlatformPhase> */
471 var97
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
472 if (unlikely(var97
== NULL
)) {
473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
474 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
482 var98
= parser_nodes__ANode__location(var_nat
);
487 var101
= "Error: target platform \"";
489 var103
= string__NativeString__to_s_with_length(var101
, var102
);
496 var106
= "\" unknown";
498 var108
= string__NativeString__to_s_with_length(var106
, var107
);
502 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
503 { /* var109 = array_instance Array[Object] */
505 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
506 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var100
;
507 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var_platform_name
;
508 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var105
;
510 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
514 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
517 toolcontext__ToolContext__error(var95
, var98
, var112
); /* Direct call toolcontext#ToolContext#error on <var95:ToolContext>*/
522 if (var_mmodule
== NULL
) {
523 PRINT_ERROR("Runtime error: %s", "Receiver is null");
524 PRINT_ERROR(" (%s:%d)\n", "src/platform.nit", 75);
527 var113
= platform__MModule__target_platform(var_mmodule
);
529 var_previous_target_platform
= var113
;
531 if (var_previous_target_platform
== NULL
) {
532 var116
= 0; /* is null */
534 var116
= 1; /* arg is null and recv is not */
537 var117
= ((short int (*)(val
*, val
*))(var_previous_target_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_previous_target_platform
, var115
) /* != on <var_previous_target_platform:nullable Platform>*/;
543 var119
= ((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)>*/;
554 var122
= "Syntax error: a target platform has already been defined as \"";
556 var124
= string__NativeString__to_s_with_length(var122
, var123
);
565 var129
= string__NativeString__to_s_with_length(var127
, var128
);
569 var130
= NEW_array__Array(&type_array__Arraykernel__Object
);
570 { /* var130 = array_instance Array[Object] */
572 var132
= NEW_array__NativeArray(var131
, &type_array__NativeArraykernel__Object
);
573 ((struct instance_array__NativeArray
*)var132
)->values
[0] = (val
*) var121
;
574 ((struct instance_array__NativeArray
*)var132
)->values
[1] = (val
*) var_previous_target_platform
;
575 ((struct instance_array__NativeArray
*)var132
)->values
[2] = (val
*) var126
;
577 ((void (*)(val
*, val
*, long))(var130
->class->vft
[COLOR_array__Array__with_native
]))(var130
, var132
, var131
) /* with_native on <var130:Array[Object]>*/;
581 var133
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_string__Object__to_s
]))(var130
) /* to_s on <var130:Array[Object]>*/;
584 modelbuilder__ModelBuilder__error(var_modelbuilder
, var_nat
, var133
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
588 if (var_mmodule
== NULL
) {
589 PRINT_ERROR("Runtime error: %s", "Receiver is null");
590 PRINT_ERROR(" (%s:%d)\n", "src/platform.nit", 80);
593 { /* Inline platform#MModule#local_target_platform= (var_mmodule,var_platform) on <var_mmodule:nullable MModule> */
594 if (unlikely(var_mmodule
== NULL
)) {
595 PRINT_ERROR("Runtime error: %s", "Receiver is null");
596 PRINT_ERROR(" (%s:%d)\n", "src/platform.nit", 85);
599 var_mmodule
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= var_platform
; /* _local_target_platform on <var_mmodule:nullable MModule> */
600 RET_LABEL134
:(void)0;
605 /* method platform#PlatformPhase#process_annotated_node for (self: Object, ANode, AAnnotation) */
606 void VIRTUAL_platform__PlatformPhase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
607 platform__PlatformPhase__process_annotated_node(self
, p0
, p1
); /* Direct call platform#PlatformPhase#process_annotated_node on <self:Object(PlatformPhase)>*/
610 /* method platform#MModule#local_target_platform for (self: MModule): nullable Platform */
611 val
* platform__MModule__local_target_platform(val
* self
) {
612 val
* var
/* : nullable Platform */;
613 val
* var1
/* : nullable Platform */;
614 var1
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
619 /* method platform#MModule#local_target_platform for (self: Object): nullable Platform */
620 val
* VIRTUAL_platform__MModule__local_target_platform(val
* self
) {
621 val
* var
/* : nullable Platform */;
622 val
* var1
/* : nullable Platform */;
623 val
* var3
/* : nullable Platform */;
624 { /* Inline platform#MModule#local_target_platform (self) on <self:Object(MModule)> */
625 var3
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:Object(MModule)> */
633 /* method platform#MModule#local_target_platform= for (self: MModule, nullable Platform) */
634 void platform__MModule__local_target_platform_61d(val
* self
, val
* p0
) {
635 self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= p0
; /* _local_target_platform on <self:MModule> */
638 /* method platform#MModule#local_target_platform= for (self: Object, nullable Platform) */
639 void VIRTUAL_platform__MModule__local_target_platform_61d(val
* self
, val
* p0
) {
640 { /* Inline platform#MModule#local_target_platform= (self,p0) on <self:Object(MModule)> */
641 self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
= p0
; /* _local_target_platform on <self:Object(MModule)> */
646 /* method platform#MModule#target_platform for (self: MModule): nullable Platform */
647 val
* platform__MModule__target_platform(val
* self
) {
648 val
* var
/* : nullable Platform */;
649 val
* var1
/* : nullable Platform */;
650 val
* var3
/* : nullable Platform */;
651 val
* var_ltp
/* var ltp: nullable Platform */;
652 val
* var4
/* : null */;
653 short int var5
/* : Bool */;
654 short int var6
/* : Bool */;
655 val
* var7
/* : POSetElement[MModule] */;
656 val
* var9
/* : POSetElement[MModule] */;
657 val
* var10
/* : Collection[Object] */;
658 val
* var11
/* : Iterator[nullable Object] */;
659 short int var12
/* : Bool */;
660 val
* var13
/* : nullable Object */;
661 val
* var_mmodule
/* var mmodule: MModule */;
662 val
* var14
/* : nullable Platform */;
663 val
* var16
/* : nullable Platform */;
664 val
* var17
/* : null */;
665 short int var18
/* : Bool */;
666 short int var19
/* : Bool */;
667 val
* var20
/* : null */;
669 { /* Inline platform#MModule#local_target_platform (self) on <self:MModule> */
670 var3
= self
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
677 if (var_ltp
== NULL
) {
678 var5
= 0; /* is null */
680 var5
= 1; /* arg is null and recv is not */
683 var6
= ((short int (*)(val
*, val
*))(var_ltp
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ltp
, var4
) /* != on <var_ltp:nullable Platform>*/;
692 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
693 var9
= self
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
694 if (unlikely(var9
== NULL
)) {
695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
696 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
704 var10
= poset__POSetElement__greaters(var7
);
707 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var10
) /* iterator on <var10:Collection[Object](Collection[MModule])>*/;
711 var12
= ((short int (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var11
) /* is_ok on <var11:Iterator[nullable Object]>*/;
715 var13
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var11
) /* item on <var11:Iterator[nullable Object]>*/;
719 { /* Inline platform#MModule#local_target_platform (var_mmodule) on <var_mmodule:MModule> */
720 var16
= var_mmodule
->attrs
[COLOR_platform__MModule___local_target_platform
].val
; /* _local_target_platform on <var_mmodule:MModule> */
727 if (var_ltp
== NULL
) {
728 var18
= 0; /* is null */
730 var18
= 1; /* arg is null and recv is not */
733 var19
= ((short int (*)(val
*, val
*))(var_ltp
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_ltp
, var17
) /* != on <var_ltp:nullable Platform>*/;
741 CONTINUE_label
: (void)0;
743 ((void (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var11
) /* next on <var11:Iterator[nullable Object]>*/;
746 BREAK_label
: (void)0;
753 /* method platform#MModule#target_platform for (self: Object): nullable Platform */
754 val
* VIRTUAL_platform__MModule__target_platform(val
* self
) {
755 val
* var
/* : nullable Platform */;
756 val
* var1
/* : nullable Platform */;
757 var1
= platform__MModule__target_platform(self
);
762 /* method platform#Platform#supports_libunwind for (self: Platform): Bool */
763 short int platform__Platform__supports_libunwind(val
* self
) {
764 short int var
/* : Bool */;
765 short int var1
/* : Bool */;
772 /* method platform#Platform#supports_libunwind for (self: Object): Bool */
773 short int VIRTUAL_platform__Platform__supports_libunwind(val
* self
) {
774 short int var
/* : Bool */;
775 short int var1
/* : Bool */;
776 var1
= platform__Platform__supports_libunwind(self
);
781 /* method platform#Platform#supports_libgc for (self: Platform): Bool */
782 short int platform__Platform__supports_libgc(val
* self
) {
783 short int var
/* : Bool */;
784 short int var1
/* : Bool */;
791 /* method platform#Platform#supports_libgc for (self: Object): Bool */
792 short int VIRTUAL_platform__Platform__supports_libgc(val
* self
) {
793 short int var
/* : Bool */;
794 short int var1
/* : Bool */;
795 var1
= platform__Platform__supports_libgc(self
);
800 /* method platform#Platform#no_main for (self: Platform): Bool */
801 short int platform__Platform__no_main(val
* self
) {
802 short int var
/* : Bool */;
803 short int var1
/* : Bool */;
810 /* method platform#Platform#no_main for (self: Object): Bool */
811 short int VIRTUAL_platform__Platform__no_main(val
* self
) {
812 short int var
/* : Bool */;
813 short int var1
/* : Bool */;
814 var1
= platform__Platform__no_main(self
);