array A_nextFree109 integer A_firstFree209 integer A_maxIndex264 array A_typeId944 array A_M_i149 integer A_firstFree209 = 0 integer A_maxIndex264 = 0 function initGlobals138() { } function main785() { initGlobals138(); init_Test251(); } function config116() { } function init_Test251() { local integer b110 b_110 = new_B123(); dispatch_A_Test_A_f652(b_110); dispatch_B_Test_B_g739(b_110); if (A_M_i_149[b_110] != 5) { testFail108("foo"); } else { }; testSuccess206(); } IS_NATIVE function testFail108(string message658) { } IS_NATIVE function testSuccess206() { } function new_B123() returns integer { local integer this167 if (A_firstFree_209 == 0) { if (A_maxIndex_264 < 32768) { A_maxIndex_264 = (A_maxIndex_264 + 1); this_167 = A_maxIndex_264; A_typeId_944[this_167] = 2; } else { error366("Out of memory: Could not create B."); this_167 = 0; }; } else { A_firstFree_209 = (A_firstFree_209 - 1); this_167 = A_nextFree_109[A_firstFree_209]; A_typeId_944[this_167] = 2; }; A_M_i_149[this_167] = 0; return this_167; } function error366(string msg129) { $debugPrint104((msg_129 + (" " + #getStackTrace()))); } function dispatch_A_Test_A_f652(integer this150) { if (A_typeId_944[this_150] == 0) { if (this_150 == 0) { error366("Nullpointer exception when calling A.f"); } else { error366("Called A.f on invalid object."); }; } else { }; A_M_i_149[this_150] = (A_M_i_149[this_150] + 1); A_M_i_149[this_150] = (A_M_i_149[this_150] + 1); } function dispatch_B_Test_B_g739(integer this398) { if (A_typeId_944[this_398] == 0) { if (this_398 == 0) { error366("Nullpointer exception when calling B.g"); } else { error366("Called B.g on invalid object."); }; } else { }; A_M_i_149[this_398] = (A_M_i_149[this_398] + 1); A_M_i_149[this_398] = (A_M_i_149[this_398] + 1); A_M_i_149[this_398] = (A_M_i_149[this_398] + 1); }