integer test_x196 array B_nextFree466 integer B_firstFree122 integer B_maxIndex124 array B_typeId205 array B_y114 integer test_x196 = 2 integer B_firstFree122 = 0 integer B_maxIndex124 = 0 function initGlobals154() { } function main974() { initGlobals154(); init_test199(); } function config604() { } function init_test199() { test_x_196 = 2; dispatch_A_test_A_foo597(new_A745()); if (test_x_196 == 8) { testSuccess371(); } else { }; } IS_NATIVE function testSuccess371() { } function A_foo102(integer this101) { test_x_196 = (test_x_196 + B_y_114[this_101]); B_foo187(this_101); } function A_init174(integer this857) { } function new_A745() returns integer { local integer this103 this_103 = alloc_A208(); construct_A705(this_103); return this_103; } function construct_A705(integer this144) { construct_B186(this_144); A_init174(this_144); } function B_foo187(integer this845) { test_x_196 = (test_x_196 * B_y_114[this_845]); } function B_init101(integer this136) { B_y_114[this_136] = 2; } function construct_B186(integer this680) { B_init101(this_680); } function alloc_A208() returns integer { local integer this124 if (B_firstFree_122 == 0) { if (B_maxIndex_124 < 32768) { B_maxIndex_124 = (B_maxIndex_124 + 1); this_124 = B_maxIndex_124; B_typeId_205[this_124] = 2; } else { error140("Out of memory: Could not create A."); this_124 = 0; }; } else { B_firstFree_122 = (B_firstFree_122 - 1); this_124 = B_nextFree_466[B_firstFree_122]; B_typeId_205[this_124] = 2; }; return this_124; } function error140(string msg193) { $debugPrint172((msg_193 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo597(integer this117) { if (B_typeId_205[this_117] == 0) { if (this_117 == 0) { error140("Nullpointer exception when calling A.foo"); } else { error140("Called A.foo on invalid object."); }; } else { }; A_foo102(this_117); }