array A_nextFree603 integer A_firstFree114 integer A_maxIndex112 array A_typeId499 array D_c149 integer wurst_stack_depth101 array wurst_stack214 integer A_firstFree114 = 0 integer A_maxIndex112 = 0 integer wurst_stack_depth101 = 0 function initGlobals514() { } function main429() { local integer d887 initGlobals514(); wurst_stack_214[wurst_stack_depth_101] = "when calling init_Test in OndestroyL.wurst, line 1"; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); d_887 = new_D331(0, "when calling new_D in OndestroyL.wurst, line 42"); wurst_stack_214[wurst_stack_depth_101] = "when calling dispatch_D_destroyD in OndestroyL.wurst, line 43"; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); if (A_typeId_499[d_887] == 0) { if (d_887 == 0) { error120("Nullpointer exception when calling D.D", "when calling error in OndestroyL.wurst, line 29"); } else { error120("Called D.D on invalid object.", "when calling error in OndestroyL.wurst, line 29"); }; } else { }; destroyD259(d_887, "when calling destroyD in OndestroyL.wurst, line 29"); wurst_stack_depth_101 = ((wurst_stack_depth_101 - 1) - 1); } function config439() { } IS_NATIVE function testSuccess202() { } function destroyD259(integer this203, string __wurst_stackPos153) { local integer this175 wurst_stack_214[wurst_stack_depth_101] = __wurst_stackPos_153; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); this_175 = this_203; loop { exitwhen (D_c_149[this_175] >= 4); D_c_149[this_175] = (D_c_149[this_175] + 1); }; testSuccess202(); wurst_stack_214[wurst_stack_depth_101] = "when calling dealloc_D in OndestroyL.wurst, line 35"; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); if (A_typeId_499[this_203] == 0) { error120("Double free: object of type D", "when calling error in OndestroyL.wurst, line 29"); } else { A_nextFree_603[A_firstFree_114] = this_203; A_firstFree_114 = (A_firstFree_114 + 1); A_typeId_499[this_203] = 0; }; wurst_stack_depth_101 = ((wurst_stack_depth_101 - 1) - 1); } function new_D331(integer i151, string __wurst_stackPos589) returns integer { local integer this205 wurst_stack_214[wurst_stack_depth_101] = __wurst_stackPos_589; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); wurst_stack_214[wurst_stack_depth_101] = "when calling alloc_D in OndestroyL.wurst, line 31"; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); if (A_firstFree_114 == 0) { if (A_maxIndex_112 < 32768) { A_maxIndex_112 = (A_maxIndex_112 + 1); this_205 = A_maxIndex_112; A_typeId_499[this_205] = 4; } else { error120("Out of memory: Could not create D.", "when calling error in OndestroyL.wurst, line 29"); this_205 = 0; }; } else { A_firstFree_114 = (A_firstFree_114 - 1); this_205 = A_nextFree_603[A_firstFree_114]; A_typeId_499[this_205] = 4; }; wurst_stack_depth_101 = (wurst_stack_depth_101 - 1); D_c_149[this_205] = i_151; wurst_stack_depth_101 = (wurst_stack_depth_101 - 1); return this_205; } function error120(string msg107, string __wurst_stackPos170) { local integer stacktraceIndex177 local integer stacktraceLimit124 wurst_stack_214[wurst_stack_depth_101] = __wurst_stackPos_170; wurst_stack_depth_101 = (wurst_stack_depth_101 + 1); __wurst_stackPos_170 = ""; stacktraceIndex_177 = wurst_stack_depth_101; stacktraceLimit_124 = 0; loop { stacktraceIndex_177 = (stacktraceIndex_177 - 1); stacktraceLimit_124 = (stacktraceLimit_124 + 1); exitwhen ((stacktraceLimit_124 > 20) or (stacktraceIndex_177 < 0)); __wurst_stackPos_170 = (__wurst_stackPos_170 + (" " + wurst_stack_214[stacktraceIndex_177])); }; $debugPrint164((msg_107 + (" " + __wurst_stackPos_170))); wurst_stack_depth_101 = (wurst_stack_depth_101 - 1); }