1 #include "nitc__platform.sep.0.h"
2 /* method platform$ToolContext$platform_from_name for (self: ToolContext, String): nullable Platform */
3 val
* nitc__platform___ToolContext___platform_from_name(val
* self
, val
* p0
) {
4 val
* var
/* : nullable Platform */;
5 val
* var_name
/* var name: String */;
12 /* method platform$PlatformPhase$process_annotated_node for (self: PlatformPhase, ANode, AAnnotation) */
13 void nitc__platform___nitc__platform__PlatformPhase___nitc__phase__Phase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
14 val
* var_nmoduledecl
/* var nmoduledecl: ANode */;
15 val
* var_nat
/* var nat: AAnnotation */;
17 val
* var
/* : String */;
18 char* var1
/* : CString */;
19 val
* var2
/* : String */;
20 val
* var3
/* : nullable Int */;
21 val
* var4
/* : nullable Int */;
22 val
* var5
/* : nullable Bool */;
23 val
* var6
/* : nullable Bool */;
24 val
* var_annotation_name
/* var annotation_name: String */;
25 val
* var7
/* : String */;
26 short int var8
/* : Bool */;
27 val
* var_other
/* var other: nullable Object */;
28 short int var10
/* : Bool */;
29 short int var11
/* : Bool */;
30 val
* var12
/* : ToolContext */;
31 val
* var14
/* : ToolContext */;
32 val
* var15
/* : ModelBuilder */;
33 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
34 short int var16
/* : Bool */;
37 short int var17
/* : Bool */;
38 val
* var19
/* : NativeArray[String] */;
39 static val
* varonce18
;
40 static val
* varonce20
;
41 val
* var21
/* : String */;
42 char* var22
/* : CString */;
43 val
* var23
/* : String */;
44 val
* var24
/* : nullable Int */;
45 val
* var25
/* : nullable Int */;
46 val
* var26
/* : nullable Bool */;
47 val
* var27
/* : nullable Bool */;
48 static val
* varonce28
;
49 val
* var29
/* : String */;
50 char* var30
/* : CString */;
51 val
* var31
/* : String */;
52 val
* var32
/* : nullable Int */;
53 val
* var33
/* : nullable Int */;
54 val
* var34
/* : nullable Bool */;
55 val
* var35
/* : nullable Bool */;
56 val
* var36
/* : String */;
57 val
* var37
/* : ANodes[AExpr] */;
58 val
* var39
/* : ANodes[AExpr] */;
59 val
* var_args
/* var args: ANodes[AExpr] */;
60 long var40
/* : Int */;
61 short int var41
/* : Bool */;
62 short int var43
/* : Bool */;
65 const char* var_class_name
;
66 short int var46
/* : Bool */;
67 val
* var48
/* : NativeArray[String] */;
68 static val
* varonce47
;
69 static val
* varonce49
;
70 val
* var50
/* : String */;
71 char* var51
/* : CString */;
72 val
* var52
/* : String */;
73 val
* var53
/* : nullable Int */;
74 val
* var54
/* : nullable Int */;
75 val
* var55
/* : nullable Bool */;
76 val
* var56
/* : nullable Bool */;
77 static val
* varonce57
;
78 val
* var58
/* : String */;
79 char* var59
/* : CString */;
80 val
* var60
/* : String */;
81 val
* var61
/* : nullable Int */;
82 val
* var62
/* : nullable Int */;
83 val
* var63
/* : nullable Bool */;
84 val
* var64
/* : nullable Bool */;
85 val
* var65
/* : String */;
86 short int var66
/* : Bool */;
87 val
* var67
/* : AModuleName */;
88 val
* var69
/* : AModuleName */;
89 val
* var70
/* : String */;
90 val
* var_platform_name
/* var platform_name: nullable Object */;
91 val
* var71
/* : nullable Object */;
92 val
* var72
/* : nullable String */;
93 short int var73
/* : Bool */;
94 short int var74
/* : Bool */;
95 val
* var76
/* : NativeArray[String] */;
96 static val
* varonce75
;
97 static val
* varonce77
;
98 val
* var78
/* : String */;
99 char* var79
/* : CString */;
100 val
* var80
/* : String */;
101 val
* var81
/* : nullable Int */;
102 val
* var82
/* : nullable Int */;
103 val
* var83
/* : nullable Bool */;
104 val
* var84
/* : nullable Bool */;
105 static val
* varonce85
;
106 val
* var86
/* : String */;
107 char* var87
/* : CString */;
108 val
* var88
/* : String */;
109 val
* var89
/* : nullable Int */;
110 val
* var90
/* : nullable Int */;
111 val
* var91
/* : nullable Bool */;
112 val
* var92
/* : nullable Bool */;
113 val
* var93
/* : String */;
114 val
* var_format_error
/* var format_error: String */;
115 val
* var94
/* : nullable ANode */;
116 val
* var96
/* : nullable ANode */;
117 short int var97
/* : Bool */;
120 const char* var_class_name100
;
121 val
* var_nmodule
/* var nmodule: AModule */;
122 val
* var101
/* : nullable MModule */;
123 val
* var103
/* : nullable MModule */;
124 val
* var_mmodule
/* var mmodule: nullable MModule */;
125 val
* var104
/* : ToolContext */;
126 val
* var106
/* : ToolContext */;
127 val
* var107
/* : nullable Platform */;
128 val
* var_platform
/* var platform: nullable Platform */;
129 short int var108
/* : Bool */;
130 short int var109
/* : Bool */;
131 val
* var_other111
/* var other: nullable Object */;
132 short int var112
/* : Bool */;
133 short int var114
/* : Bool */;
134 val
* var115
/* : ToolContext */;
135 val
* var117
/* : ToolContext */;
136 val
* var118
/* : Location */;
137 val
* var120
/* : Location */;
138 val
* var122
/* : NativeArray[String] */;
139 static val
* varonce121
;
140 static val
* varonce123
;
141 val
* var124
/* : String */;
142 char* var125
/* : CString */;
143 val
* var126
/* : String */;
144 val
* var127
/* : nullable Int */;
145 val
* var128
/* : nullable Int */;
146 val
* var129
/* : nullable Bool */;
147 val
* var130
/* : nullable Bool */;
148 static val
* varonce131
;
149 val
* var132
/* : String */;
150 char* var133
/* : CString */;
151 val
* var134
/* : String */;
152 val
* var135
/* : nullable Int */;
153 val
* var136
/* : nullable Int */;
154 val
* var137
/* : nullable Bool */;
155 val
* var138
/* : nullable Bool */;
156 val
* var139
/* : String */;
157 val
* var140
/* : Message */;
158 val
* var141
/* : nullable Platform */;
159 val
* var_previous_target_platform
/* var previous_target_platform: nullable Platform */;
160 short int var142
/* : Bool */;
161 short int var143
/* : Bool */;
162 short int var144
/* : Bool */;
163 short int var146
/* : Bool */;
164 short int var147
/* : Bool */;
165 short int var_
/* var : Bool */;
166 short int var148
/* : Bool */;
167 short int var150
/* : Bool */;
168 short int var151
/* : Bool */;
169 val
* var153
/* : NativeArray[String] */;
170 static val
* varonce152
;
171 static val
* varonce154
;
172 val
* var155
/* : String */;
173 char* var156
/* : CString */;
174 val
* var157
/* : String */;
175 val
* var158
/* : nullable Int */;
176 val
* var159
/* : nullable Int */;
177 val
* var160
/* : nullable Bool */;
178 val
* var161
/* : nullable Bool */;
179 static val
* varonce162
;
180 val
* var163
/* : String */;
181 char* var164
/* : CString */;
182 val
* var165
/* : String */;
183 val
* var166
/* : nullable Int */;
184 val
* var167
/* : nullable Int */;
185 val
* var168
/* : nullable Bool */;
186 val
* var169
/* : nullable Bool */;
187 val
* var170
/* : String */;
188 val
* var171
/* : String */;
189 var_nmoduledecl
= p0
;
191 if (likely(varonce
!=NULL
)) {
195 var3
= (val
*)(8l<<2|1);
196 var4
= (val
*)(8l<<2|1);
197 var5
= (val
*)((long)(0)<<2|3);
198 var6
= (val
*)((long)(0)<<2|3);
199 var2
= core__flat___CString___to_s_unsafe(var1
, var3
, var4
, var5
, var6
);
203 var_annotation_name
= var
;
205 var7
= nitc___nitc__AAnnotation___name(var_nat
);
208 { /* Inline kernel$Object$!= (var7,var_annotation_name) on <var7:String> */
209 var_other
= var_annotation_name
;
211 var10
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_other
); /* == on <var7:String>*/
224 { /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
225 var14
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
226 if (unlikely(var14
== NULL
)) {
227 if(catchStack
.cursor
>= 0){
228 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
239 var15
= nitc__modelbuilder_base___ToolContext___modelbuilder(var12
);
241 var_modelbuilder
= var15
;
242 /* <var_nmoduledecl:ANode> isa AModuledecl */
243 cltype
= type_nitc__AModuledecl
.color
;
244 idtype
= type_nitc__AModuledecl
.id
;
245 if(cltype
>= var_nmoduledecl
->type
->table_size
) {
248 var16
= var_nmoduledecl
->type
->type_table
[cltype
] == idtype
;
252 if (unlikely(varonce18
==NULL
)) {
253 var19
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
254 if (likely(varonce20
!=NULL
)) {
257 var22
= "Syntax Error: only the declaration of modules may use `";
258 var24
= (val
*)(55l<<2|1);
259 var25
= (val
*)(55l<<2|1);
260 var26
= (val
*)((long)(0)<<2|3);
261 var27
= (val
*)((long)(0)<<2|3);
262 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
266 ((struct instance_core__NativeArray
*)var19
)->values
[0]=var21
;
267 if (likely(varonce28
!=NULL
)) {
271 var32
= (val
*)(2l<<2|1);
272 var33
= (val
*)(2l<<2|1);
273 var34
= (val
*)((long)(0)<<2|3);
274 var35
= (val
*)((long)(0)<<2|3);
275 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
279 ((struct instance_core__NativeArray
*)var19
)->values
[2]=var29
;
284 ((struct instance_core__NativeArray
*)var19
)->values
[1]=var_annotation_name
;
286 var36
= ((val
*(*)(val
* self
))(var19
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var19
); /* native_to_s on <var19:NativeArray[String]>*/
290 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nat
, var36
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
296 { /* Inline parser_nodes$AAnnotation$n_args (var_nat) on <var_nat:AAnnotation> */
297 var39
= var_nat
->attrs
[COLOR_nitc__parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <var_nat:AAnnotation> */
298 if (unlikely(var39
== NULL
)) {
299 if(catchStack
.cursor
>= 0){
300 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
303 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 3007);
312 var40
= nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_args
);
315 { /* Inline kernel$Int$> (var40,1l) on <var40:Int> */
316 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
317 /* <1l:Int> isa OTHER */
318 var43
= 1; /* easy <1l:Int> isa OTHER*/
319 if (unlikely(!var43
)) {
320 var_class_name
= type_core__Int
.name
;
321 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
322 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
332 if (unlikely(varonce47
==NULL
)) {
333 var48
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
334 if (likely(varonce49
!=NULL
)) {
337 var51
= "Syntax Error: `";
338 var53
= (val
*)(15l<<2|1);
339 var54
= (val
*)(15l<<2|1);
340 var55
= (val
*)((long)(0)<<2|3);
341 var56
= (val
*)((long)(0)<<2|3);
342 var52
= core__flat___CString___to_s_unsafe(var51
, var53
, var54
, var55
, var56
);
346 ((struct instance_core__NativeArray
*)var48
)->values
[0]=var50
;
347 if (likely(varonce57
!=NULL
)) {
350 var59
= "` expects at most a single argument.";
351 var61
= (val
*)(36l<<2|1);
352 var62
= (val
*)(36l<<2|1);
353 var63
= (val
*)((long)(0)<<2|3);
354 var64
= (val
*)((long)(0)<<2|3);
355 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
359 ((struct instance_core__NativeArray
*)var48
)->values
[2]=var58
;
364 ((struct instance_core__NativeArray
*)var48
)->values
[1]=var_annotation_name
;
366 var65
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
370 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nat
, var65
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
375 var66
= nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var_args
);
379 { /* Inline parser_nodes$AModuledecl$n_name (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
380 var69
= var_nmoduledecl
->attrs
[COLOR_nitc__parser_nodes__AModuledecl___n_name
].val
; /* _n_name on <var_nmoduledecl:ANode(AModuledecl)> */
381 if (unlikely(var69
== NULL
)) {
382 if(catchStack
.cursor
>= 0){
383 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name");
386 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1149);
394 var70
= nitc__parser_work___Prod___collect_text(var67
);
396 var_platform_name
= var70
;
399 var71
= core___core__SequenceRead___Collection__first(var_args
);
402 var72
= nitc__literal___AExpr___as_string(var71
);
404 var_platform_name
= var72
;
405 if (var_platform_name
== NULL
) {
406 var73
= 1; /* is null */
408 var73
= 0; /* arg is null but recv is not */
411 var74
= ((short int(*)(val
* self
, val
* p0
))(var_platform_name
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_platform_name
, ((val
*)NULL
)); /* == on <var_platform_name:nullable Object(nullable String)>*/
415 if (unlikely(varonce75
==NULL
)) {
416 var76
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
417 if (likely(varonce77
!=NULL
)) {
420 var79
= "Syntax Error: `";
421 var81
= (val
*)(15l<<2|1);
422 var82
= (val
*)(15l<<2|1);
423 var83
= (val
*)((long)(0)<<2|3);
424 var84
= (val
*)((long)(0)<<2|3);
425 var80
= core__flat___CString___to_s_unsafe(var79
, var81
, var82
, var83
, var84
);
429 ((struct instance_core__NativeArray
*)var76
)->values
[0]=var78
;
430 if (likely(varonce85
!=NULL
)) {
433 var87
= "` expects its argument to be the name of the target platform as a String literal.";
434 var89
= (val
*)(81l<<2|1);
435 var90
= (val
*)(81l<<2|1);
436 var91
= (val
*)((long)(0)<<2|3);
437 var92
= (val
*)((long)(0)<<2|3);
438 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
442 ((struct instance_core__NativeArray
*)var76
)->values
[2]=var86
;
447 ((struct instance_core__NativeArray
*)var76
)->values
[1]=var_annotation_name
;
449 var93
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
452 var_format_error
= var93
;
454 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nat
, var_format_error
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
462 { /* Inline parser_nodes$ANode$parent (var_nmoduledecl) on <var_nmoduledecl:ANode(AModuledecl)> */
463 var96
= var_nmoduledecl
->attrs
[COLOR_nitc__parser_nodes__ANode___parent
].val
; /* _parent on <var_nmoduledecl:ANode(AModuledecl)> */
468 /* <var94:nullable ANode> isa AModule */
469 cltype98
= type_nitc__AModule
.color
;
470 idtype99
= type_nitc__AModule
.id
;
474 if(cltype98
>= var94
->type
->table_size
) {
477 var97
= var94
->type
->type_table
[cltype98
] == idtype99
;
480 if (unlikely(!var97
)) {
481 var_class_name100
= var94
== NULL ?
"null" : var94
->type
->name
;
482 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name100
);
483 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform
, 67);
488 { /* Inline loader$AModule$mmodule (var_nmodule) on <var_nmodule:AModule> */
489 var103
= var_nmodule
->attrs
[COLOR_nitc__loader__AModule___mmodule
].val
; /* _mmodule on <var_nmodule:AModule> */
491 RET_LABEL102
:(void)0;
494 var_mmodule
= var101
;
496 { /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
497 var106
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
498 if (unlikely(var106
== NULL
)) {
499 if(catchStack
.cursor
>= 0){
500 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
503 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
507 RET_LABEL105
:(void)0;
511 var107
= nitc__platform___ToolContext___platform_from_name(var104
, var_platform_name
);
513 var_platform
= var107
;
514 if (var_platform
== NULL
) {
515 var108
= 1; /* is null */
517 var108
= 0; /* arg is null but recv is not */
520 { /* Inline kernel$Object$== (var_platform,((val*)NULL)) on <var_platform:nullable Platform> */
521 var_other111
= ((val
*)NULL
);
523 { /* Inline kernel$Object$is_same_instance (var_platform,var_other111) on <var_platform:nullable Platform(Platform)> */
524 var114
= var_platform
== var_other111
;
527 RET_LABEL113
:(void)0;
532 RET_LABEL110
:(void)0;
538 { /* Inline phase$Phase$toolcontext (self) on <self:PlatformPhase> */
539 var117
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:PlatformPhase> */
540 if (unlikely(var117
== NULL
)) {
541 if(catchStack
.cursor
>= 0){
542 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
545 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
549 RET_LABEL116
:(void)0;
553 { /* Inline parser_nodes$ANode$location (var_nat) on <var_nat:AAnnotation> */
554 var120
= var_nat
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nat:AAnnotation> */
555 if (unlikely(var120
== NULL
)) {
556 if(catchStack
.cursor
>= 0){
557 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
560 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
564 RET_LABEL119
:(void)0;
567 if (unlikely(varonce121
==NULL
)) {
568 var122
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
569 if (likely(varonce123
!=NULL
)) {
572 var125
= "Error: target platform `";
573 var127
= (val
*)(24l<<2|1);
574 var128
= (val
*)(24l<<2|1);
575 var129
= (val
*)((long)(0)<<2|3);
576 var130
= (val
*)((long)(0)<<2|3);
577 var126
= core__flat___CString___to_s_unsafe(var125
, var127
, var128
, var129
, var130
);
581 ((struct instance_core__NativeArray
*)var122
)->values
[0]=var124
;
582 if (likely(varonce131
!=NULL
)) {
585 var133
= "` unknown.";
586 var135
= (val
*)(10l<<2|1);
587 var136
= (val
*)(10l<<2|1);
588 var137
= (val
*)((long)(0)<<2|3);
589 var138
= (val
*)((long)(0)<<2|3);
590 var134
= core__flat___CString___to_s_unsafe(var133
, var135
, var136
, var137
, var138
);
594 ((struct instance_core__NativeArray
*)var122
)->values
[2]=var132
;
599 ((struct instance_core__NativeArray
*)var122
)->values
[1]=var_platform_name
;
601 var139
= ((val
*(*)(val
* self
))(var122
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var122
); /* native_to_s on <var122:NativeArray[String]>*/
605 var140
= nitc___nitc__ToolContext___error(var115
, var118
, var139
);
610 if (var_mmodule
== NULL
) {
611 if(catchStack
.cursor
>= 0){
612 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
614 PRINT_ERROR("Runtime error: %s", "Receiver is null");
615 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform
, 76);
618 var141
= nitc__platform___MModule___target_platform(var_mmodule
);
620 var_previous_target_platform
= var141
;
621 if (var_previous_target_platform
== NULL
) {
622 var143
= 0; /* is null */
624 var143
= 1; /* arg is null and recv is not */
627 { /* Inline kernel$Object$!= (var_previous_target_platform,((val*)NULL)) on <var_previous_target_platform:nullable Platform> */
628 var_other
= ((val
*)NULL
);
630 var146
= ((short int(*)(val
* self
, val
* p0
))(var_previous_target_platform
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_previous_target_platform
, var_other
); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
635 RET_LABEL145
:(void)0;
642 { /* Inline kernel$Object$!= (var_previous_target_platform,var_platform) on <var_previous_target_platform:nullable Platform(Platform)> */
643 var_other
= var_platform
;
645 var150
= ((short int(*)(val
* self
, val
* p0
))(var_previous_target_platform
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_previous_target_platform
, var_other
); /* == on <var_previous_target_platform:nullable Platform(Platform)>*/
650 RET_LABEL149
:(void)0;
658 if (unlikely(varonce152
==NULL
)) {
659 var153
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
660 if (likely(varonce154
!=NULL
)) {
663 var156
= "Syntax Error: a target platform has already been defined as `";
664 var158
= (val
*)(61l<<2|1);
665 var159
= (val
*)(61l<<2|1);
666 var160
= (val
*)((long)(0)<<2|3);
667 var161
= (val
*)((long)(0)<<2|3);
668 var157
= core__flat___CString___to_s_unsafe(var156
, var158
, var159
, var160
, var161
);
672 ((struct instance_core__NativeArray
*)var153
)->values
[0]=var155
;
673 if (likely(varonce162
!=NULL
)) {
677 var166
= (val
*)(2l<<2|1);
678 var167
= (val
*)(2l<<2|1);
679 var168
= (val
*)((long)(0)<<2|3);
680 var169
= (val
*)((long)(0)<<2|3);
681 var165
= core__flat___CString___to_s_unsafe(var164
, var166
, var167
, var168
, var169
);
685 ((struct instance_core__NativeArray
*)var153
)->values
[2]=var163
;
691 var170
= ((val
*(*)(val
* self
))(var_previous_target_platform
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_previous_target_platform
); /* to_s on <var_previous_target_platform:nullable Platform(Platform)>*/
693 ((struct instance_core__NativeArray
*)var153
)->values
[1]=var170
;
695 var171
= ((val
*(*)(val
* self
))(var153
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var153
); /* native_to_s on <var153:NativeArray[String]>*/
699 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var_nat
, var171
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
703 if (var_mmodule
== NULL
) {
704 if(catchStack
.cursor
>= 0){
705 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
707 PRINT_ERROR("Runtime error: %s", "Receiver is null");
708 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform
, 81);
711 { /* Inline platform$MModule$local_target_platform= (var_mmodule,var_platform) on <var_mmodule:nullable MModule> */
712 if (unlikely(var_mmodule
== NULL
)) {
713 if(catchStack
.cursor
>= 0){
714 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
716 PRINT_ERROR("Runtime error: %s", "Receiver is null");
717 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__platform
, 86);
720 var_mmodule
->attrs
[COLOR_nitc__platform__MModule___local_target_platform
].val
= var_platform
; /* _local_target_platform on <var_mmodule:nullable MModule> */
721 RET_LABEL172
:(void)0;
726 /* method platform$MModule$local_target_platform for (self: MModule): nullable Platform */
727 val
* nitc__platform___MModule___local_target_platform(val
* self
) {
728 val
* var
/* : nullable Platform */;
729 val
* var1
/* : nullable Platform */;
730 var1
= self
->attrs
[COLOR_nitc__platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
735 /* method platform$MModule$local_target_platform= for (self: MModule, nullable Platform) */
736 void nitc__platform___MModule___local_target_platform_61d(val
* self
, val
* p0
) {
737 self
->attrs
[COLOR_nitc__platform__MModule___local_target_platform
].val
= p0
; /* _local_target_platform on <self:MModule> */
740 /* method platform$MModule$target_platform for (self: MModule): nullable Platform */
741 val
* nitc__platform___MModule___target_platform(val
* self
) {
742 val
* var
/* : nullable Platform */;
743 val
* var1
/* : nullable Platform */;
744 val
* var3
/* : nullable Platform */;
745 val
* var_ltp
/* var ltp: nullable Platform */;
746 short int var4
/* : Bool */;
747 short int var5
/* : Bool */;
748 val
* var_other
/* var other: nullable Object */;
749 short int var7
/* : Bool */;
750 short int var8
/* : Bool */;
751 val
* var9
/* : POSetElement[MModule] */;
752 val
* var11
/* : POSetElement[MModule] */;
753 val
* var12
/* : Collection[nullable Object] */;
754 val
* var_
/* var : Collection[MModule] */;
755 val
* var13
/* : Iterator[nullable Object] */;
756 val
* var_14
/* var : Iterator[MModule] */;
757 short int var15
/* : Bool */;
758 val
* var16
/* : nullable Object */;
759 val
* var_mmodule
/* var mmodule: MModule */;
760 val
* var17
/* : nullable Platform */;
761 val
* var19
/* : nullable Platform */;
762 short int var20
/* : Bool */;
763 short int var21
/* : Bool */;
764 short int var23
/* : Bool */;
765 short int var24
/* : Bool */;
767 { /* Inline platform$MModule$local_target_platform (self) on <self:MModule> */
768 var3
= self
->attrs
[COLOR_nitc__platform__MModule___local_target_platform
].val
; /* _local_target_platform on <self:MModule> */
774 if (var_ltp
== NULL
) {
775 var4
= 0; /* is null */
777 var4
= 1; /* arg is null and recv is not */
780 { /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
781 var_other
= ((val
*)NULL
);
783 var7
= ((short int(*)(val
* self
, val
* p0
))(var_ltp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ltp
, var_other
); /* == on <var_ltp:nullable Platform(Platform)>*/
798 { /* Inline mmodule$MModule$in_importation (self) on <self:MModule> */
799 var11
= self
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
800 if (unlikely(var11
== NULL
)) {
801 if(catchStack
.cursor
>= 0){
802 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
805 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
813 var12
= poset___poset__POSetElement___greaters(var9
);
817 var13
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
822 var15
= ((short int(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_14
); /* is_ok on <var_14:Iterator[MModule]>*/
829 var16
= ((val
*(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_14
); /* item on <var_14:Iterator[MModule]>*/
833 { /* Inline platform$MModule$local_target_platform (var_mmodule) on <var_mmodule:MModule> */
834 var19
= var_mmodule
->attrs
[COLOR_nitc__platform__MModule___local_target_platform
].val
; /* _local_target_platform on <var_mmodule:MModule> */
840 if (var_ltp
== NULL
) {
841 var20
= 0; /* is null */
843 var20
= 1; /* arg is null and recv is not */
846 { /* Inline kernel$Object$!= (var_ltp,((val*)NULL)) on <var_ltp:nullable Platform> */
847 var_other
= ((val
*)NULL
);
849 var23
= ((short int(*)(val
* self
, val
* p0
))(var_ltp
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_ltp
, var_other
); /* == on <var_ltp:nullable Platform(Platform)>*/
864 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_14
); /* next on <var_14:Iterator[MModule]>*/
867 BREAK_label
: (void)0;
869 ((void(*)(val
* self
))((((long)var_14
&3)?class_info
[((long)var_14
&3)]:var_14
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_14
); /* finish on <var_14:Iterator[MModule]>*/
876 /* method platform$Platform$supports_libunwind for (self: Platform): Bool */
877 short int nitc___nitc__Platform___supports_libunwind(val
* self
) {
878 short int var
/* : Bool */;
884 /* method platform$Platform$supports_libgc for (self: Platform): Bool */
885 short int nitc___nitc__Platform___supports_libgc(val
* self
) {
886 short int var
/* : Bool */;
892 /* method platform$Platform$no_main for (self: Platform): Bool */
893 short int nitc___nitc__Platform___no_main(val
* self
) {
894 short int var
/* : Bool */;
900 /* method platform$Platform$supports_linker_script for (self: Platform): Bool */
901 short int nitc___nitc__Platform___supports_linker_script(val
* self
) {
902 short int var
/* : Bool */;