array I_nextFree565 integer I_firstFree746 integer I_maxIndex845 array I_typeId844 array C_nextFree292 integer C_firstFree927 integer C_maxIndex112 array D_nextFree163 integer D_firstFree177 integer D_maxIndex166 integer I_firstFree746 = 0 integer I_maxIndex845 = 0 integer C_firstFree927 = 0 integer C_maxIndex112 = 0 integer D_firstFree177 = 0 integer D_maxIndex166 = 0 function initGlobals317() { I_firstFree_746 = 0; I_maxIndex_845 = 0; C_firstFree_927 = 0; C_maxIndex_112 = 0; D_firstFree_177 = 0; D_maxIndex_166 = 0; } function main155() { initGlobals317(); init_Test718(); } function config122() { } function init_Test718() { local integer b612 b_612 = new_B395(); dispatch_I_Test_I_bla169(b_612, new_D212(), new_C180()); } function A_init214(integer this140) { } function construct_A185(integer this405) { A_init214(this_405); } function B_init121(integer this111) { } function new_B395() returns integer { local integer this812 this_812 = alloc_B629(); construct_B166(this_812); return this_812; } function construct_B166(integer this204) { construct_A185(this_204); B_init121(this_204); } function C_init701(integer this120) { } function new_C180() returns integer { local integer this797 this_797 = alloc_C526(); construct_C803(this_797); return this_797; } function construct_C803(integer this326) { C_init701(this_326); } function D_init297(integer this828) { } function new_D212() returns integer { local integer this754 this_754 = alloc_D207(); construct_D880(this_754); return this_754; } function construct_D880(integer this349) { D_init297(this_349); } function I_bla489(integer this139, any t197, any s381) { } function error125(string msg157) { $debugPrint157((msg_157 + (" " + #getStackTrace()))); } function alloc_B629() returns integer { local integer this104 if (I_firstFree_746 == 0) { if (I_maxIndex_845 < 32768) { I_maxIndex_845 = (I_maxIndex_845 + 1); this_104 = I_maxIndex_845; I_typeId_844[this_104] = 6; } else { error125("Out of memory: Could not create B."); this_104 = 0; }; } else { I_firstFree_746 = (I_firstFree_746 - 1); this_104 = I_nextFree_565[I_firstFree_746]; I_typeId_844[this_104] = 6; }; return this_104; } function alloc_C526() returns integer { local integer this175 if (C_firstFree_927 == 0) { if (C_maxIndex_112 < 32768) { C_maxIndex_112 = (C_maxIndex_112 + 1); this_175 = C_maxIndex_112; } else { error125("Out of memory: Could not create C."); this_175 = 0; }; } else { C_firstFree_927 = (C_firstFree_927 - 1); this_175 = C_nextFree_292[C_firstFree_927]; }; return this_175; } function alloc_D207() returns integer { local integer this711 if (D_firstFree_177 == 0) { if (D_maxIndex_166 < 32768) { D_maxIndex_166 = (D_maxIndex_166 + 1); this_711 = D_maxIndex_166; } else { error125("Out of memory: Could not create D."); this_711 = 0; }; } else { D_firstFree_177 = (D_firstFree_177 - 1); this_711 = D_nextFree_163[D_firstFree_177]; }; return this_711; } function dispatch_I_Test_I_bla169(integer this147, any t552, any s651) { if (I_typeId_844[this_147] == 0) { if (this_147 == 0) { error125("Nullpointer exception when calling I.bla"); } else { error125("Called I.bla on invalid object."); }; } else { }; I_bla489(this_147, t_552, s_651); }