1 #include "exec.sep.0.h"
2 /* method exec#Process#id for (self: Process): Int */
3 long exec__Process__id(val
* self
) {
5 void* var1
/* : NativeProcess */;
7 var1
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:Process>*/;
8 var2
= exec__NativeProcess__id(var1
);
14 /* method exec#Process#id for (self: Object): Int */
15 long VIRTUAL_exec__Process__id(val
* self
) {
17 long var1
/* : Int */;
18 var1
= exec__Process__id(self
);
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
);
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
);
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>*/;
52 fprintf(stderr
, "Runtime error: %s", "Assert failed");
53 fprintf(stderr
, " (%s:%d)\n", "lib/standard/exec.nit", 32);
58 /* method exec#Process#wait for (self: Object) */
59 void VIRTUAL_exec__Process__wait(val
* self
) {
60 exec__Process__wait(self
);
63 /* method exec#Process#status for (self: Process): Int */
64 long exec__Process__status(val
* self
) {
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>*/;
71 fprintf(stderr
, "Runtime error: %s", "Assert failed");
72 fprintf(stderr
, " (%s:%d)\n", "lib/standard/exec.nit", 38);
75 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:Process>*/;
76 var3
= exec__NativeProcess__status(var2
);
82 /* method exec#Process#status for (self: Object): Int */
83 long VIRTUAL_exec__Process__status(val
* self
) {
85 long var1
/* : Int */;
86 var1
= exec__Process__status(self
);
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] */;
99 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:Process>*/;
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
);
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 */;
115 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var
, var1
) /* execute on <self:Process>*/;
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
);
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 */;
131 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:Process>*/;
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
);
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 */;
166 var
= NEW_string__Buffer(&type_string__Buffer
);
167 ((void (*)(val
*))(var
->class->vft
[COLOR_string__Buffer__init
]))(var
) /* init on <var:Buffer>*/;
171 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_args
, var_command
) /* append on <var_args:Buffer>*/;
173 if (var_arguments
== NULL
) {
174 var3
= 0; /* is null */
176 var3
= 1; /* arg is null and recv is not */
179 var4
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_arguments
) /* iterator on <var_arguments:nullable Array[String](Array[String])>*/;
181 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
183 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
186 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
187 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var8
) /* add on <var_args:Buffer>*/;
188 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_args
, var_a
) /* append on <var_args:Buffer>*/;
189 CONTINUE_label
: (void)0;
190 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
192 BREAK_label
: (void)0;
193 var9
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:nullable Array[String](Array[String])>*/;
194 { /* Inline kernel#Int#+ (var_l,var9) */
195 var12
= var_l
+ var9
;
203 var13
= ((char* (*)(val
*))(var_command
->class->vft
[COLOR_string__String__to_cstring
]))(var_command
) /* to_cstring on <var_command:String>*/;
204 var14
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_string__Object__to_s
]))(var_args
) /* to_s on <var_args:Buffer>*/;
205 var15
= ((char* (*)(val
*))(var14
->class->vft
[COLOR_string__String__to_cstring
]))(var14
) /* to_cstring on <var14:String>*/;
206 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>*/;
207 ((void (*)(val
*, void*))(self
->class->vft
[COLOR_exec__Process__data_61d
]))(self
, var16
) /* data= on <self:Process>*/;
210 /* method exec#Process#execute for (self: Object, String, nullable Array[String], Int) */
211 void VIRTUAL_exec__Process__execute(val
* self
, val
* p0
, val
* p1
, long p2
) {
212 exec__Process__execute(self
, p0
, p1
, p2
);
215 /* method exec#Process#data for (self: Process): NativeProcess */
216 void* exec__Process__data(val
* self
) {
217 void* var
/* : NativeProcess */;
218 void* var1
/* : NativeProcess */;
219 var1
= self
->attrs
[COLOR_exec__Process___64ddata
].ptr
; /* @data on <self:Process> */
224 /* method exec#Process#data for (self: Object): NativeProcess */
225 void* VIRTUAL_exec__Process__data(val
* self
) {
226 void* var
/* : NativeProcess */;
227 void* var1
/* : NativeProcess */;
228 var1
= exec__Process__data(self
);
233 /* method exec#Process#data= for (self: Process, NativeProcess) */
234 void exec__Process__data_61d(val
* self
, void* p0
) {
235 self
->attrs
[COLOR_exec__Process___64ddata
].ptr
= p0
; /* @data on <self:Process> */
238 /* method exec#Process#data= for (self: Object, NativeProcess) */
239 void VIRTUAL_exec__Process__data_61d(val
* self
, void* p0
) {
240 exec__Process__data_61d(self
, p0
);
243 /* method exec#Process#basic_exec_execute for (self: Process, NativeString, NativeString, Int, Int): NativeProcess */
244 void* exec__Process__basic_exec_execute(val
* self
, char* p0
, char* p1
, long p2
, long p3
) {
245 void* var
/* : NativeProcess */;
246 void* var1
/* : NativeProcess */;
247 var1
= exec_Process_Process_basic_exec_execute_4(self
, p0
, p1
, p2
, p3
);
253 /* method exec#Process#basic_exec_execute for (self: Object, NativeString, NativeString, Int, Int): NativeProcess */
254 void* VIRTUAL_exec__Process__basic_exec_execute(val
* self
, char* p0
, char* p1
, long p2
, long p3
) {
255 void* var
/* : NativeProcess */;
256 void* var1
/* : NativeProcess */;
257 var1
= exec__Process__basic_exec_execute(self
, p0
, p1
, p2
, p3
);
262 /* method exec#IProcess#stream_in for (self: IProcess): FDIStream */
263 val
* exec__IProcess__stream_in(val
* self
) {
264 val
* var
/* : FDIStream */;
265 val
* var1
/* : FDIStream */;
266 var1
= self
->attrs
[COLOR_exec__IProcess___64dstream_in
].val
; /* @stream_in on <self:IProcess> */
268 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @stream_in");
269 fprintf(stderr
, " (%s:%d)\n", "lib/standard/exec.nit", 83);
276 /* method exec#IProcess#stream_in for (self: Object): FDIStream */
277 val
* VIRTUAL_exec__IProcess__stream_in(val
* self
) {
278 val
* var
/* : FDIStream */;
279 val
* var1
/* : FDIStream */;
280 var1
= exec__IProcess__stream_in(self
);
285 /* method exec#IProcess#stream_in= for (self: IProcess, FDIStream) */
286 void exec__IProcess__stream_in_61d(val
* self
, val
* p0
) {
287 self
->attrs
[COLOR_exec__IProcess___64dstream_in
].val
= p0
; /* @stream_in on <self:IProcess> */
290 /* method exec#IProcess#stream_in= for (self: Object, FDIStream) */
291 void VIRTUAL_exec__IProcess__stream_in_61d(val
* self
, val
* p0
) {
292 exec__IProcess__stream_in_61d(self
, p0
);
295 /* method exec#IProcess#close for (self: IProcess) */
296 void exec__IProcess__close(val
* self
) {
297 val
* var
/* : FDIStream */;
298 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in
]))(self
) /* stream_in on <self:IProcess>*/;
299 ((void (*)(val
*))(var
->class->vft
[COLOR_stream__IOS__close
]))(var
) /* close on <var:FDIStream>*/;
302 /* method exec#IProcess#close for (self: Object) */
303 void VIRTUAL_exec__IProcess__close(val
* self
) {
304 exec__IProcess__close(self
);
307 /* method exec#IProcess#read_char for (self: IProcess): Int */
308 long exec__IProcess__read_char(val
* self
) {
309 long var
/* : Int */;
310 val
* var1
/* : FDIStream */;
311 long var2
/* : Int */;
312 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in
]))(self
) /* stream_in on <self:IProcess>*/;
313 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_stream__IStream__read_char
]))(var1
) /* read_char on <var1:FDIStream>*/;
319 /* method exec#IProcess#read_char for (self: Object): Int */
320 long VIRTUAL_exec__IProcess__read_char(val
* self
) {
321 long var
/* : Int */;
322 long var1
/* : Int */;
323 var1
= exec__IProcess__read_char(self
);
328 /* method exec#IProcess#eof for (self: IProcess): Bool */
329 short int exec__IProcess__eof(val
* self
) {
330 short int var
/* : Bool */;
331 val
* var1
/* : FDIStream */;
332 short int var2
/* : Bool */;
333 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in
]))(self
) /* stream_in on <self:IProcess>*/;
334 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_stream__IStream__eof
]))(var1
) /* eof on <var1:FDIStream>*/;
340 /* method exec#IProcess#eof for (self: Object): Bool */
341 short int VIRTUAL_exec__IProcess__eof(val
* self
) {
342 short int var
/* : Bool */;
343 short int var1
/* : Bool */;
344 var1
= exec__IProcess__eof(self
);
349 /* method exec#IProcess#init for (self: IProcess, String, Array[String]) */
350 void exec__IProcess__init(val
* self
, val
* p0
, val
* p1
) {
351 val
* var_command
/* var command: String */;
352 val
* var_arguments
/* var arguments: Array[String] */;
353 long var
/* : Int */;
354 val
* var1
/* : FDIStream */;
355 void* var2
/* : NativeProcess */;
356 long var3
/* : Int */;
360 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:IProcess>*/;
361 var1
= NEW_stream__FDIStream(&type_stream__FDIStream
);
362 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IProcess>*/;
363 var3
= exec__NativeProcess__out_fd(var2
);
364 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDIStream__init
]))(var1
, var3
) /* init on <var1:FDIStream>*/;
365 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var1
) /* stream_in= on <self:IProcess>*/;
368 /* method exec#IProcess#init for (self: Object, String, Array[String]) */
369 void VIRTUAL_exec__IProcess__init(val
* self
, val
* p0
, val
* p1
) {
370 exec__IProcess__init(self
, p0
, p1
);
373 /* method exec#IProcess#init_ for (self: IProcess, String) */
374 void exec__IProcess__init_(val
* self
, val
* p0
) {
375 val
* var_command
/* var command: String */;
376 val
* var
/* : null */;
377 long var1
/* : Int */;
378 val
* var2
/* : FDIStream */;
379 void* var3
/* : NativeProcess */;
380 long var4
/* : Int */;
384 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var
, var1
) /* execute on <self:IProcess>*/;
385 var2
= NEW_stream__FDIStream(&type_stream__FDIStream
);
386 var3
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IProcess>*/;
387 var4
= exec__NativeProcess__out_fd(var3
);
388 ((void (*)(val
*, long))(var2
->class->vft
[COLOR_stream__FDIStream__init
]))(var2
, var4
) /* init on <var2:FDIStream>*/;
389 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var2
) /* stream_in= on <self:IProcess>*/;
392 /* method exec#IProcess#init_ for (self: Object, String) */
393 void VIRTUAL_exec__IProcess__init_(val
* self
, val
* p0
) {
394 exec__IProcess__init_(self
, p0
);
397 /* method exec#IProcess#from_a for (self: IProcess, String, Array[String]) */
398 void exec__IProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
399 val
* var_command
/* var command: String */;
400 val
* var_arguments
/* var arguments: Array[String] */;
401 long var
/* : Int */;
402 val
* var1
/* : FDIStream */;
403 void* var2
/* : NativeProcess */;
404 long var3
/* : Int */;
408 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:IProcess>*/;
409 var1
= NEW_stream__FDIStream(&type_stream__FDIStream
);
410 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IProcess>*/;
411 var3
= exec__NativeProcess__out_fd(var2
);
412 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDIStream__init
]))(var1
, var3
) /* init on <var1:FDIStream>*/;
413 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var1
) /* stream_in= on <self:IProcess>*/;
416 /* method exec#IProcess#from_a for (self: Object, String, Array[String]) */
417 void VIRTUAL_exec__IProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
418 exec__IProcess__from_a(self
, p0
, p1
);
421 /* method exec#OProcess#stream_out for (self: OProcess): OStream */
422 val
* exec__OProcess__stream_out(val
* self
) {
423 val
* var
/* : OStream */;
424 val
* var1
/* : OStream */;
425 var1
= self
->attrs
[COLOR_exec__OProcess___64dstream_out
].val
; /* @stream_out on <self:OProcess> */
427 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @stream_out");
428 fprintf(stderr
, " (%s:%d)\n", "lib/standard/exec.nit", 114);
435 /* method exec#OProcess#stream_out for (self: Object): OStream */
436 val
* VIRTUAL_exec__OProcess__stream_out(val
* self
) {
437 val
* var
/* : OStream */;
438 val
* var1
/* : OStream */;
439 var1
= exec__OProcess__stream_out(self
);
444 /* method exec#OProcess#stream_out= for (self: OProcess, OStream) */
445 void exec__OProcess__stream_out_61d(val
* self
, val
* p0
) {
446 self
->attrs
[COLOR_exec__OProcess___64dstream_out
].val
= p0
; /* @stream_out on <self:OProcess> */
449 /* method exec#OProcess#stream_out= for (self: Object, OStream) */
450 void VIRTUAL_exec__OProcess__stream_out_61d(val
* self
, val
* p0
) {
451 exec__OProcess__stream_out_61d(self
, p0
);
454 /* method exec#OProcess#close for (self: OProcess) */
455 void exec__OProcess__close(val
* self
) {
456 val
* var
/* : OStream */;
457 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out
]))(self
) /* stream_out on <self:OProcess>*/;
458 ((void (*)(val
*))(var
->class->vft
[COLOR_stream__IOS__close
]))(var
) /* close on <var:OStream>*/;
461 /* method exec#OProcess#close for (self: Object) */
462 void VIRTUAL_exec__OProcess__close(val
* self
) {
463 exec__OProcess__close(self
);
466 /* method exec#OProcess#is_writable for (self: OProcess): Bool */
467 short int exec__OProcess__is_writable(val
* self
) {
468 short int var
/* : Bool */;
469 val
* var1
/* : OStream */;
470 short int var2
/* : Bool */;
471 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out
]))(self
) /* stream_out on <self:OProcess>*/;
472 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_stream__OStream__is_writable
]))(var1
) /* is_writable on <var1:OStream>*/;
478 /* method exec#OProcess#is_writable for (self: Object): Bool */
479 short int VIRTUAL_exec__OProcess__is_writable(val
* self
) {
480 short int var
/* : Bool */;
481 short int var1
/* : Bool */;
482 var1
= exec__OProcess__is_writable(self
);
487 /* method exec#OProcess#write for (self: OProcess, String) */
488 void exec__OProcess__write(val
* self
, val
* p0
) {
489 val
* var_s
/* var s: String */;
490 val
* var
/* : OStream */;
492 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out
]))(self
) /* stream_out on <self:OProcess>*/;
493 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_stream__OStream__write
]))(var
, var_s
) /* write on <var:OStream>*/;
496 /* method exec#OProcess#write for (self: Object, String) */
497 void VIRTUAL_exec__OProcess__write(val
* self
, val
* p0
) {
498 exec__OProcess__write(self
, p0
);
501 /* method exec#OProcess#init for (self: OProcess, String, Array[String]) */
502 void exec__OProcess__init(val
* self
, val
* p0
, val
* p1
) {
503 val
* var_command
/* var command: String */;
504 val
* var_arguments
/* var arguments: Array[String] */;
505 long var
/* : Int */;
506 val
* var1
/* : FDOStream */;
507 void* var2
/* : NativeProcess */;
508 long var3
/* : Int */;
512 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:OProcess>*/;
513 var1
= NEW_stream__FDOStream(&type_stream__FDOStream
);
514 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:OProcess>*/;
515 var3
= exec__NativeProcess__in_fd(var2
);
516 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDOStream__init
]))(var1
, var3
) /* init on <var1:FDOStream>*/;
517 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var1
) /* stream_out= on <self:OProcess>*/;
520 /* method exec#OProcess#init for (self: Object, String, Array[String]) */
521 void VIRTUAL_exec__OProcess__init(val
* self
, val
* p0
, val
* p1
) {
522 exec__OProcess__init(self
, p0
, p1
);
525 /* method exec#OProcess#init_ for (self: OProcess, String) */
526 void exec__OProcess__init_(val
* self
, val
* p0
) {
527 val
* var_command
/* var command: String */;
528 val
* var
/* : null */;
529 long var1
/* : Int */;
530 val
* var2
/* : FDOStream */;
531 void* var3
/* : NativeProcess */;
532 long var4
/* : Int */;
536 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var
, var1
) /* execute on <self:OProcess>*/;
537 var2
= NEW_stream__FDOStream(&type_stream__FDOStream
);
538 var3
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:OProcess>*/;
539 var4
= exec__NativeProcess__in_fd(var3
);
540 ((void (*)(val
*, long))(var2
->class->vft
[COLOR_stream__FDOStream__init
]))(var2
, var4
) /* init on <var2:FDOStream>*/;
541 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var2
) /* stream_out= on <self:OProcess>*/;
544 /* method exec#OProcess#init_ for (self: Object, String) */
545 void VIRTUAL_exec__OProcess__init_(val
* self
, val
* p0
) {
546 exec__OProcess__init_(self
, p0
);
549 /* method exec#OProcess#from_a for (self: OProcess, String, Array[String]) */
550 void exec__OProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
551 val
* var_command
/* var command: String */;
552 val
* var_arguments
/* var arguments: Array[String] */;
553 long var
/* : Int */;
554 val
* var1
/* : FDOStream */;
555 void* var2
/* : NativeProcess */;
556 long var3
/* : Int */;
560 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:OProcess>*/;
561 var1
= NEW_stream__FDOStream(&type_stream__FDOStream
);
562 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:OProcess>*/;
563 var3
= exec__NativeProcess__in_fd(var2
);
564 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDOStream__init
]))(var1
, var3
) /* init on <var1:FDOStream>*/;
565 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var1
) /* stream_out= on <self:OProcess>*/;
568 /* method exec#OProcess#from_a for (self: Object, String, Array[String]) */
569 void VIRTUAL_exec__OProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
570 exec__OProcess__from_a(self
, p0
, p1
);
573 /* method exec#IOProcess#close for (self: IOProcess) */
574 void exec__IOProcess__close(val
* self
) {
575 val
* var
/* : FDIStream */;
576 val
* var1
/* : OStream */;
577 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in
]))(self
) /* stream_in on <self:IOProcess>*/;
578 ((void (*)(val
*))(var
->class->vft
[COLOR_stream__IOS__close
]))(var
) /* close on <var:FDIStream>*/;
579 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out
]))(self
) /* stream_out on <self:IOProcess>*/;
580 ((void (*)(val
*))(var1
->class->vft
[COLOR_stream__IOS__close
]))(var1
) /* close on <var1:OStream>*/;
583 /* method exec#IOProcess#close for (self: Object) */
584 void VIRTUAL_exec__IOProcess__close(val
* self
) {
585 exec__IOProcess__close(self
);
588 /* method exec#IOProcess#init for (self: IOProcess, String, Array[String]) */
589 void exec__IOProcess__init(val
* self
, val
* p0
, val
* p1
) {
590 val
* var_command
/* var command: String */;
591 val
* var_arguments
/* var arguments: Array[String] */;
592 long var
/* : Int */;
593 val
* var1
/* : FDIStream */;
594 void* var2
/* : NativeProcess */;
595 long var3
/* : Int */;
596 val
* var4
/* : FDOStream */;
597 void* var5
/* : NativeProcess */;
598 long var6
/* : Int */;
602 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:IOProcess>*/;
603 var1
= NEW_stream__FDIStream(&type_stream__FDIStream
);
604 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
605 var3
= exec__NativeProcess__out_fd(var2
);
606 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDIStream__init
]))(var1
, var3
) /* init on <var1:FDIStream>*/;
607 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var1
) /* stream_in= on <self:IOProcess>*/;
608 var4
= NEW_stream__FDOStream(&type_stream__FDOStream
);
609 var5
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
610 var6
= exec__NativeProcess__in_fd(var5
);
611 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_stream__FDOStream__init
]))(var4
, var6
) /* init on <var4:FDOStream>*/;
612 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var4
) /* stream_out= on <self:IOProcess>*/;
615 /* method exec#IOProcess#init for (self: Object, String, Array[String]) */
616 void VIRTUAL_exec__IOProcess__init(val
* self
, val
* p0
, val
* p1
) {
617 exec__IOProcess__init(self
, p0
, p1
);
620 /* method exec#IOProcess#init_ for (self: IOProcess, String) */
621 void exec__IOProcess__init_(val
* self
, val
* p0
) {
622 val
* var_command
/* var command: String */;
623 val
* var
/* : null */;
624 long var1
/* : Int */;
625 val
* var2
/* : FDIStream */;
626 void* var3
/* : NativeProcess */;
627 long var4
/* : Int */;
628 val
* var5
/* : FDOStream */;
629 void* var6
/* : NativeProcess */;
630 long var7
/* : Int */;
634 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var
, var1
) /* execute on <self:IOProcess>*/;
635 var2
= NEW_stream__FDIStream(&type_stream__FDIStream
);
636 var3
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
637 var4
= exec__NativeProcess__out_fd(var3
);
638 ((void (*)(val
*, long))(var2
->class->vft
[COLOR_stream__FDIStream__init
]))(var2
, var4
) /* init on <var2:FDIStream>*/;
639 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var2
) /* stream_in= on <self:IOProcess>*/;
640 var5
= NEW_stream__FDOStream(&type_stream__FDOStream
);
641 var6
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
642 var7
= exec__NativeProcess__in_fd(var6
);
643 ((void (*)(val
*, long))(var5
->class->vft
[COLOR_stream__FDOStream__init
]))(var5
, var7
) /* init on <var5:FDOStream>*/;
644 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var5
) /* stream_out= on <self:IOProcess>*/;
647 /* method exec#IOProcess#init_ for (self: Object, String) */
648 void VIRTUAL_exec__IOProcess__init_(val
* self
, val
* p0
) {
649 exec__IOProcess__init_(self
, p0
);
652 /* method exec#IOProcess#from_a for (self: IOProcess, String, Array[String]) */
653 void exec__IOProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
654 val
* var_command
/* var command: String */;
655 val
* var_arguments
/* var arguments: Array[String] */;
656 long var
/* : Int */;
657 val
* var1
/* : FDIStream */;
658 void* var2
/* : NativeProcess */;
659 long var3
/* : Int */;
660 val
* var4
/* : FDOStream */;
661 void* var5
/* : NativeProcess */;
662 long var6
/* : Int */;
666 ((void (*)(val
*, val
*, val
*, long))(self
->class->vft
[COLOR_exec__Process__execute
]))(self
, var_command
, var_arguments
, var
) /* execute on <self:IOProcess>*/;
667 var1
= NEW_stream__FDIStream(&type_stream__FDIStream
);
668 var2
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
669 var3
= exec__NativeProcess__out_fd(var2
);
670 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_stream__FDIStream__init
]))(var1
, var3
) /* init on <var1:FDIStream>*/;
671 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__IProcess__stream_in_61d
]))(self
, var1
) /* stream_in= on <self:IOProcess>*/;
672 var4
= NEW_stream__FDOStream(&type_stream__FDOStream
);
673 var5
= ((void* (*)(val
*))(self
->class->vft
[COLOR_exec__Process__data
]))(self
) /* data on <self:IOProcess>*/;
674 var6
= exec__NativeProcess__in_fd(var5
);
675 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_stream__FDOStream__init
]))(var4
, var6
) /* init on <var4:FDOStream>*/;
676 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_exec__OProcess__stream_out_61d
]))(self
, var4
) /* stream_out= on <self:IOProcess>*/;
679 /* method exec#IOProcess#from_a for (self: Object, String, Array[String]) */
680 void VIRTUAL_exec__IOProcess__from_a(val
* self
, val
* p0
, val
* p1
) {
681 exec__IOProcess__from_a(self
, p0
, p1
);
684 /* method exec#Sys#system for (self: Sys, String): Int */
685 long exec__Sys__system(val
* self
, val
* p0
) {
686 long var
/* : Int */;
687 val
* var_command
/* var command: String */;
688 char* var1
/* : NativeString */;
689 long var2
/* : Int */;
691 var1
= ((char* (*)(val
*))(var_command
->class->vft
[COLOR_string__String__to_cstring
]))(var_command
) /* to_cstring on <var_command:String>*/;
692 var2
= exec__NativeString__system(var1
);
698 /* method exec#Sys#system for (self: Object, String): Int */
699 long VIRTUAL_exec__Sys__system(val
* self
, val
* p0
) {
700 long var
/* : Int */;
701 long var1
/* : Int */;
702 var1
= exec__Sys__system(self
, p0
);
707 /* method exec#NativeString#system for (self: NativeString): Int */
708 long exec__NativeString__system(char* self
) {
709 long var
/* : Int */;
710 long var1
/* : Int */;
711 var1
= string_NativeString_NativeString_system_0(self
);
717 /* method exec#NativeString#system for (self: Object): Int */
718 long VIRTUAL_exec__NativeString__system(val
* self
) {
719 long var
/* : Int */;
720 long var1
/* : Int */;
721 char* var2
/* : NativeString */;
722 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
723 var1
= exec__NativeString__system(var2
);
728 /* method exec#NativeProcess#id for (self: NativeProcess): Int */
729 long exec__NativeProcess__id(void* self
) {
730 long var
/* : Int */;
731 long var1
/* : Int */;
732 var1
= exec_NativeProcess_NativeProcess_id_0(self
);
738 /* method exec#NativeProcess#id for (self: Object): Int */
739 long VIRTUAL_exec__NativeProcess__id(val
* self
) {
740 long var
/* : Int */;
741 long var1
/* : Int */;
742 void* var2
/* : NativeProcess */;
743 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
744 var1
= exec__NativeProcess__id(var2
);
749 /* method exec#NativeProcess#is_finished for (self: NativeProcess): Bool */
750 short int exec__NativeProcess__is_finished(void* self
) {
751 short int var
/* : Bool */;
752 short int var1
/* : Bool */;
753 var1
= exec_NativeProcess_NativeProcess_is_finished_0(self
);
759 /* method exec#NativeProcess#is_finished for (self: Object): Bool */
760 short int VIRTUAL_exec__NativeProcess__is_finished(val
* self
) {
761 short int var
/* : Bool */;
762 short int var1
/* : Bool */;
763 void* var2
/* : NativeProcess */;
764 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
765 var1
= exec__NativeProcess__is_finished(var2
);
770 /* method exec#NativeProcess#status for (self: NativeProcess): Int */
771 long exec__NativeProcess__status(void* self
) {
772 long var
/* : Int */;
773 long var1
/* : Int */;
774 var1
= exec_NativeProcess_NativeProcess_status_0(self
);
780 /* method exec#NativeProcess#status for (self: Object): Int */
781 long VIRTUAL_exec__NativeProcess__status(val
* self
) {
782 long var
/* : Int */;
783 long var1
/* : Int */;
784 void* var2
/* : NativeProcess */;
785 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
786 var1
= exec__NativeProcess__status(var2
);
791 /* method exec#NativeProcess#wait for (self: NativeProcess) */
792 void exec__NativeProcess__wait(void* self
) {
793 exec_NativeProcess_NativeProcess_wait_0(self
);
796 /* method exec#NativeProcess#wait for (self: Object) */
797 void VIRTUAL_exec__NativeProcess__wait(val
* self
) {
798 void* var
/* : NativeProcess */;
799 var
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
800 exec__NativeProcess__wait(var
);
803 /* method exec#NativeProcess#in_fd for (self: NativeProcess): Int */
804 long exec__NativeProcess__in_fd(void* self
) {
805 long var
/* : Int */;
806 long var1
/* : Int */;
807 var1
= exec_NativeProcess_NativeProcess_in_fd_0(self
);
813 /* method exec#NativeProcess#in_fd for (self: Object): Int */
814 long VIRTUAL_exec__NativeProcess__in_fd(val
* self
) {
815 long var
/* : Int */;
816 long var1
/* : Int */;
817 void* var2
/* : NativeProcess */;
818 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
819 var1
= exec__NativeProcess__in_fd(var2
);
824 /* method exec#NativeProcess#out_fd for (self: NativeProcess): Int */
825 long exec__NativeProcess__out_fd(void* self
) {
826 long var
/* : Int */;
827 long var1
/* : Int */;
828 var1
= exec_NativeProcess_NativeProcess_out_fd_0(self
);
834 /* method exec#NativeProcess#out_fd for (self: Object): Int */
835 long VIRTUAL_exec__NativeProcess__out_fd(val
* self
) {
836 long var
/* : Int */;
837 long var1
/* : Int */;
838 void* var2
/* : NativeProcess */;
839 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
840 var1
= exec__NativeProcess__out_fd(var2
);
845 /* method exec#NativeProcess#err_fd for (self: NativeProcess): Int */
846 long exec__NativeProcess__err_fd(void* self
) {
847 long var
/* : Int */;
848 long var1
/* : Int */;
849 var1
= exec_NativeProcess_NativeProcess_err_fd_0(self
);
855 /* method exec#NativeProcess#err_fd for (self: Object): Int */
856 long VIRTUAL_exec__NativeProcess__err_fd(val
* self
) {
857 long var
/* : Int */;
858 long var1
/* : Int */;
859 void* var2
/* : NativeProcess */;
860 var2
= ((struct instance_exec__NativeProcess
*)self
)->value
; /* autounbox from Object to NativeProcess */;
861 var1
= exec__NativeProcess__err_fd(var2
);