nitc: fix calling extern constructors from extern code in separate compiler
[nit.git] / c_src / exec.sep.1.c
1 #include "exec.sep.0.h"
2 /* method exec#Sys#system for (self: Sys, String): Int */
3 long exec__Sys__system(val* self, val* p0) {
4 long var /* : Int */;
5 val* var_command /* var command: String */;
6 char* var1 /* : NativeString */;
7 long var2 /* : Int */;
8 long var4 /* : Int for extern */;
9 var_command = p0;
10 {
11 var1 = string__FlatString__to_cstring(var_command);
12 }
13 {
14 { /* Inline exec#NativeString#system (var1) on <var1:NativeString> */
15 var4 = string_NativeString_NativeString_system_0(var1);
16 var2 = var4;
17 goto RET_LABEL3;
18 RET_LABEL3:(void)0;
19 }
20 }
21 var = var2;
22 goto RET_LABEL;
23 RET_LABEL:;
24 return var;
25 }
26 /* method exec#Sys#system for (self: Object, String): Int */
27 long VIRTUAL_exec__Sys__system(val* self, val* p0) {
28 long var /* : Int */;
29 long var1 /* : Int */;
30 var1 = exec__Sys__system(self, p0);
31 var = var1;
32 RET_LABEL:;
33 return var;
34 }
35 /* method exec#NativeString#system for (self: NativeString): Int */
36 long exec__NativeString__system(char* self) {
37 long var /* : Int */;
38 long var1 /* : Int for extern */;
39 var1 = string_NativeString_NativeString_system_0(self);
40 var = var1;
41 goto RET_LABEL;
42 RET_LABEL:;
43 return var;
44 }
45 /* method exec#NativeString#system for (self: Object): Int */
46 long VIRTUAL_exec__NativeString__system(val* self) {
47 long var /* : Int */;
48 long var1 /* : Int */;
49 long var3 /* : Int for extern */;
50 char* var4 /* : NativeString */;
51 { /* Inline exec#NativeString#system (self) on <self:Object(NativeString)> */
52 var4 = ((struct instance_string__NativeString*)self)->value; /* autounbox from Object to NativeString */;
53 var3 = string_NativeString_NativeString_system_0(var4);
54 var1 = var3;
55 goto RET_LABEL2;
56 RET_LABEL2:(void)0;
57 }
58 var = var1;
59 RET_LABEL:;
60 return var;
61 }