array I_nextFree712 integer I_firstFree228 integer I_maxIndex603 array I_typeId105 array C_nextFree121 integer C_firstFree107 integer C_maxIndex387 array D_nextFree908 integer D_firstFree988 integer D_maxIndex305 integer I_firstFree228 = 0 integer I_maxIndex603 = 0 integer C_firstFree107 = 0 integer C_maxIndex387 = 0 integer D_firstFree988 = 0 integer D_maxIndex305 = 0 function initGlobals207() { I_firstFree_228 = 0; I_maxIndex_603 = 0; C_firstFree_107 = 0; C_maxIndex_387 = 0; D_firstFree_988 = 0; D_maxIndex_305 = 0; } function main796() { initGlobals207(); init_Test168(); } function config190() { } function init_Test168() { local integer b185 b_185 = new_B186(); dispatch_I_Test_I_bla170(b_185, new_D186(), new_C202()); } function A_init174(integer this196) { } function construct_A122(integer this211) { A_init174(this_211); } function B_init817(integer this114) { } function new_B186() returns integer { local integer this206 this_206 = alloc_B892(); construct_B683(this_206); return this_206; } function construct_B683(integer this374) { construct_A122(this_374); B_init817(this_374); } function C_init103(integer this127) { } function new_C202() returns integer { local integer this168 this_168 = alloc_C154(); construct_C151(this_168); return this_168; } function construct_C151(integer this207) { C_init103(this_207); } function D_init252(integer this303) { } function new_D186() returns integer { local integer this211 this_211 = alloc_D135(); construct_D179(this_211); return this_211; } function construct_D179(integer this615) { D_init252(this_615); } function I_bla190(integer this183, any t120, any s112) { } function error288(string msg214) { $debugPrint204((msg_214 + (" " + #getStackTrace()))); } function alloc_B892() returns integer { local integer this656 if (I_firstFree_228 == 0) { if (I_maxIndex_603 < 32768) { I_maxIndex_603 = (I_maxIndex_603 + 1); this_656 = I_maxIndex_603; I_typeId_105[this_656] = 6; } else { error288("Out of memory: Could not create B."); this_656 = 0; }; } else { I_firstFree_228 = (I_firstFree_228 - 1); this_656 = I_nextFree_712[I_firstFree_228]; I_typeId_105[this_656] = 6; }; return this_656; } function alloc_C154() returns integer { local integer this614 if (C_firstFree_107 == 0) { if (C_maxIndex_387 < 32768) { C_maxIndex_387 = (C_maxIndex_387 + 1); this_614 = C_maxIndex_387; } else { error288("Out of memory: Could not create C."); this_614 = 0; }; } else { C_firstFree_107 = (C_firstFree_107 - 1); this_614 = C_nextFree_121[C_firstFree_107]; }; return this_614; } function alloc_D135() returns integer { local integer this173 if (D_firstFree_988 == 0) { if (D_maxIndex_305 < 32768) { D_maxIndex_305 = (D_maxIndex_305 + 1); this_173 = D_maxIndex_305; } else { error288("Out of memory: Could not create D."); this_173 = 0; }; } else { D_firstFree_988 = (D_firstFree_988 - 1); this_173 = D_nextFree_908[D_firstFree_988]; }; return this_173; } function dispatch_I_Test_I_bla170(integer this189, any t198, any s558) { if (I_typeId_105[this_189] == 0) { if (this_189 == 0) { error288("Nullpointer exception when calling I.bla"); } else { error288("Called I.bla on invalid object."); }; } else { }; I_bla190(this_189, t_198, s_558); }