array E_nextFree167 integer E_firstFree360 integer E_maxIndex159 array E_typeId111 integer E_firstFree360 = 0 integer E_maxIndex159 = 0 function initGlobals735() { } function main935() { initGlobals735(); init_test183(); } function config145() { } function init_test183() { local integer e146 e_146 = new_E106(); if (dispatch_E_test_E_D_C_B_foo147(e_146) != 3) { testFail750("foo fail"); } else { }; if (dispatch_E_test_E_D_C_A_bar664(e_146) != 2) { testFail750("bar fail"); } else { }; testSuccess955(); } IS_NATIVE function testFail750(string msg210) { } IS_NATIVE function testSuccess955() { } function E_D_C_A_bar212(integer this111) returns integer { return 2; } function E_D_C_B_foo423(integer this185) returns integer { return 3; } function E_init188(integer this150) { construct_E_D127(this_150); } function construct_E_D127(integer this910) { construct_E_D_C189(this_910); } function construct_E_D_C_A810(integer this702) { } function construct_E_D_C_B457(integer this142) { } function construct_E_D_C189(integer this212) { construct_E_D_C_A810(this_212); construct_E_D_C_B457(this_212); } function new_E106() returns integer { local integer this762 this_762 = alloc_E601(); construct_E138(this_762); return this_762; } function construct_E138(integer this171) { E_init188(this_171); } function alloc_E601() returns integer { local integer this171 if (E_firstFree_360 == 0) { if (E_maxIndex_159 < 32768) { E_maxIndex_159 = (E_maxIndex_159 + 1); this_171 = E_maxIndex_159; E_typeId_111[this_171] = 1; } else { error584("Out of memory: Could not create E."); this_171 = 0; }; } else { E_firstFree_360 = (E_firstFree_360 - 1); this_171 = E_nextFree_167[E_firstFree_360]; E_typeId_111[this_171] = 1; }; return this_171; } function error584(string msg134) { $debugPrint160((msg_134 + (" " + #getStackTrace()))); } function dispatch_E_test_E_D_C_A_bar664(integer this190) returns integer { if (E_typeId_111[this_190] == 0) { if (this_190 == 0) { error584("Nullpointer exception when calling E.bar"); } else { error584("Called E.bar on invalid object."); }; } else { }; return E_D_C_A_bar212(this_190); } function dispatch_E_test_E_D_C_B_foo147(integer this130) returns integer { if (E_typeId_111[this_130] == 0) { if (this_130 == 0) { error584("Nullpointer exception when calling E.foo"); } else { error584("Called E.foo on invalid object."); }; } else { }; return E_D_C_B_foo423(this_130); }