array MyInterface_nextFree136 integer MyInterface_firstFree657 integer MyInterface_maxIndex142 array MyInterface_typeId401 integer wurst_stack_depth165 array wurst_stack102 integer MyInterface_firstFree657 = 0 integer MyInterface_maxIndex142 = 0 integer wurst_stack_depth165 = 0 function initGlobals207() { } function main193() { initGlobals207(); init_Test189("when calling init_Test in testOverrideInterfaceAbstractClass, line 1"); } function config752() { } function init_Test189(string __wurst_stackPos542) { local integer a946 local integer b336 wurst_stack_102[wurst_stack_depth_165] = __wurst_stackPos_542; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); a_946 = new_MyInterfaceAbstractImpl174("when calling new_MyInterfaceAbstractImpl in testOverrideInterfaceAbstractClass, line 20"); b_336 = new_MyInterfaceImpl109("when calling new_MyInterfaceImpl in testOverrideInterfaceAbstractClass, line 21"); println367(dispatch_MyInterface_Test_MyInterface_getStr453(a_946, "when calling getStr in testOverrideInterfaceAbstractClass, line 23")); println367(dispatch_MyInterface_Test_MyInterface_getStr453(b_336, "when calling getStr in testOverrideInterfaceAbstractClass, line 24")); if ((dispatch_MyInterface_Test_MyInterface_getStr453(a_946, "when calling getStr in testOverrideInterfaceAbstractClass, line 25") == "AAbstract") and (dispatch_MyInterface_Test_MyInterface_getStr453(b_336, "when calling getStr in testOverrideInterfaceAbstractClass, line 25") == "MyInterfaceImpl")) { testSuccess782(); } else { }; wurst_stack_depth_165 = (wurst_stack_depth_165 - 1); } IS_NATIVE function println367(string s178) { } IS_NATIVE function testSuccess782() { } function new_MyInterfaceAbstractImpl174(string __wurst_stackPos509) returns integer { local integer this711 wurst_stack_102[wurst_stack_depth_165] = __wurst_stackPos_509; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); wurst_stack_102[wurst_stack_depth_165] = "when calling alloc_MyInterfaceAbstractImpl in testOverrideInterfaceAbstractClass, line 11"; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); if (MyInterface_firstFree_657 == 0) { if (MyInterface_maxIndex_142 < 32768) { MyInterface_maxIndex_142 = (MyInterface_maxIndex_142 + 1); this_711 = MyInterface_maxIndex_142; MyInterface_typeId_401[this_711] = 3; } else { error126("Out of memory: Could not create MyInterfaceAbstractImpl.", "when calling error in testOverrideInterfaceAbstractClass, line 11"); this_711 = 0; }; } else { MyInterface_firstFree_657 = (MyInterface_firstFree_657 - 1); this_711 = MyInterface_nextFree_136[MyInterface_firstFree_657]; MyInterface_typeId_401[this_711] = 3; }; wurst_stack_depth_165 = ((wurst_stack_depth_165 - 1) - 1); return this_711; } function new_MyInterfaceImpl109(string __wurst_stackPos129) returns integer { local integer this399 wurst_stack_102[wurst_stack_depth_165] = __wurst_stackPos_129; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); wurst_stack_102[wurst_stack_depth_165] = "when calling alloc_MyInterfaceImpl in testOverrideInterfaceAbstractClass, line 15"; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); if (MyInterface_firstFree_657 == 0) { if (MyInterface_maxIndex_142 < 32768) { MyInterface_maxIndex_142 = (MyInterface_maxIndex_142 + 1); this_399 = MyInterface_maxIndex_142; MyInterface_typeId_401[this_399] = 4; } else { error126("Out of memory: Could not create MyInterfaceImpl.", "when calling error in testOverrideInterfaceAbstractClass, line 15"); this_399 = 0; }; } else { MyInterface_firstFree_657 = (MyInterface_firstFree_657 - 1); this_399 = MyInterface_nextFree_136[MyInterface_firstFree_657]; MyInterface_typeId_401[this_399] = 4; }; wurst_stack_depth_165 = ((wurst_stack_depth_165 - 1) - 1); return this_399; } function error126(string msg192, string __wurst_stackPos203) { local integer stacktraceIndex126 local integer stacktraceLimit978 wurst_stack_102[wurst_stack_depth_165] = __wurst_stackPos_203; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); __wurst_stackPos_203 = ""; stacktraceIndex_126 = wurst_stack_depth_165; stacktraceLimit_978 = 0; loop { stacktraceIndex_126 = (stacktraceIndex_126 - 1); stacktraceLimit_978 = (stacktraceLimit_978 + 1); exitwhen ((stacktraceLimit_978 > 20) or (stacktraceIndex_126 < 0)); __wurst_stackPos_203 = (__wurst_stackPos_203 + (" " + wurst_stack_102[stacktraceIndex_126])); }; $debugPrint898((msg_192 + (" " + __wurst_stackPos_203))); wurst_stack_depth_165 = (wurst_stack_depth_165 - 1); } function dispatch_MyInterface_Test_MyInterface_getStr453(integer this118, string __wurst_stackPos305) returns string { wurst_stack_102[wurst_stack_depth_165] = __wurst_stackPos_305; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); if (MyInterface_typeId_401[this_118] == 0) { if (this_118 == 0) { error126("Nullpointer exception when calling MyInterface.getStr", "when calling error in testOverrideInterfaceAbstractClass, line 5"); } else { error126("Called MyInterface.getStr on invalid object.", "when calling error in testOverrideInterfaceAbstractClass, line 5"); }; } else { }; if (MyInterface_typeId_401[this_118] <= 3) { wurst_stack_102[wurst_stack_depth_165] = "when calling getStr in testOverrideInterfaceAbstractClass, line 5"; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); wurst_stack_102[wurst_stack_depth_165] = "when calling getSome in testOverrideInterfaceAbstractClass, line 13"; wurst_stack_depth_165 = (wurst_stack_depth_165 + 1); if (MyInterface_typeId_401[this_118] == 0) { if (this_118 == 0) { error126("Nullpointer exception when calling MyInterfaceAbstract.getSome", "when calling error in testOverrideInterfaceAbstractClass, line 8"); } else { error126("Called MyInterfaceAbstract.getSome on invalid object.", "when calling error in testOverrideInterfaceAbstractClass, line 8"); }; } else { }; wurst_stack_depth_165 = ((wurst_stack_depth_165 - 1) - 1); __wurst_stackPos_305 = "AAbstract"; } else { __wurst_stackPos_305 = "MyInterfaceImpl"; }; wurst_stack_depth_165 = (wurst_stack_depth_165 - 1); return __wurst_stackPos_305; }