1 /* This C file is generated by NIT to compile module exec. */
3 val_t
exec___Process___id(val_t self
) {
4 struct trace_t trace
= {NULL
, NULL
, 23, LOCATE_exec___Process___id
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_exec
;
10 variable
[2] = variable
[0];
11 variable
[2] = ATTR_exec___Process____data(variable
[2]) /*Process::_data*/;
12 variable
[2] = CALL_exec___NativeProcess___id(variable
[2])(variable
[2]) /*NativeProcess::id*/;
13 variable
[1] = variable
[2];
15 return_label0
: while(false);
16 tracehead
= trace
.prev
;
19 val_t
exec___Process___is_finished(val_t self
) {
20 struct trace_t trace
= {NULL
, NULL
, 26, LOCATE_exec___Process___is_finished
};
22 void **closurevariable
= NULL
;
23 trace
.prev
= tracehead
; tracehead
= &trace
;
24 trace
.file
= LOCATE_exec
;
26 variable
[2] = variable
[0];
27 variable
[2] = ATTR_exec___Process____data(variable
[2]) /*Process::_data*/;
28 variable
[2] = CALL_exec___NativeProcess___is_finished(variable
[2])(variable
[2]) /*NativeProcess::is_finished*/;
29 variable
[1] = variable
[2];
31 return_label1
: while(false);
32 tracehead
= trace
.prev
;
35 void exec___Process___wait(val_t self
) {
36 struct trace_t trace
= {NULL
, NULL
, 29, LOCATE_exec___Process___wait
};
38 void **closurevariable
= NULL
;
39 trace
.prev
= tracehead
; tracehead
= &trace
;
40 trace
.file
= LOCATE_exec
;
42 variable
[2] = variable
[0];
43 variable
[2] = ATTR_exec___Process____data(variable
[2]) /*Process::_data*/;
44 CALL_exec___NativeProcess___wait(variable
[2])(variable
[2]) /*NativeProcess::wait*/;
45 variable
[2] = variable
[0];
46 variable
[2] = CALL_exec___Process___is_finished(variable
[2])(variable
[2]) /*Process::is_finished*/;
47 if (!UNTAG_Bool(variable
[2])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___Process___wait
, LOCATE_exec
, 33); nit_exit(1);}
48 return_label2
: while(false);
49 tracehead
= trace
.prev
;
52 val_t
exec___Process___status(val_t self
) {
53 struct trace_t trace
= {NULL
, NULL
, 36, LOCATE_exec___Process___status
};
55 void **closurevariable
= NULL
;
56 trace
.prev
= tracehead
; tracehead
= &trace
;
57 trace
.file
= LOCATE_exec
;
59 variable
[2] = variable
[0];
60 variable
[2] = CALL_exec___Process___is_finished(variable
[2])(variable
[2]) /*Process::is_finished*/;
61 if (!UNTAG_Bool(variable
[2])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___Process___status
, LOCATE_exec
, 39); nit_exit(1);}
62 variable
[2] = variable
[0];
63 variable
[2] = ATTR_exec___Process____data(variable
[2]) /*Process::_data*/;
64 variable
[2] = CALL_exec___NativeProcess___status(variable
[2])(variable
[2]) /*NativeProcess::status*/;
65 variable
[1] = variable
[2];
67 return_label3
: while(false);
68 tracehead
= trace
.prev
;
71 void exec___Process___kill(val_t self
, val_t param0
) {
72 struct trace_t trace
= {NULL
, NULL
, 43, LOCATE_exec___Process___kill
};
74 void **closurevariable
= NULL
;
75 trace
.prev
= tracehead
; tracehead
= &trace
;
76 trace
.file
= LOCATE_exec
;
79 variable
[3] = variable
[0];
80 variable
[3] = ATTR_exec___Process____data(variable
[3]) /*Process::_data*/;
81 CALL_exec___NativeProcess___kill(variable
[3])(variable
[3], variable
[1] /*signal*/) /*NativeProcess::kill*/;
82 return_label4
: while(false);
83 tracehead
= trace
.prev
;
86 void exec___Process___term(val_t self
) {
87 struct trace_t trace
= {NULL
, NULL
, 46, LOCATE_exec___Process___term
};
89 void **closurevariable
= NULL
;
90 trace
.prev
= tracehead
; tracehead
= &trace
;
91 trace
.file
= LOCATE_exec
;
93 variable
[2] = variable
[0];
94 CALL_exec___Process___kill(variable
[2])(variable
[2], TAG_Int(15)) /*Process::kill*/;
95 return_label5
: while(false);
96 tracehead
= trace
.prev
;
99 void exec___Process___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
100 struct trace_t trace
= {NULL
, NULL
, 49, LOCATE_exec___Process___init
};
102 void **closurevariable
= NULL
;
103 trace
.prev
= tracehead
; tracehead
= &trace
;
104 trace
.file
= LOCATE_exec
;
106 variable
[1] = param0
;
107 /* check if p<Array[String] with p:String */
108 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___Process___init
, LOCATE_exec
, 50); nit_exit(1); } /*cast Array[String]*/;
109 variable
[2] = param1
;
110 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
]) return;
111 variable
[4] = variable
[0];
112 CALL_exec___Process___execute(variable
[4])(variable
[4], variable
[1] /*command*/, variable
[2] /*arguments*/, TAG_Int(0), init_table
/*YYY*/) /*Process::execute*/;
113 return_label6
: while(false);
114 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
] = 1;
115 tracehead
= trace
.prev
;
118 void exec___Process___init_(val_t self
, val_t param0
, int* init_table
) {
119 struct trace_t trace
= {NULL
, NULL
, 55, LOCATE_exec___Process___init_
};
121 void **closurevariable
= NULL
;
122 trace
.prev
= tracehead
; tracehead
= &trace
;
123 trace
.file
= LOCATE_exec
;
125 variable
[1] = param0
;
126 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
]) return;
127 variable
[3] = variable
[0];
128 CALL_exec___Process___execute(variable
[3])(variable
[3], variable
[1] /*command*/, NIT_NULL
/*null*/, TAG_Int(0), init_table
/*YYY*/) /*Process::execute*/;
129 return_label7
: while(false);
130 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
] = 1;
131 tracehead
= trace
.prev
;
134 void exec___Process___execute(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
135 struct trace_t trace
= {NULL
, NULL
, 61, LOCATE_exec___Process___execute
};
137 void **closurevariable
= NULL
;
138 trace
.prev
= tracehead
; tracehead
= &trace
;
139 trace
.file
= LOCATE_exec
;
141 variable
[1] = param0
;
142 variable
[2] = param1
;
143 variable
[3] = param2
;
144 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
]) return;
145 variable
[6] = NEW_String_string___String___init(); /*new String*/
146 variable
[5] = variable
[6];
147 variable
[6] = TAG_Int(1);
148 CALL_abstract_collection___IndexedCollection___append( variable
[5] /*args*/)( variable
[5] /*args*/, variable
[1] /*command*/) /*String::append*/;
149 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*arguments*/ == NIT_NULL
/*null*/) || (( variable
[2] /*arguments*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*arguments*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*arguments*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*arguments*/)( variable
[2] /*arguments*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
150 if (UNTAG_Bool(variable
[7])) { /*if*/
151 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[2] /*arguments*/)( variable
[2] /*arguments*/) /*AbstractArray::iterator*/;
152 while (true) { /*for*/
153 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
154 if (!UNTAG_Bool(variable
[8])) break; /*for*/
155 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/;
156 variable
[9] = variable
[8];
157 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*args*/)( variable
[5] /*args*/, TAG_Char('\0')) /*String::add*/;
158 CALL_abstract_collection___IndexedCollection___append( variable
[5] /*args*/)( variable
[5] /*args*/, variable
[9] /*a*/) /*String::append*/;
159 continue_9
: while(0);
160 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
163 variable
[7] = CALL_abstract_collection___Collection___length( variable
[2] /*arguments*/)( variable
[2] /*arguments*/) /*AbstractArray::length*/;
164 variable
[6] = TAG_Int(UNTAG_Int(variable
[6])+UNTAG_Int(variable
[7])) /*l*/;
166 variable
[7] = variable
[0];
167 variable
[8] = variable
[0];
168 variable
[9] = CALL_string___String___to_cstring( variable
[1] /*command*/)( variable
[1] /*command*/) /*String::to_cstring*/;
169 variable
[10] = CALL_string___String___to_cstring( variable
[5] /*args*/)( variable
[5] /*args*/) /*String::to_cstring*/;
170 variable
[8] = CALL_exec___Process___basic_exec_execute(variable
[8])(variable
[8], variable
[9], variable
[10], variable
[6] /*l*/, variable
[3] /*pipeflags*/) /*Process::basic_exec_execute*/;
171 ATTR_exec___Process____data(variable
[7]) /*Process::_data*/ = variable
[8];
172 return_label8
: while(false);
173 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Process
].i
] = 1;
174 tracehead
= trace
.prev
;
177 val_t
exec___Process___basic_exec_execute(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
178 struct trace_t trace
= {NULL
, NULL
, 78, LOCATE_exec___Process___basic_exec_execute
};
179 val_t
*variable
= NULL
;
180 void **closurevariable
= NULL
;
181 trace
.prev
= tracehead
; tracehead
= &trace
;
182 trace
.file
= LOCATE_exec
;
183 tracehead
= trace
.prev
;
184 return BOX_NativeProcess(exec_Process_Process_basic_exec_execute_4( self
, UNBOX_NativeString( param0
), UNBOX_NativeString( param1
), UNTAG_Int( param2
), UNTAG_Int( param3
)));
186 void exec___IProcess___close(val_t self
) {
187 struct trace_t trace
= {NULL
, NULL
, 87, LOCATE_exec___IProcess___close
};
189 void **closurevariable
= NULL
;
190 trace
.prev
= tracehead
; tracehead
= &trace
;
191 trace
.file
= LOCATE_exec
;
193 variable
[2] = variable
[0];
194 variable
[2] = ATTR_exec___IProcess____in(variable
[2]) /*IProcess::_in*/;
195 CALL_stream___IOS___close(variable
[2])(variable
[2]) /*FDStream::close*/;
196 return_label10
: while(false);
197 tracehead
= trace
.prev
;
200 val_t
exec___IProcess___read_char(val_t self
) {
201 struct trace_t trace
= {NULL
, NULL
, 89, LOCATE_exec___IProcess___read_char
};
203 void **closurevariable
= NULL
;
204 trace
.prev
= tracehead
; tracehead
= &trace
;
205 trace
.file
= LOCATE_exec
;
207 variable
[2] = variable
[0];
208 variable
[2] = ATTR_exec___IProcess____in(variable
[2]) /*IProcess::_in*/;
209 variable
[2] = CALL_stream___IStream___read_char(variable
[2])(variable
[2]) /*FDIStream::read_char*/;
210 variable
[1] = variable
[2];
212 return_label11
: while(false);
213 tracehead
= trace
.prev
;
216 val_t
exec___IProcess___eof(val_t self
) {
217 struct trace_t trace
= {NULL
, NULL
, 91, LOCATE_exec___IProcess___eof
};
219 void **closurevariable
= NULL
;
220 trace
.prev
= tracehead
; tracehead
= &trace
;
221 trace
.file
= LOCATE_exec
;
223 variable
[2] = variable
[0];
224 variable
[2] = ATTR_exec___IProcess____in(variable
[2]) /*IProcess::_in*/;
225 variable
[2] = CALL_stream___IStream___eof(variable
[2])(variable
[2]) /*FDIStream::eof*/;
226 variable
[1] = variable
[2];
228 return_label12
: while(false);
229 tracehead
= trace
.prev
;
232 void exec___IProcess___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
233 struct trace_t trace
= {NULL
, NULL
, 93, LOCATE_exec___IProcess___init
};
235 void **closurevariable
= NULL
;
236 trace
.prev
= tracehead
; tracehead
= &trace
;
237 trace
.file
= LOCATE_exec
;
239 variable
[1] = param0
;
240 /* check if p<Array[String] with p:String */
241 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___IProcess___init
, LOCATE_exec
, 93); nit_exit(1); } /*cast Array[String]*/;
242 variable
[2] = param1
;
243 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IProcess
].i
]) return;
244 variable
[4] = variable
[0];
245 CALL_exec___Process___execute(variable
[4])(variable
[4], variable
[1] /*command*/, variable
[2] /*arguments*/, TAG_Int(2), init_table
/*YYY*/) /*Process::execute*/;
246 variable
[4] = variable
[0];
247 variable
[5] = variable
[0];
248 variable
[5] = ATTR_exec___Process____data(variable
[5]) /*Process::_data*/;
249 variable
[5] = CALL_exec___NativeProcess___out_fd(variable
[5])(variable
[5]) /*NativeProcess::out_fd*/;
250 variable
[6] = NEW_FDIStream_stream___FDIStream___init(variable
[5]); /*new FDIStream*/
251 variable
[5] = variable
[6];
252 ATTR_exec___IProcess____in(variable
[4]) /*IProcess::_in*/ = variable
[5];
253 return_label13
: while(false);
254 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IProcess
].i
] = 1;
255 tracehead
= trace
.prev
;
258 void exec___IProcess___init_(val_t self
, val_t param0
, int* init_table
) {
259 struct trace_t trace
= {NULL
, NULL
, 99, LOCATE_exec___IProcess___init_
};
261 void **closurevariable
= NULL
;
262 trace
.prev
= tracehead
; tracehead
= &trace
;
263 trace
.file
= LOCATE_exec
;
265 variable
[1] = param0
;
266 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IProcess
].i
]) return;
267 variable
[3] = variable
[0];
268 CALL_exec___Process___execute(variable
[3])(variable
[3], variable
[1] /*command*/, NIT_NULL
/*null*/, TAG_Int(2), init_table
/*YYY*/) /*Process::execute*/;
269 variable
[3] = variable
[0];
270 variable
[4] = variable
[0];
271 variable
[4] = ATTR_exec___Process____data(variable
[4]) /*Process::_data*/;
272 variable
[4] = CALL_exec___NativeProcess___out_fd(variable
[4])(variable
[4]) /*NativeProcess::out_fd*/;
273 variable
[5] = NEW_FDIStream_stream___FDIStream___init(variable
[4]); /*new FDIStream*/
274 variable
[4] = variable
[5];
275 ATTR_exec___IProcess____in(variable
[3]) /*IProcess::_in*/ = variable
[4];
276 return_label14
: while(false);
277 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IProcess
].i
] = 1;
278 tracehead
= trace
.prev
;
281 void exec___OProcess___close(val_t self
) {
282 struct trace_t trace
= {NULL
, NULL
, 112, LOCATE_exec___OProcess___close
};
284 void **closurevariable
= NULL
;
285 trace
.prev
= tracehead
; tracehead
= &trace
;
286 trace
.file
= LOCATE_exec
;
288 variable
[2] = variable
[0];
289 variable
[2] = ATTR_exec___OProcess____out(variable
[2]) /*OProcess::_out*/;
290 CALL_stream___IOS___close(variable
[2])(variable
[2]) /*IOS::close*/;
291 return_label15
: while(false);
292 tracehead
= trace
.prev
;
295 void exec___OProcess___write(val_t self
, val_t param0
) {
296 struct trace_t trace
= {NULL
, NULL
, 116, LOCATE_exec___OProcess___write
};
298 void **closurevariable
= NULL
;
299 trace
.prev
= tracehead
; tracehead
= &trace
;
300 trace
.file
= LOCATE_exec
;
302 variable
[1] = param0
;
303 variable
[3] = variable
[0];
304 variable
[3] = ATTR_exec___OProcess____out(variable
[3]) /*OProcess::_out*/;
305 CALL_stream___OStream___write(variable
[3])(variable
[3], variable
[1] /*s*/) /*OStream::write*/;
306 return_label16
: while(false);
307 tracehead
= trace
.prev
;
310 val_t
exec___OProcess___is_writable(val_t self
) {
311 struct trace_t trace
= {NULL
, NULL
, 114, LOCATE_exec___OProcess___is_writable
};
313 void **closurevariable
= NULL
;
314 trace
.prev
= tracehead
; tracehead
= &trace
;
315 trace
.file
= LOCATE_exec
;
317 variable
[2] = variable
[0];
318 variable
[2] = ATTR_exec___OProcess____out(variable
[2]) /*OProcess::_out*/;
319 variable
[2] = CALL_stream___OStream___is_writable(variable
[2])(variable
[2]) /*OStream::is_writable*/;
320 variable
[1] = variable
[2];
322 return_label17
: while(false);
323 tracehead
= trace
.prev
;
326 void exec___OProcess___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
327 struct trace_t trace
= {NULL
, NULL
, 118, LOCATE_exec___OProcess___init
};
329 void **closurevariable
= NULL
;
330 trace
.prev
= tracehead
; tracehead
= &trace
;
331 trace
.file
= LOCATE_exec
;
333 variable
[1] = param0
;
334 /* check if p<Array[String] with p:String */
335 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___OProcess___init
, LOCATE_exec
, 118); nit_exit(1); } /*cast Array[String]*/;
336 variable
[2] = param1
;
337 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_OProcess
].i
]) return;
338 variable
[4] = variable
[0];
339 CALL_exec___Process___execute(variable
[4])(variable
[4], variable
[1] /*command*/, variable
[2] /*arguments*/, TAG_Int(1), init_table
/*YYY*/) /*Process::execute*/;
340 variable
[4] = variable
[0];
341 variable
[5] = variable
[0];
342 variable
[5] = ATTR_exec___Process____data(variable
[5]) /*Process::_data*/;
343 variable
[5] = CALL_exec___NativeProcess___in_fd(variable
[5])(variable
[5]) /*NativeProcess::in_fd*/;
344 variable
[6] = NEW_FDOStream_stream___FDOStream___init(variable
[5]); /*new FDOStream*/
345 variable
[5] = variable
[6];
346 ATTR_exec___OProcess____out(variable
[4]) /*OProcess::_out*/ = variable
[5];
347 return_label18
: while(false);
348 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_OProcess
].i
] = 1;
349 tracehead
= trace
.prev
;
352 void exec___OProcess___init_(val_t self
, val_t param0
, int* init_table
) {
353 struct trace_t trace
= {NULL
, NULL
, 124, LOCATE_exec___OProcess___init_
};
355 void **closurevariable
= NULL
;
356 trace
.prev
= tracehead
; tracehead
= &trace
;
357 trace
.file
= LOCATE_exec
;
359 variable
[1] = param0
;
360 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_OProcess
].i
]) return;
361 variable
[3] = variable
[0];
362 CALL_exec___Process___execute(variable
[3])(variable
[3], variable
[1] /*command*/, NIT_NULL
/*null*/, TAG_Int(1), init_table
/*YYY*/) /*Process::execute*/;
363 variable
[3] = variable
[0];
364 variable
[4] = variable
[0];
365 variable
[4] = ATTR_exec___Process____data(variable
[4]) /*Process::_data*/;
366 variable
[4] = CALL_exec___NativeProcess___in_fd(variable
[4])(variable
[4]) /*NativeProcess::in_fd*/;
367 variable
[5] = NEW_FDOStream_stream___FDOStream___init(variable
[4]); /*new FDOStream*/
368 variable
[4] = variable
[5];
369 ATTR_exec___OProcess____out(variable
[3]) /*OProcess::_out*/ = variable
[4];
370 return_label19
: while(false);
371 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_OProcess
].i
] = 1;
372 tracehead
= trace
.prev
;
375 void exec___IOProcess___close(val_t self
) {
376 struct trace_t trace
= {NULL
, NULL
, 137, LOCATE_exec___IOProcess___close
};
378 void **closurevariable
= NULL
;
379 trace
.prev
= tracehead
; tracehead
= &trace
;
380 trace
.file
= LOCATE_exec
;
382 variable
[2] = variable
[0];
383 variable
[2] = ATTR_exec___IProcess____in(variable
[2]) /*IProcess::_in*/;
384 CALL_stream___IOS___close(variable
[2])(variable
[2]) /*FDStream::close*/;
385 variable
[2] = variable
[0];
386 variable
[2] = ATTR_exec___OProcess____out(variable
[2]) /*OProcess::_out*/;
387 CALL_stream___IOS___close(variable
[2])(variable
[2]) /*IOS::close*/;
388 return_label20
: while(false);
389 tracehead
= trace
.prev
;
392 void exec___IOProcess___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
393 struct trace_t trace
= {NULL
, NULL
, 143, LOCATE_exec___IOProcess___init
};
395 void **closurevariable
= NULL
;
396 trace
.prev
= tracehead
; tracehead
= &trace
;
397 trace
.file
= LOCATE_exec
;
399 variable
[1] = param0
;
400 /* check if p<Array[String] with p:String */
401 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_exec___IOProcess___init
, LOCATE_exec
, 143); nit_exit(1); } /*cast Array[String]*/;
402 variable
[2] = param1
;
403 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IOProcess
].i
]) return;
404 variable
[4] = variable
[0];
405 CALL_exec___Process___execute(variable
[4])(variable
[4], variable
[1] /*command*/, variable
[2] /*arguments*/, TAG_Int(3), init_table
/*YYY*/) /*Process::execute*/;
406 CALL_exec___IProcess___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*IProcess::init*/;
407 CALL_exec___OProcess___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*OProcess::init*/;
408 variable
[4] = variable
[0];
409 variable
[5] = variable
[0];
410 variable
[5] = ATTR_exec___Process____data(variable
[5]) /*Process::_data*/;
411 variable
[5] = CALL_exec___NativeProcess___out_fd(variable
[5])(variable
[5]) /*NativeProcess::out_fd*/;
412 variable
[6] = NEW_FDIStream_stream___FDIStream___init(variable
[5]); /*new FDIStream*/
413 variable
[5] = variable
[6];
414 ATTR_exec___IProcess____in(variable
[4]) /*IProcess::_in*/ = variable
[5];
415 variable
[4] = variable
[0];
416 variable
[5] = variable
[0];
417 variable
[5] = ATTR_exec___Process____data(variable
[5]) /*Process::_data*/;
418 variable
[5] = CALL_exec___NativeProcess___in_fd(variable
[5])(variable
[5]) /*NativeProcess::in_fd*/;
419 variable
[6] = NEW_FDOStream_stream___FDOStream___init(variable
[5]); /*new FDOStream*/
420 variable
[5] = variable
[6];
421 ATTR_exec___OProcess____out(variable
[4]) /*OProcess::_out*/ = variable
[5];
422 return_label21
: while(false);
423 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IOProcess
].i
] = 1;
424 tracehead
= trace
.prev
;
427 void exec___IOProcess___init_(val_t self
, val_t param0
, int* init_table
) {
428 struct trace_t trace
= {NULL
, NULL
, 150, LOCATE_exec___IOProcess___init_
};
430 void **closurevariable
= NULL
;
431 trace
.prev
= tracehead
; tracehead
= &trace
;
432 trace
.file
= LOCATE_exec
;
434 variable
[1] = param0
;
435 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IOProcess
].i
]) return;
436 variable
[3] = variable
[0];
437 CALL_exec___Process___execute(variable
[3])(variable
[3], variable
[1] /*command*/, NIT_NULL
/*null*/, TAG_Int(3), init_table
/*YYY*/) /*Process::execute*/;
438 CALL_exec___IProcess___init_(variable
[0])(variable
[0], variable
[1], init_table
/*YYY*/) /*IProcess::init_*/;
439 CALL_exec___OProcess___init_(variable
[0])(variable
[0], variable
[1], init_table
/*YYY*/) /*OProcess::init_*/;
440 variable
[3] = variable
[0];
441 variable
[4] = variable
[0];
442 variable
[4] = ATTR_exec___Process____data(variable
[4]) /*Process::_data*/;
443 variable
[4] = CALL_exec___NativeProcess___out_fd(variable
[4])(variable
[4]) /*NativeProcess::out_fd*/;
444 variable
[5] = NEW_FDIStream_stream___FDIStream___init(variable
[4]); /*new FDIStream*/
445 variable
[4] = variable
[5];
446 ATTR_exec___IProcess____in(variable
[3]) /*IProcess::_in*/ = variable
[4];
447 variable
[3] = variable
[0];
448 variable
[4] = variable
[0];
449 variable
[4] = ATTR_exec___Process____data(variable
[4]) /*Process::_data*/;
450 variable
[4] = CALL_exec___NativeProcess___in_fd(variable
[4])(variable
[4]) /*NativeProcess::in_fd*/;
451 variable
[5] = NEW_FDOStream_stream___FDOStream___init(variable
[4]); /*new FDOStream*/
452 variable
[4] = variable
[5];
453 ATTR_exec___OProcess____out(variable
[3]) /*OProcess::_out*/ = variable
[4];
454 return_label22
: while(false);
455 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_IOProcess
].i
] = 1;
456 tracehead
= trace
.prev
;
459 val_t
exec___Sys___system(val_t self
, val_t param0
) {
460 struct trace_t trace
= {NULL
, NULL
, 159, LOCATE_exec___Sys___system
};
462 void **closurevariable
= NULL
;
463 trace
.prev
= tracehead
; tracehead
= &trace
;
464 trace
.file
= LOCATE_exec
;
466 variable
[1] = param0
;
467 variable
[3] = CALL_string___String___to_cstring( variable
[1] /*command*/)( variable
[1] /*command*/) /*String::to_cstring*/;
468 variable
[3] = CALL_exec___NativeString___system(variable
[3])(variable
[3]) /*NativeString::system*/;
469 variable
[2] = variable
[3];
471 return_label23
: while(false);
472 tracehead
= trace
.prev
;
475 val_t
exec___NativeString___system(val_t self
) {
476 struct trace_t trace
= {NULL
, NULL
, 167, LOCATE_exec___NativeString___system
};
477 val_t
*variable
= NULL
;
478 void **closurevariable
= NULL
;
479 trace
.prev
= tracehead
; tracehead
= &trace
;
480 trace
.file
= LOCATE_exec
;
481 tracehead
= trace
.prev
;
482 return TAG_Int(string_NativeString_NativeString_system_0(UNBOX_NativeString( self
)));
484 val_t
exec___NativeProcess___id(val_t self
) {
485 struct trace_t trace
= {NULL
, NULL
, 172, LOCATE_exec___NativeProcess___id
};
486 val_t
*variable
= NULL
;
487 void **closurevariable
= NULL
;
488 trace
.prev
= tracehead
; tracehead
= &trace
;
489 trace
.file
= LOCATE_exec
;
490 tracehead
= trace
.prev
;
491 return TAG_Int(exec_NativeProcess_NativeProcess_id_0(UNBOX_NativeProcess( self
)));
493 val_t
exec___NativeProcess___is_finished(val_t self
) {
494 struct trace_t trace
= {NULL
, NULL
, 173, LOCATE_exec___NativeProcess___is_finished
};
495 val_t
*variable
= NULL
;
496 void **closurevariable
= NULL
;
497 trace
.prev
= tracehead
; tracehead
= &trace
;
498 trace
.file
= LOCATE_exec
;
499 tracehead
= trace
.prev
;
500 return TAG_Bool(exec_NativeProcess_NativeProcess_is_finished_0(UNBOX_NativeProcess( self
)));
502 val_t
exec___NativeProcess___status(val_t self
) {
503 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_exec___NativeProcess___status
};
504 val_t
*variable
= NULL
;
505 void **closurevariable
= NULL
;
506 trace
.prev
= tracehead
; tracehead
= &trace
;
507 trace
.file
= LOCATE_exec
;
508 tracehead
= trace
.prev
;
509 return TAG_Int(exec_NativeProcess_NativeProcess_status_0(UNBOX_NativeProcess( self
)));
511 void exec___NativeProcess___wait(val_t self
) {
512 struct trace_t trace
= {NULL
, NULL
, 175, LOCATE_exec___NativeProcess___wait
};
513 val_t
*variable
= NULL
;
514 void **closurevariable
= NULL
;
515 trace
.prev
= tracehead
; tracehead
= &trace
;
516 trace
.file
= LOCATE_exec
;
517 exec_NativeProcess_NativeProcess_wait_0(UNBOX_NativeProcess( self
));
518 tracehead
= trace
.prev
;
521 void exec___NativeProcess___kill(val_t self
, val_t param0
) {
522 struct trace_t trace
= {NULL
, NULL
, 176, LOCATE_exec___NativeProcess___kill
};
523 val_t
*variable
= NULL
;
524 void **closurevariable
= NULL
;
525 trace
.prev
= tracehead
; tracehead
= &trace
;
526 trace
.file
= LOCATE_exec
;
527 exec_NativeProcess_NativeProcess_kill_1(UNBOX_NativeProcess( self
), UNTAG_Int( param0
));
528 tracehead
= trace
.prev
;
531 val_t
exec___NativeProcess___in_fd(val_t self
) {
532 struct trace_t trace
= {NULL
, NULL
, 178, LOCATE_exec___NativeProcess___in_fd
};
533 val_t
*variable
= NULL
;
534 void **closurevariable
= NULL
;
535 trace
.prev
= tracehead
; tracehead
= &trace
;
536 trace
.file
= LOCATE_exec
;
537 tracehead
= trace
.prev
;
538 return TAG_Int(exec_NativeProcess_NativeProcess_in_fd_0(UNBOX_NativeProcess( self
)));
540 val_t
exec___NativeProcess___out_fd(val_t self
) {
541 struct trace_t trace
= {NULL
, NULL
, 179, LOCATE_exec___NativeProcess___out_fd
};
542 val_t
*variable
= NULL
;
543 void **closurevariable
= NULL
;
544 trace
.prev
= tracehead
; tracehead
= &trace
;
545 trace
.file
= LOCATE_exec
;
546 tracehead
= trace
.prev
;
547 return TAG_Int(exec_NativeProcess_NativeProcess_out_fd_0(UNBOX_NativeProcess( self
)));
549 val_t
exec___NativeProcess___err_fd(val_t self
) {
550 struct trace_t trace
= {NULL
, NULL
, 180, LOCATE_exec___NativeProcess___err_fd
};
551 val_t
*variable
= NULL
;
552 void **closurevariable
= NULL
;
553 trace
.prev
= tracehead
; tracehead
= &trace
;
554 trace
.file
= LOCATE_exec
;
555 tracehead
= trace
.prev
;
556 return TAG_Int(exec_NativeProcess_NativeProcess_err_fd_0(UNBOX_NativeProcess( self
)));