integer test_i885 array A_nextFree323 integer A_firstFree198 integer A_maxIndex739 array A_typeId102 integer A_firstFree198 = 0 integer A_maxIndex739 = 0 function initGlobals593() { } function main600() { initGlobals593(); init_test129(); } function config160() { } function init_test129() { dispatch_A_test_A_foo191(new_B123()); if (test_i_885 == 8) { testSuccess197(); } else { }; } IS_NATIVE function testSuccess197() { } function A_init111(integer this122) { } function construct_A196(integer this111) { A_init111(this_111); } function B_foo588(integer this629) { test_i_885 = 8; } function B_init208(integer this455) { } function new_B123() returns integer { local integer this591 this_591 = alloc_B195(); construct_B166(this_591); return this_591; } function construct_B166(integer this766) { construct_A196(this_766); B_init208(this_766); } function error116(string msg122) { $debugPrint188((msg_122 + (" " + #getStackTrace()))); } function alloc_B195() returns integer { local integer this164 if (A_firstFree_198 == 0) { if (A_maxIndex_739 < 32768) { A_maxIndex_739 = (A_maxIndex_739 + 1); this_164 = A_maxIndex_739; A_typeId_102[this_164] = 2; } else { error116("Out of memory: Could not create B."); this_164 = 0; }; } else { A_firstFree_198 = (A_firstFree_198 - 1); this_164 = A_nextFree_323[A_firstFree_198]; A_typeId_102[this_164] = 2; }; return this_164; } function dispatch_A_test_A_foo191(integer this303) { if (A_typeId_102[this_303] == 0) { if (this_303 == 0) { error116("Nullpointer exception when calling A.foo"); } else { error116("Called A.foo on invalid object."); }; } else { }; B_foo588(this_303); }