update NOTICE
[nit.git] / c_src / c_tools.sep.1.c
1 #include "c_tools.sep.0.h"
2 /* method c_tools#ExternFile#filename for (self: ExternFile): String */
3 val* c_tools__ExternFile__filename(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 var1 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:ExternFile> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
9 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method c_tools#ExternFile#filename for (self: Object): String */
17 val* VIRTUAL_c_tools__ExternFile__filename(val* self) {
18 val* var /* : String */;
19 val* var1 /* : String */;
20 val* var3 /* : String */;
21 { /* Inline c_tools#ExternFile#filename (self) on <self:Object(ExternFile)> */
22 var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:Object(ExternFile)> */
23 if (unlikely(var3 == NULL)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
25 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
26 show_backtrace(1);
27 }
28 var1 = var3;
29 RET_LABEL2:(void)0;
30 }
31 var = var1;
32 RET_LABEL:;
33 return var;
34 }
35 /* method c_tools#ExternFile#filename= for (self: ExternFile, String) */
36 void c_tools__ExternFile__filename_61d(val* self, val* p0) {
37 self->attrs[COLOR_c_tools__ExternFile___filename].val = p0; /* _filename on <self:ExternFile> */
38 RET_LABEL:;
39 }
40 /* method c_tools#ExternFile#filename= for (self: Object, String) */
41 void VIRTUAL_c_tools__ExternFile__filename_61d(val* self, val* p0) {
42 { /* Inline c_tools#ExternFile#filename= (self,p0) on <self:Object(ExternFile)> */
43 self->attrs[COLOR_c_tools__ExternFile___filename].val = p0; /* _filename on <self:Object(ExternFile)> */
44 RET_LABEL1:(void)0;
45 }
46 RET_LABEL:;
47 }
48 /* method c_tools#ExternFile#add_to_jar for (self: ExternFile): Bool */
49 short int c_tools__ExternFile__add_to_jar(val* self) {
50 short int var /* : Bool */;
51 short int var1 /* : Bool */;
52 var1 = 0;
53 var = var1;
54 goto RET_LABEL;
55 RET_LABEL:;
56 return var;
57 }
58 /* method c_tools#ExternFile#add_to_jar for (self: Object): Bool */
59 short int VIRTUAL_c_tools__ExternFile__add_to_jar(val* self) {
60 short int var /* : Bool */;
61 short int var1 /* : Bool */;
62 var1 = c_tools__ExternFile__add_to_jar(self);
63 var = var1;
64 RET_LABEL:;
65 return var;
66 }
67 /* method c_tools#ExternFile#init for (self: ExternFile) */
68 void c_tools__ExternFile__init(val* self) {
69 {
70 ((void (*)(val*))(self->class->vft[COLOR_c_tools__ExternFile__init]))(self) /* init on <self:ExternFile>*/;
71 }
72 RET_LABEL:;
73 }
74 /* method c_tools#ExternFile#init for (self: Object) */
75 void VIRTUAL_c_tools__ExternFile__init(val* self) {
76 { /* Inline c_tools#ExternFile#init (self) on <self:Object(ExternFile)> */
77 {
78 ((void (*)(val*))(self->class->vft[COLOR_c_tools__ExternFile__init]))(self) /* init on <self:Object(ExternFile)>*/;
79 }
80 RET_LABEL1:(void)0;
81 }
82 RET_LABEL:;
83 }
84 /* method c_tools#ExternCFile#init for (self: ExternCFile, String, String) */
85 void c_tools__ExternCFile__init(val* self, val* p0, val* p1) {
86 val* var_filename /* var filename: String */;
87 val* var_cflags /* var cflags: String */;
88 var_filename = p0;
89 var_cflags = p1;
90 {
91 ((void (*)(val*, val*))(self->class->vft[COLOR_c_tools__ExternFile__filename_61d]))(self, var_filename) /* filename= on <self:ExternCFile>*/;
92 }
93 {
94 ((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on <self:ExternCFile>*/;
95 }
96 {
97 { /* Inline c_tools#ExternCFile#cflags= (self,var_cflags) on <self:ExternCFile> */
98 self->attrs[COLOR_c_tools__ExternCFile___cflags].val = var_cflags; /* _cflags on <self:ExternCFile> */
99 RET_LABEL1:(void)0;
100 }
101 }
102 RET_LABEL:;
103 }
104 /* method c_tools#ExternCFile#init for (self: Object, String, String) */
105 void VIRTUAL_c_tools__ExternCFile__init(val* self, val* p0, val* p1) {
106 c_tools__ExternCFile__init(self, p0, p1); /* Direct call c_tools#ExternCFile#init on <self:Object(ExternCFile)>*/
107 RET_LABEL:;
108 }
109 /* method c_tools#ExternCFile#cflags for (self: ExternCFile): String */
110 val* c_tools__ExternCFile__cflags(val* self) {
111 val* var /* : String */;
112 val* var1 /* : String */;
113 var1 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on <self:ExternCFile> */
114 if (unlikely(var1 == NULL)) {
115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
116 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131);
117 show_backtrace(1);
118 }
119 var = var1;
120 RET_LABEL:;
121 return var;
122 }
123 /* method c_tools#ExternCFile#cflags for (self: Object): String */
124 val* VIRTUAL_c_tools__ExternCFile__cflags(val* self) {
125 val* var /* : String */;
126 val* var1 /* : String */;
127 val* var3 /* : String */;
128 { /* Inline c_tools#ExternCFile#cflags (self) on <self:Object(ExternCFile)> */
129 var3 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on <self:Object(ExternCFile)> */
130 if (unlikely(var3 == NULL)) {
131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
132 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131);
133 show_backtrace(1);
134 }
135 var1 = var3;
136 RET_LABEL2:(void)0;
137 }
138 var = var1;
139 RET_LABEL:;
140 return var;
141 }
142 /* method c_tools#ExternCFile#cflags= for (self: ExternCFile, String) */
143 void c_tools__ExternCFile__cflags_61d(val* self, val* p0) {
144 self->attrs[COLOR_c_tools__ExternCFile___cflags].val = p0; /* _cflags on <self:ExternCFile> */
145 RET_LABEL:;
146 }
147 /* method c_tools#ExternCFile#cflags= for (self: Object, String) */
148 void VIRTUAL_c_tools__ExternCFile__cflags_61d(val* self, val* p0) {
149 { /* Inline c_tools#ExternCFile#cflags= (self,p0) on <self:Object(ExternCFile)> */
150 self->attrs[COLOR_c_tools__ExternCFile___cflags].val = p0; /* _cflags on <self:Object(ExternCFile)> */
151 RET_LABEL1:(void)0;
152 }
153 RET_LABEL:;
154 }
155 /* method c_tools#ExternCFile#hash for (self: ExternCFile): Int */
156 long c_tools__ExternCFile__hash(val* self) {
157 long var /* : Int */;
158 val* var1 /* : String */;
159 val* var3 /* : String */;
160 long var4 /* : Int */;
161 {
162 { /* Inline c_tools#ExternFile#filename (self) on <self:ExternCFile> */
163 var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:ExternCFile> */
164 if (unlikely(var3 == NULL)) {
165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
166 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
167 show_backtrace(1);
168 }
169 var1 = var3;
170 RET_LABEL2:(void)0;
171 }
172 }
173 {
174 var4 = string__FlatString__hash(var1);
175 }
176 var = var4;
177 goto RET_LABEL;
178 RET_LABEL:;
179 return var;
180 }
181 /* method c_tools#ExternCFile#hash for (self: Object): Int */
182 long VIRTUAL_c_tools__ExternCFile__hash(val* self) {
183 long var /* : Int */;
184 long var1 /* : Int */;
185 var1 = c_tools__ExternCFile__hash(self);
186 var = var1;
187 RET_LABEL:;
188 return var;
189 }
190 /* method c_tools#ExternCFile#== for (self: ExternCFile, nullable Object): Bool */
191 short int c_tools__ExternCFile___61d_61d(val* self, val* p0) {
192 short int var /* : Bool */;
193 val* var_o /* var o: nullable Object */;
194 short int var1 /* : Bool */;
195 short int var2 /* : Bool */;
196 int cltype;
197 int idtype;
198 short int var_ /* var : Bool */;
199 val* var3 /* : String */;
200 val* var5 /* : String */;
201 val* var6 /* : String */;
202 val* var8 /* : String */;
203 short int var9 /* : Bool */;
204 short int var10 /* : Bool */;
205 var_o = p0;
206 /* <var_o:nullable Object> isa ExternCFile */
207 cltype = type_c_tools__ExternCFile.color;
208 idtype = type_c_tools__ExternCFile.id;
209 if(var_o == NULL) {
210 var2 = 0;
211 } else {
212 if(cltype >= var_o->type->table_size) {
213 var2 = 0;
214 } else {
215 var2 = var_o->type->type_table[cltype] == idtype;
216 }
217 }
218 var_ = var2;
219 if (var2){
220 {
221 { /* Inline c_tools#ExternFile#filename (self) on <self:ExternCFile> */
222 var5 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:ExternCFile> */
223 if (unlikely(var5 == NULL)) {
224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
225 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
226 show_backtrace(1);
227 }
228 var3 = var5;
229 RET_LABEL4:(void)0;
230 }
231 }
232 {
233 { /* Inline c_tools#ExternFile#filename (var_o) on <var_o:nullable Object(ExternCFile)> */
234 var8 = var_o->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <var_o:nullable Object(ExternCFile)> */
235 if (unlikely(var8 == NULL)) {
236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
237 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
238 show_backtrace(1);
239 }
240 var6 = var8;
241 RET_LABEL7:(void)0;
242 }
243 }
244 {
245 var10 = string__FlatString___61d_61d(var3, var6);
246 var9 = var10;
247 }
248 var1 = var9;
249 } else {
250 var1 = var_;
251 }
252 var = var1;
253 goto RET_LABEL;
254 RET_LABEL:;
255 return var;
256 }
257 /* method c_tools#ExternCFile#== for (self: Object, nullable Object): Bool */
258 short int VIRTUAL_c_tools__ExternCFile___61d_61d(val* self, val* p0) {
259 short int var /* : Bool */;
260 short int var1 /* : Bool */;
261 var1 = c_tools__ExternCFile___61d_61d(self, p0);
262 var = var1;
263 RET_LABEL:;
264 return var;
265 }
266 /* method c_tools#ExternCFile#makefile_rule_name for (self: ExternCFile): String */
267 val* c_tools__ExternCFile__makefile_rule_name(val* self) {
268 val* var /* : String */;
269 val* var1 /* : String */;
270 val* var3 /* : String */;
271 static val* varonce;
272 val* var4 /* : String */;
273 char* var5 /* : NativeString */;
274 long var6 /* : Int */;
275 val* var7 /* : FlatString */;
276 val* var8 /* : String */;
277 val* var_basename /* var basename: String */;
278 static val* varonce9;
279 val* var10 /* : String */;
280 char* var11 /* : NativeString */;
281 long var12 /* : Int */;
282 val* var13 /* : FlatString */;
283 val* var14 /* : Array[Object] */;
284 long var15 /* : Int */;
285 val* var16 /* : NativeArray[Object] */;
286 val* var17 /* : String */;
287 val* var_res /* var res: String */;
288 {
289 { /* Inline c_tools#ExternFile#filename (self) on <self:ExternCFile> */
290 var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:ExternCFile> */
291 if (unlikely(var3 == NULL)) {
292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
293 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
294 show_backtrace(1);
295 }
296 var1 = var3;
297 RET_LABEL2:(void)0;
298 }
299 }
300 if (varonce) {
301 var4 = varonce;
302 } else {
303 var5 = ".c";
304 var6 = 2;
305 var7 = string__NativeString__to_s_with_length(var5, var6);
306 var4 = var7;
307 varonce = var4;
308 }
309 {
310 var8 = file__String__basename(var1, var4);
311 }
312 var_basename = var8;
313 if (varonce9) {
314 var10 = varonce9;
315 } else {
316 var11 = ".extern.o";
317 var12 = 9;
318 var13 = string__NativeString__to_s_with_length(var11, var12);
319 var10 = var13;
320 varonce9 = var10;
321 }
322 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
323 { /* var14 = array_instance Array[Object] */
324 var15 = 2;
325 var16 = NEW_array__NativeArray(var15, &type_array__NativeArraykernel__Object);
326 ((struct instance_array__NativeArray*)var16)->values[0] = (val*) var_basename;
327 ((struct instance_array__NativeArray*)var16)->values[1] = (val*) var10;
328 {
329 ((void (*)(val*, val*, long))(var14->class->vft[COLOR_array__Array__with_native]))(var14, var16, var15) /* with_native on <var14:Array[Object]>*/;
330 }
331 }
332 {
333 var17 = ((val* (*)(val*))(var14->class->vft[COLOR_string__Object__to_s]))(var14) /* to_s on <var14:Array[Object]>*/;
334 }
335 var_res = var17;
336 var = var_res;
337 goto RET_LABEL;
338 RET_LABEL:;
339 return var;
340 }
341 /* method c_tools#ExternCFile#makefile_rule_name for (self: Object): String */
342 val* VIRTUAL_c_tools__ExternCFile__makefile_rule_name(val* self) {
343 val* var /* : String */;
344 val* var1 /* : String */;
345 var1 = c_tools__ExternCFile__makefile_rule_name(self);
346 var = var1;
347 RET_LABEL:;
348 return var;
349 }
350 /* method c_tools#ExternCFile#makefile_rule_content for (self: ExternCFile): String */
351 val* c_tools__ExternCFile__makefile_rule_content(val* self) {
352 val* var /* : String */;
353 val* var1 /* : String */;
354 val* var3 /* : String */;
355 static val* varonce;
356 val* var4 /* : String */;
357 char* var5 /* : NativeString */;
358 long var6 /* : Int */;
359 val* var7 /* : FlatString */;
360 val* var8 /* : String */;
361 val* var_ff /* var ff: String */;
362 val* var9 /* : String */;
363 val* var_o /* var o: String */;
364 static val* varonce10;
365 val* var11 /* : String */;
366 char* var12 /* : NativeString */;
367 long var13 /* : Int */;
368 val* var14 /* : FlatString */;
369 val* var15 /* : String */;
370 val* var17 /* : String */;
371 static val* varonce18;
372 val* var19 /* : String */;
373 char* var20 /* : NativeString */;
374 long var21 /* : Int */;
375 val* var22 /* : FlatString */;
376 static val* varonce23;
377 val* var24 /* : String */;
378 char* var25 /* : NativeString */;
379 long var26 /* : Int */;
380 val* var27 /* : FlatString */;
381 val* var28 /* : Array[Object] */;
382 long var29 /* : Int */;
383 val* var30 /* : NativeArray[Object] */;
384 val* var31 /* : String */;
385 {
386 { /* Inline c_tools#ExternFile#filename (self) on <self:ExternCFile> */
387 var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on <self:ExternCFile> */
388 if (unlikely(var3 == NULL)) {
389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
390 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104);
391 show_backtrace(1);
392 }
393 var1 = var3;
394 RET_LABEL2:(void)0;
395 }
396 }
397 if (varonce) {
398 var4 = varonce;
399 } else {
400 var5 = "";
401 var6 = 0;
402 var7 = string__NativeString__to_s_with_length(var5, var6);
403 var4 = var7;
404 varonce = var4;
405 }
406 {
407 var8 = file__String__basename(var1, var4);
408 }
409 var_ff = var8;
410 {
411 var9 = c_tools__ExternCFile__makefile_rule_name(self);
412 }
413 var_o = var9;
414 if (varonce10) {
415 var11 = varonce10;
416 } else {
417 var12 = "$(CC) $(CFLAGS) ";
418 var13 = 16;
419 var14 = string__NativeString__to_s_with_length(var12, var13);
420 var11 = var14;
421 varonce10 = var11;
422 }
423 {
424 { /* Inline c_tools#ExternCFile#cflags (self) on <self:ExternCFile> */
425 var17 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on <self:ExternCFile> */
426 if (unlikely(var17 == NULL)) {
427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
428 PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131);
429 show_backtrace(1);
430 }
431 var15 = var17;
432 RET_LABEL16:(void)0;
433 }
434 }
435 if (varonce18) {
436 var19 = varonce18;
437 } else {
438 var20 = " -c -o ";
439 var21 = 7;
440 var22 = string__NativeString__to_s_with_length(var20, var21);
441 var19 = var22;
442 varonce18 = var19;
443 }
444 if (varonce23) {
445 var24 = varonce23;
446 } else {
447 var25 = " ";
448 var26 = 1;
449 var27 = string__NativeString__to_s_with_length(var25, var26);
450 var24 = var27;
451 varonce23 = var24;
452 }
453 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
454 { /* var28 = array_instance Array[Object] */
455 var29 = 6;
456 var30 = NEW_array__NativeArray(var29, &type_array__NativeArraykernel__Object);
457 ((struct instance_array__NativeArray*)var30)->values[0] = (val*) var11;
458 ((struct instance_array__NativeArray*)var30)->values[1] = (val*) var15;
459 ((struct instance_array__NativeArray*)var30)->values[2] = (val*) var19;
460 ((struct instance_array__NativeArray*)var30)->values[3] = (val*) var_o;
461 ((struct instance_array__NativeArray*)var30)->values[4] = (val*) var24;
462 ((struct instance_array__NativeArray*)var30)->values[5] = (val*) var_ff;
463 {
464 ((void (*)(val*, val*, long))(var28->class->vft[COLOR_array__Array__with_native]))(var28, var30, var29) /* with_native on <var28:Array[Object]>*/;
465 }
466 }
467 {
468 var31 = ((val* (*)(val*))(var28->class->vft[COLOR_string__Object__to_s]))(var28) /* to_s on <var28:Array[Object]>*/;
469 }
470 var = var31;
471 goto RET_LABEL;
472 RET_LABEL:;
473 return var;
474 }
475 /* method c_tools#ExternCFile#makefile_rule_content for (self: Object): String */
476 val* VIRTUAL_c_tools__ExternCFile__makefile_rule_content(val* self) {
477 val* var /* : String */;
478 val* var1 /* : String */;
479 var1 = c_tools__ExternCFile__makefile_rule_content(self);
480 var = var1;
481 RET_LABEL:;
482 return var;
483 }
484 /* method c_tools#ExternCFile#compiles_to_o_file for (self: ExternCFile): Bool */
485 short int c_tools__ExternCFile__compiles_to_o_file(val* self) {
486 short int var /* : Bool */;
487 short int var1 /* : Bool */;
488 var1 = 1;
489 var = var1;
490 goto RET_LABEL;
491 RET_LABEL:;
492 return var;
493 }
494 /* method c_tools#ExternCFile#compiles_to_o_file for (self: Object): Bool */
495 short int VIRTUAL_c_tools__ExternCFile__compiles_to_o_file(val* self) {
496 short int var /* : Bool */;
497 short int var1 /* : Bool */;
498 var1 = c_tools__ExternCFile__compiles_to_o_file(self);
499 var = var1;
500 RET_LABEL:;
501 return var;
502 }