array C_nextFree193 integer C_firstFree278 integer C_maxIndex142 array C_typeId362 array C_i554 integer wurst_stack_depth200 array wurst_stack197 integer C_firstFree278 = 0 integer C_maxIndex142 = 0 integer wurst_stack_depth200 = 0 function initGlobals967() { } function main129() { initGlobals967(); wurst_stack_197[wurst_stack_depth_200] = "when calling init_test in ondestroy, line 1"; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); dispatch_C_destroyC765(new_C204("when calling new_C in ondestroy, line 9"), "when calling dispatch_C_destroyC in ondestroy, line 9"); wurst_stack_depth_200 = (wurst_stack_depth_200 - 1); } function config255() { } IS_NATIVE function testSuccess248() { } function new_C204(string __wurst_stackPos245) returns integer { local integer this101 wurst_stack_197[wurst_stack_depth_200] = __wurst_stackPos_245; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); wurst_stack_197[wurst_stack_depth_200] = "when calling alloc_C in ondestroy, line 3"; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); if (C_firstFree_278 == 0) { if (C_maxIndex_142 < 32768) { C_maxIndex_142 = (C_maxIndex_142 + 1); this_101 = C_maxIndex_142; C_typeId_362[this_101] = 1; } else { error458("Out of memory: Could not create C.", "when calling error in ondestroy, line 3"); this_101 = 0; }; } else { C_firstFree_278 = (C_firstFree_278 - 1); this_101 = C_nextFree_193[C_firstFree_278]; C_typeId_362[this_101] = 1; }; wurst_stack_depth_200 = (wurst_stack_depth_200 - 1); C_i_554[this_101] = 3; wurst_stack_depth_200 = (wurst_stack_depth_200 - 1); return this_101; } function error458(string msg255, string __wurst_stackPos119) { local integer stacktraceIndex108 local integer stacktraceLimit140 wurst_stack_197[wurst_stack_depth_200] = __wurst_stackPos_119; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); __wurst_stackPos_119 = ""; stacktraceIndex_108 = wurst_stack_depth_200; stacktraceLimit_140 = 0; loop { stacktraceIndex_108 = (stacktraceIndex_108 - 1); stacktraceLimit_140 = (stacktraceLimit_140 + 1); exitwhen ((stacktraceLimit_140 > 20) or (stacktraceIndex_108 < 0)); __wurst_stackPos_119 = (__wurst_stackPos_119 + (" " + wurst_stack_197[stacktraceIndex_108])); }; $debugPrint186((msg_255 + (" " + __wurst_stackPos_119))); wurst_stack_depth_200 = (wurst_stack_depth_200 - 1); } function dispatch_C_destroyC765(integer this145, string __wurst_stackPos212) { wurst_stack_197[wurst_stack_depth_200] = __wurst_stackPos_212; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); if (C_typeId_362[this_145] == 0) { if (this_145 == 0) { error458("Nullpointer exception when calling C.C", "when calling error in ondestroy, line 3"); } else { error458("Called C.C on invalid object.", "when calling error in ondestroy, line 3"); }; } else { }; wurst_stack_197[wurst_stack_depth_200] = "when calling destroyC in ondestroy, line 3"; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); C_i_554[this_145] = (C_i_554[this_145] + 1); testSuccess248(); wurst_stack_197[wurst_stack_depth_200] = "when calling dealloc_C in ondestroy, line 5"; wurst_stack_depth_200 = (wurst_stack_depth_200 + 1); if (C_typeId_362[this_145] == 0) { error458("Double free: object of type C", "when calling error in ondestroy, line 3"); } else { C_nextFree_193[C_firstFree_278] = this_145; C_firstFree_278 = (C_firstFree_278 + 1); C_typeId_362[this_145] = 0; }; wurst_stack_depth_200 = (((wurst_stack_depth_200 - 1) - 1) - 1); }