- variable5 = ((string___String___to_cstring_t)CALL( variable0 /*command*/,COLOR_string___String___to_cstring))( variable0 /*command*/) /*String::to_cstring*/;
- variable6 = ((string___String___to_cstring_t)CALL( variable3 /*args*/,COLOR_string___String___to_cstring))( variable3 /*args*/) /*String::to_cstring*/;
- variable5 = ((exec___Process___basic_exec_execute_t)CALL( self,COLOR_exec___Process___basic_exec_execute))( self, variable5, variable6, variable4 /*l*/, variable2 /*pipeflags*/) /*Process::basic_exec_execute*/;
- ATTR_exec___Process____data( self) /*Process::_data*/ = variable5;
- init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Process].i] = 1;
- tracehead = trace.prev;
- return;
-}
-val_t exec___Process___basic_exec_execute(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
- struct trace_t trace = {NULL, LOCATE_exec___Process___basic_exec_execute, 78};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return BOX_NativeProcess(exec_Process_Process_basic_exec_execute_4( self, UNBOX_NativeString( param0), UNBOX_NativeString( param1), UNTAG_Int( param2), UNTAG_Int( param3)));
-}
-void exec___IProcess___close(val_t self) {
- struct trace_t trace = {NULL, LOCATE_exec___IProcess___close, 87};
- val_t variable0;
- trace.prev = tracehead; tracehead = &trace;
- variable0 = ATTR_exec___IProcess____in( self) /*IProcess::_in*/;
- ((stream___FDStream___close_t)CALL(variable0,COLOR_stream___IOS___close))(variable0) /*FDIStream::close*/;
- tracehead = trace.prev;
+ REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
+ if (UNTAG_Bool(REGB2)) {
+ /* ./../lib/standard//exec.nit:62 */
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_exec, 62);
+ }
+ /* ./../lib/standard//collection//array.nit:231 */
+ fra.me.REG[4] = fra.me.REG[2];
+ /* ./../lib/standard//collection//array.nit:234 */
+ REGB2 = TAG_Int(0);
+ /* ./../lib/standard//collection//array.nit:235 */
+ REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
+ }
+ REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
+ /* ./../lib/standard//collection//array.nit:236 */
+ fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[4]);
+ /* ./../lib/standard//collection//array.nit:237 */
+ while(1) {
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
+ /* ./../lib/standard//kernel.nit:212 */
+ REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
+ /* ./../lib/standard//collection//array.nit:237 */
+ if (UNTAG_Bool(REGB3)) {
+ /* ./../lib/standard//collection//array.nit:238 */
+ REGB3 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
+ if (UNTAG_Bool(REGB3)) {
+ nit_abort("Reciever is null", NULL, LOCATE_array, 238);
+ }
+ /* ./../lib/standard//collection//array.nit:654 */
+ fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB2)];
+ /* ./../lib/standard//exec.nit:63 */
+ REGB3 = TAG_Char('\0');
+ CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], REGB3);
+ /* ./../lib/standard//exec.nit:64 */
+ CALL_abstract_collection___Sequence___append(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]);
+ /* ./../lib/standard//collection//array.nit:239 */
+ REGB3 = TAG_Int(1);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
+ /* ./../lib/standard//collection//array.nit:239 */
+ REGB2 = REGB3;
+ } else {
+ /* ./../lib/standard//collection//array.nit:237 */
+ goto label1;
+ }
+ }
+ label1: while(0);
+ /* ./../lib/standard//exec.nit:66 */
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ nit_abort("Reciever is null", NULL, LOCATE_exec, 66);
+ }
+ /* ./../lib/standard//collection//array.nit:23 */
+ REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
+ }
+ REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
+ /* ./../lib/standard//kernel.nit:215 */
+ REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
+ /* ./../lib/standard//exec.nit:66 */
+ REGB1 = REGB2;
+ }
+ /* ./../lib/standard//exec.nit:68 */
+ fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
+ fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[3] = CALL_string___String___to_cstring(fra.me.REG[3])(fra.me.REG[3]);
+ fra.me.REG[3] = CALL_exec___Process___basic_exec_execute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3], REGB1, REGB0);
+ ATTR_exec___Process____data(fra.me.REG[0]) = fra.me.REG[3];
+ stack_frame_head = fra.me.prev;
+ init_table[itpos2] = 1;