c_src: update Makefile to compile on MacOSX
[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 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);
127 if (varonce) {
128 var2 = varonce;
129 } else {
130 var3 = "Use global compilation";
131 var4 = 22;
132 var5 = string__NativeString__to_s_with_length(var3, var4);
133 var2 = var5;
134 varonce = var2;
135 }
136 if (varonce6) {
137 var7 = varonce6;
138 } else {
139 var8 = "--global";
140 var9 = 8;
141 var10 = string__NativeString__to_s_with_length(var8, var9);
142 var7 = var10;
143 varonce6 = var7;
144 }
145 var11 = NEW_array__Array(&type_array__Arraystring__String);
146 { /* var11 = array_instance Array[String] */
147 var12 = 1;
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]>*/;
151 }
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] */
157 var16 = 1;
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]>*/;
161 }
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);
164 if (varonce19) {
165 var20 = varonce19;
166 } else {
167 var21 = "Additionals module to min-in";
168 var22 = 28;
169 var23 = string__NativeString__to_s_with_length(var21, var22);
170 var20 = var23;
171 varonce19 = var20;
172 }
173 if (varonce24) {
174 var25 = varonce24;
175 } else {
176 var26 = "-m";
177 var27 = 2;
178 var28 = string__NativeString__to_s_with_length(var26, var27);
179 var25 = var28;
180 varonce24 = var25;
181 }
182 var29 = NEW_array__Array(&type_array__Arraystring__String);
183 { /* var29 = array_instance Array[String] */
184 var30 = 1;
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]>*/;
188 }
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] */
194 var34 = 1;
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]>*/;
198 }
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>*/;
203 var_model = var36;
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]>*/;
211 if (var40){
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>*/;
214 goto RET_LABEL;
215 } else {
216 }
217 var42 = ((long (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__length]))(var_arguments) /* length on <var_arguments:Array[String]>*/;
218 var43 = 1;
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*/
223 if (!var46) {
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);
227 show_backtrace(1);
228 }
229 var47 = var42 > var43;
230 var44 = var47;
231 goto RET_LABEL45;
232 RET_LABEL45:(void)0;
233 }
234 if (var44){
235 if (varonce48) {
236 var49 = varonce48;
237 } else {
238 var50 = "Too much arguments: ";
239 var51 = 20;
240 var52 = string__NativeString__to_s_with_length(var50, var51);
241 var49 = var52;
242 varonce48 = var49;
243 }
244 if (varonce53) {
245 var54 = varonce53;
246 } else {
247 var55 = " ";
248 var56 = 1;
249 var57 = string__NativeString__to_s_with_length(var55, var56);
250 var54 = var57;
251 varonce53 = var54;
252 }
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] */
256 var60 = 2;
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]>*/;
261 }
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>*/;
266 goto RET_LABEL;
267 } else {
268 }
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] */
273 var66 = 1;
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]>*/;
277 }
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]>*/;
284 if (var71){
285 goto RET_LABEL;
286 } else {
287 }
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]>*/;
290 var73 = 1;
291 { /* Inline kernel#Int#== (var72,var73) */
292 var76 = var72 == var73;
293 var74 = var76;
294 goto RET_LABEL75;
295 RET_LABEL75:(void)0;
296 }
297 if (var74){
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;
300 } else {
301 var78 = NEW_mmodule__MModule(&type_mmodule__MModule);
302 var79 = NULL;
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)>*/;
310 }
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;
313 var86 = NULL;
314 if (var_platform == NULL) {
315 var87 = 0; /* is null */
316 } else {
317 var87 = 1; /* arg is null and recv is not */
318 }
319 var_ = var87;
320 if (var87){
321 var88 = ((short int (*)(val*))(var_platform->class->vft[COLOR_platform__Platform__supports_libunwind]))(var_platform) /* supports_libunwind on <var_platform:nullable Platform(Platform)>*/;
322 var89 = !var88;
323 var85 = var89;
324 } else {
325 var85 = var_;
326 }
327 if (var85){
328 var90 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace]))(var_toolcontext) /* opt_no_stacktrace on <var_toolcontext:ToolContext>*/;
329 var91 = 1;
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>*/;
333 var94 = 0;
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>*/;
336 } else {
337 }
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 */;
341 if (var98){
342 var99 = NULL;
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>*/;
344 } else {
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 */;
347 if (var101){
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>*/;
351 } else {
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>*/;
355 }
356 }
357 RET_LABEL:;
358 }
359 /* method nitg#Sys#main for (self: Object) */
360 void VIRTUAL_nitg__Sys__main(val* self) {
361 nitg__Sys__main(self);
362 RET_LABEL:;
363 }