array A_nextFree145 integer A_firstFree165 integer A_maxIndex123 array A_typeId108 array C_nextFree101 integer C_firstFree121 integer C_maxIndex660 integer A_firstFree165 = 0 integer A_maxIndex123 = 0 integer C_firstFree121 = 0 integer C_maxIndex660 = 0 function initGlobals151() { A_firstFree_165 = 0; A_maxIndex_123 = 0; C_firstFree_121 = 0; C_maxIndex_660 = 0; } function main606() { initGlobals151(); init_Test201(); } function config424() { } function init_Test201() { local integer b112 b_112 = new_B152(); dispatch_A_Test_A_bla201(b_112, new_C105()); } function A_bla202(integer this650, any t179) { } function A_init146(integer this230) { } function construct_A193(integer this131) { A_init146(this_131); } function B_init615(integer this213) { } function new_B152() returns integer { local integer this333 this_333 = alloc_B869(); construct_B319(this_333); return this_333; } function construct_B319(integer this204) { construct_A193(this_204); B_init615(this_204); } function C_init411(integer this196) { } function new_C105() returns integer { local integer this117 this_117 = alloc_C153(); construct_C125(this_117); return this_117; } function construct_C125(integer this985) { C_init411(this_985); } function error156(string msg412) { $debugPrint774((msg_412 + (" " + #getStackTrace()))); } function alloc_B869() returns integer { local integer this185 if (A_firstFree_165 == 0) { if (A_maxIndex_123 < 32768) { A_maxIndex_123 = (A_maxIndex_123 + 1); this_185 = A_maxIndex_123; A_typeId_108[this_185] = 2; } else { error156("Out of memory: Could not create B."); this_185 = 0; }; } else { A_firstFree_165 = (A_firstFree_165 - 1); this_185 = A_nextFree_145[A_firstFree_165]; A_typeId_108[this_185] = 2; }; return this_185; } function alloc_C153() returns integer { local integer this198 if (C_firstFree_121 == 0) { if (C_maxIndex_660 < 32768) { C_maxIndex_660 = (C_maxIndex_660 + 1); this_198 = C_maxIndex_660; } else { error156("Out of memory: Could not create C."); this_198 = 0; }; } else { C_firstFree_121 = (C_firstFree_121 - 1); this_198 = C_nextFree_101[C_firstFree_121]; }; return this_198; } function dispatch_A_Test_A_bla201(integer this194, any t179) { if (A_typeId_108[this_194] == 0) { if (this_194 == 0) { error156("Nullpointer exception when calling A.bla"); } else { error156("Called A.bla on invalid object."); }; } else { }; A_bla202(this_194, t_179); }