array I_nextFree887 integer I_firstFree311 integer I_maxIndex148 array I_typeId101 integer I_firstFree311 = 0 integer I_maxIndex148 = 0 function initGlobals983() { } function main147() { initGlobals983(); init_test861(); } function config986() { } function init_test861() { local integer b154 local integer c594 local integer d147 local integer this152 local integer test_B_foo_result538 local integer this140 local integer test_D_foo_result940 local boolean andLeft129 b_154 = new_B776(); c_594 = new_C113(); d_147 = new_D893(); this_152 = b_154; if (I_typeId_101[this_152] == 0) { if (this_152 == 0) { error129("Nullpointer exception when calling B.foo"); } else { error129("Called B.foo on invalid object."); }; } else { }; test_B_foo_result_538 = 2; if ((test_B_foo_result_538 == 2) and (dispatch_I_test_I_foo208(c_594) == 5)) { this_140 = d_147; if (I_typeId_101[this_140] == 0) { if (this_140 == 0) { error129("Nullpointer exception when calling D.foo"); } else { error129("Called D.foo on invalid object."); }; } else { }; test_D_foo_result_940 = 3; andLeft_129 = (test_D_foo_result_940 == 3); } else { andLeft_129 = false; }; if andLeft_129 { testSuccess155(); } else { }; } IS_NATIVE function testSuccess155() { } function new_B776() returns integer { local integer this129 local integer this110 if (I_firstFree_311 == 0) { if (I_maxIndex_148 < 32768) { I_maxIndex_148 = (I_maxIndex_148 + 1); this_110 = I_maxIndex_148; I_typeId_101[this_110] = 2; } else { error129("Out of memory: Could not create B."); this_110 = 0; }; } else { I_firstFree_311 = (I_firstFree_311 - 1); this_110 = I_nextFree_887[I_firstFree_311]; I_typeId_101[this_110] = 2; }; this_129 = this_110; return this_129; } function new_C113() returns integer { local integer this104 local integer this209 if (I_firstFree_311 == 0) { if (I_maxIndex_148 < 32768) { I_maxIndex_148 = (I_maxIndex_148 + 1); this_209 = I_maxIndex_148; I_typeId_101[this_209] = 3; } else { error129("Out of memory: Could not create C."); this_209 = 0; }; } else { I_firstFree_311 = (I_firstFree_311 - 1); this_209 = I_nextFree_887[I_firstFree_311]; I_typeId_101[this_209] = 3; }; this_104 = this_209; return this_104; } function new_D893() returns integer { local integer this201 local integer this201 if (I_firstFree_311 == 0) { if (I_maxIndex_148 < 32768) { I_maxIndex_148 = (I_maxIndex_148 + 1); this_201 = I_maxIndex_148; I_typeId_101[this_201] = 4; } else { error129("Out of memory: Could not create D."); this_201 = 0; }; } else { I_firstFree_311 = (I_firstFree_311 - 1); this_201 = I_nextFree_887[I_firstFree_311]; I_typeId_101[this_201] = 4; }; this_201 = this_201; return this_201; } function error129(string msg838) { $debugPrint135((msg_838 + (" " + #getStackTrace()))); } function dispatch_I_test_I_foo208(integer this156) returns integer { local integer test_I_foo_result207 if (I_typeId_101[this_156] == 0) { if (this_156 == 0) { error129("Nullpointer exception when calling I.foo"); } else { error129("Called I.foo on invalid object."); }; } else { }; if (I_typeId_101[this_156] <= 2) { if (I_typeId_101[this_156] <= 1) { test_I_foo_result_207 = 5; } else { test_I_foo_result_207 = 2; }; } else { if (I_typeId_101[this_156] <= 3) { test_I_foo_result_207 = 5; } else { test_I_foo_result_207 = 3; }; }; return test_I_foo_result_207; }