array A_nextFree152 integer A_firstFree154 integer A_maxIndex134 array A_typeId109 array Cell_nextFree593 integer Cell_firstFree490 integer Cell_maxIndex175 array Cell_o296 integer wurst_stack_depth645 array wurst_stack281 integer A_firstFree154 = 0 integer A_maxIndex134 = 0 integer Cell_firstFree490 = 0 integer Cell_maxIndex175 = 0 integer wurst_stack_depth645 = 0 function initGlobals159() { } function main129() { initGlobals159(); init_Test143("when calling init_Test in genericsDispatch, line 1"); } function config115() { } function init_Test143(string __wurst_stackPos742) { local integer this133 wurst_stack_281[wurst_stack_depth_645] = __wurst_stackPos_742; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); wurst_stack_281[wurst_stack_depth_645] = "when calling new_Cell in genericsDispatch, line 12"; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); wurst_stack_281[wurst_stack_depth_645] = "when calling alloc_Cell in genericsDispatch, line 3"; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); if (Cell_firstFree_490 == 0) { if (Cell_maxIndex_175 < 32768) { Cell_maxIndex_175 = (Cell_maxIndex_175 + 1); this_133 = Cell_maxIndex_175; } else { error157("Out of memory: Could not create Cell.", "when calling error in genericsDispatch, line 3"); this_133 = 0; }; } else { Cell_firstFree_490 = (Cell_firstFree_490 - 1); this_133 = Cell_nextFree_593[Cell_firstFree_490]; }; wurst_stack_depth_645 = ((wurst_stack_depth_645 - 1) - 1); Cell_o_296[this_133] = new_B445("when calling new_B in genericsDispatch, line 13"); if (dispatch_A_Test_A_foo130(Cell_o_296[this_133], "when calling foo in genericsDispatch, line 14") == 6) { testSuccess100(); } else { }; wurst_stack_depth_645 = (wurst_stack_depth_645 - 1); } IS_NATIVE function testSuccess100() { } function new_B445(string __wurst_stackPos207) returns integer { local integer this864 wurst_stack_281[wurst_stack_depth_645] = __wurst_stackPos_207; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); wurst_stack_281[wurst_stack_depth_645] = "when calling alloc_B in genericsDispatch, line 8"; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); if (A_firstFree_154 == 0) { if (A_maxIndex_134 < 32768) { A_maxIndex_134 = (A_maxIndex_134 + 1); this_864 = A_maxIndex_134; A_typeId_109[this_864] = 2; } else { error157("Out of memory: Could not create B.", "when calling error in genericsDispatch, line 8"); this_864 = 0; }; } else { A_firstFree_154 = (A_firstFree_154 - 1); this_864 = A_nextFree_152[A_firstFree_154]; A_typeId_109[this_864] = 2; }; wurst_stack_depth_645 = ((wurst_stack_depth_645 - 1) - 1); return this_864; } function error157(string msg564, string __wurst_stackPos509) { local integer stacktraceIndex149 local integer stacktraceLimit849 wurst_stack_281[wurst_stack_depth_645] = __wurst_stackPos_509; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); __wurst_stackPos_509 = ""; stacktraceIndex_149 = wurst_stack_depth_645; stacktraceLimit_849 = 0; loop { stacktraceIndex_149 = (stacktraceIndex_149 - 1); stacktraceLimit_849 = (stacktraceLimit_849 + 1); exitwhen ((stacktraceLimit_849 > 20) or (stacktraceIndex_149 < 0)); __wurst_stackPos_509 = (__wurst_stackPos_509 + (" " + wurst_stack_281[stacktraceIndex_149])); }; $debugPrint174((msg_564 + (" " + __wurst_stackPos_509))); wurst_stack_depth_645 = (wurst_stack_depth_645 - 1); } function dispatch_A_Test_A_foo130(integer this867, string __wurst_stackPos555) returns integer { wurst_stack_281[wurst_stack_depth_645] = __wurst_stackPos_555; wurst_stack_depth_645 = (wurst_stack_depth_645 + 1); if (A_typeId_109[this_867] == 0) { if (this_867 == 0) { error157("Nullpointer exception when calling A.foo", "when calling error in genericsDispatch, line 6"); } else { error157("Called A.foo on invalid object.", "when calling error in genericsDispatch, line 6"); }; } else { }; if (A_typeId_109[this_867] <= 1) { this_867 = 5; } else { this_867 = 6; }; wurst_stack_depth_645 = (wurst_stack_depth_645 - 1); return this_867; }