array A_nextFree637 integer A_firstFree855 integer A_maxIndex183 array A_typeId599 integer wurst_stack_depth821 array wurst_stack585 integer A_firstFree855 = 0 integer A_maxIndex183 = 0 integer wurst_stack_depth821 = 0 function initGlobals705() { } function main398() { initGlobals705(); init_test136("when calling init_test in testNoDispatch, line 1"); } function config296() { } function init_test136(string __wurst_stackPos685) { local integer a136 local integer b150 wurst_stack_585[wurst_stack_depth_821] = __wurst_stackPos_685; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); a_136 = new_A527("when calling new_A in testNoDispatch, line 7"); b_150 = new_B170("when calling new_B in testNoDispatch, line 8"); wurst_stack_585[wurst_stack_depth_821] = "when calling foo in testNoDispatch, line 9"; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); if (A_typeId_599[a_136] == 0) { if (a_136 == 0) { error152("Nullpointer exception when calling A.foo", "when calling error in testNoDispatch, line 3"); } else { error152("Called A.foo on invalid object.", "when calling error in testNoDispatch, line 3"); }; } else { }; wurst_stack_depth_821 = (wurst_stack_depth_821 - 1); wurst_stack_585[wurst_stack_depth_821] = "when calling foo in testNoDispatch, line 10"; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); if (A_typeId_599[b_150] == 0) { if (b_150 == 0) { error152("Nullpointer exception when calling B.foo", "when calling error in testNoDispatch, line 5"); } else { error152("Called B.foo on invalid object.", "when calling error in testNoDispatch, line 5"); }; } else { }; wurst_stack_depth_821 = ((wurst_stack_depth_821 - 1) - 1); } function new_A527(string __wurst_stackPos149) returns integer { local integer this103 wurst_stack_585[wurst_stack_depth_821] = __wurst_stackPos_149; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); wurst_stack_585[wurst_stack_depth_821] = "when calling alloc_A in testNoDispatch, line 2"; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); if (A_firstFree_855 == 0) { if (A_maxIndex_183 < 32768) { A_maxIndex_183 = (A_maxIndex_183 + 1); this_103 = A_maxIndex_183; A_typeId_599[this_103] = 1; } else { error152("Out of memory: Could not create A.", "when calling error in testNoDispatch, line 2"); this_103 = 0; }; } else { A_firstFree_855 = (A_firstFree_855 - 1); this_103 = A_nextFree_637[A_firstFree_855]; A_typeId_599[this_103] = 1; }; wurst_stack_depth_821 = ((wurst_stack_depth_821 - 1) - 1); return this_103; } function new_B170(string __wurst_stackPos151) returns integer { local integer this141 wurst_stack_585[wurst_stack_depth_821] = __wurst_stackPos_151; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); wurst_stack_585[wurst_stack_depth_821] = "when calling alloc_B in testNoDispatch, line 4"; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); if (A_firstFree_855 == 0) { if (A_maxIndex_183 < 32768) { A_maxIndex_183 = (A_maxIndex_183 + 1); this_141 = A_maxIndex_183; A_typeId_599[this_141] = 2; } else { error152("Out of memory: Could not create B.", "when calling error in testNoDispatch, line 4"); this_141 = 0; }; } else { A_firstFree_855 = (A_firstFree_855 - 1); this_141 = A_nextFree_637[A_firstFree_855]; A_typeId_599[this_141] = 2; }; wurst_stack_depth_821 = ((wurst_stack_depth_821 - 1) - 1); return this_141; } function error152(string msg187, string __wurst_stackPos164) { local integer stacktraceIndex735 local integer stacktraceLimit141 wurst_stack_585[wurst_stack_depth_821] = __wurst_stackPos_164; wurst_stack_depth_821 = (wurst_stack_depth_821 + 1); __wurst_stackPos_164 = ""; stacktraceIndex_735 = wurst_stack_depth_821; stacktraceLimit_141 = 0; loop { stacktraceIndex_735 = (stacktraceIndex_735 - 1); stacktraceLimit_141 = (stacktraceLimit_141 + 1); exitwhen ((stacktraceLimit_141 > 20) or (stacktraceIndex_735 < 0)); __wurst_stackPos_164 = (__wurst_stackPos_164 + (" " + wurst_stack_585[stacktraceIndex_735])); }; $debugPrint548((msg_187 + (" " + __wurst_stackPos_164))); wurst_stack_depth_821 = (wurst_stack_depth_821 - 1); }