array MyInterface_nextFree616 integer MyInterface_firstFree208 integer MyInterface_maxIndex238 array MyInterface_typeId943 integer MyInterface_firstFree208 = 0 integer MyInterface_maxIndex238 = 0 function initGlobals191() { } function main741() { initGlobals191(); init_Test895(); } function config199() { } function init_Test895() { local integer a206 local integer b123 a_206 = new_MyInterfaceImpl144(); b_123 = new_MyInterfaceAbstractImpl317(); if ((dispatch_MyInterface_Test_MyInterface_getStr100(a_206) == "MyInterfaceImpl") and (dispatch_MyInterface_Test_MyInterface_getStr100(b_123) == "AAbstract")) { testSuccess102(); } else { }; } IS_NATIVE function testSuccess102() { } function new_MyInterfaceAbstractImpl317() returns integer { local integer this158 if (MyInterface_firstFree_208 == 0) { if (MyInterface_maxIndex_238 < 32768) { MyInterface_maxIndex_238 = (MyInterface_maxIndex_238 + 1); this_158 = MyInterface_maxIndex_238; MyInterface_typeId_943[this_158] = 3; } else { error122("Out of memory: Could not create MyInterfaceAbstractImpl."); this_158 = 0; }; } else { MyInterface_firstFree_208 = (MyInterface_firstFree_208 - 1); this_158 = MyInterface_nextFree_616[MyInterface_firstFree_208]; MyInterface_typeId_943[this_158] = 3; }; return this_158; } function new_MyInterfaceImpl144() returns integer { local integer this674 if (MyInterface_firstFree_208 == 0) { if (MyInterface_maxIndex_238 < 32768) { MyInterface_maxIndex_238 = (MyInterface_maxIndex_238 + 1); this_674 = MyInterface_maxIndex_238; MyInterface_typeId_943[this_674] = 4; } else { error122("Out of memory: Could not create MyInterfaceImpl."); this_674 = 0; }; } else { MyInterface_firstFree_208 = (MyInterface_firstFree_208 - 1); this_674 = MyInterface_nextFree_616[MyInterface_firstFree_208]; MyInterface_typeId_943[this_674] = 4; }; return this_674; } function error122(string msg101) { $debugPrint109((msg_101 + (" " + #getStackTrace()))); } function dispatch_MyInterface_Test_MyInterface_getStr100(integer this867) returns string { local string Test_MyInterface_getStr_result167 if (MyInterface_typeId_943[this_867] == 0) { if (this_867 == 0) { error122("Nullpointer exception when calling MyInterface.getStr"); } else { error122("Called MyInterface.getStr on invalid object."); }; } else { }; if (MyInterface_typeId_943[this_867] <= 3) { if (MyInterface_typeId_943[this_867] == 0) { if (this_867 == 0) { error122("Nullpointer exception when calling MyInterfaceAbstract.getSome"); } else { error122("Called MyInterfaceAbstract.getSome on invalid object."); }; } else { }; Test_MyInterface_getStr_result_167 = "AAbstract"; } else { Test_MyInterface_getStr_result_167 = "MyInterfaceImpl"; }; return Test_MyInterface_getStr_result_167; }