array MyInterface_nextFree115 integer MyInterface_firstFree178 integer MyInterface_maxIndex191 array MyInterface_typeId962 integer wurst_stack_depth194 array wurst_stack166 integer MyInterface_firstFree178 = 0 integer MyInterface_maxIndex191 = 0 integer wurst_stack_depth194 = 0 function initGlobals768() { } function main174() { initGlobals768(); init_Test732("when calling init_Test in testOverrideInterfaceAbstractClass2, line 1"); } function config154() { } function init_Test732(string __wurst_stackPos261) { local integer a161 local integer b529 wurst_stack_166[wurst_stack_depth_194] = __wurst_stackPos_261; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); a_161 = new_MyInterfaceImpl577("when calling new_MyInterfaceImpl in testOverrideInterfaceAbstractClass2, line 21"); b_529 = new_MyInterfaceAbstractImpl172("when calling new_MyInterfaceAbstractImpl in testOverrideInterfaceAbstractClass2, line 22"); if ((dispatch_MyInterface_Test_MyInterface_getStr127(a_161, "when calling getStr in testOverrideInterfaceAbstractClass2, line 23") == "MyInterfaceImpl") and (dispatch_MyInterface_Test_MyInterface_getStr127(b_529, "when calling getStr in testOverrideInterfaceAbstractClass2, line 23") == "AAbstract")) { testSuccess113(); } else { }; wurst_stack_depth_194 = (wurst_stack_depth_194 - 1); } IS_NATIVE function testSuccess113() { } function new_MyInterfaceAbstractImpl172(string __wurst_stackPos107) returns integer { local integer this180 wurst_stack_166[wurst_stack_depth_194] = __wurst_stackPos_107; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); wurst_stack_166[wurst_stack_depth_194] = "when calling alloc_MyInterfaceAbstractImpl in testOverrideInterfaceAbstractClass2, line 12"; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); if (MyInterface_firstFree_178 == 0) { if (MyInterface_maxIndex_191 < 32768) { MyInterface_maxIndex_191 = (MyInterface_maxIndex_191 + 1); this_180 = MyInterface_maxIndex_191; MyInterface_typeId_962[this_180] = 3; } else { error443("Out of memory: Could not create MyInterfaceAbstractImpl.", "when calling error in testOverrideInterfaceAbstractClass2, line 12"); this_180 = 0; }; } else { MyInterface_firstFree_178 = (MyInterface_firstFree_178 - 1); this_180 = MyInterface_nextFree_115[MyInterface_firstFree_178]; MyInterface_typeId_962[this_180] = 3; }; wurst_stack_depth_194 = ((wurst_stack_depth_194 - 1) - 1); return this_180; } function new_MyInterfaceImpl577(string __wurst_stackPos133) returns integer { local integer this943 wurst_stack_166[wurst_stack_depth_194] = __wurst_stackPos_133; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); wurst_stack_166[wurst_stack_depth_194] = "when calling alloc_MyInterfaceImpl in testOverrideInterfaceAbstractClass2, line 16"; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); if (MyInterface_firstFree_178 == 0) { if (MyInterface_maxIndex_191 < 32768) { MyInterface_maxIndex_191 = (MyInterface_maxIndex_191 + 1); this_943 = MyInterface_maxIndex_191; MyInterface_typeId_962[this_943] = 4; } else { error443("Out of memory: Could not create MyInterfaceImpl.", "when calling error in testOverrideInterfaceAbstractClass2, line 16"); this_943 = 0; }; } else { MyInterface_firstFree_178 = (MyInterface_firstFree_178 - 1); this_943 = MyInterface_nextFree_115[MyInterface_firstFree_178]; MyInterface_typeId_962[this_943] = 4; }; wurst_stack_depth_194 = ((wurst_stack_depth_194 - 1) - 1); return this_943; } function error443(string msg174, string __wurst_stackPos184) { local integer stacktraceIndex209 local integer stacktraceLimit126 wurst_stack_166[wurst_stack_depth_194] = __wurst_stackPos_184; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); __wurst_stackPos_184 = ""; stacktraceIndex_209 = wurst_stack_depth_194; stacktraceLimit_126 = 0; loop { stacktraceIndex_209 = (stacktraceIndex_209 - 1); stacktraceLimit_126 = (stacktraceLimit_126 + 1); exitwhen ((stacktraceLimit_126 > 20) or (stacktraceIndex_209 < 0)); __wurst_stackPos_184 = (__wurst_stackPos_184 + (" " + wurst_stack_166[stacktraceIndex_209])); }; $debugPrint180((msg_174 + (" " + __wurst_stackPos_184))); wurst_stack_depth_194 = (wurst_stack_depth_194 - 1); } function dispatch_MyInterface_Test_MyInterface_getStr127(integer this993, string __wurst_stackPos963) returns string { wurst_stack_166[wurst_stack_depth_194] = __wurst_stackPos_963; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); if (MyInterface_typeId_962[this_993] == 0) { if (this_993 == 0) { error443("Nullpointer exception when calling MyInterface.getStr", "when calling error in testOverrideInterfaceAbstractClass2, line 4"); } else { error443("Called MyInterface.getStr on invalid object.", "when calling error in testOverrideInterfaceAbstractClass2, line 4"); }; } else { }; if (MyInterface_typeId_962[this_993] <= 3) { wurst_stack_166[wurst_stack_depth_194] = "when calling getStr in testOverrideInterfaceAbstractClass2, line 4"; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); wurst_stack_166[wurst_stack_depth_194] = "when calling getSome in testOverrideInterfaceAbstractClass2, line 14"; wurst_stack_depth_194 = (wurst_stack_depth_194 + 1); if (MyInterface_typeId_962[this_993] == 0) { if (this_993 == 0) { error443("Nullpointer exception when calling MyInterfaceAbstract.getSome", "when calling error in testOverrideInterfaceAbstractClass2, line 7"); } else { error443("Called MyInterfaceAbstract.getSome on invalid object.", "when calling error in testOverrideInterfaceAbstractClass2, line 7"); }; } else { }; wurst_stack_depth_194 = ((wurst_stack_depth_194 - 1) - 1); __wurst_stackPos_963 = "AAbstract"; } else { __wurst_stackPos_963 = "MyInterfaceImpl"; }; wurst_stack_depth_194 = (wurst_stack_depth_194 - 1); return __wurst_stackPos_963; }