array E_nextFree147 integer E_firstFree178 integer E_maxIndex101 array E_typeId751 integer E_firstFree178 = 0 integer E_maxIndex101 = 0 function initGlobals205() { E_firstFree_178 = 0; E_maxIndex_101 = 0; } function main132() { initGlobals205(); init_test114(); } function config956() { } function init_test114() { local integer e402 e_402 = new_E132(); if (dispatch_E_test_E_D_C_B_foo591(e_402) != 3) { testFail133("foo fail"); } else { }; if (dispatch_E_test_E_D_C_A_bar592(e_402) != 2) { testFail133("bar fail"); } else { }; testSuccess147(); } IS_NATIVE function testFail133(string msg877) { } IS_NATIVE function testSuccess147() { } function E_D_C_A_bar193(integer this558) returns integer { return 2; } function E_D_C_B_foo348(integer this152) returns integer { return 3; } function E_init141(integer this174) { construct_E_D669(this_174); } function construct_E_D669(integer this114) { construct_E_D_C499(this_114); } function construct_E_D_C_A807(integer this462) { } function construct_E_D_C_B173(integer this164) { } function construct_E_D_C499(integer this129) { construct_E_D_C_A807(this_129); construct_E_D_C_B173(this_129); } function new_E132() returns integer { local integer this144 this_144 = alloc_E880(); construct_E301(this_144); return this_144; } function construct_E301(integer this131) { E_init141(this_131); } function alloc_E880() returns integer { local integer this108 if (E_firstFree_178 == 0) { if (E_maxIndex_101 < 32768) { E_maxIndex_101 = (E_maxIndex_101 + 1); this_108 = E_maxIndex_101; E_typeId_751[this_108] = 1; } else { error214("Out of memory: Could not create E."); this_108 = 0; }; } else { E_firstFree_178 = (E_firstFree_178 - 1); this_108 = E_nextFree_147[E_firstFree_178]; E_typeId_751[this_108] = 1; }; return this_108; } function error214(string msg127) { $debugPrint208((msg_127 + (" " + #getStackTrace()))); } function dispatch_E_test_E_D_C_A_bar592(integer this504) returns integer { local integer test_E_D_C_A_bar_result163 if (E_typeId_751[this_504] == 0) { if (this_504 == 0) { error214("Nullpointer exception when calling E.bar"); } else { error214("Called E.bar on invalid object."); }; } else { }; test_E_D_C_A_bar_result_163 = E_D_C_A_bar193(this_504); return test_E_D_C_A_bar_result_163; } function dispatch_E_test_E_D_C_B_foo591(integer this205) returns integer { local integer test_E_D_C_B_foo_result888 if (E_typeId_751[this_205] == 0) { if (this_205 == 0) { error214("Nullpointer exception when calling E.foo"); } else { error214("Called E.foo on invalid object."); }; } else { }; test_E_D_C_B_foo_result_888 = E_D_C_B_foo348(this_205); return test_E_D_C_B_foo_result_888; }