array E_nextFree192 integer E_firstFree185 integer E_maxIndex535 array E_typeId772 integer E_firstFree185 = 0 integer E_maxIndex535 = 0 function initGlobals836() { E_firstFree_185 = 0; E_maxIndex_535 = 0; } function main739() { initGlobals836(); init_test142(); } function config879() { } function init_test142() { local integer e197 e_197 = new_E116(); if (dispatch_E_test_E_D_C_B_foo843(e_197) != 3) { testFail378("foo fail"); } else { }; if (dispatch_E_test_E_D_C_A_bar966(e_197) != 2) { testFail378("bar fail"); } else { }; testSuccess207(); } IS_NATIVE function testFail378(string msg102) { } IS_NATIVE function testSuccess207() { } function E_D_C_A_bar185(integer this195) returns integer { return 2; } function E_D_C_B_foo140(integer this653) returns integer { return 3; } function E_init113(integer this161) { construct_E_D110(this_161); } function construct_E_D110(integer this128) { construct_E_D_C161(this_128); } function construct_E_D_C_A534(integer this902) { } function construct_E_D_C_B173(integer this100) { } function construct_E_D_C161(integer this209) { construct_E_D_C_A534(this_209); construct_E_D_C_B173(this_209); } function new_E116() returns integer { local integer this143 this_143 = alloc_E130(); construct_E975(this_143); return this_143; } function construct_E975(integer this141) { E_init113(this_141); } function alloc_E130() returns integer { local integer this205 if (E_firstFree_185 == 0) { if (E_maxIndex_535 < 32768) { E_maxIndex_535 = (E_maxIndex_535 + 1); this_205 = E_maxIndex_535; E_typeId_772[this_205] = 1; } else { error297("Out of memory: Could not create E."); this_205 = 0; }; } else { E_firstFree_185 = (E_firstFree_185 - 1); this_205 = E_nextFree_192[E_firstFree_185]; E_typeId_772[this_205] = 1; }; return this_205; } function error297(string msg172) { $debugPrint173((msg_172 + (" " + #getStackTrace()))); } function dispatch_E_test_E_D_C_A_bar966(integer this138) returns integer { local integer test_E_D_C_A_bar_result160 if (E_typeId_772[this_138] == 0) { if (this_138 == 0) { error297("Nullpointer exception when calling E.bar"); } else { error297("Called E.bar on invalid object."); }; } else { }; test_E_D_C_A_bar_result_160 = E_D_C_A_bar185(this_138); return test_E_D_C_A_bar_result_160; } function dispatch_E_test_E_D_C_B_foo843(integer this796) returns integer { local integer test_E_D_C_B_foo_result160 if (E_typeId_772[this_796] == 0) { if (this_796 == 0) { error297("Nullpointer exception when calling E.foo"); } else { error297("Called E.foo on invalid object."); }; } else { }; test_E_D_C_B_foo_result_160 = E_D_C_B_foo140(this_796); return test_E_D_C_B_foo_result_160; }