integer test_x145 array B_nextFree502 integer B_firstFree129 integer B_maxIndex182 array B_typeId697 array B_y390 integer test_x145 = 2 integer B_firstFree129 = 0 integer B_maxIndex182 = 0 function initGlobals186() { } function main704() { initGlobals186(); init_test963(); } function config725() { } function init_test963() { test_x_145 = 2; dispatch_A_test_A_foo645(new_A168()); if (test_x_145 == 8) { testSuccess164(); } else { }; } IS_NATIVE function testSuccess164() { } function A_foo142(integer this211) { test_x_145 = (test_x_145 + B_y_390[this_211]); B_foo148(this_211); } function A_init152(integer this698) { } function new_A168() returns integer { local integer this405 this_405 = alloc_A801(); construct_A137(this_405); return this_405; } function construct_A137(integer this204) { construct_B186(this_204); A_init152(this_204); } function B_foo148(integer this503) { test_x_145 = (test_x_145 * B_y_390[this_503]); } function B_init455(integer this862) { B_y_390[this_862] = 2; } function construct_B186(integer this330) { B_init455(this_330); } function alloc_A801() returns integer { local integer this289 if (B_firstFree_129 == 0) { if (B_maxIndex_182 < 32768) { B_maxIndex_182 = (B_maxIndex_182 + 1); this_289 = B_maxIndex_182; B_typeId_697[this_289] = 2; } else { error862("Out of memory: Could not create A."); this_289 = 0; }; } else { B_firstFree_129 = (B_firstFree_129 - 1); this_289 = B_nextFree_502[B_firstFree_129]; B_typeId_697[this_289] = 2; }; return this_289; } function error862(string msg131) { $debugPrint698((msg_131 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo645(integer this561) { if (B_typeId_697[this_561] == 0) { if (this_561 == 0) { error862("Nullpointer exception when calling A.foo"); } else { error862("Called A.foo on invalid object."); }; } else { }; A_foo142(this_561); }