array IntList_elements209 array IntList_nextFree208 integer IntList_firstFree648 integer IntList_maxIndex111 array IntList_typeId169 array IntListIterator_nextFree207 integer IntListIterator_firstFree101 integer IntListIterator_maxIndex877 array IntListIterator_typeId830 array IntList_size180 array IntListIterator_list933 array IntListIterator_pos958 integer wurst_stack_depth148 array wurst_stack123 integer IntList_firstFree648 = 0 integer IntList_maxIndex111 = 0 integer IntListIterator_firstFree101 = 0 integer IntListIterator_maxIndex877 = 0 integer wurst_stack_depth148 = 0 function initGlobals980() { } function main202() { initGlobals980(); init_test208("when calling init_test in testForIn, line 1"); } function config612() { } function init_test208(string __wurst_stackPos355) { local integer sum230 local integer iterator102 local integer stackTrace_tempReturn978 wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_355; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); stackTrace_tempReturn_978 = dispatch_IntList_test_IntList_add218(dispatch_IntList_test_IntList_add218(dispatch_IntList_test_IntList_add218(new_IntList604("when calling new_IntList in testForIn, line 28"), 7, "when calling add in testForIn, line 28"), 3, "when calling add in testForIn, line 28"), 5, "when calling add in testForIn, line 28"); sum_230 = 0; wurst_stack_123[wurst_stack_depth_148] = "when calling iterator in testForIn, line 30"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); stackTrace_tempReturn_978 = new_IntListIterator510(stackTrace_tempReturn_978, "when calling new_IntListIterator in testForIn, line 14"); wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); iterator_102 = stackTrace_tempReturn_978; loop { exitwhen (IntListIterator_pos_958[iterator_102] >= IntList_size_180[IntListIterator_list_933[iterator_102]]); wurst_stack_123[wurst_stack_depth_148] = "when calling next in testForIn, line 30"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); IntListIterator_pos_958[iterator_102] = (IntListIterator_pos_958[iterator_102] + 1); stackTrace_tempReturn_978 = dispatch_IntList_test_IntList_get464(IntListIterator_list_933[iterator_102], (IntListIterator_pos_958[iterator_102] - 1), "when calling get in testForIn, line 24"); wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); sum_230 = (sum_230 + stackTrace_tempReturn_978); }; wurst_stack_123[wurst_stack_depth_148] = "when calling close in testForIn, line 30"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); dispatch_IntListIterator_destroyIntListIterator511(iterator_102, "when calling dispatch_IntListIterator_destroyIntListIterator in testForIn, line 26"); wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); if (sum_230 == 15) { testSuccess201(); } else { }; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); } IS_NATIVE function testSuccess201() { } function new_IntList604(string __wurst_stackPos115) returns integer { local integer this184 wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_115; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); wurst_stack_123[wurst_stack_depth_148] = "when calling alloc_IntList in testForIn, line 2"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntList_firstFree_648 == 0) { if (IntList_maxIndex_111 < 32768) { IntList_maxIndex_111 = (IntList_maxIndex_111 + 1); this_184 = IntList_maxIndex_111; IntList_typeId_169[this_184] = 1; } else { error164("Out of memory: Could not create IntList.", "when calling error in testForIn, line 2"); this_184 = 0; }; } else { IntList_firstFree_648 = (IntList_firstFree_648 - 1); this_184 = IntList_nextFree_208[IntList_firstFree_648]; IntList_typeId_169[this_184] = 1; }; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); IntList_size_180[this_184] = 0; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); return this_184; } function new_IntListIterator510(integer list107, string __wurst_stackPos744) returns integer { local integer this504 wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_744; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); wurst_stack_123[wurst_stack_depth_148] = "when calling alloc_IntListIterator in testForIn, line 18"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntListIterator_firstFree_101 == 0) { if (IntListIterator_maxIndex_877 < 32768) { IntListIterator_maxIndex_877 = (IntListIterator_maxIndex_877 + 1); this_504 = IntListIterator_maxIndex_877; IntListIterator_typeId_830[this_504] = 2; } else { error164("Out of memory: Could not create IntListIterator.", "when calling error in testForIn, line 15"); this_504 = 0; }; } else { IntListIterator_firstFree_101 = (IntListIterator_firstFree_101 - 1); this_504 = IntListIterator_nextFree_207[IntListIterator_firstFree_101]; IntListIterator_typeId_830[this_504] = 2; }; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); IntListIterator_pos_958[this_504] = 0; IntListIterator_list_933[this_504] = list_107; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); return this_504; } function error164(string msg654, string __wurst_stackPos177) { local integer stacktraceIndex213 local integer stacktraceLimit120 wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_177; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); __wurst_stackPos_177 = ""; stacktraceIndex_213 = wurst_stack_depth_148; stacktraceLimit_120 = 0; loop { stacktraceIndex_213 = (stacktraceIndex_213 - 1); stacktraceLimit_120 = (stacktraceLimit_120 + 1); exitwhen ((stacktraceLimit_120 > 20) or (stacktraceIndex_213 < 0)); __wurst_stackPos_177 = (__wurst_stackPos_177 + (" " + wurst_stack_123[stacktraceIndex_213])); }; $debugPrint165((msg_654 + (" " + __wurst_stackPos_177))); wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); } function dispatch_IntList_test_IntList_add218(integer this166, integer x204, string __wurst_stackPos103) returns integer { wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_103; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntList_typeId_169[this_166] == 0) { if (this_166 == 0) { error164("Nullpointer exception when calling IntList.add", "when calling error in testForIn, line 7"); } else { error164("Called IntList.add on invalid object.", "when calling error in testForIn, line 7"); }; } else { }; wurst_stack_123[wurst_stack_depth_148] = "when calling add in testForIn, line 7"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); wurst_stack_123[wurst_stack_depth_148] = "when calling getOffset in testForIn, line 8"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntList_typeId_169[this_166] == 0) { if (this_166 == 0) { error164("Nullpointer exception when calling IntList.getOffset", "when calling error in testForIn, line 5"); } else { error164("Called IntList.getOffset on invalid object.", "when calling error in testForIn, line 5"); }; } else { }; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); IntList_elements_209[((64 * ((this_166 castTo integer) - 1)) + IntList_size_180[this_166])] = x_204; IntList_size_180[this_166] = (IntList_size_180[this_166] + 1); wurst_stack_depth_148 = ((wurst_stack_depth_148 - 1) - 1); return this_166; } function dispatch_IntList_test_IntList_get464(integer this580, integer i352, string __wurst_stackPos158) returns integer { wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_158; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntList_typeId_169[this_580] == 0) { if (this_580 == 0) { error164("Nullpointer exception when calling IntList.get", "when calling error in testForIn, line 11"); } else { error164("Called IntList.get on invalid object.", "when calling error in testForIn, line 11"); }; } else { }; wurst_stack_123[wurst_stack_depth_148] = "when calling get in testForIn, line 11"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); wurst_stack_123[wurst_stack_depth_148] = "when calling getOffset in testForIn, line 12"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntList_typeId_169[this_580] == 0) { if (this_580 == 0) { error164("Nullpointer exception when calling IntList.getOffset", "when calling error in testForIn, line 5"); } else { error164("Called IntList.getOffset on invalid object.", "when calling error in testForIn, line 5"); }; } else { }; wurst_stack_depth_148 = (wurst_stack_depth_148 - 1); this_580 = IntList_elements_209[((64 * ((this_580 castTo integer) - 1)) + i_352)]; wurst_stack_depth_148 = ((wurst_stack_depth_148 - 1) - 1); return this_580; } function dispatch_IntListIterator_destroyIntListIterator511(integer this183, string __wurst_stackPos346) { wurst_stack_123[wurst_stack_depth_148] = __wurst_stackPos_346; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntListIterator_typeId_830[this_183] == 0) { if (this_183 == 0) { error164("Nullpointer exception when calling IntListIterator.IntListIterator", "when calling error in testForIn, line 15"); } else { error164("Called IntListIterator.IntListIterator on invalid object.", "when calling error in testForIn, line 15"); }; } else { }; wurst_stack_123[wurst_stack_depth_148] = "when calling destroyIntListIterator in testForIn, line 15"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); wurst_stack_123[wurst_stack_depth_148] = "when calling dealloc_IntListIterator in testForIn, line 15"; wurst_stack_depth_148 = (wurst_stack_depth_148 + 1); if (IntListIterator_typeId_830[this_183] == 0) { error164("Double free: object of type IntListIterator", "when calling error in testForIn, line 15"); } else { IntListIterator_nextFree_207[IntListIterator_firstFree_101] = this_183; IntListIterator_firstFree_101 = (IntListIterator_firstFree_101 + 1); IntListIterator_typeId_830[this_183] = 0; }; wurst_stack_depth_148 = (((wurst_stack_depth_148 - 1) - 1) - 1); }