integer test_i157 array A_nextFree154 integer A_firstFree200 integer A_maxIndex103 array A_typeId273 integer A_firstFree200 = 0 integer A_maxIndex103 = 0 function initGlobals174() { } function main898() { initGlobals174(); init_test798(); } function config124() { } function init_test798() { dispatch_A_test_A_foo221(new_B571()); if (test_i_157 == 8) { testSuccess566(); } else { }; } IS_NATIVE function testSuccess566() { } function A_init104(integer this191) { } function construct_A163(integer this143) { A_init104(this_143); } function B_foo190(integer this667) { test_i_157 = 8; } function B_init140(integer this727) { } function new_B571() returns integer { local integer this133 this_133 = alloc_B115(); construct_B168(this_133); return this_133; } function construct_B168(integer this931) { construct_A163(this_931); B_init140(this_931); } function error142(string msg187) { $debugPrint187((msg_187 + (" " + #getStackTrace()))); } function alloc_B115() returns integer { local integer this142 if (A_firstFree_200 == 0) { if (A_maxIndex_103 < 32768) { A_maxIndex_103 = (A_maxIndex_103 + 1); this_142 = A_maxIndex_103; A_typeId_273[this_142] = 2; } else { error142("Out of memory: Could not create B."); this_142 = 0; }; } else { A_firstFree_200 = (A_firstFree_200 - 1); this_142 = A_nextFree_154[A_firstFree_200]; A_typeId_273[this_142] = 2; }; return this_142; } function dispatch_A_test_A_foo221(integer this211) { if (A_typeId_273[this_211] == 0) { if (this_211 == 0) { error142("Nullpointer exception when calling A.foo"); } else { error142("Called A.foo on invalid object."); }; } else { }; B_foo190(this_211); }