array A_nextFree168 integer A_firstFree117 integer A_maxIndex814 array A_typeId142 integer wurst_stack_depth145 array wurst_stack199 integer A_firstFree117 = 0 integer A_maxIndex814 = 0 integer wurst_stack_depth145 = 0 function initGlobals168() { } function main588() { initGlobals168(); init_test166("when calling init_test in abstract_class2, line 1"); } function config492() { } function init_test166(string __wurst_stackPos178) { local integer b146 wurst_stack_199[wurst_stack_depth_145] = __wurst_stackPos_178; wurst_stack_depth_145 = (wurst_stack_depth_145 + 1); b_146 = new_B614("when calling new_B in abstract_class2, line 11"); wurst_stack_199[wurst_stack_depth_145] = "when calling foo in abstract_class2, line 12"; wurst_stack_depth_145 = (wurst_stack_depth_145 + 1); if (A_typeId_142[b_146] == 0) { if (b_146 == 0) { error183("Nullpointer exception when calling A.foo", "when calling error in abstract_class2, line 5"); } else { error183("Called A.foo on invalid object.", "when calling error in abstract_class2, line 5"); }; } else { }; wurst_stack_depth_145 = (wurst_stack_depth_145 - 1); testSuccess165(); wurst_stack_depth_145 = (wurst_stack_depth_145 - 1); } IS_NATIVE function testSuccess165() { } function new_B614(string __wurst_stackPos155) returns integer { local integer this128 wurst_stack_199[wurst_stack_depth_145] = __wurst_stackPos_155; wurst_stack_depth_145 = (wurst_stack_depth_145 + 1); wurst_stack_199[wurst_stack_depth_145] = "when calling alloc_B in abstract_class2, line 6"; wurst_stack_depth_145 = (wurst_stack_depth_145 + 1); if (A_firstFree_117 == 0) { if (A_maxIndex_814 < 32768) { A_maxIndex_814 = (A_maxIndex_814 + 1); this_128 = A_maxIndex_814; A_typeId_142[this_128] = 2; } else { error183("Out of memory: Could not create B.", "when calling error in abstract_class2, line 6"); this_128 = 0; }; } else { A_firstFree_117 = (A_firstFree_117 - 1); this_128 = A_nextFree_168[A_firstFree_117]; A_typeId_142[this_128] = 2; }; wurst_stack_depth_145 = ((wurst_stack_depth_145 - 1) - 1); return this_128; } function error183(string msg478, string __wurst_stackPos140) { local integer stacktraceIndex175 local integer stacktraceLimit123 wurst_stack_199[wurst_stack_depth_145] = __wurst_stackPos_140; wurst_stack_depth_145 = (wurst_stack_depth_145 + 1); __wurst_stackPos_140 = ""; stacktraceIndex_175 = wurst_stack_depth_145; stacktraceLimit_123 = 0; loop { stacktraceIndex_175 = (stacktraceIndex_175 - 1); stacktraceLimit_123 = (stacktraceLimit_123 + 1); exitwhen ((stacktraceLimit_123 > 20) or (stacktraceIndex_175 < 0)); __wurst_stackPos_140 = (__wurst_stackPos_140 + (" " + wurst_stack_199[stacktraceIndex_175])); }; $debugPrint100((msg_478 + (" " + __wurst_stackPos_140))); wurst_stack_depth_145 = (wurst_stack_depth_145 - 1); }