array A_nextFree105 integer A_firstFree455 integer A_maxIndex499 array A_typeId728 array A_M_i714 integer A_firstFree455 = 0 integer A_maxIndex499 = 0 function initGlobals196() { } function main250() { initGlobals196(); init_Test133(); } function config195() { } function init_Test133() { local integer b364 local integer a111 b_364 = new_B195(); a_111 = b_364; dispatch_A_Test_A_f311(a_111); dispatch_B_Test_B_g982(b_364); if (A_M_i_714[a_111] != 5) { testFail162("foo"); } else { }; testSuccess101(); } IS_NATIVE function testFail162(string message166) { } IS_NATIVE function testSuccess101() { } function new_B195() returns integer { local integer this134 local integer this127 local integer this755 local integer this215 local integer this518 if (A_firstFree_455 == 0) { if (A_maxIndex_499 < 32768) { A_maxIndex_499 = (A_maxIndex_499 + 1); this_127 = A_maxIndex_499; A_typeId_728[this_127] = 2; } else { error872("Out of memory: Could not create B."); this_127 = 0; }; } else { A_firstFree_455 = (A_firstFree_455 - 1); this_127 = A_nextFree_105[A_firstFree_455]; A_typeId_728[this_127] = 2; }; this_134 = this_127; this_755 = this_134; this_215 = this_755; this_518 = this_215; A_M_i_714[this_518] = 0; return this_134; } function error872(string msg156) { $debugPrint189((msg_156 + (" " + #getStackTrace()))); } function dispatch_A_Test_A_f311(integer this104) { local integer this128 if (A_typeId_728[this_104] == 0) { if (this_104 == 0) { error872("Nullpointer exception when calling A.f"); } else { error872("Called A.f on invalid object."); }; } else { }; this_128 = this_104; A_M_i_714[this_128] = (A_M_i_714[this_128] + 1); A_M_i_714[this_128] = (A_M_i_714[this_128] + 1); } function dispatch_B_Test_B_g982(integer this488) { local integer this652 if (A_typeId_728[this_488] == 0) { if (this_488 == 0) { error872("Nullpointer exception when calling B.g"); } else { error872("Called B.g on invalid object."); }; } else { }; this_652 = this_488; A_M_i_714[this_652] = (A_M_i_714[this_652] + 1); A_M_i_714[this_652] = (A_M_i_714[this_652] + 1); A_M_i_714[this_652] = (A_M_i_714[this_652] + 1); }