array A_nextFree133 integer A_firstFree915 integer A_maxIndex181 array A_typeId132 array Cell_nextFree124 integer Cell_firstFree789 integer Cell_maxIndex176 array Cell_o370 integer wurst_stack_depth118 array wurst_stack860 integer A_firstFree915 = 0 integer A_maxIndex181 = 0 integer Cell_firstFree789 = 0 integer Cell_maxIndex176 = 0 integer wurst_stack_depth118 = 0 function initGlobals650() { } function main163() { initGlobals650(); init_Test108("when calling init_Test in genericsDispatch, line 1"); } function config105() { } function init_Test108(string __wurst_stackPos118) { local integer this604 wurst_stack_860[wurst_stack_depth_118] = __wurst_stackPos_118; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); wurst_stack_860[wurst_stack_depth_118] = "when calling new_Cell in genericsDispatch, line 12"; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); wurst_stack_860[wurst_stack_depth_118] = "when calling alloc_Cell in genericsDispatch, line 3"; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); if (Cell_firstFree_789 == 0) { if (Cell_maxIndex_176 < 32768) { Cell_maxIndex_176 = (Cell_maxIndex_176 + 1); this_604 = Cell_maxIndex_176; } else { error209("Out of memory: Could not create Cell.", "when calling error in genericsDispatch, line 3"); this_604 = 0; }; } else { Cell_firstFree_789 = (Cell_firstFree_789 - 1); this_604 = Cell_nextFree_124[Cell_firstFree_789]; }; wurst_stack_depth_118 = ((wurst_stack_depth_118 - 1) - 1); Cell_o_370[this_604] = new_B120("when calling new_B in genericsDispatch, line 13"); if (dispatch_A_Test_A_foo120(Cell_o_370[this_604], "when calling foo in genericsDispatch, line 14") == 6) { testSuccess419(); } else { }; wurst_stack_depth_118 = (wurst_stack_depth_118 - 1); } IS_NATIVE function testSuccess419() { } function new_B120(string __wurst_stackPos132) returns integer { local integer this109 wurst_stack_860[wurst_stack_depth_118] = __wurst_stackPos_132; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); wurst_stack_860[wurst_stack_depth_118] = "when calling alloc_B in genericsDispatch, line 8"; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); if (A_firstFree_915 == 0) { if (A_maxIndex_181 < 32768) { A_maxIndex_181 = (A_maxIndex_181 + 1); this_109 = A_maxIndex_181; A_typeId_132[this_109] = 2; } else { error209("Out of memory: Could not create B.", "when calling error in genericsDispatch, line 8"); this_109 = 0; }; } else { A_firstFree_915 = (A_firstFree_915 - 1); this_109 = A_nextFree_133[A_firstFree_915]; A_typeId_132[this_109] = 2; }; wurst_stack_depth_118 = ((wurst_stack_depth_118 - 1) - 1); return this_109; } function error209(string msg481, string __wurst_stackPos143) { local integer stacktraceIndex533 local integer stacktraceLimit133 wurst_stack_860[wurst_stack_depth_118] = __wurst_stackPos_143; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); __wurst_stackPos_143 = ""; stacktraceIndex_533 = wurst_stack_depth_118; stacktraceLimit_133 = 0; loop { stacktraceIndex_533 = (stacktraceIndex_533 - 1); stacktraceLimit_133 = (stacktraceLimit_133 + 1); exitwhen ((stacktraceLimit_133 > 20) or (stacktraceIndex_533 < 0)); __wurst_stackPos_143 = (__wurst_stackPos_143 + (" " + wurst_stack_860[stacktraceIndex_533])); }; $debugPrint537((msg_481 + (" " + __wurst_stackPos_143))); wurst_stack_depth_118 = (wurst_stack_depth_118 - 1); } function dispatch_A_Test_A_foo120(integer this715, string __wurst_stackPos872) returns integer { wurst_stack_860[wurst_stack_depth_118] = __wurst_stackPos_872; wurst_stack_depth_118 = (wurst_stack_depth_118 + 1); if (A_typeId_132[this_715] == 0) { if (this_715 == 0) { error209("Nullpointer exception when calling A.foo", "when calling error in genericsDispatch, line 6"); } else { error209("Called A.foo on invalid object.", "when calling error in genericsDispatch, line 6"); }; } else { }; if (A_typeId_132[this_715] <= 1) { this_715 = 5; } else { this_715 = 6; }; wurst_stack_depth_118 = (wurst_stack_depth_118 - 1); return this_715; }