array A_nextFree114 integer A_firstFree113 integer A_maxIndex255 array A_typeId162 array Cell_nextFree443 integer Cell_firstFree208 integer Cell_maxIndex645 array Cell_o973 integer wurst_stack_depth120 array wurst_stack175 integer A_firstFree113 = 0 integer A_maxIndex255 = 0 integer Cell_firstFree208 = 0 integer Cell_maxIndex645 = 0 integer wurst_stack_depth120 = 0 function initGlobals456() { } function main967() { initGlobals456(); init_Test187("when calling init_Test in genericsDispatch, line 1"); } function config950() { } function init_Test187(string __wurst_stackPos124) { local integer this161 wurst_stack_175[wurst_stack_depth_120] = __wurst_stackPos_124; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); wurst_stack_175[wurst_stack_depth_120] = "when calling new_Cell in genericsDispatch, line 12"; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); wurst_stack_175[wurst_stack_depth_120] = "when calling alloc_Cell in genericsDispatch, line 3"; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); if (Cell_firstFree_208 == 0) { if (Cell_maxIndex_645 < 32768) { Cell_maxIndex_645 = (Cell_maxIndex_645 + 1); this_161 = Cell_maxIndex_645; } else { error182("Out of memory: Could not create Cell.", "when calling error in genericsDispatch, line 3"); this_161 = 0; }; } else { Cell_firstFree_208 = (Cell_firstFree_208 - 1); this_161 = Cell_nextFree_443[Cell_firstFree_208]; }; wurst_stack_depth_120 = ((wurst_stack_depth_120 - 1) - 1); Cell_o_973[this_161] = new_B763("when calling new_B in genericsDispatch, line 13"); if (dispatch_A_Test_A_foo954(Cell_o_973[this_161], "when calling foo in genericsDispatch, line 14") == 6) { testSuccess188(); } else { }; wurst_stack_depth_120 = (wurst_stack_depth_120 - 1); } IS_NATIVE function testSuccess188() { } function new_B763(string __wurst_stackPos757) returns integer { local integer this192 wurst_stack_175[wurst_stack_depth_120] = __wurst_stackPos_757; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); wurst_stack_175[wurst_stack_depth_120] = "when calling alloc_B in genericsDispatch, line 8"; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); if (A_firstFree_113 == 0) { if (A_maxIndex_255 < 32768) { A_maxIndex_255 = (A_maxIndex_255 + 1); this_192 = A_maxIndex_255; A_typeId_162[this_192] = 2; } else { error182("Out of memory: Could not create B.", "when calling error in genericsDispatch, line 8"); this_192 = 0; }; } else { A_firstFree_113 = (A_firstFree_113 - 1); this_192 = A_nextFree_114[A_firstFree_113]; A_typeId_162[this_192] = 2; }; wurst_stack_depth_120 = ((wurst_stack_depth_120 - 1) - 1); return this_192; } function error182(string msg898, string __wurst_stackPos610) { local integer stacktraceIndex847 local integer stacktraceLimit105 wurst_stack_175[wurst_stack_depth_120] = __wurst_stackPos_610; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); __wurst_stackPos_610 = ""; stacktraceIndex_847 = wurst_stack_depth_120; stacktraceLimit_105 = 0; loop { stacktraceIndex_847 = (stacktraceIndex_847 - 1); stacktraceLimit_105 = (stacktraceLimit_105 + 1); exitwhen ((stacktraceLimit_105 > 20) or (stacktraceIndex_847 < 0)); __wurst_stackPos_610 = (__wurst_stackPos_610 + (" " + wurst_stack_175[stacktraceIndex_847])); }; $debugPrint140((msg_898 + (" " + __wurst_stackPos_610))); wurst_stack_depth_120 = (wurst_stack_depth_120 - 1); } function dispatch_A_Test_A_foo954(integer this156, string __wurst_stackPos887) returns integer { wurst_stack_175[wurst_stack_depth_120] = __wurst_stackPos_887; wurst_stack_depth_120 = (wurst_stack_depth_120 + 1); if (A_typeId_162[this_156] == 0) { if (this_156 == 0) { error182("Nullpointer exception when calling A.foo", "when calling error in genericsDispatch, line 6"); } else { error182("Called A.foo on invalid object.", "when calling error in genericsDispatch, line 6"); }; } else { }; if (A_typeId_162[this_156] <= 1) { this_156 = 5; } else { this_156 = 6; }; wurst_stack_depth_120 = (wurst_stack_depth_120 - 1); return this_156; }