array A_nextFree183 integer A_firstFree538 integer A_maxIndex125 array A_typeId184 array C_nextFree195 integer C_firstFree118 integer C_maxIndex629 integer A_firstFree538 = 0 integer A_maxIndex125 = 0 integer C_firstFree118 = 0 integer C_maxIndex629 = 0 function initGlobals175() { A_firstFree_538 = 0; A_maxIndex_125 = 0; C_firstFree_118 = 0; C_maxIndex_629 = 0; } function main869() { initGlobals175(); init_Test181(); } function config175() { } function init_Test181() { local integer b113 b_113 = new_B137(); dispatch_A_Test_A_bla110(b_113, new_C125()); } function A_bla106(integer this164, any t619) { } function A_init209(integer this209) { } function construct_A135(integer this735) { A_init209(this_735); } function B_init204(integer this204) { } function new_B137() returns integer { local integer this182 this_182 = alloc_B157(); construct_B586(this_182); return this_182; } function construct_B586(integer this423) { construct_A135(this_423); B_init204(this_423); } function C_init100(integer this728) { } function new_C125() returns integer { local integer this997 this_997 = alloc_C625(); construct_C565(this_997); return this_997; } function construct_C565(integer this105) { C_init100(this_105); } function error690(string msg117) { $debugPrint197((msg_117 + (" " + #getStackTrace()))); } function alloc_B157() returns integer { local integer this888 if (A_firstFree_538 == 0) { if (A_maxIndex_125 < 32768) { A_maxIndex_125 = (A_maxIndex_125 + 1); this_888 = A_maxIndex_125; A_typeId_184[this_888] = 2; } else { error690("Out of memory: Could not create B."); this_888 = 0; }; } else { A_firstFree_538 = (A_firstFree_538 - 1); this_888 = A_nextFree_183[A_firstFree_538]; A_typeId_184[this_888] = 2; }; return this_888; } function alloc_C625() returns integer { local integer this122 if (C_firstFree_118 == 0) { if (C_maxIndex_629 < 32768) { C_maxIndex_629 = (C_maxIndex_629 + 1); this_122 = C_maxIndex_629; } else { error690("Out of memory: Could not create C."); this_122 = 0; }; } else { C_firstFree_118 = (C_firstFree_118 - 1); this_122 = C_nextFree_195[C_firstFree_118]; }; return this_122; } function dispatch_A_Test_A_bla110(integer this157, any t504) { if (A_typeId_184[this_157] == 0) { if (this_157 == 0) { error690("Nullpointer exception when calling A.bla"); } else { error690("Called A.bla on invalid object."); }; } else { }; A_bla106(this_157, t_504); }