nitdoc: remove unused plugin "Copy to Clipboard"
[nit.git] / c_src / exec.sep.1.c
1 #include "exec.sep.0.h"
2 /* method exec#Process#id for (self: Process): Int */
3 long exec__Process__id(val* self) {
4 long var /* : Int */;
5 void* var1 /* : NativeProcess */;
6 long var2 /* : Int */;
7 var1 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:Process>*/;
8 var2 = exec__NativeProcess__id(var1);
9 var = var2;
10 goto RET_LABEL;
11 RET_LABEL:;
12 return var;
13 }
14 /* method exec#Process#id for (self: Object): Int */
15 long VIRTUAL_exec__Process__id(val* self) {
16 long var /* : Int */;
17 long var1 /* : Int */;
18 var1 = exec__Process__id(self);
19 var = var1;
20 RET_LABEL:;
21 return var;
22 }
23 /* method exec#Process#is_finished for (self: Process): Bool */
24 short int exec__Process__is_finished(val* self) {
25 short int var /* : Bool */;
26 void* var1 /* : NativeProcess */;
27 short int var2 /* : Bool */;
28 var1 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:Process>*/;
29 var2 = exec__NativeProcess__is_finished(var1);
30 var = var2;
31 goto RET_LABEL;
32 RET_LABEL:;
33 return var;
34 }
35 /* method exec#Process#is_finished for (self: Object): Bool */
36 short int VIRTUAL_exec__Process__is_finished(val* self) {
37 short int var /* : Bool */;
38 short int var1 /* : Bool */;
39 var1 = exec__Process__is_finished(self);
40 var = var1;
41 RET_LABEL:;
42 return var;
43 }
44 /* method exec#Process#wait for (self: Process) */
45 void exec__Process__wait(val* self) {
46 void* var /* : NativeProcess */;
47 short int var1 /* : Bool */;
48 var = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:Process>*/;
49 exec__NativeProcess__wait(var);
50 var1 = ((short int (*)(val*))(self->class->vft[COLOR_exec__Process__is_finished]))(self) /* is_finished on <self:Process>*/;
51 if (!var1) {
52 fprintf(stderr, "Runtime error: %s", "Assert failed");
53 fprintf(stderr, " (%s:%d)\n", "lib/standard/exec.nit", 32);
54 exit(1);
55 }
56 RET_LABEL:;
57 }
58 /* method exec#Process#wait for (self: Object) */
59 void VIRTUAL_exec__Process__wait(val* self) {
60 exec__Process__wait(self);
61 RET_LABEL:;
62 }
63 /* method exec#Process#status for (self: Process): Int */
64 long exec__Process__status(val* self) {
65 long var /* : Int */;
66 short int var1 /* : Bool */;
67 void* var2 /* : NativeProcess */;
68 long var3 /* : Int */;
69 var1 = ((short int (*)(val*))(self->class->vft[COLOR_exec__Process__is_finished]))(self) /* is_finished on <self:Process>*/;
70 if (!var1) {
71 fprintf(stderr, "Runtime error: %s", "Assert failed");
72 fprintf(stderr, " (%s:%d)\n", "lib/standard/exec.nit", 38);
73 exit(1);
74 }
75 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:Process>*/;
76 var3 = exec__NativeProcess__status(var2);
77 var = var3;
78 goto RET_LABEL;
79 RET_LABEL:;
80 return var;
81 }
82 /* method exec#Process#status for (self: Object): Int */
83 long VIRTUAL_exec__Process__status(val* self) {
84 long var /* : Int */;
85 long var1 /* : Int */;
86 var1 = exec__Process__status(self);
87 var = var1;
88 RET_LABEL:;
89 return var;
90 }
91 /* method exec#Process#init for (self: Process, String, Array[String]) */
92 void exec__Process__init(val* self, val* p0, val* p1) {
93 val* var_command /* var command: String */;
94 val* var_arguments /* var arguments: Array[String] */;
95 long var /* : Int */;
96 var_command = p0;
97 var_arguments = p1;
98 var = 0;
99 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:Process>*/;
100 RET_LABEL:;
101 }
102 /* method exec#Process#init for (self: Object, String, Array[String]) */
103 void VIRTUAL_exec__Process__init(val* self, val* p0, val* p1) {
104 exec__Process__init(self, p0, p1);
105 RET_LABEL:;
106 }
107 /* method exec#Process#init_ for (self: Process, String) */
108 void exec__Process__init_(val* self, val* p0) {
109 val* var_command /* var command: String */;
110 val* var /* : null */;
111 long var1 /* : Int */;
112 var_command = p0;
113 var = NULL;
114 var1 = 0;
115 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var, var1) /* execute on <self:Process>*/;
116 RET_LABEL:;
117 }
118 /* method exec#Process#init_ for (self: Object, String) */
119 void VIRTUAL_exec__Process__init_(val* self, val* p0) {
120 exec__Process__init_(self, p0);
121 RET_LABEL:;
122 }
123 /* method exec#Process#from_a for (self: Process, String, Array[String]) */
124 void exec__Process__from_a(val* self, val* p0, val* p1) {
125 val* var_command /* var command: String */;
126 val* var_arguments /* var arguments: Array[String] */;
127 long var /* : Int */;
128 var_command = p0;
129 var_arguments = p1;
130 var = 0;
131 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:Process>*/;
132 RET_LABEL:;
133 }
134 /* method exec#Process#from_a for (self: Object, String, Array[String]) */
135 void VIRTUAL_exec__Process__from_a(val* self, val* p0, val* p1) {
136 exec__Process__from_a(self, p0, p1);
137 RET_LABEL:;
138 }
139 /* method exec#Process#execute for (self: Process, String, nullable Array[String], Int) */
140 void exec__Process__execute(val* self, val* p0, val* p1, long p2) {
141 val* var_command /* var command: String */;
142 val* var_arguments /* var arguments: nullable Array[String] */;
143 long var_pipeflags /* var pipeflags: Int */;
144 val* var /* : Buffer */;
145 val* var_args /* var args: Buffer */;
146 long var1 /* : Int */;
147 long var_l /* var l: Int */;
148 val* var2 /* : null */;
149 short int var3 /* : Bool */;
150 val* var4 /* : Iterator[nullable Object] */;
151 short int var5 /* : Bool */;
152 val* var6 /* : nullable Object */;
153 val* var_a /* var a: String */;
154 char var7 /* : Char */;
155 val* var8 /* : nullable Object */;
156 long var9 /* : Int */;
157 long var10 /* : Int */;
158 long var12 /* : Int */;
159 char* var13 /* : NativeString */;
160 val* var14 /* : String */;
161 char* var15 /* : NativeString */;
162 void* var16 /* : NativeProcess */;
163 var_command = p0;
164 var_arguments = p1;
165 var_pipeflags = p2;
166 var = NEW_string__Buffer(&type_string__Buffer);
167 ((void (*)(val*))(var->class->vft[COLOR_string__Buffer__init]))(var) /* init on <var:Buffer>*/;
168 CHECK_NEW_string__Buffer(var);
169 var_args = var;
170 var1 = 1;
171 var_l = var1;
172 ((void (*)(val*, val*))(var_args->class->vft[COLOR_abstract_collection__Sequence__append]))(var_args, var_command) /* append on <var_args:Buffer>*/;
173 var2 = NULL;
174 if (var_arguments == NULL) {
175 var3 = 0; /* is null */
176 } else {
177 var3 = 1; /* arg is null and recv is not */
178 }
179 if (var3){
180 var4 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_arguments) /* iterator on <var_arguments:nullable Array[String](Array[String])>*/;
181 for(;;) {
182 var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
183 if(!var5) break;
184 var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
185 var_a = var6;
186 var7 = '\0';
187 var8 = BOX_kernel__Char(var7); /* autobox from Char to nullable Object */
188 ((void (*)(val*, val*))(var_args->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_args, var8) /* add on <var_args:Buffer>*/;
189 ((void (*)(val*, val*))(var_args->class->vft[COLOR_abstract_collection__Sequence__append]))(var_args, var_a) /* append on <var_args:Buffer>*/;
190 CONTINUE_label: (void)0;
191 ((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
192 }
193 BREAK_label: (void)0;
194 var9 = ((long (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__length]))(var_arguments) /* length on <var_arguments:nullable Array[String](Array[String])>*/;
195 { /* Inline kernel#Int#+ (var_l,var9) */
196 var12 = var_l + var9;
197 var10 = var12;
198 goto RET_LABEL11;
199 RET_LABEL11:(void)0;
200 }
201 var_l = var10;
202 } else {
203 }
204 var13 = ((char* (*)(val*))(var_command->class->vft[COLOR_string__String__to_cstring]))(var_command) /* to_cstring on <var_command:String>*/;
205 var14 = ((val* (*)(val*))(var_args->class->vft[COLOR_string__Object__to_s]))(var_args) /* to_s on <var_args:Buffer>*/;
206 var15 = ((char* (*)(val*))(var14->class->vft[COLOR_string__String__to_cstring]))(var14) /* to_cstring on <var14:String>*/;
207 var16 = ((void* (*)(val*, char*, char*, long, long))(self->class->vft[COLOR_exec__Process__basic_exec_execute]))(self, var13, var15, var_l, var_pipeflags) /* basic_exec_execute on <self:Process>*/;
208 ((void (*)(val*, void*))(self->class->vft[COLOR_exec__Process__data_61d]))(self, var16) /* data= on <self:Process>*/;
209 RET_LABEL:;
210 }
211 /* method exec#Process#execute for (self: Object, String, nullable Array[String], Int) */
212 void VIRTUAL_exec__Process__execute(val* self, val* p0, val* p1, long p2) {
213 exec__Process__execute(self, p0, p1, p2);
214 RET_LABEL:;
215 }
216 /* method exec#Process#data for (self: Process): NativeProcess */
217 void* exec__Process__data(val* self) {
218 void* var /* : NativeProcess */;
219 void* var1 /* : NativeProcess */;
220 var1 = self->attrs[COLOR_exec__Process___64ddata].ptr; /* @data on <self:Process> */
221 var = var1;
222 RET_LABEL:;
223 return var;
224 }
225 /* method exec#Process#data for (self: Object): NativeProcess */
226 void* VIRTUAL_exec__Process__data(val* self) {
227 void* var /* : NativeProcess */;
228 void* var1 /* : NativeProcess */;
229 var1 = exec__Process__data(self);
230 var = var1;
231 RET_LABEL:;
232 return var;
233 }
234 /* method exec#Process#data= for (self: Process, NativeProcess) */
235 void exec__Process__data_61d(val* self, void* p0) {
236 self->attrs[COLOR_exec__Process___64ddata].ptr = p0; /* @data on <self:Process> */
237 RET_LABEL:;
238 }
239 /* method exec#Process#data= for (self: Object, NativeProcess) */
240 void VIRTUAL_exec__Process__data_61d(val* self, void* p0) {
241 exec__Process__data_61d(self, p0);
242 RET_LABEL:;
243 }
244 /* method exec#Process#basic_exec_execute for (self: Process, NativeString, NativeString, Int, Int): NativeProcess */
245 void* exec__Process__basic_exec_execute(val* self, char* p0, char* p1, long p2, long p3) {
246 void* var /* : NativeProcess */;
247 void* var1 /* : NativeProcess */;
248 var1 = exec_Process_Process_basic_exec_execute_4(self, p0, p1, p2, p3);
249 var = var1;
250 goto RET_LABEL;
251 RET_LABEL:;
252 return var;
253 }
254 /* method exec#Process#basic_exec_execute for (self: Object, NativeString, NativeString, Int, Int): NativeProcess */
255 void* VIRTUAL_exec__Process__basic_exec_execute(val* self, char* p0, char* p1, long p2, long p3) {
256 void* var /* : NativeProcess */;
257 void* var1 /* : NativeProcess */;
258 var1 = exec__Process__basic_exec_execute(self, p0, p1, p2, p3);
259 var = var1;
260 RET_LABEL:;
261 return var;
262 }
263 /* method exec#IProcess#stream_in for (self: IProcess): FDIStream */
264 val* exec__IProcess__stream_in(val* self) {
265 val* var /* : FDIStream */;
266 val* var1 /* : FDIStream */;
267 var1 = self->attrs[COLOR_exec__IProcess___64dstream_in].val; /* @stream_in on <self:IProcess> */
268 if (var1 == NULL) {
269 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @stream_in");
270 fprintf(stderr, " (%s:%d)\n", "lib/standard/exec.nit", 83);
271 exit(1);
272 }
273 var = var1;
274 RET_LABEL:;
275 return var;
276 }
277 /* method exec#IProcess#stream_in for (self: Object): FDIStream */
278 val* VIRTUAL_exec__IProcess__stream_in(val* self) {
279 val* var /* : FDIStream */;
280 val* var1 /* : FDIStream */;
281 var1 = exec__IProcess__stream_in(self);
282 var = var1;
283 RET_LABEL:;
284 return var;
285 }
286 /* method exec#IProcess#stream_in= for (self: IProcess, FDIStream) */
287 void exec__IProcess__stream_in_61d(val* self, val* p0) {
288 self->attrs[COLOR_exec__IProcess___64dstream_in].val = p0; /* @stream_in on <self:IProcess> */
289 RET_LABEL:;
290 }
291 /* method exec#IProcess#stream_in= for (self: Object, FDIStream) */
292 void VIRTUAL_exec__IProcess__stream_in_61d(val* self, val* p0) {
293 exec__IProcess__stream_in_61d(self, p0);
294 RET_LABEL:;
295 }
296 /* method exec#IProcess#close for (self: IProcess) */
297 void exec__IProcess__close(val* self) {
298 val* var /* : FDIStream */;
299 var = ((val* (*)(val*))(self->class->vft[COLOR_exec__IProcess__stream_in]))(self) /* stream_in on <self:IProcess>*/;
300 ((void (*)(val*))(var->class->vft[COLOR_stream__IOS__close]))(var) /* close on <var:FDIStream>*/;
301 RET_LABEL:;
302 }
303 /* method exec#IProcess#close for (self: Object) */
304 void VIRTUAL_exec__IProcess__close(val* self) {
305 exec__IProcess__close(self);
306 RET_LABEL:;
307 }
308 /* method exec#IProcess#read_char for (self: IProcess): Int */
309 long exec__IProcess__read_char(val* self) {
310 long var /* : Int */;
311 val* var1 /* : FDIStream */;
312 long var2 /* : Int */;
313 var1 = ((val* (*)(val*))(self->class->vft[COLOR_exec__IProcess__stream_in]))(self) /* stream_in on <self:IProcess>*/;
314 var2 = ((long (*)(val*))(var1->class->vft[COLOR_stream__IStream__read_char]))(var1) /* read_char on <var1:FDIStream>*/;
315 var = var2;
316 goto RET_LABEL;
317 RET_LABEL:;
318 return var;
319 }
320 /* method exec#IProcess#read_char for (self: Object): Int */
321 long VIRTUAL_exec__IProcess__read_char(val* self) {
322 long var /* : Int */;
323 long var1 /* : Int */;
324 var1 = exec__IProcess__read_char(self);
325 var = var1;
326 RET_LABEL:;
327 return var;
328 }
329 /* method exec#IProcess#eof for (self: IProcess): Bool */
330 short int exec__IProcess__eof(val* self) {
331 short int var /* : Bool */;
332 val* var1 /* : FDIStream */;
333 short int var2 /* : Bool */;
334 var1 = ((val* (*)(val*))(self->class->vft[COLOR_exec__IProcess__stream_in]))(self) /* stream_in on <self:IProcess>*/;
335 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_stream__IStream__eof]))(var1) /* eof on <var1:FDIStream>*/;
336 var = var2;
337 goto RET_LABEL;
338 RET_LABEL:;
339 return var;
340 }
341 /* method exec#IProcess#eof for (self: Object): Bool */
342 short int VIRTUAL_exec__IProcess__eof(val* self) {
343 short int var /* : Bool */;
344 short int var1 /* : Bool */;
345 var1 = exec__IProcess__eof(self);
346 var = var1;
347 RET_LABEL:;
348 return var;
349 }
350 /* method exec#IProcess#init for (self: IProcess, String, Array[String]) */
351 void exec__IProcess__init(val* self, val* p0, val* p1) {
352 val* var_command /* var command: String */;
353 val* var_arguments /* var arguments: Array[String] */;
354 long var /* : Int */;
355 val* var1 /* : FDIStream */;
356 void* var2 /* : NativeProcess */;
357 long var3 /* : Int */;
358 var_command = p0;
359 var_arguments = p1;
360 var = 2;
361 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:IProcess>*/;
362 var1 = NEW_stream__FDIStream(&type_stream__FDIStream);
363 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IProcess>*/;
364 var3 = exec__NativeProcess__out_fd(var2);
365 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDIStream__init]))(var1, var3) /* init on <var1:FDIStream>*/;
366 CHECK_NEW_stream__FDIStream(var1);
367 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var1) /* stream_in= on <self:IProcess>*/;
368 RET_LABEL:;
369 }
370 /* method exec#IProcess#init for (self: Object, String, Array[String]) */
371 void VIRTUAL_exec__IProcess__init(val* self, val* p0, val* p1) {
372 exec__IProcess__init(self, p0, p1);
373 RET_LABEL:;
374 }
375 /* method exec#IProcess#init_ for (self: IProcess, String) */
376 void exec__IProcess__init_(val* self, val* p0) {
377 val* var_command /* var command: String */;
378 val* var /* : null */;
379 long var1 /* : Int */;
380 val* var2 /* : FDIStream */;
381 void* var3 /* : NativeProcess */;
382 long var4 /* : Int */;
383 var_command = p0;
384 var = NULL;
385 var1 = 2;
386 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var, var1) /* execute on <self:IProcess>*/;
387 var2 = NEW_stream__FDIStream(&type_stream__FDIStream);
388 var3 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IProcess>*/;
389 var4 = exec__NativeProcess__out_fd(var3);
390 ((void (*)(val*, long))(var2->class->vft[COLOR_stream__FDIStream__init]))(var2, var4) /* init on <var2:FDIStream>*/;
391 CHECK_NEW_stream__FDIStream(var2);
392 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var2) /* stream_in= on <self:IProcess>*/;
393 RET_LABEL:;
394 }
395 /* method exec#IProcess#init_ for (self: Object, String) */
396 void VIRTUAL_exec__IProcess__init_(val* self, val* p0) {
397 exec__IProcess__init_(self, p0);
398 RET_LABEL:;
399 }
400 /* method exec#IProcess#from_a for (self: IProcess, String, Array[String]) */
401 void exec__IProcess__from_a(val* self, val* p0, val* p1) {
402 val* var_command /* var command: String */;
403 val* var_arguments /* var arguments: Array[String] */;
404 long var /* : Int */;
405 val* var1 /* : FDIStream */;
406 void* var2 /* : NativeProcess */;
407 long var3 /* : Int */;
408 var_command = p0;
409 var_arguments = p1;
410 var = 2;
411 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:IProcess>*/;
412 var1 = NEW_stream__FDIStream(&type_stream__FDIStream);
413 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IProcess>*/;
414 var3 = exec__NativeProcess__out_fd(var2);
415 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDIStream__init]))(var1, var3) /* init on <var1:FDIStream>*/;
416 CHECK_NEW_stream__FDIStream(var1);
417 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var1) /* stream_in= on <self:IProcess>*/;
418 RET_LABEL:;
419 }
420 /* method exec#IProcess#from_a for (self: Object, String, Array[String]) */
421 void VIRTUAL_exec__IProcess__from_a(val* self, val* p0, val* p1) {
422 exec__IProcess__from_a(self, p0, p1);
423 RET_LABEL:;
424 }
425 /* method exec#OProcess#stream_out for (self: OProcess): OStream */
426 val* exec__OProcess__stream_out(val* self) {
427 val* var /* : OStream */;
428 val* var1 /* : OStream */;
429 var1 = self->attrs[COLOR_exec__OProcess___64dstream_out].val; /* @stream_out on <self:OProcess> */
430 if (var1 == NULL) {
431 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @stream_out");
432 fprintf(stderr, " (%s:%d)\n", "lib/standard/exec.nit", 114);
433 exit(1);
434 }
435 var = var1;
436 RET_LABEL:;
437 return var;
438 }
439 /* method exec#OProcess#stream_out for (self: Object): OStream */
440 val* VIRTUAL_exec__OProcess__stream_out(val* self) {
441 val* var /* : OStream */;
442 val* var1 /* : OStream */;
443 var1 = exec__OProcess__stream_out(self);
444 var = var1;
445 RET_LABEL:;
446 return var;
447 }
448 /* method exec#OProcess#stream_out= for (self: OProcess, OStream) */
449 void exec__OProcess__stream_out_61d(val* self, val* p0) {
450 self->attrs[COLOR_exec__OProcess___64dstream_out].val = p0; /* @stream_out on <self:OProcess> */
451 RET_LABEL:;
452 }
453 /* method exec#OProcess#stream_out= for (self: Object, OStream) */
454 void VIRTUAL_exec__OProcess__stream_out_61d(val* self, val* p0) {
455 exec__OProcess__stream_out_61d(self, p0);
456 RET_LABEL:;
457 }
458 /* method exec#OProcess#close for (self: OProcess) */
459 void exec__OProcess__close(val* self) {
460 val* var /* : OStream */;
461 var = ((val* (*)(val*))(self->class->vft[COLOR_exec__OProcess__stream_out]))(self) /* stream_out on <self:OProcess>*/;
462 ((void (*)(val*))(var->class->vft[COLOR_stream__IOS__close]))(var) /* close on <var:OStream>*/;
463 RET_LABEL:;
464 }
465 /* method exec#OProcess#close for (self: Object) */
466 void VIRTUAL_exec__OProcess__close(val* self) {
467 exec__OProcess__close(self);
468 RET_LABEL:;
469 }
470 /* method exec#OProcess#is_writable for (self: OProcess): Bool */
471 short int exec__OProcess__is_writable(val* self) {
472 short int var /* : Bool */;
473 val* var1 /* : OStream */;
474 short int var2 /* : Bool */;
475 var1 = ((val* (*)(val*))(self->class->vft[COLOR_exec__OProcess__stream_out]))(self) /* stream_out on <self:OProcess>*/;
476 var2 = ((short int (*)(val*))(var1->class->vft[COLOR_stream__OStream__is_writable]))(var1) /* is_writable on <var1:OStream>*/;
477 var = var2;
478 goto RET_LABEL;
479 RET_LABEL:;
480 return var;
481 }
482 /* method exec#OProcess#is_writable for (self: Object): Bool */
483 short int VIRTUAL_exec__OProcess__is_writable(val* self) {
484 short int var /* : Bool */;
485 short int var1 /* : Bool */;
486 var1 = exec__OProcess__is_writable(self);
487 var = var1;
488 RET_LABEL:;
489 return var;
490 }
491 /* method exec#OProcess#write for (self: OProcess, String) */
492 void exec__OProcess__write(val* self, val* p0) {
493 val* var_s /* var s: String */;
494 val* var /* : OStream */;
495 var_s = p0;
496 var = ((val* (*)(val*))(self->class->vft[COLOR_exec__OProcess__stream_out]))(self) /* stream_out on <self:OProcess>*/;
497 ((void (*)(val*, val*))(var->class->vft[COLOR_stream__OStream__write]))(var, var_s) /* write on <var:OStream>*/;
498 RET_LABEL:;
499 }
500 /* method exec#OProcess#write for (self: Object, String) */
501 void VIRTUAL_exec__OProcess__write(val* self, val* p0) {
502 exec__OProcess__write(self, p0);
503 RET_LABEL:;
504 }
505 /* method exec#OProcess#init for (self: OProcess, String, Array[String]) */
506 void exec__OProcess__init(val* self, val* p0, val* p1) {
507 val* var_command /* var command: String */;
508 val* var_arguments /* var arguments: Array[String] */;
509 long var /* : Int */;
510 val* var1 /* : FDOStream */;
511 void* var2 /* : NativeProcess */;
512 long var3 /* : Int */;
513 var_command = p0;
514 var_arguments = p1;
515 var = 1;
516 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:OProcess>*/;
517 var1 = NEW_stream__FDOStream(&type_stream__FDOStream);
518 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:OProcess>*/;
519 var3 = exec__NativeProcess__in_fd(var2);
520 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDOStream__init]))(var1, var3) /* init on <var1:FDOStream>*/;
521 CHECK_NEW_stream__FDOStream(var1);
522 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var1) /* stream_out= on <self:OProcess>*/;
523 RET_LABEL:;
524 }
525 /* method exec#OProcess#init for (self: Object, String, Array[String]) */
526 void VIRTUAL_exec__OProcess__init(val* self, val* p0, val* p1) {
527 exec__OProcess__init(self, p0, p1);
528 RET_LABEL:;
529 }
530 /* method exec#OProcess#init_ for (self: OProcess, String) */
531 void exec__OProcess__init_(val* self, val* p0) {
532 val* var_command /* var command: String */;
533 val* var /* : null */;
534 long var1 /* : Int */;
535 val* var2 /* : FDOStream */;
536 void* var3 /* : NativeProcess */;
537 long var4 /* : Int */;
538 var_command = p0;
539 var = NULL;
540 var1 = 1;
541 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var, var1) /* execute on <self:OProcess>*/;
542 var2 = NEW_stream__FDOStream(&type_stream__FDOStream);
543 var3 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:OProcess>*/;
544 var4 = exec__NativeProcess__in_fd(var3);
545 ((void (*)(val*, long))(var2->class->vft[COLOR_stream__FDOStream__init]))(var2, var4) /* init on <var2:FDOStream>*/;
546 CHECK_NEW_stream__FDOStream(var2);
547 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var2) /* stream_out= on <self:OProcess>*/;
548 RET_LABEL:;
549 }
550 /* method exec#OProcess#init_ for (self: Object, String) */
551 void VIRTUAL_exec__OProcess__init_(val* self, val* p0) {
552 exec__OProcess__init_(self, p0);
553 RET_LABEL:;
554 }
555 /* method exec#OProcess#from_a for (self: OProcess, String, Array[String]) */
556 void exec__OProcess__from_a(val* self, val* p0, val* p1) {
557 val* var_command /* var command: String */;
558 val* var_arguments /* var arguments: Array[String] */;
559 long var /* : Int */;
560 val* var1 /* : FDOStream */;
561 void* var2 /* : NativeProcess */;
562 long var3 /* : Int */;
563 var_command = p0;
564 var_arguments = p1;
565 var = 1;
566 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:OProcess>*/;
567 var1 = NEW_stream__FDOStream(&type_stream__FDOStream);
568 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:OProcess>*/;
569 var3 = exec__NativeProcess__in_fd(var2);
570 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDOStream__init]))(var1, var3) /* init on <var1:FDOStream>*/;
571 CHECK_NEW_stream__FDOStream(var1);
572 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var1) /* stream_out= on <self:OProcess>*/;
573 RET_LABEL:;
574 }
575 /* method exec#OProcess#from_a for (self: Object, String, Array[String]) */
576 void VIRTUAL_exec__OProcess__from_a(val* self, val* p0, val* p1) {
577 exec__OProcess__from_a(self, p0, p1);
578 RET_LABEL:;
579 }
580 /* method exec#IOProcess#close for (self: IOProcess) */
581 void exec__IOProcess__close(val* self) {
582 val* var /* : FDIStream */;
583 val* var1 /* : OStream */;
584 var = ((val* (*)(val*))(self->class->vft[COLOR_exec__IProcess__stream_in]))(self) /* stream_in on <self:IOProcess>*/;
585 ((void (*)(val*))(var->class->vft[COLOR_stream__IOS__close]))(var) /* close on <var:FDIStream>*/;
586 var1 = ((val* (*)(val*))(self->class->vft[COLOR_exec__OProcess__stream_out]))(self) /* stream_out on <self:IOProcess>*/;
587 ((void (*)(val*))(var1->class->vft[COLOR_stream__IOS__close]))(var1) /* close on <var1:OStream>*/;
588 RET_LABEL:;
589 }
590 /* method exec#IOProcess#close for (self: Object) */
591 void VIRTUAL_exec__IOProcess__close(val* self) {
592 exec__IOProcess__close(self);
593 RET_LABEL:;
594 }
595 /* method exec#IOProcess#init for (self: IOProcess, String, Array[String]) */
596 void exec__IOProcess__init(val* self, val* p0, val* p1) {
597 val* var_command /* var command: String */;
598 val* var_arguments /* var arguments: Array[String] */;
599 long var /* : Int */;
600 val* var1 /* : FDIStream */;
601 void* var2 /* : NativeProcess */;
602 long var3 /* : Int */;
603 val* var4 /* : FDOStream */;
604 void* var5 /* : NativeProcess */;
605 long var6 /* : Int */;
606 var_command = p0;
607 var_arguments = p1;
608 var = 3;
609 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:IOProcess>*/;
610 var1 = NEW_stream__FDIStream(&type_stream__FDIStream);
611 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
612 var3 = exec__NativeProcess__out_fd(var2);
613 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDIStream__init]))(var1, var3) /* init on <var1:FDIStream>*/;
614 CHECK_NEW_stream__FDIStream(var1);
615 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var1) /* stream_in= on <self:IOProcess>*/;
616 var4 = NEW_stream__FDOStream(&type_stream__FDOStream);
617 var5 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
618 var6 = exec__NativeProcess__in_fd(var5);
619 ((void (*)(val*, long))(var4->class->vft[COLOR_stream__FDOStream__init]))(var4, var6) /* init on <var4:FDOStream>*/;
620 CHECK_NEW_stream__FDOStream(var4);
621 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var4) /* stream_out= on <self:IOProcess>*/;
622 RET_LABEL:;
623 }
624 /* method exec#IOProcess#init for (self: Object, String, Array[String]) */
625 void VIRTUAL_exec__IOProcess__init(val* self, val* p0, val* p1) {
626 exec__IOProcess__init(self, p0, p1);
627 RET_LABEL:;
628 }
629 /* method exec#IOProcess#init_ for (self: IOProcess, String) */
630 void exec__IOProcess__init_(val* self, val* p0) {
631 val* var_command /* var command: String */;
632 val* var /* : null */;
633 long var1 /* : Int */;
634 val* var2 /* : FDIStream */;
635 void* var3 /* : NativeProcess */;
636 long var4 /* : Int */;
637 val* var5 /* : FDOStream */;
638 void* var6 /* : NativeProcess */;
639 long var7 /* : Int */;
640 var_command = p0;
641 var = NULL;
642 var1 = 3;
643 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var, var1) /* execute on <self:IOProcess>*/;
644 var2 = NEW_stream__FDIStream(&type_stream__FDIStream);
645 var3 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
646 var4 = exec__NativeProcess__out_fd(var3);
647 ((void (*)(val*, long))(var2->class->vft[COLOR_stream__FDIStream__init]))(var2, var4) /* init on <var2:FDIStream>*/;
648 CHECK_NEW_stream__FDIStream(var2);
649 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var2) /* stream_in= on <self:IOProcess>*/;
650 var5 = NEW_stream__FDOStream(&type_stream__FDOStream);
651 var6 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
652 var7 = exec__NativeProcess__in_fd(var6);
653 ((void (*)(val*, long))(var5->class->vft[COLOR_stream__FDOStream__init]))(var5, var7) /* init on <var5:FDOStream>*/;
654 CHECK_NEW_stream__FDOStream(var5);
655 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var5) /* stream_out= on <self:IOProcess>*/;
656 RET_LABEL:;
657 }
658 /* method exec#IOProcess#init_ for (self: Object, String) */
659 void VIRTUAL_exec__IOProcess__init_(val* self, val* p0) {
660 exec__IOProcess__init_(self, p0);
661 RET_LABEL:;
662 }
663 /* method exec#IOProcess#from_a for (self: IOProcess, String, Array[String]) */
664 void exec__IOProcess__from_a(val* self, val* p0, val* p1) {
665 val* var_command /* var command: String */;
666 val* var_arguments /* var arguments: Array[String] */;
667 long var /* : Int */;
668 val* var1 /* : FDIStream */;
669 void* var2 /* : NativeProcess */;
670 long var3 /* : Int */;
671 val* var4 /* : FDOStream */;
672 void* var5 /* : NativeProcess */;
673 long var6 /* : Int */;
674 var_command = p0;
675 var_arguments = p1;
676 var = 3;
677 ((void (*)(val*, val*, val*, long))(self->class->vft[COLOR_exec__Process__execute]))(self, var_command, var_arguments, var) /* execute on <self:IOProcess>*/;
678 var1 = NEW_stream__FDIStream(&type_stream__FDIStream);
679 var2 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
680 var3 = exec__NativeProcess__out_fd(var2);
681 ((void (*)(val*, long))(var1->class->vft[COLOR_stream__FDIStream__init]))(var1, var3) /* init on <var1:FDIStream>*/;
682 CHECK_NEW_stream__FDIStream(var1);
683 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__IProcess__stream_in_61d]))(self, var1) /* stream_in= on <self:IOProcess>*/;
684 var4 = NEW_stream__FDOStream(&type_stream__FDOStream);
685 var5 = ((void* (*)(val*))(self->class->vft[COLOR_exec__Process__data]))(self) /* data on <self:IOProcess>*/;
686 var6 = exec__NativeProcess__in_fd(var5);
687 ((void (*)(val*, long))(var4->class->vft[COLOR_stream__FDOStream__init]))(var4, var6) /* init on <var4:FDOStream>*/;
688 CHECK_NEW_stream__FDOStream(var4);
689 ((void (*)(val*, val*))(self->class->vft[COLOR_exec__OProcess__stream_out_61d]))(self, var4) /* stream_out= on <self:IOProcess>*/;
690 RET_LABEL:;
691 }
692 /* method exec#IOProcess#from_a for (self: Object, String, Array[String]) */
693 void VIRTUAL_exec__IOProcess__from_a(val* self, val* p0, val* p1) {
694 exec__IOProcess__from_a(self, p0, p1);
695 RET_LABEL:;
696 }
697 /* method exec#Sys#system for (self: Sys, String): Int */
698 long exec__Sys__system(val* self, val* p0) {
699 long var /* : Int */;
700 val* var_command /* var command: String */;
701 char* var1 /* : NativeString */;
702 long var2 /* : Int */;
703 var_command = p0;
704 var1 = ((char* (*)(val*))(var_command->class->vft[COLOR_string__String__to_cstring]))(var_command) /* to_cstring on <var_command:String>*/;
705 var2 = exec__NativeString__system(var1);
706 var = var2;
707 goto RET_LABEL;
708 RET_LABEL:;
709 return var;
710 }
711 /* method exec#Sys#system for (self: Object, String): Int */
712 long VIRTUAL_exec__Sys__system(val* self, val* p0) {
713 long var /* : Int */;
714 long var1 /* : Int */;
715 var1 = exec__Sys__system(self, p0);
716 var = var1;
717 RET_LABEL:;
718 return var;
719 }
720 /* method exec#NativeString#system for (self: NativeString): Int */
721 long exec__NativeString__system(char* self) {
722 long var /* : Int */;
723 long var1 /* : Int */;
724 var1 = string_NativeString_NativeString_system_0(self);
725 var = var1;
726 goto RET_LABEL;
727 RET_LABEL:;
728 return var;
729 }
730 /* method exec#NativeString#system for (self: Object): Int */
731 long VIRTUAL_exec__NativeString__system(val* self) {
732 long var /* : Int */;
733 long var1 /* : Int */;
734 char* var2 /* : NativeString */;
735 var2 = ((struct instance_string__NativeString*)self)->value; /* autounbox from Object to NativeString */;
736 var1 = exec__NativeString__system(var2);
737 var = var1;
738 RET_LABEL:;
739 return var;
740 }
741 /* method exec#NativeProcess#id for (self: NativeProcess): Int */
742 long exec__NativeProcess__id(void* self) {
743 long var /* : Int */;
744 long var1 /* : Int */;
745 var1 = exec_NativeProcess_NativeProcess_id_0(self);
746 var = var1;
747 goto RET_LABEL;
748 RET_LABEL:;
749 return var;
750 }
751 /* method exec#NativeProcess#id for (self: Object): Int */
752 long VIRTUAL_exec__NativeProcess__id(val* self) {
753 long var /* : Int */;
754 long var1 /* : Int */;
755 void* var2 /* : NativeProcess */;
756 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
757 var1 = exec__NativeProcess__id(var2);
758 var = var1;
759 RET_LABEL:;
760 return var;
761 }
762 /* method exec#NativeProcess#is_finished for (self: NativeProcess): Bool */
763 short int exec__NativeProcess__is_finished(void* self) {
764 short int var /* : Bool */;
765 short int var1 /* : Bool */;
766 var1 = exec_NativeProcess_NativeProcess_is_finished_0(self);
767 var = var1;
768 goto RET_LABEL;
769 RET_LABEL:;
770 return var;
771 }
772 /* method exec#NativeProcess#is_finished for (self: Object): Bool */
773 short int VIRTUAL_exec__NativeProcess__is_finished(val* self) {
774 short int var /* : Bool */;
775 short int var1 /* : Bool */;
776 void* var2 /* : NativeProcess */;
777 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
778 var1 = exec__NativeProcess__is_finished(var2);
779 var = var1;
780 RET_LABEL:;
781 return var;
782 }
783 /* method exec#NativeProcess#status for (self: NativeProcess): Int */
784 long exec__NativeProcess__status(void* self) {
785 long var /* : Int */;
786 long var1 /* : Int */;
787 var1 = exec_NativeProcess_NativeProcess_status_0(self);
788 var = var1;
789 goto RET_LABEL;
790 RET_LABEL:;
791 return var;
792 }
793 /* method exec#NativeProcess#status for (self: Object): Int */
794 long VIRTUAL_exec__NativeProcess__status(val* self) {
795 long var /* : Int */;
796 long var1 /* : Int */;
797 void* var2 /* : NativeProcess */;
798 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
799 var1 = exec__NativeProcess__status(var2);
800 var = var1;
801 RET_LABEL:;
802 return var;
803 }
804 /* method exec#NativeProcess#wait for (self: NativeProcess) */
805 void exec__NativeProcess__wait(void* self) {
806 exec_NativeProcess_NativeProcess_wait_0(self);
807 RET_LABEL:;
808 }
809 /* method exec#NativeProcess#wait for (self: Object) */
810 void VIRTUAL_exec__NativeProcess__wait(val* self) {
811 void* var /* : NativeProcess */;
812 var = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
813 exec__NativeProcess__wait(var);
814 RET_LABEL:;
815 }
816 /* method exec#NativeProcess#in_fd for (self: NativeProcess): Int */
817 long exec__NativeProcess__in_fd(void* self) {
818 long var /* : Int */;
819 long var1 /* : Int */;
820 var1 = exec_NativeProcess_NativeProcess_in_fd_0(self);
821 var = var1;
822 goto RET_LABEL;
823 RET_LABEL:;
824 return var;
825 }
826 /* method exec#NativeProcess#in_fd for (self: Object): Int */
827 long VIRTUAL_exec__NativeProcess__in_fd(val* self) {
828 long var /* : Int */;
829 long var1 /* : Int */;
830 void* var2 /* : NativeProcess */;
831 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
832 var1 = exec__NativeProcess__in_fd(var2);
833 var = var1;
834 RET_LABEL:;
835 return var;
836 }
837 /* method exec#NativeProcess#out_fd for (self: NativeProcess): Int */
838 long exec__NativeProcess__out_fd(void* self) {
839 long var /* : Int */;
840 long var1 /* : Int */;
841 var1 = exec_NativeProcess_NativeProcess_out_fd_0(self);
842 var = var1;
843 goto RET_LABEL;
844 RET_LABEL:;
845 return var;
846 }
847 /* method exec#NativeProcess#out_fd for (self: Object): Int */
848 long VIRTUAL_exec__NativeProcess__out_fd(val* self) {
849 long var /* : Int */;
850 long var1 /* : Int */;
851 void* var2 /* : NativeProcess */;
852 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
853 var1 = exec__NativeProcess__out_fd(var2);
854 var = var1;
855 RET_LABEL:;
856 return var;
857 }
858 /* method exec#NativeProcess#err_fd for (self: NativeProcess): Int */
859 long exec__NativeProcess__err_fd(void* self) {
860 long var /* : Int */;
861 long var1 /* : Int */;
862 var1 = exec_NativeProcess_NativeProcess_err_fd_0(self);
863 var = var1;
864 goto RET_LABEL;
865 RET_LABEL:;
866 return var;
867 }
868 /* method exec#NativeProcess#err_fd for (self: Object): Int */
869 long VIRTUAL_exec__NativeProcess__err_fd(val* self) {
870 long var /* : Int */;
871 long var1 /* : Int */;
872 void* var2 /* : NativeProcess */;
873 var2 = ((struct instance_exec__NativeProcess*)self)->value; /* autounbox from Object to NativeProcess */;
874 var1 = exec__NativeProcess__err_fd(var2);
875 var = var1;
876 RET_LABEL:;
877 return var;
878 }