array E_nextFree145 integer E_firstFree101 integer E_maxIndex663 array E_typeId297 integer E_firstFree101 = 0 integer E_maxIndex663 = 0 function initGlobals154() { E_firstFree_101 = 0; E_maxIndex_663 = 0; } function main135() { initGlobals154(); init_test190(); } function config181() { } function init_test190() { local integer e112 e_112 = new_E309(); if (dispatch_E_test_E_D_C_B_foo830(e_112) != 3) { testFail124("foo fail"); } else { }; if (dispatch_E_test_E_D_C_A_bar104(e_112) != 2) { testFail124("bar fail"); } else { }; testSuccess825(); } IS_NATIVE function testFail124(string msg134) { } IS_NATIVE function testSuccess825() { } function E_D_C_A_bar177(integer this181) returns integer { return 2; } function E_D_C_B_foo382(integer this631) returns integer { return 3; } function E_init172(integer this790) { construct_E_D198(this_790); } function construct_E_D198(integer this174) { construct_E_D_C831(this_174); } function construct_E_D_C_A205(integer this166) { } function construct_E_D_C_B588(integer this106) { } function construct_E_D_C831(integer this806) { construct_E_D_C_A205(this_806); construct_E_D_C_B588(this_806); } function new_E309() returns integer { local integer this163 this_163 = alloc_E132(); construct_E194(this_163); return this_163; } function construct_E194(integer this106) { E_init172(this_106); } function alloc_E132() returns integer { local integer this422 if (E_firstFree_101 == 0) { if (E_maxIndex_663 < 32768) { E_maxIndex_663 = (E_maxIndex_663 + 1); this_422 = E_maxIndex_663; E_typeId_297[this_422] = 1; } else { error150("Out of memory: Could not create E."); this_422 = 0; }; } else { E_firstFree_101 = (E_firstFree_101 - 1); this_422 = E_nextFree_145[E_firstFree_101]; E_typeId_297[this_422] = 1; }; return this_422; } function error150(string msg958) { $debugPrint291((msg_958 + (" " + #getStackTrace()))); } function dispatch_E_test_E_D_C_A_bar104(integer this711) returns integer { local integer test_E_D_C_A_bar_result115 if (E_typeId_297[this_711] == 0) { if (this_711 == 0) { error150("Nullpointer exception when calling E.bar"); } else { error150("Called E.bar on invalid object."); }; } else { }; test_E_D_C_A_bar_result_115 = E_D_C_A_bar177(this_711); return test_E_D_C_A_bar_result_115; } function dispatch_E_test_E_D_C_B_foo830(integer this187) returns integer { local integer test_E_D_C_B_foo_result528 if (E_typeId_297[this_187] == 0) { if (this_187 == 0) { error150("Nullpointer exception when calling E.foo"); } else { error150("Called E.foo on invalid object."); }; } else { }; test_E_D_C_B_foo_result_528 = E_D_C_B_foo382(this_187); return test_E_D_C_B_foo_result_528; }