c_src: update with new intern methods
[nit.git] / c_src / environ.sep.1.c
1 #include "environ.sep.0.h"
2 /* method environ#String#environ for (self: String): String */
3 val* environ__String__environ(val* self) {
4 val* var /* : String */;
5 char* var1 /* : NativeString */;
6 char* var2 /* : NativeString */;
7 char* var_res /* var res: NativeString */;
8 static char* varonce;
9 static int varonce_guard;
10 char* var3 /* : NativeString */;
11 static val* varonce4;
12 val* var5 /* : String */;
13 char* var6 /* : NativeString */;
14 long var7 /* : Int */;
15 val* var8 /* : String */;
16 char* var9 /* : NativeString */;
17 char* var10 /* : NativeString */;
18 char* var_nulstr /* var nulstr: NativeString */;
19 short int var11 /* : Bool */;
20 val* var12 /* : Object */;
21 val* var13 /* : nullable Object */;
22 val* var14 /* : String */;
23 static val* varonce15;
24 val* var16 /* : String */;
25 char* var17 /* : NativeString */;
26 long var18 /* : Int */;
27 val* var19 /* : String */;
28 var1 = ((char* (*)(val*))(self->class->vft[COLOR_string__String__to_cstring]))(self) /* to_cstring on <self:String>*/;
29 var2 = environ__NativeString__get_environ(var1);
30 var_res = var2;
31 if (varonce_guard) {
32 var3 = varonce;
33 } else {
34 if (varonce4) {
35 var5 = varonce4;
36 } else {
37 var6 = "";
38 var7 = 0;
39 var8 = string__NativeString__to_s_with_length(var6, var7);
40 var5 = var8;
41 varonce4 = var5;
42 }
43 var9 = ((char* (*)(val*))(var5->class->vft[COLOR_string__String__to_cstring]))(var5) /* to_cstring on <var5:String>*/;
44 var10 = environ__NativeString__get_environ(var9);
45 var3 = var10;
46 varonce = var3;
47 varonce_guard = 1;
48 }
49 var_nulstr = var3;
50 var12 = BOX_string__NativeString(var_res); /* autobox from NativeString to Object */
51 var13 = BOX_string__NativeString(var_nulstr); /* autobox from NativeString to nullable Object */
52 var11 = kernel__Object___33d_61d(var12, var13);
53 if (var11){
54 var14 = string__NativeString__to_s(var_res);
55 var = var14;
56 goto RET_LABEL;
57 } else {
58 if (varonce15) {
59 var16 = varonce15;
60 } else {
61 var17 = "";
62 var18 = 0;
63 var19 = string__NativeString__to_s_with_length(var17, var18);
64 var16 = var19;
65 varonce15 = var16;
66 }
67 var = var16;
68 goto RET_LABEL;
69 }
70 RET_LABEL:;
71 return var;
72 }
73 /* method environ#String#environ for (self: Object): String */
74 val* VIRTUAL_environ__String__environ(val* self) {
75 val* var /* : String */;
76 val* var1 /* : String */;
77 var1 = environ__String__environ(self);
78 var = var1;
79 RET_LABEL:;
80 return var;
81 }
82 /* method environ#String#setenv for (self: String, String) */
83 void environ__String__setenv(val* self, val* p0) {
84 val* var_v /* var v: String */;
85 char* var /* : NativeString */;
86 char* var1 /* : NativeString */;
87 var_v = p0;
88 var = ((char* (*)(val*))(self->class->vft[COLOR_string__String__to_cstring]))(self) /* to_cstring on <self:String>*/;
89 var1 = ((char* (*)(val*))(var_v->class->vft[COLOR_string__String__to_cstring]))(var_v) /* to_cstring on <var_v:String>*/;
90 environ__NativeString__setenv(var, var1);
91 RET_LABEL:;
92 }
93 /* method environ#String#setenv for (self: Object, String) */
94 void VIRTUAL_environ__String__setenv(val* self, val* p0) {
95 environ__String__setenv(self, p0);
96 RET_LABEL:;
97 }
98 /* method environ#NativeString#get_environ for (self: NativeString): NativeString */
99 char* environ__NativeString__get_environ(char* self) {
100 char* var /* : NativeString */;
101 char* var1 /* : NativeString */;
102 var1 = string_NativeString_NativeString_get_environ_0(self);
103 var = var1;
104 goto RET_LABEL;
105 RET_LABEL:;
106 return var;
107 }
108 /* method environ#NativeString#get_environ for (self: Object): NativeString */
109 char* VIRTUAL_environ__NativeString__get_environ(val* self) {
110 char* var /* : NativeString */;
111 char* var1 /* : NativeString */;
112 char* var2 /* : NativeString */;
113 var2 = ((struct instance_string__NativeString*)self)->value; /* autounbox from Object to NativeString */;
114 var1 = environ__NativeString__get_environ(var2);
115 var = var1;
116 RET_LABEL:;
117 return var;
118 }
119 /* method environ#NativeString#setenv for (self: NativeString, NativeString) */
120 void environ__NativeString__setenv(char* self, char* p0) {
121 string_NativeString_NativeString_setenv_1(self, p0);
122 RET_LABEL:;
123 }
124 /* method environ#NativeString#setenv for (self: Object, NativeString) */
125 void VIRTUAL_environ__NativeString__setenv(val* self, char* p0) {
126 char* var /* : NativeString */;
127 var = ((struct instance_string__NativeString*)self)->value; /* autounbox from Object to NativeString */;
128 environ__NativeString__setenv(var, p0);
129 RET_LABEL:;
130 }