array A_nextFree793 integer A_firstFree144 integer A_maxIndex165 array A_typeId163 array D_c971 integer wurst_stack_depth398 array wurst_stack552 integer A_firstFree144 = 0 integer A_maxIndex165 = 0 integer wurst_stack_depth398 = 0 function initGlobals121() { } function main194() { local integer d326 initGlobals121(); wurst_stack_552[wurst_stack_depth_398] = "when calling init_Test in OndestroyL.wurst, line 1"; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); d_326 = new_D205(0, "when calling new_D in OndestroyL.wurst, line 42"); wurst_stack_552[wurst_stack_depth_398] = "when calling dispatch_D_destroyD in OndestroyL.wurst, line 43"; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); if (A_typeId_163[d_326] == 0) { if (d_326 == 0) { error702("Nullpointer exception when calling D.D", "when calling error in OndestroyL.wurst, line 29"); } else { error702("Called D.D on invalid object.", "when calling error in OndestroyL.wurst, line 29"); }; } else { }; destroyD114(d_326, "when calling destroyD in OndestroyL.wurst, line 29"); wurst_stack_depth_398 = ((wurst_stack_depth_398 - 1) - 1); } function config614() { } IS_NATIVE function testSuccess114() { } function destroyD114(integer this727, string __wurst_stackPos395) { local integer this166 wurst_stack_552[wurst_stack_depth_398] = __wurst_stackPos_395; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); this_166 = this_727; loop { exitwhen (D_c_971[this_166] >= 4); D_c_971[this_166] = (D_c_971[this_166] + 1); }; testSuccess114(); wurst_stack_552[wurst_stack_depth_398] = "when calling dealloc_D in OndestroyL.wurst, line 35"; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); if (A_typeId_163[this_727] == 0) { error702("Double free: object of type D", "when calling error in OndestroyL.wurst, line 29"); } else { A_nextFree_793[A_firstFree_144] = this_727; A_firstFree_144 = (A_firstFree_144 + 1); A_typeId_163[this_727] = 0; }; wurst_stack_depth_398 = ((wurst_stack_depth_398 - 1) - 1); } function new_D205(integer i168, string __wurst_stackPos125) returns integer { local integer this138 wurst_stack_552[wurst_stack_depth_398] = __wurst_stackPos_125; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); wurst_stack_552[wurst_stack_depth_398] = "when calling alloc_D in OndestroyL.wurst, line 31"; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); if (A_firstFree_144 == 0) { if (A_maxIndex_165 < 32768) { A_maxIndex_165 = (A_maxIndex_165 + 1); this_138 = A_maxIndex_165; A_typeId_163[this_138] = 4; } else { error702("Out of memory: Could not create D.", "when calling error in OndestroyL.wurst, line 29"); this_138 = 0; }; } else { A_firstFree_144 = (A_firstFree_144 - 1); this_138 = A_nextFree_793[A_firstFree_144]; A_typeId_163[this_138] = 4; }; wurst_stack_depth_398 = (wurst_stack_depth_398 - 1); D_c_971[this_138] = i_168; wurst_stack_depth_398 = (wurst_stack_depth_398 - 1); return this_138; } function error702(string msg120, string __wurst_stackPos120) { local integer stacktraceIndex190 local integer stacktraceLimit182 wurst_stack_552[wurst_stack_depth_398] = __wurst_stackPos_120; wurst_stack_depth_398 = (wurst_stack_depth_398 + 1); __wurst_stackPos_120 = ""; stacktraceIndex_190 = wurst_stack_depth_398; stacktraceLimit_182 = 0; loop { stacktraceIndex_190 = (stacktraceIndex_190 - 1); stacktraceLimit_182 = (stacktraceLimit_182 + 1); exitwhen ((stacktraceLimit_182 > 20) or (stacktraceIndex_190 < 0)); __wurst_stackPos_120 = (__wurst_stackPos_120 + (" " + wurst_stack_552[stacktraceIndex_190])); }; $debugPrint211((msg_120 + (" " + __wurst_stackPos_120))); wurst_stack_depth_398 = (wurst_stack_depth_398 - 1); }