cleanup some remaining nitc
[nit.git] / c_src / nitg.sep.1.c
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 */;
7 static val* varonce;
8 val* var2 /* : String */;
9 char* var3 /* : NativeString */;
10 long var4 /* : Int */;
11 val* var5 /* : String */;
12 static val* varonce6;
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 */;
57 int cltype;
58 int idtype;
59 short int var47 /* : Bool */;
60 static val* varonce48;
61 val* var49 /* : String */;
62 char* var50 /* : NativeString */;
63 long var51 /* : Int */;
64 val* var52 /* : String */;
65 static val* varonce53;
66 val* var54 /* : String */;
67 char* var55 /* : NativeString */;
68 long var56 /* : Int */;
69 val* var57 /* : String */;
70 val* var58 /* : String */;
71 val* var59 /* : Array[Object] */;
72 long var60 /* : Int */;
73 val* var61 /* : NativeArray[Object] */;
74 val* var62 /* : String */;
75 val* var63 /* : OptionContext */;
76 val* var64 /* : nullable Object */;
77 val* var_progname /* var progname: String */;
78 val* var65 /* : Array[String] */;
79 long var66 /* : Int */;
80 val* var67 /* : NativeArray[String] */;
81 val* var68 /* : Array[MModule] */;
82 val* var_mmodules /* var mmodules: Array[MModule] */;
83 val* var69 /* : nullable Object */;
84 val* var70 /* : Array[MModule] */;
85 short int var71 /* : Bool */;
86 long var72 /* : Int */;
87 long var73 /* : Int */;
88 short int var74 /* : Bool */;
89 short int var76 /* : Bool */;
90 val* var77 /* : nullable Object */;
91 val* var_mainmodule /* var mainmodule: nullable Object */;
92 val* var78 /* : MModule */;
93 val* var79 /* : null */;
94 val* var80 /* : nullable Object */;
95 val* var81 /* : String */;
96 val* var82 /* : nullable Object */;
97 val* var83 /* : Location */;
98 val* var84 /* : RapidTypeAnalysis */;
99 val* var_analysis /* var analysis: RapidTypeAnalysis */;
100 val* var85 /* : OptionBool */;
101 val* var86 /* : nullable Object */;
102 short int var87 /* : Bool */;
103 val* var88 /* : nullable Object */;
104 short int var89 /* : Bool */;
105 var = NEW_toolcontext__ToolContext(&type_toolcontext__ToolContext);
106 ((void (*)(val*))(var->class->vft[COLOR_toolcontext__ToolContext__init]))(var) /* init on <var:ToolContext>*/;
107 CHECK_NEW_toolcontext__ToolContext(var);
108 var_toolcontext = var;
109 var1 = NEW_opts__OptionBool(&type_opts__OptionBool);
110 if (varonce) {
111 var2 = varonce;
112 } else {
113 var3 = "Use global compilation";
114 var4 = 22;
115 var5 = string__NativeString__to_s_with_length(var3, var4);
116 var2 = var5;
117 varonce = var2;
118 }
119 if (varonce6) {
120 var7 = varonce6;
121 } else {
122 var8 = "--global";
123 var9 = 8;
124 var10 = string__NativeString__to_s_with_length(var8, var9);
125 var7 = var10;
126 varonce6 = var7;
127 }
128 var11 = NEW_array__Array(&type_array__Arraystring__String);
129 { /* var11 = array_instance Array[String] */
130 var12 = 1;
131 var13 = NEW_array__NativeArray(var12, &type_array__NativeArraystring__String);
132 ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var7;
133 ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[String]>*/;
134 CHECK_NEW_array__Array(var11);
135 }
136 ((void (*)(val*, val*, val*))(var1->class->vft[COLOR_opts__OptionBool__init]))(var1, var2, var11) /* init on <var1:OptionBool>*/;
137 CHECK_NEW_opts__OptionBool(var1);
138 var_opt_global = var1;
139 var14 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on <var_toolcontext:ToolContext>*/;
140 var15 = NEW_array__Array(&type_array__Arrayopts__Option);
141 { /* var15 = array_instance Array[Option] */
142 var16 = 1;
143 var17 = NEW_array__NativeArray(var16, &type_array__NativeArrayopts__Option);
144 ((struct instance_array__NativeArray*)var17)->values[0] = (val*) var_opt_global;
145 ((void (*)(val*, val*, long))(var15->class->vft[COLOR_array__Array__with_native]))(var15, var17, var16) /* with_native on <var15:Array[Option]>*/;
146 CHECK_NEW_array__Array(var15);
147 }
148 ((void (*)(val*, val*))(var14->class->vft[COLOR_opts__OptionContext__add_option]))(var14, var15) /* add_option on <var14:OptionContext>*/;
149 var18 = NEW_opts__OptionArray(&type_opts__OptionArray);
150 if (varonce19) {
151 var20 = varonce19;
152 } else {
153 var21 = "Additionals module to min-in";
154 var22 = 28;
155 var23 = string__NativeString__to_s_with_length(var21, var22);
156 var20 = var23;
157 varonce19 = var20;
158 }
159 if (varonce24) {
160 var25 = varonce24;
161 } else {
162 var26 = "-m";
163 var27 = 2;
164 var28 = string__NativeString__to_s_with_length(var26, var27);
165 var25 = var28;
166 varonce24 = var25;
167 }
168 var29 = NEW_array__Array(&type_array__Arraystring__String);
169 { /* var29 = array_instance Array[String] */
170 var30 = 1;
171 var31 = NEW_array__NativeArray(var30, &type_array__NativeArraystring__String);
172 ((struct instance_array__NativeArray*)var31)->values[0] = (val*) var25;
173 ((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on <var29:Array[String]>*/;
174 CHECK_NEW_array__Array(var29);
175 }
176 ((void (*)(val*, val*, val*))(var18->class->vft[COLOR_opts__OptionArray__init]))(var18, var20, var29) /* init on <var18:OptionArray>*/;
177 CHECK_NEW_opts__OptionArray(var18);
178 var_opt_mixins = var18;
179 var32 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on <var_toolcontext:ToolContext>*/;
180 var33 = NEW_array__Array(&type_array__Arrayopts__Option);
181 { /* var33 = array_instance Array[Option] */
182 var34 = 1;
183 var35 = NEW_array__NativeArray(var34, &type_array__NativeArrayopts__Option);
184 ((struct instance_array__NativeArray*)var35)->values[0] = (val*) var_opt_mixins;
185 ((void (*)(val*, val*, long))(var33->class->vft[COLOR_array__Array__with_native]))(var33, var35, var34) /* with_native on <var33:Array[Option]>*/;
186 CHECK_NEW_array__Array(var33);
187 }
188 ((void (*)(val*, val*))(var32->class->vft[COLOR_opts__OptionContext__add_option]))(var32, var33) /* add_option on <var32:OptionContext>*/;
189 ((void (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__process_options]))(var_toolcontext) /* process_options on <var_toolcontext:ToolContext>*/;
190 var36 = NEW_model_base__Model(&type_model_base__Model);
191 ((void (*)(val*))(var36->class->vft[COLOR_model_base__Model__init]))(var36) /* init on <var36:Model>*/;
192 CHECK_NEW_model_base__Model(var36);
193 var_model = var36;
194 var37 = NEW_modelbuilder__ModelBuilder(&type_modelbuilder__ModelBuilder);
195 ((void (*)(val*, val*, val*))(var37->class->vft[COLOR_modelbuilder__ModelBuilder__init]))(var37, var_model, var_toolcontext) /* init on <var37:ModelBuilder>*/;
196 CHECK_NEW_modelbuilder__ModelBuilder(var37);
197 var_modelbuilder = var37;
198 var38 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on <var_toolcontext:ToolContext>*/;
199 var39 = ((val* (*)(val*))(var38->class->vft[COLOR_opts__OptionContext__rest]))(var38) /* rest on <var38:OptionContext>*/;
200 var_arguments = var39;
201 var40 = ((short int (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_arguments) /* is_empty on <var_arguments:Array[String]>*/;
202 if (var40){
203 var41 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on <var_toolcontext:ToolContext>*/;
204 ((void (*)(val*))(var41->class->vft[COLOR_opts__OptionContext__usage]))(var41) /* usage on <var41:OptionContext>*/;
205 goto RET_LABEL;
206 } else {
207 }
208 var42 = ((long (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__length]))(var_arguments) /* length on <var_arguments:Array[String]>*/;
209 var43 = 1;
210 { /* Inline kernel#Int#> (var42,var43) */
211 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
212 /* <var43:Int> isa OTHER */
213 var46 = 1; /* easy <var43:Int> isa OTHER*/
214 if (!var46) {
215 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
216 exit(1);
217 }
218 var47 = var42 > var43;
219 var44 = var47;
220 goto RET_LABEL45;
221 RET_LABEL45:(void)0;
222 }
223 if (var44){
224 if (varonce48) {
225 var49 = varonce48;
226 } else {
227 var50 = "Too much arguments: ";
228 var51 = 20;
229 var52 = string__NativeString__to_s_with_length(var50, var51);
230 var49 = var52;
231 varonce48 = var49;
232 }
233 if (varonce53) {
234 var54 = varonce53;
235 } else {
236 var55 = " ";
237 var56 = 1;
238 var57 = string__NativeString__to_s_with_length(var55, var56);
239 var54 = var57;
240 varonce53 = var54;
241 }
242 var58 = ((val* (*)(val*, val*))(var_arguments->class->vft[COLOR_string__Collection__join]))(var_arguments, var54) /* join on <var_arguments:Array[String]>*/;
243 var59 = NEW_array__Array(&type_array__Arraykernel__Object);
244 { /* var59 = array_instance Array[Object] */
245 var60 = 2;
246 var61 = NEW_array__NativeArray(var60, &type_array__NativeArraykernel__Object);
247 ((struct instance_array__NativeArray*)var61)->values[0] = (val*) var49;
248 ((struct instance_array__NativeArray*)var61)->values[1] = (val*) var58;
249 ((void (*)(val*, val*, long))(var59->class->vft[COLOR_array__Array__with_native]))(var59, var61, var60) /* with_native on <var59:Array[Object]>*/;
250 CHECK_NEW_array__Array(var59);
251 }
252 var62 = ((val* (*)(val*))(var59->class->vft[COLOR_string__Object__to_s]))(var59) /* to_s on <var59:Array[Object]>*/;
253 ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var62) /* print on <self:Sys>*/;
254 var63 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on <var_toolcontext:ToolContext>*/;
255 ((void (*)(val*))(var63->class->vft[COLOR_opts__OptionContext__usage]))(var63) /* usage on <var63:OptionContext>*/;
256 goto RET_LABEL;
257 } else {
258 }
259 var64 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[String]>*/;
260 var_progname = var64;
261 var65 = NEW_array__Array(&type_array__Arraystring__String);
262 { /* var65 = array_instance Array[String] */
263 var66 = 1;
264 var67 = NEW_array__NativeArray(var66, &type_array__NativeArraystring__String);
265 ((struct instance_array__NativeArray*)var67)->values[0] = (val*) var_progname;
266 ((void (*)(val*, val*, long))(var65->class->vft[COLOR_array__Array__with_native]))(var65, var67, var66) /* with_native on <var65:Array[String]>*/;
267 CHECK_NEW_array__Array(var65);
268 }
269 var68 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__parse]))(var_modelbuilder, var65) /* parse on <var_modelbuilder:ModelBuilder>*/;
270 var_mmodules = var68;
271 var69 = ((val* (*)(val*))(var_opt_mixins->class->vft[COLOR_opts__Option__value]))(var_opt_mixins) /* value on <var_opt_mixins:OptionArray>*/;
272 var70 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__parse]))(var_modelbuilder, var69) /* parse on <var_modelbuilder:ModelBuilder>*/;
273 ((void (*)(val*, val*))(var_mmodules->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var_mmodules, var70) /* add_all on <var_mmodules:Array[MModule]>*/;
274 var71 = ((short int (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_mmodules) /* is_empty on <var_mmodules:Array[MModule]>*/;
275 if (var71){
276 goto RET_LABEL;
277 } else {
278 }
279 ((void (*)(val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__run_phases]))(var_modelbuilder) /* run_phases on <var_modelbuilder:ModelBuilder>*/;
280 var72 = ((long (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__length]))(var_mmodules) /* length on <var_mmodules:Array[MModule]>*/;
281 var73 = 1;
282 { /* Inline kernel#Int#== (var72,var73) */
283 var76 = var72 == var73;
284 var74 = var76;
285 goto RET_LABEL75;
286 RET_LABEL75:(void)0;
287 }
288 if (var74){
289 var77 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on <var_mmodules:Array[MModule]>*/;
290 var_mainmodule = var77;
291 } else {
292 var78 = NEW_model_base__MModule(&type_model_base__MModule);
293 var79 = NULL;
294 var80 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on <var_mmodules:Array[MModule]>*/;
295 var81 = ((val* (*)(val*))(var80->class->vft[COLOR_model_base__MModule__name]))(var80) /* name on <var80:nullable Object(MModule)>*/;
296 var82 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on <var_mmodules:Array[MModule]>*/;
297 var83 = ((val* (*)(val*))(var82->class->vft[COLOR_model_base__MModule__location]))(var82) /* location on <var82:nullable Object(MModule)>*/;
298 ((void (*)(val*, val*, val*, val*, val*))(var78->class->vft[COLOR_model_base__MModule__init]))(var78, var_model, var79, var81, var83) /* init on <var78:MModule>*/;
299 CHECK_NEW_model_base__MModule(var78);
300 var_mainmodule = var78;
301 ((void (*)(val*, val*))(var_mainmodule->class->vft[COLOR_model_base__MModule__set_imported_mmodules]))(var_mainmodule, var_mmodules) /* set_imported_mmodules on <var_mainmodule:nullable Object(MModule)>*/;
302 }
303 var84 = ((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>*/;
304 var_analysis = var84;
305 var85 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_separate_erasure_compiler__ToolContext__opt_erasure]))(var_toolcontext) /* opt_erasure on <var_toolcontext:ToolContext>*/;
306 var86 = ((val* (*)(val*))(var85->class->vft[COLOR_opts__Option__value]))(var85) /* value on <var85:OptionBool>*/;
307 var87 = ((struct instance_kernel__Bool*)var86)->value; /* autounbox from nullable Object to Bool */;
308 if (var87){
309 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler]))(var_modelbuilder, var_mainmodule, var_analysis) /* run_separate_erasure_compiler on <var_modelbuilder:ModelBuilder>*/;
310 } else {
311 var88 = ((val* (*)(val*))(var_opt_global->class->vft[COLOR_opts__Option__value]))(var_opt_global) /* value on <var_opt_global:OptionBool>*/;
312 var89 = ((struct instance_kernel__Bool*)var88)->value; /* autounbox from nullable Object to Bool */;
313 if (var89){
314 ((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>*/;
315 } else {
316 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_compiler__ModelBuilder__run_separate_compiler]))(var_modelbuilder, var_mainmodule, var_analysis) /* run_separate_compiler on <var_modelbuilder:ModelBuilder>*/;
317 }
318 }
319 RET_LABEL:;
320 }
321 /* method nitg#Sys#main for (self: Object) */
322 void VIRTUAL_nitg__Sys__main(val* self) {
323 nitg__Sys__main(self);
324 RET_LABEL:;
325 }