array C_nextFree893 integer C_firstFree507 integer C_maxIndex228 array C_typeId153 integer wurst_stack_depth150 array wurst_stack209 integer C_firstFree507 = 0 integer C_maxIndex228 = 0 integer wurst_stack_depth150 = 0 function initGlobals184() { } function main497() { initGlobals184(); init_test230("when calling init_test in recyling2, line 1"); } function config380() { } function init_test230(string __wurst_stackPos196) { local integer a433 wurst_stack_209[wurst_stack_depth_150] = __wurst_stackPos_196; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); a_433 = new_C213("when calling new_C in recyling2, line 9"); dispatch_C_destroyC385(a_433, "when calling dispatch_C_destroyC in recyling2, line 10"); a_433 = new_C213("when calling new_C in recyling2, line 11"); dispatch_C_destroyC385(a_433, "when calling dispatch_C_destroyC in recyling2, line 12"); a_433 = new_C213("when calling new_C in recyling2, line 13"); if (a_433 != new_C213("when calling new_C in recyling2, line 14")) { testSuccess126(); } else { }; wurst_stack_depth_150 = (wurst_stack_depth_150 - 1); } IS_NATIVE function testSuccess126() { } function new_C213(string __wurst_stackPos201) returns integer { local integer this188 wurst_stack_209[wurst_stack_depth_150] = __wurst_stackPos_201; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); wurst_stack_209[wurst_stack_depth_150] = "when calling alloc_C in recyling2, line 5"; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); if (C_firstFree_507 == 0) { if (C_maxIndex_228 < 32768) { C_maxIndex_228 = (C_maxIndex_228 + 1); this_188 = C_maxIndex_228; C_typeId_153[this_188] = 1; } else { error131("Out of memory: Could not create C.", "when calling error in recyling2, line 5"); this_188 = 0; }; } else { C_firstFree_507 = (C_firstFree_507 - 1); this_188 = C_nextFree_893[C_firstFree_507]; C_typeId_153[this_188] = 1; }; wurst_stack_depth_150 = ((wurst_stack_depth_150 - 1) - 1); return this_188; } function error131(string msg407, string __wurst_stackPos148) { local integer stacktraceIndex101 local integer stacktraceLimit536 wurst_stack_209[wurst_stack_depth_150] = __wurst_stackPos_148; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); __wurst_stackPos_148 = ""; stacktraceIndex_101 = wurst_stack_depth_150; stacktraceLimit_536 = 0; loop { stacktraceIndex_101 = (stacktraceIndex_101 - 1); stacktraceLimit_536 = (stacktraceLimit_536 + 1); exitwhen ((stacktraceLimit_536 > 20) or (stacktraceIndex_101 < 0)); __wurst_stackPos_148 = (__wurst_stackPos_148 + (" " + wurst_stack_209[stacktraceIndex_101])); }; $debugPrint213((msg_407 + (" " + __wurst_stackPos_148))); wurst_stack_depth_150 = (wurst_stack_depth_150 - 1); } function dispatch_C_destroyC385(integer this250, string __wurst_stackPos201) { wurst_stack_209[wurst_stack_depth_150] = __wurst_stackPos_201; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); if (C_typeId_153[this_250] == 0) { if (this_250 == 0) { error131("Nullpointer exception when calling C.C", "when calling error in recyling2, line 5"); } else { error131("Called C.C on invalid object.", "when calling error in recyling2, line 5"); }; } else { }; wurst_stack_209[wurst_stack_depth_150] = "when calling destroyC in recyling2, line 5"; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); wurst_stack_209[wurst_stack_depth_150] = "when calling dealloc_C in recyling2, line 5"; wurst_stack_depth_150 = (wurst_stack_depth_150 + 1); if (C_typeId_153[this_250] == 0) { error131("Double free: object of type C", "when calling error in recyling2, line 5"); } else { C_nextFree_893[C_firstFree_507] = this_250; C_firstFree_507 = (C_firstFree_507 + 1); C_typeId_153[this_250] = 0; }; wurst_stack_depth_150 = (((wurst_stack_depth_150 - 1) - 1) - 1); }