1 #include "nitg.sep.0.h"
2 /* method nitg#Sys#main for (self: Sys) */
3 void nitg__Sys__main(val
* self
) {
4 val
* var
/* : ToolContext */;
5 val
* var_toolcontext
/* var toolcontext: ToolContext */;
6 val
* var1
/* : OptionBool */;
8 val
* var2
/* : String */;
9 char* var3
/* : NativeString */;
10 long var4
/* : Int */;
11 val
* var5
/* : String */;
13 val
* var7
/* : String */;
14 char* var8
/* : NativeString */;
15 long var9
/* : Int */;
16 val
* var10
/* : String */;
17 val
* var11
/* : Array[String] */;
18 long var12
/* : Int */;
19 val
* var13
/* : NativeArray[String] */;
20 val
* var_opt_global
/* var opt_global: OptionBool */;
21 val
* var14
/* : OptionContext */;
22 val
* var15
/* : Array[Option] */;
23 long var16
/* : Int */;
24 val
* var17
/* : NativeArray[Option] */;
25 val
* var18
/* : OptionArray */;
26 static val
* varonce19
;
27 val
* var20
/* : String */;
28 char* var21
/* : NativeString */;
29 long var22
/* : Int */;
30 val
* var23
/* : String */;
31 static val
* varonce24
;
32 val
* var25
/* : String */;
33 char* var26
/* : NativeString */;
34 long var27
/* : Int */;
35 val
* var28
/* : String */;
36 val
* var29
/* : Array[String] */;
37 long var30
/* : Int */;
38 val
* var31
/* : NativeArray[String] */;
39 val
* var_opt_mixins
/* var opt_mixins: OptionArray */;
40 val
* var32
/* : OptionContext */;
41 val
* var33
/* : Array[Option] */;
42 long var34
/* : Int */;
43 val
* var35
/* : NativeArray[Option] */;
44 val
* var36
/* : Model */;
45 val
* var_model
/* var model: Model */;
46 val
* var37
/* : ModelBuilder */;
47 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
48 val
* var38
/* : OptionContext */;
49 val
* var39
/* : Array[String] */;
50 val
* var_arguments
/* var arguments: Array[String] */;
51 short int var40
/* : Bool */;
52 val
* var41
/* : OptionContext */;
53 long var42
/* : Int */;
54 long var43
/* : Int */;
55 short int var44
/* : Bool */;
56 short int var46
/* : Bool */;
59 const char* var_class_name
;
60 short int var47
/* : Bool */;
61 static val
* varonce48
;
62 val
* var49
/* : String */;
63 char* var50
/* : NativeString */;
64 long var51
/* : Int */;
65 val
* var52
/* : String */;
66 static val
* varonce53
;
67 val
* var54
/* : String */;
68 char* var55
/* : NativeString */;
69 long var56
/* : Int */;
70 val
* var57
/* : String */;
71 val
* var58
/* : String */;
72 val
* var59
/* : Array[Object] */;
73 long var60
/* : Int */;
74 val
* var61
/* : NativeArray[Object] */;
75 val
* var62
/* : String */;
76 val
* var63
/* : OptionContext */;
77 val
* var64
/* : nullable Object */;
78 val
* var_progname
/* var progname: String */;
79 val
* var65
/* : Array[String] */;
80 long var66
/* : Int */;
81 val
* var67
/* : NativeArray[String] */;
82 val
* var68
/* : Array[MModule] */;
83 val
* var_mmodules
/* var mmodules: Array[MModule] */;
84 val
* var69
/* : nullable Object */;
85 val
* var70
/* : Array[MModule] */;
86 short int var71
/* : Bool */;
87 long var72
/* : Int */;
88 long var73
/* : Int */;
89 short int var74
/* : Bool */;
90 short int var76
/* : Bool */;
91 val
* var77
/* : nullable Object */;
92 val
* var_mainmodule
/* var mainmodule: nullable Object */;
93 val
* var78
/* : MModule */;
94 val
* var79
/* : null */;
95 val
* var80
/* : nullable Object */;
96 val
* var81
/* : String */;
97 val
* var82
/* : nullable Object */;
98 val
* var83
/* : Location */;
99 val
* var84
/* : nullable Platform */;
100 val
* var_platform
/* var platform: nullable Platform */;
101 short int var85
/* : Bool */;
102 val
* var86
/* : null */;
103 short int var87
/* : Bool */;
104 short int var_
/* var : Bool */;
105 short int var88
/* : Bool */;
106 short int var89
/* : Bool */;
107 val
* var90
/* : OptionBool */;
108 short int var91
/* : Bool */;
109 val
* var92
/* : nullable Object */;
110 val
* var93
/* : OptionBool */;
111 short int var94
/* : Bool */;
112 val
* var95
/* : nullable Object */;
113 val
* var96
/* : OptionBool */;
114 val
* var97
/* : nullable Object */;
115 short int var98
/* : Bool */;
116 val
* var99
/* : null */;
117 val
* var100
/* : nullable Object */;
118 short int var101
/* : Bool */;
119 val
* var102
/* : RapidTypeAnalysis */;
120 val
* var_analysis
/* var analysis: RapidTypeAnalysis */;
121 val
* var103
/* : RapidTypeAnalysis */;
122 val
* var_analysis104
/* var analysis: RapidTypeAnalysis */;
123 var
= NEW_toolcontext__ToolContext(&type_toolcontext__ToolContext
);
124 ((void (*)(val
*))(var
->class->vft
[COLOR_toolcontext__ToolContext__init
]))(var
) /* init on <var:ToolContext>*/;
125 var_toolcontext
= var
;
126 var1
= NEW_opts__OptionBool(&type_opts__OptionBool
);
130 var3
= "Use global compilation";
132 var5
= string__NativeString__to_s_with_length(var3
, var4
);
141 var10
= string__NativeString__to_s_with_length(var8
, var9
);
145 var11
= NEW_array__Array(&type_array__Arraystring__String
);
146 { /* var11 = array_instance Array[String] */
148 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraystring__String
);
149 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var7
;
150 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[String]>*/;
152 ((void (*)(val
*, val
*, val
*))(var1
->class->vft
[COLOR_opts__OptionBool__init
]))(var1
, var2
, var11
) /* init on <var1:OptionBool>*/;
153 var_opt_global
= var1
;
154 var14
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(var_toolcontext
) /* option_context on <var_toolcontext:ToolContext>*/;
155 var15
= NEW_array__Array(&type_array__Arrayopts__Option
);
156 { /* var15 = array_instance Array[Option] */
158 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArrayopts__Option
);
159 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var_opt_global
;
160 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Option]>*/;
162 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var14
, var15
) /* add_option on <var14:OptionContext>*/;
163 var18
= NEW_opts__OptionArray(&type_opts__OptionArray
);
167 var21
= "Additionals module to min-in";
169 var23
= string__NativeString__to_s_with_length(var21
, var22
);
178 var28
= string__NativeString__to_s_with_length(var26
, var27
);
182 var29
= NEW_array__Array(&type_array__Arraystring__String
);
183 { /* var29 = array_instance Array[String] */
185 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraystring__String
);
186 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var25
;
187 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[String]>*/;
189 ((void (*)(val
*, val
*, val
*))(var18
->class->vft
[COLOR_opts__OptionArray__init
]))(var18
, var20
, var29
) /* init on <var18:OptionArray>*/;
190 var_opt_mixins
= var18
;
191 var32
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(var_toolcontext
) /* option_context on <var_toolcontext:ToolContext>*/;
192 var33
= NEW_array__Array(&type_array__Arrayopts__Option
);
193 { /* var33 = array_instance Array[Option] */
195 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArrayopts__Option
);
196 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var_opt_mixins
;
197 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Option]>*/;
199 ((void (*)(val
*, val
*))(var32
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var32
, var33
) /* add_option on <var32:OptionContext>*/;
200 ((void (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__process_options
]))(var_toolcontext
) /* process_options on <var_toolcontext:ToolContext>*/;
201 var36
= NEW_model_base__Model(&type_model_base__Model
);
202 ((void (*)(val
*))(var36
->class->vft
[COLOR_model_base__Model__init
]))(var36
) /* init on <var36:Model>*/;
204 var37
= NEW_modelbuilder__ModelBuilder(&type_modelbuilder__ModelBuilder
);
205 ((void (*)(val
*, val
*, val
*))(var37
->class->vft
[COLOR_modelbuilder__ModelBuilder__init
]))(var37
, var_model
, var_toolcontext
) /* init on <var37:ModelBuilder>*/;
206 var_modelbuilder
= var37
;
207 var38
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(var_toolcontext
) /* option_context on <var_toolcontext:ToolContext>*/;
208 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_opts__OptionContext__rest
]))(var38
) /* rest on <var38:OptionContext>*/;
209 var_arguments
= var39
;
210 var40
= ((short int (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_arguments
) /* is_empty on <var_arguments:Array[String]>*/;
212 var41
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(var_toolcontext
) /* option_context on <var_toolcontext:ToolContext>*/;
213 ((void (*)(val
*))(var41
->class->vft
[COLOR_opts__OptionContext__usage
]))(var41
) /* usage on <var41:OptionContext>*/;
217 var42
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[String]>*/;
219 { /* Inline kernel#Int#> (var42,var43) */
220 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
221 /* <var43:Int> isa OTHER */
222 var46
= 1; /* easy <var43:Int> isa OTHER*/
224 var_class_name
= type_kernel__Int
.name
;
225 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
226 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
229 var47
= var42
> var43
;
238 var50
= "Too much arguments: ";
240 var52
= string__NativeString__to_s_with_length(var50
, var51
);
249 var57
= string__NativeString__to_s_with_length(var55
, var56
);
253 var58
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var54
) /* join on <var_arguments:Array[String]>*/;
254 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
255 { /* var59 = array_instance Array[Object] */
257 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
258 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var49
;
259 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var58
;
260 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
262 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
263 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var62
) /* print on <self:Sys>*/;
264 var63
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(var_toolcontext
) /* option_context on <var_toolcontext:ToolContext>*/;
265 ((void (*)(val
*))(var63
->class->vft
[COLOR_opts__OptionContext__usage
]))(var63
) /* usage on <var63:OptionContext>*/;
269 var64
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[String]>*/;
270 var_progname
= var64
;
271 var65
= NEW_array__Array(&type_array__Arraystring__String
);
272 { /* var65 = array_instance Array[String] */
274 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraystring__String
);
275 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var_progname
;
276 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[String]>*/;
278 var68
= ((val
* (*)(val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__parse
]))(var_modelbuilder
, var65
) /* parse on <var_modelbuilder:ModelBuilder>*/;
279 var_mmodules
= var68
;
280 var69
= ((val
* (*)(val
*))(var_opt_mixins
->class->vft
[COLOR_opts__Option__value
]))(var_opt_mixins
) /* value on <var_opt_mixins:OptionArray>*/;
281 var70
= ((val
* (*)(val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__parse
]))(var_modelbuilder
, var69
) /* parse on <var_modelbuilder:ModelBuilder>*/;
282 ((void (*)(val
*, val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_mmodules
, var70
) /* add_all on <var_mmodules:Array[MModule]>*/;
283 var71
= ((short int (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_mmodules
) /* is_empty on <var_mmodules:Array[MModule]>*/;
288 ((void (*)(val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__run_phases
]))(var_modelbuilder
) /* run_phases on <var_modelbuilder:ModelBuilder>*/;
289 var72
= ((long (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_mmodules
) /* length on <var_mmodules:Array[MModule]>*/;
291 { /* Inline kernel#Int#== (var72,var73) */
292 var76
= var72
== var73
;
298 var77
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_mmodules
) /* first on <var_mmodules:Array[MModule]>*/;
299 var_mainmodule
= var77
;
301 var78
= NEW_mmodule__MModule(&type_mmodule__MModule
);
303 var80
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_mmodules
) /* first on <var_mmodules:Array[MModule]>*/;
304 var81
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_mmodule__MModule__name
]))(var80
) /* name on <var80:nullable Object(MModule)>*/;
305 var82
= ((val
* (*)(val
*))(var_mmodules
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_mmodules
) /* first on <var_mmodules:Array[MModule]>*/;
306 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_mmodule__MModule__location
]))(var82
) /* location on <var82:nullable Object(MModule)>*/;
307 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var78
->class->vft
[COLOR_mmodule__MModule__init
]))(var78
, var_model
, var79
, var81
, var83
) /* init on <var78:MModule>*/;
308 var_mainmodule
= var78
;
309 ((void (*)(val
*, val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__set_imported_mmodules
]))(var_mainmodule
, var_mmodules
) /* set_imported_mmodules on <var_mainmodule:nullable Object(MModule)>*/;
311 var84
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_platform__MModule__target_platform
]))(var_mainmodule
) /* target_platform on <var_mainmodule:nullable Object(MModule)>*/;
312 var_platform
= var84
;
314 if (var_platform
== NULL
) {
315 var87
= 0; /* is null */
317 var87
= 1; /* arg is null and recv is not */
321 var88
= ((short int (*)(val
*))(var_platform
->class->vft
[COLOR_platform__Platform__supports_libunwind
]))(var_platform
) /* supports_libunwind on <var_platform:nullable Platform(Platform)>*/;
328 var90
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var_toolcontext
) /* opt_no_stacktrace on <var_toolcontext:ToolContext>*/;
330 var92
= BOX_kernel__Bool(var91
); /* autobox from Bool to nullable Object */
331 ((void (*)(val
*, val
*))(var90
->class->vft
[COLOR_opts__Option__value_61d
]))(var90
, var92
) /* value= on <var90:OptionBool>*/;
332 var93
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var_toolcontext
) /* opt_stacktrace on <var_toolcontext:ToolContext>*/;
334 var95
= BOX_kernel__Bool(var94
); /* autobox from Bool to nullable Object */
335 ((void (*)(val
*, val
*))(var93
->class->vft
[COLOR_opts__Option__value_61d
]))(var93
, var95
) /* value= on <var93:OptionBool>*/;
338 var96
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_separate_erasure_compiler__ToolContext__opt_erasure
]))(var_toolcontext
) /* opt_erasure on <var_toolcontext:ToolContext>*/;
339 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_opts__Option__value
]))(var96
) /* value on <var96:OptionBool>*/;
340 var98
= ((struct instance_kernel__Bool
*)var97
)->value
; /* autounbox from nullable Object to Bool */;
343 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler
]))(var_modelbuilder
, var_mainmodule
, var99
) /* run_separate_erasure_compiler on <var_modelbuilder:ModelBuilder>*/;
345 var100
= ((val
* (*)(val
*))(var_opt_global
->class->vft
[COLOR_opts__Option__value
]))(var_opt_global
) /* value on <var_opt_global:OptionBool>*/;
346 var101
= ((struct instance_kernel__Bool
*)var100
)->value
; /* autounbox from nullable Object to Bool */;
348 var102
= ((val
* (*)(val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis
]))(var_modelbuilder
, var_mainmodule
) /* do_rapid_type_analysis on <var_modelbuilder:ModelBuilder>*/;
349 var_analysis
= var102
;
350 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_global_compiler__ModelBuilder__run_global_compiler
]))(var_modelbuilder
, var_mainmodule
, var_analysis
) /* run_global_compiler on <var_modelbuilder:ModelBuilder>*/;
352 var103
= ((val
* (*)(val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis
]))(var_modelbuilder
, var_mainmodule
) /* do_rapid_type_analysis on <var_modelbuilder:ModelBuilder>*/;
353 var_analysis104
= var103
;
354 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_separate_compiler__ModelBuilder__run_separate_compiler
]))(var_modelbuilder
, var_mainmodule
, var_analysis104
) /* run_separate_compiler on <var_modelbuilder:ModelBuilder>*/;
359 /* method nitg#Sys#main for (self: Object) */
360 void VIRTUAL_nitg__Sys__main(val
* self
) {
361 nitg__Sys__main(self
);