array A_nextFree205 integer A_firstFree206 integer A_maxIndex920 array A_typeId493 integer wurst_stack_depth899 array wurst_stack434 integer A_firstFree206 = 0 integer A_maxIndex920 = 0 integer wurst_stack_depth899 = 0 function initGlobals142() { } function main136() { initGlobals142(); wurst_stack_434[wurst_stack_depth_899] = "when calling init_test in subclassModuleOnDestroy, line 1"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); dispatch_A_destroyA366(new_B106("when calling new_B in subclassModuleOnDestroy, line 10"), "when calling dispatch_A_destroyA in subclassModuleOnDestroy, line 11"); wurst_stack_depth_899 = (wurst_stack_depth_899 - 1); } function config178() { } IS_NATIVE function testSuccess175() { } function new_B106(string __wurst_stackPos778) returns integer { local integer this153 wurst_stack_434[wurst_stack_depth_899] = __wurst_stackPos_778; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); wurst_stack_434[wurst_stack_depth_899] = "when calling alloc_B in subclassModuleOnDestroy, line 7"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); if (A_firstFree_206 == 0) { if (A_maxIndex_920 < 32768) { A_maxIndex_920 = (A_maxIndex_920 + 1); this_153 = A_maxIndex_920; A_typeId_493[this_153] = 2; } else { error276("Out of memory: Could not create B.", "when calling error in subclassModuleOnDestroy, line 7"); this_153 = 0; }; } else { A_firstFree_206 = (A_firstFree_206 - 1); this_153 = A_nextFree_205[A_firstFree_206]; A_typeId_493[this_153] = 2; }; wurst_stack_depth_899 = ((wurst_stack_depth_899 - 1) - 1); return this_153; } function error276(string msg162, string __wurst_stackPos451) { local integer stacktraceIndex598 local integer stacktraceLimit650 wurst_stack_434[wurst_stack_depth_899] = __wurst_stackPos_451; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); __wurst_stackPos_451 = ""; stacktraceIndex_598 = wurst_stack_depth_899; stacktraceLimit_650 = 0; loop { stacktraceIndex_598 = (stacktraceIndex_598 - 1); stacktraceLimit_650 = (stacktraceLimit_650 + 1); exitwhen ((stacktraceLimit_650 > 20) or (stacktraceIndex_598 < 0)); __wurst_stackPos_451 = (__wurst_stackPos_451 + (" " + wurst_stack_434[stacktraceIndex_598])); }; $debugPrint423((msg_162 + (" " + __wurst_stackPos_451))); wurst_stack_depth_899 = (wurst_stack_depth_899 - 1); } function dispatch_A_destroyA366(integer this529, string __wurst_stackPos763) { wurst_stack_434[wurst_stack_depth_899] = __wurst_stackPos_763; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); if (A_typeId_493[this_529] == 0) { if (this_529 == 0) { error276("Nullpointer exception when calling A.A", "when calling error in subclassModuleOnDestroy, line 6"); } else { error276("Called A.A on invalid object.", "when calling error in subclassModuleOnDestroy, line 6"); }; } else { }; if (A_typeId_493[this_529] <= 1) { wurst_stack_434[wurst_stack_depth_899] = "when calling destroyA in subclassModuleOnDestroy, line 6"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); wurst_stack_434[wurst_stack_depth_899] = "when calling dealloc_A in subclassModuleOnDestroy, line 6"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); if (A_typeId_493[this_529] == 0) { error276("Double free: object of type A", "when calling error in subclassModuleOnDestroy, line 6"); } else { A_nextFree_205[A_firstFree_206] = this_529; A_firstFree_206 = (A_firstFree_206 + 1); A_typeId_493[this_529] = 0; }; wurst_stack_depth_899 = ((wurst_stack_depth_899 - 1) - 1); } else { wurst_stack_434[wurst_stack_depth_899] = "when calling destroyB in subclassModuleOnDestroy, line 6"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); testSuccess175(); wurst_stack_434[wurst_stack_depth_899] = "when calling dealloc_B in subclassModuleOnDestroy, line 7"; wurst_stack_depth_899 = (wurst_stack_depth_899 + 1); if (A_typeId_493[this_529] == 0) { error276("Double free: object of type B", "when calling error in subclassModuleOnDestroy, line 7"); } else { A_nextFree_205[A_firstFree_206] = this_529; A_firstFree_206 = (A_firstFree_206 + 1); A_typeId_493[this_529] = 0; }; wurst_stack_depth_899 = ((wurst_stack_depth_899 - 1) - 1); }; wurst_stack_depth_899 = (wurst_stack_depth_899 - 1); }