Idris2/tests/refc/callingConvention/expected
Hattori, Hiroki 034f1e89c4
[RefC] [Cleanup] erase ReturnStatement (#3210)
* [RefC] [Cleanup] erase ReturnStatement

* [Test] Specify LC_ALL=C.UTF-8 for sort command to avoid false failure from locale.
2024-02-15 08:16:46 -06:00

659 lines
25 KiB
Plaintext

Value *Main_last
(
Value * var_0
, Value * var_1
);
Value *Main_last_arglist(Value_Arglist* arglist);
Value *Main_last
(
Value * var_0
, Value * var_1
)
{
Value * tmp_136 = NULL; // Main:5:8--5:14
if (((Value_Constructor *)var_0)->tag == 0) {
removeReference(var_0);
tmp_136 = var_1;
} else if (((Value_Constructor *)var_0)->tag == 1) {
Value *var_2 = ((Value_Constructor*)var_0)->args[0];
Value *var_3 = ((Value_Constructor*)var_0)->args[1];
newReference(var_2);
newReference(var_3);
removeReference(var_0);
removeReference(var_1);
// start Main_last(var_3, var_2) // Main:7:20--7:24
Value_Arglist *arglist_137 = newArglist(0,2);
arglist_137->args[0] = var_3;
arglist_137->args[1] = var_2;
Value *(*fPtr_138)(Value_Arglist*) = Main_last_arglist;
// Main:7:20--7:24
Value *closure_138 = (Value*)makeClosureFromArglist(fPtr_138, arglist_137);
// Main:7:20--7:24
// end Main_last(var_3, var_2) // Main:7:20--7:24
tmp_136 = closure_138;
}
return tmp_136;
}
Value *Main_last_arglist(Value_Arglist* arglist)
{
return Main_last
(
arglist->args[0]
, arglist->args[1]
);
}
Value *Main_main_0
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_0_arglist(Value_Arglist* arglist);
Value *Main_main_1
(
Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_1_arglist(Value_Arglist* arglist);
Value *Main_main_2
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_2_arglist(Value_Arglist* arglist);
Value *Main_main_3
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_3_arglist(Value_Arglist* arglist);
Value *Main_main_4
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_4_arglist(Value_Arglist* arglist);
Value *Main_main_5
(
Value * var_1
, Value * var_0
);
Value *Main_main_5_arglist(Value_Arglist* arglist);
Value *Main_main_6
(
Value * var_6
, Value * var_5
, Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_6_arglist(Value_Arglist* arglist);
Value *Main_main_7
(
Value * var_1
, Value * var_0
);
Value *Main_main_7_arglist(Value_Arglist* arglist);
Value *Main_main_8
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
);
Value *Main_main_8_arglist(Value_Arglist* arglist);
Value *Main_main_9
(
Value * var_1
, Value * var_0
);
Value *Main_main_9_arglist(Value_Arglist* arglist);
Value *Main_main_10
(
Value * var_1
, Value * var_0
);
Value *Main_main_10_arglist(Value_Arglist* arglist);
Value *Main_main_11
(
Value * var_0
);
Value *Main_main_11_arglist(Value_Arglist* arglist);
Value *Main_main(void);
Value *Main_main_arglist(Value_Arglist* arglist);
Value *Main_main(void)
{
Value_Arglist *arglist_74 = newArglist(2,2);
Value *(*closure_75)(Value_Arglist*) = Main_main_9_arglist;
// Main:10:13--10:17
Value * var_8 = (Value*)makeClosureFromArglist(closure_75, arglist_74);
// Main:10:8--10:12
Value_Arglist *arglist_76 = newArglist(2,2);
Value *(*closure_77)(Value_Arglist*) = Main_main_10_arglist;
// Main:10:27--10:28
Value * var_9 = (Value*)makeClosureFromArglist(closure_77, arglist_76);
// Main:10:8--10:12
Value_Constructor* constructor_78 = newConstructor(0, 0, "Prelude_Basics_Nil");
// Main:11:8--11:10
// constructor Prelude_Basics_Nil // Main:11:8--11:10
Value * var_6 = (Value*)constructor_78; // Main:11:11--11:13
Value_Constructor* constructor_79 = newConstructor(0, 0, "Prelude_Basics_Lin");
// Prelude.Types:605:21--605:24
// constructor Prelude_Basics_Lin // Prelude.Types:605:21--605:24
Value * var_3 = (Value*)constructor_79; // Prelude.Types:605:11--605:20
Value_Arglist *arglist_80 = newArglist(1,1);
Value *(*closure_81)(Value_Arglist*) = Main_main_11_arglist;
// Main:11:21--11:22
Value * var_4 = (Value*)makeClosureFromArglist(closure_81, arglist_80);
// Prelude.Types:605:11--605:20
// start csegen_44()
Value_Arglist *arglist_82 = newArglist(0,0);
Value *(*fPtr_83)(Value_Arglist*) = csegen_44_arglist;
Value *closure_83 = (Value*)makeClosureFromArglist(fPtr_83, arglist_82);
// end csegen_44()
Value * var_0 = trampoline(closure_83); // Prelude.Types:1121:1--1138:48
Value * var_1 = (Value*)makeIntegerLiteral("1"); // Prelude.Types:1121:1--1138:48
Value * var_2 = (Value*)makeIntegerLiteral("5"); // Prelude.Types:1121:1--1138:48
// start Prelude_Types_rangeFromTo_Range__dollara(var_0, var_1, var_2)
// Prelude.Types:1121:1--1138:48
Value_Arglist *arglist_84 = newArglist(0,3);
arglist_84->args[0] = var_0;
arglist_84->args[1] = var_1;
arglist_84->args[2] = var_2;
Value *(*fPtr_85)(Value_Arglist*) = Prelude_Types_rangeFromTo_Range__dollara_arglist;
// Prelude.Types:1121:1--1138:48
Value *closure_85 = (Value*)makeClosureFromArglist(fPtr_85, arglist_84);
// Prelude.Types:1121:1--1138:48
// end Prelude_Types_rangeFromTo_Range__dollara(var_0, var_1, var_2)
// Prelude.Types:1121:1--1138:48
Value * var_5 = trampoline(closure_85); // Prelude.Types:605:11--605:20
// start Prelude_Types_List_mapAppend(var_3, var_4, var_5)
// Prelude.Types:605:11--605:20
Value_Arglist *arglist_86 = newArglist(0,3);
arglist_86->args[0] = var_3;
arglist_86->args[1] = var_4;
arglist_86->args[2] = var_5;
Value *(*fPtr_87)(Value_Arglist*) = Prelude_Types_List_mapAppend_arglist;
// Prelude.Types:605:11--605:20
Value *closure_87 = (Value*)makeClosureFromArglist(fPtr_87, arglist_86);
// Prelude.Types:605:11--605:20
// end Prelude_Types_List_mapAppend(var_3, var_4, var_5)
// Prelude.Types:605:11--605:20
Value * var_7 = trampoline(closure_87); // Main:11:11--11:13
Value_Constructor* constructor_88 = newConstructor(2, 1, "Prelude_Basics__colon_colon");
// Main:11:11--11:13
// constructor Prelude_Basics__colon_colon // Main:11:11--11:13
constructor_88->args[0] = var_6;
constructor_88->args[1] = var_7;
Value * var_10 = (Value*)constructor_88; // Main:10:8--10:12
// start Prelude_Basics_flip(var_8, var_9, var_10) // Main:10:8--10:12
Value_Arglist *arglist_89 = newArglist(0,3);
arglist_89->args[0] = var_8;
arglist_89->args[1] = var_9;
arglist_89->args[2] = var_10;
Value *(*fPtr_90)(Value_Arglist*) = Prelude_Basics_flip_arglist;
// Main:10:8--10:12
Value *closure_90 = (Value*)makeClosureFromArglist(fPtr_90, arglist_89);
// Main:10:8--10:12
// end Prelude_Basics_flip(var_8, var_9, var_10) // Main:10:8--10:12
return closure_90;
}
Value *Main_main_arglist(Value_Arglist* arglist)
{
return Main_main
(
);
}
Value *Main_main_11
(
Value * var_0
)
{
// start csegen_44()
Value_Arglist *arglist_91 = newArglist(0,0);
Value *(*fPtr_92)(Value_Arglist*) = csegen_44_arglist;
Value *closure_92 = (Value*)makeClosureFromArglist(fPtr_92, arglist_91);
// end csegen_44()
Value * var_1 = trampoline(closure_92); // Prelude.Types:1121:1--1138:48
Value * var_2 = (Value*)makeIntegerLiteral("1"); // Prelude.Types:1121:1--1138:48
// start Prelude_Types_rangeFromTo_Range__dollara(var_1, var_2, var_0)
// Prelude.Types:1121:1--1138:48
Value_Arglist *arglist_93 = newArglist(0,3);
arglist_93->args[0] = var_1;
arglist_93->args[1] = var_2;
arglist_93->args[2] = var_0;
Value *(*fPtr_94)(Value_Arglist*) = Prelude_Types_rangeFromTo_Range__dollara_arglist;
// Prelude.Types:1121:1--1138:48
Value *closure_94 = (Value*)makeClosureFromArglist(fPtr_94, arglist_93);
// Prelude.Types:1121:1--1138:48
// end Prelude_Types_rangeFromTo_Range__dollara(var_1, var_2, var_0)
// Prelude.Types:1121:1--1138:48
return closure_94;
}
Value *Main_main_11_arglist(Value_Arglist* arglist)
{
return Main_main_11
(
arglist->args[0]
);
}
Value *Main_main_10
(
Value * var_1
, Value * var_0
)
{
Value * var_2 = (Value*)makeIntegerLiteral("0"); // Main:10:30--10:36
// start Main_last(var_1, var_2) // Main:10:30--10:36
Value_Arglist *arglist_95 = newArglist(0,2);
arglist_95->args[0] = var_1;
arglist_95->args[1] = var_2;
Value *(*fPtr_96)(Value_Arglist*) = Main_last_arglist; // Main:10:30--10:36
Value *closure_96 = (Value*)makeClosureFromArglist(fPtr_96, arglist_95);
// Main:10:30--10:36
// end Main_last(var_1, var_2) // Main:10:30--10:36
Value * var_3 = trampoline(closure_96); // Prelude.Show:110:1--112:50
// start Prelude_Show_show_Show_Integer(var_3) // Prelude.Show:110:1--112:50
Value_Arglist *arglist_97 = newArglist(0,1);
arglist_97->args[0] = var_3;
Value *(*fPtr_98)(Value_Arglist*) = Prelude_Show_show_Show_Integer_arglist;
// Prelude.Show:110:1--112:50
Value *closure_98 = (Value*)makeClosureFromArglist(fPtr_98, arglist_97);
// Prelude.Show:110:1--112:50
// end Prelude_Show_show_Show_Integer(var_3) // Prelude.Show:110:1--112:50
Value * var_4 = trampoline(closure_98);
Value * var_5 = (Value*)makeString("\x0a""");
Value *primVar_99 = strAppend(var_4, var_5);
removeReference(var_5);
removeReference(var_4);
Value * var_6 = primVar_99; // Prelude.IO:98:22--98:34
// start Prelude_IO_prim__putStr(var_6, var_0) // Prelude.IO:98:22--98:34
Value_Arglist *arglist_100 = newArglist(0,2);
arglist_100->args[0] = var_6;
arglist_100->args[1] = var_0;
Value *(*fPtr_101)(Value_Arglist*) = Prelude_IO_prim__putStr_arglist;
// Prelude.IO:98:22--98:34
Value *closure_101 = (Value*)makeClosureFromArglist(fPtr_101, arglist_100);
// Prelude.IO:98:22--98:34
// end Prelude_IO_prim__putStr(var_6, var_0) // Prelude.IO:98:22--98:34
return closure_101;
}
Value *Main_main_10_arglist(Value_Arglist* arglist)
{
return Main_main_10
(
arglist->args[0]
, arglist->args[1]
);
}
Value *Main_main_9
(
Value * var_1
, Value * var_0
)
{
Value_Arglist *arglist_102 = newArglist(5,5);
Value *(*closure_103)(Value_Arglist*) = Main_main_0_arglist;
Value * var_2 = (Value*)makeClosureFromArglist(closure_103, arglist_102);
// Prelude.IO:19:1--26:30
Value_Arglist *arglist_104 = newArglist(3,3);
Value *(*closure_105)(Value_Arglist*) = Main_main_1_arglist;
Value * var_3 = (Value*)makeClosureFromArglist(closure_105, arglist_104);
// Prelude.IO:19:1--26:30
Value_Arglist *arglist_106 = newArglist(5,5);
Value *(*closure_107)(Value_Arglist*) = Main_main_2_arglist;
Value * var_4 = (Value*)makeClosureFromArglist(closure_107, arglist_106);
// Prelude.IO:19:1--26:30
Value_Constructor* constructor_108 = newConstructor(3, 0, "Prelude_Interfaces_MkApplicative");
// Prelude.IO:19:1--26:30
// constructor Prelude_Interfaces_MkApplicative // Prelude.IO:19:1--26:30
constructor_108->args[0] = var_2;
constructor_108->args[1] = var_3;
constructor_108->args[2] = var_4;
Value * var_11 = (Value*)constructor_108; // Main:10:13--10:17
Value_Arglist *arglist_109 = newArglist(5,5);
Value *(*closure_110)(Value_Arglist*) = Main_main_3_arglist;
Value * var_5 = (Value*)makeClosureFromArglist(closure_110, arglist_109);
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_111 = newArglist(5,5);
Value *(*closure_112)(Value_Arglist*) = Main_main_4_arglist;
Value * var_6 = (Value*)makeClosureFromArglist(closure_112, arglist_111);
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_113 = newArglist(2,2);
Value *(*closure_114)(Value_Arglist*) = Main_main_5_arglist;
Value * var_7 = (Value*)makeClosureFromArglist(closure_114, arglist_113);
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_115 = newArglist(7,7);
Value *(*closure_116)(Value_Arglist*) = Main_main_6_arglist;
Value * var_8 = (Value*)makeClosureFromArglist(closure_116, arglist_115);
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_117 = newArglist(2,2);
Value *(*closure_118)(Value_Arglist*) = Main_main_7_arglist;
Value * var_9 = (Value*)makeClosureFromArglist(closure_118, arglist_117);
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_119 = newArglist(5,5);
Value *(*closure_120)(Value_Arglist*) = Main_main_8_arglist;
Value * var_10 = (Value*)makeClosureFromArglist(closure_120, arglist_119);
// Prelude.Types:656:1--669:59
Value_Constructor* constructor_121 = newConstructor(6, 0, "Prelude_Interfaces_MkFoldable");
// Prelude.Types:656:1--669:59
// constructor Prelude_Interfaces_MkFoldable // Prelude.Types:656:1--669:59
constructor_121->args[0] = var_5;
constructor_121->args[1] = var_6;
constructor_121->args[2] = var_7;
constructor_121->args[3] = var_8;
constructor_121->args[4] = var_9;
constructor_121->args[5] = var_10;
Value * var_12 = (Value*)constructor_121; // Main:10:13--10:17
// start Prelude_Interfaces_for_(var_11, var_12, var_1, var_0)
// Main:10:13--10:17
Value_Arglist *arglist_122 = newArglist(0,4);
arglist_122->args[0] = var_11;
arglist_122->args[1] = var_12;
arglist_122->args[2] = var_1;
arglist_122->args[3] = var_0;
Value *(*fPtr_123)(Value_Arglist*) = Prelude_Interfaces_for__arglist;
// Main:10:13--10:17
Value *closure_123 = (Value*)makeClosureFromArglist(fPtr_123, arglist_122);
// Main:10:13--10:17
// end Prelude_Interfaces_for_(var_11, var_12, var_1, var_0)
// Main:10:13--10:17
return closure_123;
}
Value *Main_main_9_arglist(Value_Arglist* arglist)
{
return Main_main_9
(
arglist->args[0]
, arglist->args[1]
);
}
Value *Main_main_8
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_3);
removeReference(var_4);
// start Prelude_Types_foldMap_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_124 = newArglist(0,3);
arglist_124->args[0] = var_2;
arglist_124->args[1] = var_1;
arglist_124->args[2] = var_0;
Value *(*fPtr_125)(Value_Arglist*) = Prelude_Types_foldMap_Foldable_List_arglist;
// Prelude.Types:656:1--669:59
Value *closure_125 = (Value*)makeClosureFromArglist(fPtr_125, arglist_124);
// Prelude.Types:656:1--669:59
// end Prelude_Types_foldMap_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
return closure_125;
}
Value *Main_main_8_arglist(Value_Arglist* arglist)
{
return Main_main_8
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
);
}
Value *Main_main_7
(
Value * var_1
, Value * var_0
)
{
removeReference(var_1);
return var_0;
}
Value *Main_main_7_arglist(Value_Arglist* arglist)
{
return Main_main_7
(
arglist->args[0]
, arglist->args[1]
);
}
Value *Main_main_6
(
Value * var_6
, Value * var_5
, Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_4);
removeReference(var_5);
removeReference(var_6);
// start Prelude_Types_foldlM_Foldable_List(var_3, var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_126 = newArglist(0,4);
arglist_126->args[0] = var_3;
arglist_126->args[1] = var_2;
arglist_126->args[2] = var_1;
arglist_126->args[3] = var_0;
Value *(*fPtr_127)(Value_Arglist*) = Prelude_Types_foldlM_Foldable_List_arglist;
// Prelude.Types:656:1--669:59
Value *closure_127 = (Value*)makeClosureFromArglist(fPtr_127, arglist_126);
// Prelude.Types:656:1--669:59
// end Prelude_Types_foldlM_Foldable_List(var_3, var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
return closure_127;
}
Value *Main_main_6_arglist(Value_Arglist* arglist)
{
return Main_main_6
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
, arglist->args[5]
, arglist->args[6]
);
}
Value *Main_main_5
(
Value * var_1
, Value * var_0
)
{
removeReference(var_1);
// start Prelude_Types_null_Foldable_List(var_0) // Prelude.Types:656:1--669:59
Value_Arglist *arglist_128 = newArglist(0,1);
arglist_128->args[0] = var_0;
Value *(*fPtr_129)(Value_Arglist*) = Prelude_Types_null_Foldable_List_arglist;
// Prelude.Types:656:1--669:59
Value *closure_129 = (Value*)makeClosureFromArglist(fPtr_129, arglist_128);
// Prelude.Types:656:1--669:59
// end Prelude_Types_null_Foldable_List(var_0) // Prelude.Types:656:1--669:59
return closure_129;
}
Value *Main_main_5_arglist(Value_Arglist* arglist)
{
return Main_main_5
(
arglist->args[0]
, arglist->args[1]
);
}
Value *Main_main_4
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_3);
removeReference(var_4);
// start Prelude_Types_foldl_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_130 = newArglist(0,3);
arglist_130->args[0] = var_2;
arglist_130->args[1] = var_1;
arglist_130->args[2] = var_0;
Value *(*fPtr_131)(Value_Arglist*) = Prelude_Types_foldl_Foldable_List_arglist;
// Prelude.Types:656:1--669:59
Value *closure_131 = (Value*)makeClosureFromArglist(fPtr_131, arglist_130);
// Prelude.Types:656:1--669:59
// end Prelude_Types_foldl_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
return closure_131;
}
Value *Main_main_4_arglist(Value_Arglist* arglist)
{
return Main_main_4
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
);
}
Value *Main_main_3
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_3);
removeReference(var_4);
// start Prelude_Types_foldr_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
Value_Arglist *arglist_132 = newArglist(0,3);
arglist_132->args[0] = var_2;
arglist_132->args[1] = var_1;
arglist_132->args[2] = var_0;
Value *(*fPtr_133)(Value_Arglist*) = Prelude_Types_foldr_Foldable_List_arglist;
// Prelude.Types:656:1--669:59
Value *closure_133 = (Value*)makeClosureFromArglist(fPtr_133, arglist_132);
// Prelude.Types:656:1--669:59
// end Prelude_Types_foldr_Foldable_List(var_2, var_1, var_0)
// Prelude.Types:656:1--669:59
return closure_133;
}
Value *Main_main_3_arglist(Value_Arglist* arglist)
{
return Main_main_3
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
);
}
Value *Main_main_2
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_3);
removeReference(var_4);
Value * var_5 = apply_closure(var_2, newReference(var_0));
// Prelude.IO:24:9--24:16
Value * var_6 = apply_closure(var_1, var_0); // Prelude.IO:25:11--25:18
return tailcall_apply_closure(var_5, var_6);
}
Value *Main_main_2_arglist(Value_Arglist* arglist)
{
return Main_main_2
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
);
}
Value *Main_main_1
(
Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_0);
removeReference(var_2);
return var_1;
}
Value *Main_main_1_arglist(Value_Arglist* arglist)
{
return Main_main_1
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
);
}
Value *Main_main_0
(
Value * var_4
, Value * var_3
, Value * var_2
, Value * var_1
, Value * var_0
)
{
removeReference(var_3);
removeReference(var_4);
// start Prelude_IO_map_Functor_IO(var_2, var_1, var_0) // Prelude.IO:15:1--17:38
Value_Arglist *arglist_134 = newArglist(0,3);
arglist_134->args[0] = var_2;
arglist_134->args[1] = var_1;
arglist_134->args[2] = var_0;
Value *(*fPtr_135)(Value_Arglist*) = Prelude_IO_map_Functor_IO_arglist;
// Prelude.IO:15:1--17:38
Value *closure_135 = (Value*)makeClosureFromArglist(fPtr_135, arglist_134);
// Prelude.IO:15:1--17:38
// end Prelude_IO_map_Functor_IO(var_2, var_1, var_0) // Prelude.IO:15:1--17:38
return closure_135;
}
Value *Main_main_0_arglist(Value_Arglist* arglist)
{
return Main_main_0
(
arglist->args[0]
, arglist->args[1]
, arglist->args[2]
, arglist->args[3]
, arglist->args[4]
);
}