array IntList_elements698 array IntList_nextFree401 integer IntList_firstFree286 integer IntList_maxIndex814 array IntList_typeId126 array IntListIterator_nextFree713 integer IntListIterator_firstFree210 integer IntListIterator_maxIndex213 array IntListIterator_typeId687 array IntList_size649 array IntListIterator_list132 array IntListIterator_pos162 integer wurst_stack_depth158 array wurst_stack194 integer IntList_firstFree286 = 0 integer IntList_maxIndex814 = 0 integer IntListIterator_firstFree210 = 0 integer IntListIterator_maxIndex213 = 0 integer wurst_stack_depth158 = 0 function initGlobals257() { } function main123() { initGlobals257(); init_test797("when calling init_test in testForIn, line 1"); } function config220() { } function init_test797(string __wurst_stackPos112) { local integer sum208 local integer iterator198 local integer stackTrace_tempReturn173 wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_112; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); stackTrace_tempReturn_173 = dispatch_IntList_test_IntList_add558(dispatch_IntList_test_IntList_add558(dispatch_IntList_test_IntList_add558(new_IntList146("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_208 = 0; wurst_stack_194[wurst_stack_depth_158] = "when calling iterator in testForIn, line 30"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); stackTrace_tempReturn_173 = new_IntListIterator104(stackTrace_tempReturn_173, "when calling new_IntListIterator in testForIn, line 14"); wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); iterator_198 = stackTrace_tempReturn_173; loop { exitwhen (IntListIterator_pos_162[iterator_198] >= IntList_size_649[IntListIterator_list_132[iterator_198]]); wurst_stack_194[wurst_stack_depth_158] = "when calling next in testForIn, line 30"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); IntListIterator_pos_162[iterator_198] = (IntListIterator_pos_162[iterator_198] + 1); stackTrace_tempReturn_173 = dispatch_IntList_test_IntList_get277(IntListIterator_list_132[iterator_198], (IntListIterator_pos_162[iterator_198] - 1), "when calling get in testForIn, line 24"); wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); sum_208 = (sum_208 + stackTrace_tempReturn_173); }; wurst_stack_194[wurst_stack_depth_158] = "when calling close in testForIn, line 30"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); dispatch_IntListIterator_destroyIntListIterator201(iterator_198, "when calling dispatch_IntListIterator_destroyIntListIterator in testForIn, line 26"); wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); if (sum_208 == 15) { testSuccess185(); } else { }; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); } IS_NATIVE function testSuccess185() { } function new_IntList146(string __wurst_stackPos269) returns integer { local integer this213 wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_269; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); wurst_stack_194[wurst_stack_depth_158] = "when calling alloc_IntList in testForIn, line 2"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntList_firstFree_286 == 0) { if (IntList_maxIndex_814 < 32768) { IntList_maxIndex_814 = (IntList_maxIndex_814 + 1); this_213 = IntList_maxIndex_814; IntList_typeId_126[this_213] = 1; } else { error163("Out of memory: Could not create IntList.", "when calling error in testForIn, line 2"); this_213 = 0; }; } else { IntList_firstFree_286 = (IntList_firstFree_286 - 1); this_213 = IntList_nextFree_401[IntList_firstFree_286]; IntList_typeId_126[this_213] = 1; }; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); IntList_size_649[this_213] = 0; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); return this_213; } function new_IntListIterator104(integer list127, string __wurst_stackPos209) returns integer { local integer this196 wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_209; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); wurst_stack_194[wurst_stack_depth_158] = "when calling alloc_IntListIterator in testForIn, line 18"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntListIterator_firstFree_210 == 0) { if (IntListIterator_maxIndex_213 < 32768) { IntListIterator_maxIndex_213 = (IntListIterator_maxIndex_213 + 1); this_196 = IntListIterator_maxIndex_213; IntListIterator_typeId_687[this_196] = 2; } else { error163("Out of memory: Could not create IntListIterator.", "when calling error in testForIn, line 15"); this_196 = 0; }; } else { IntListIterator_firstFree_210 = (IntListIterator_firstFree_210 - 1); this_196 = IntListIterator_nextFree_713[IntListIterator_firstFree_210]; IntListIterator_typeId_687[this_196] = 2; }; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); IntListIterator_pos_162[this_196] = 0; IntListIterator_list_132[this_196] = list_127; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); return this_196; } function error163(string msg137, string __wurst_stackPos160) { local integer stacktraceIndex124 local integer stacktraceLimit134 wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_160; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); __wurst_stackPos_160 = ""; stacktraceIndex_124 = wurst_stack_depth_158; stacktraceLimit_134 = 0; loop { stacktraceIndex_124 = (stacktraceIndex_124 - 1); stacktraceLimit_134 = (stacktraceLimit_134 + 1); exitwhen ((stacktraceLimit_134 > 20) or (stacktraceIndex_124 < 0)); __wurst_stackPos_160 = (__wurst_stackPos_160 + (" " + wurst_stack_194[stacktraceIndex_124])); }; $debugPrint186((msg_137 + (" " + __wurst_stackPos_160))); wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); } function dispatch_IntList_test_IntList_add558(integer this179, integer x173, string __wurst_stackPos106) returns integer { wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_106; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntList_typeId_126[this_179] == 0) { if (this_179 == 0) { error163("Nullpointer exception when calling IntList.add", "when calling error in testForIn, line 7"); } else { error163("Called IntList.add on invalid object.", "when calling error in testForIn, line 7"); }; } else { }; wurst_stack_194[wurst_stack_depth_158] = "when calling add in testForIn, line 7"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); wurst_stack_194[wurst_stack_depth_158] = "when calling getOffset in testForIn, line 8"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntList_typeId_126[this_179] == 0) { if (this_179 == 0) { error163("Nullpointer exception when calling IntList.getOffset", "when calling error in testForIn, line 5"); } else { error163("Called IntList.getOffset on invalid object.", "when calling error in testForIn, line 5"); }; } else { }; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); IntList_elements_698[((64 * ((this_179 castTo integer) - 1)) + IntList_size_649[this_179])] = x_173; IntList_size_649[this_179] = (IntList_size_649[this_179] + 1); wurst_stack_depth_158 = ((wurst_stack_depth_158 - 1) - 1); return this_179; } function dispatch_IntList_test_IntList_get277(integer this155, integer i118, string __wurst_stackPos147) returns integer { wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_147; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntList_typeId_126[this_155] == 0) { if (this_155 == 0) { error163("Nullpointer exception when calling IntList.get", "when calling error in testForIn, line 11"); } else { error163("Called IntList.get on invalid object.", "when calling error in testForIn, line 11"); }; } else { }; wurst_stack_194[wurst_stack_depth_158] = "when calling get in testForIn, line 11"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); wurst_stack_194[wurst_stack_depth_158] = "when calling getOffset in testForIn, line 12"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntList_typeId_126[this_155] == 0) { if (this_155 == 0) { error163("Nullpointer exception when calling IntList.getOffset", "when calling error in testForIn, line 5"); } else { error163("Called IntList.getOffset on invalid object.", "when calling error in testForIn, line 5"); }; } else { }; wurst_stack_depth_158 = (wurst_stack_depth_158 - 1); this_155 = IntList_elements_698[((64 * ((this_155 castTo integer) - 1)) + i_118)]; wurst_stack_depth_158 = ((wurst_stack_depth_158 - 1) - 1); return this_155; } function dispatch_IntListIterator_destroyIntListIterator201(integer this975, string __wurst_stackPos171) { wurst_stack_194[wurst_stack_depth_158] = __wurst_stackPos_171; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntListIterator_typeId_687[this_975] == 0) { if (this_975 == 0) { error163("Nullpointer exception when calling IntListIterator.IntListIterator", "when calling error in testForIn, line 15"); } else { error163("Called IntListIterator.IntListIterator on invalid object.", "when calling error in testForIn, line 15"); }; } else { }; wurst_stack_194[wurst_stack_depth_158] = "when calling destroyIntListIterator in testForIn, line 15"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); wurst_stack_194[wurst_stack_depth_158] = "when calling dealloc_IntListIterator in testForIn, line 15"; wurst_stack_depth_158 = (wurst_stack_depth_158 + 1); if (IntListIterator_typeId_687[this_975] == 0) { error163("Double free: object of type IntListIterator", "when calling error in testForIn, line 15"); } else { IntListIterator_nextFree_713[IntListIterator_firstFree_210] = this_975; IntListIterator_firstFree_210 = (IntListIterator_firstFree_210 + 1); IntListIterator_typeId_687[this_975] = 0; }; wurst_stack_depth_158 = (((wurst_stack_depth_158 - 1) - 1) - 1); }