array E_nextFree132 integer E_firstFree211 integer E_maxIndex181 array E_typeId611 integer E_firstFree211 = 0 integer E_maxIndex181 = 0 function initGlobals197() { } function main199() { initGlobals197(); init_test121(); } function config121() { } function init_test121() { local integer e154 e_154 = new_E135(); if (dispatch_E_test_E_D_C_B_foo585(e_154) != 3) { testFail141("foo fail"); } else { }; if (dispatch_E_test_E_D_C_A_bar153(e_154) != 2) { testFail141("bar fail"); } else { }; testSuccess125(); } IS_NATIVE function testFail141(string msg816) { } IS_NATIVE function testSuccess125() { } function E_D_C_A_bar131(integer this812) returns integer { return 2; } function E_D_C_B_foo172(integer this180) returns integer { return 3; } function E_init174(integer this910) { construct_E_D796(this_910); } function construct_E_D796(integer this601) { construct_E_D_C106(this_601); } function construct_E_D_C_A161(integer this565) { } function construct_E_D_C_B183(integer this199) { } function construct_E_D_C106(integer this123) { construct_E_D_C_A161(this_123); construct_E_D_C_B183(this_123); } function new_E135() returns integer { local integer this107 this_107 = alloc_E134(); construct_E401(this_107); return this_107; } function construct_E401(integer this100) { E_init174(this_100); } function alloc_E134() returns integer { local integer this141 if (E_firstFree_211 == 0) { if (E_maxIndex_181 < 32768) { E_maxIndex_181 = (E_maxIndex_181 + 1); this_141 = E_maxIndex_181; E_typeId_611[this_141] = 1; } else { error211("Out of memory: Could not create E."); this_141 = 0; }; } else { E_firstFree_211 = (E_firstFree_211 - 1); this_141 = E_nextFree_132[E_firstFree_211]; E_typeId_611[this_141] = 1; }; return this_141; } function error211(string msg755) { $debugPrint137((msg_755 + (" " + #getStackTrace()))); } function dispatch_E_test_E_D_C_A_bar153(integer this300) returns integer { if (E_typeId_611[this_300] == 0) { if (this_300 == 0) { error211("Nullpointer exception when calling E.bar"); } else { error211("Called E.bar on invalid object."); }; } else { }; return E_D_C_A_bar131(this_300); } function dispatch_E_test_E_D_C_B_foo585(integer this190) returns integer { if (E_typeId_611[this_190] == 0) { if (this_190 == 0) { error211("Nullpointer exception when calling E.foo"); } else { error211("Called E.foo on invalid object."); }; } else { }; return E_D_C_B_foo172(this_190); }