array I_nextFree207 integer I_firstFree178 integer I_maxIndex608 array I_typeId263 integer wurst_stack_depth114 array wurst_stack722 integer I_firstFree178 = 0 integer I_maxIndex608 = 0 integer wurst_stack_depth114 = 0 function initGlobals437() { } function main145() { initGlobals437(); init_test289("when calling init_test in testInterfaceDefaultImpl, line 1"); } function config196() { } function init_test289(string __wurst_stackPos788) { local integer i376 wurst_stack_722[wurst_stack_depth_114] = __wurst_stackPos_788; wurst_stack_depth_114 = (wurst_stack_depth_114 + 1); i_376 = new_C385("when calling new_C in testInterfaceDefaultImpl, line 8"); wurst_stack_722[wurst_stack_depth_114] = "when calling foo in testInterfaceDefaultImpl, line 9"; wurst_stack_depth_114 = (wurst_stack_depth_114 + 1); if (I_typeId_263[i_376] == 0) { if (i_376 == 0) { error116("Nullpointer exception when calling I.foo", "when calling error in testInterfaceDefaultImpl, line 4"); } else { error116("Called I.foo on invalid object.", "when calling error in testInterfaceDefaultImpl, line 4"); }; } else { }; wurst_stack_depth_114 = (wurst_stack_depth_114 - 1); testSuccess719(); wurst_stack_depth_114 = (wurst_stack_depth_114 - 1); } IS_NATIVE function testSuccess719() { } function new_C385(string __wurst_stackPos733) returns integer { local integer this567 wurst_stack_722[wurst_stack_depth_114] = __wurst_stackPos_733; wurst_stack_depth_114 = (wurst_stack_depth_114 + 1); wurst_stack_722[wurst_stack_depth_114] = "when calling alloc_C in testInterfaceDefaultImpl, line 6"; wurst_stack_depth_114 = (wurst_stack_depth_114 + 1); if (I_firstFree_178 == 0) { if (I_maxIndex_608 < 32768) { I_maxIndex_608 = (I_maxIndex_608 + 1); this_567 = I_maxIndex_608; I_typeId_263[this_567] = 2; } else { error116("Out of memory: Could not create C.", "when calling error in testInterfaceDefaultImpl, line 6"); this_567 = 0; }; } else { I_firstFree_178 = (I_firstFree_178 - 1); this_567 = I_nextFree_207[I_firstFree_178]; I_typeId_263[this_567] = 2; }; wurst_stack_depth_114 = ((wurst_stack_depth_114 - 1) - 1); return this_567; } function error116(string msg136, string __wurst_stackPos928) { local integer stacktraceIndex132 local integer stacktraceLimit207 wurst_stack_722[wurst_stack_depth_114] = __wurst_stackPos_928; wurst_stack_depth_114 = (wurst_stack_depth_114 + 1); __wurst_stackPos_928 = ""; stacktraceIndex_132 = wurst_stack_depth_114; stacktraceLimit_207 = 0; loop { stacktraceIndex_132 = (stacktraceIndex_132 - 1); stacktraceLimit_207 = (stacktraceLimit_207 + 1); exitwhen ((stacktraceLimit_207 > 20) or (stacktraceIndex_132 < 0)); __wurst_stackPos_928 = (__wurst_stackPos_928 + (" " + wurst_stack_722[stacktraceIndex_132])); }; $debugPrint176((msg_136 + (" " + __wurst_stackPos_928))); wurst_stack_depth_114 = (wurst_stack_depth_114 - 1); }