array I_nextFree512 integer I_firstFree492 integer I_maxIndex111 array I_typeId254 array C_nextFree127 integer C_firstFree148 integer C_maxIndex759 array D_nextFree154 integer D_firstFree118 integer D_maxIndex184 integer I_firstFree492 = 0 integer I_maxIndex111 = 0 integer C_firstFree148 = 0 integer C_maxIndex759 = 0 integer D_firstFree118 = 0 integer D_maxIndex184 = 0 function initGlobals164() { I_firstFree_492 = 0; I_maxIndex_111 = 0; C_firstFree_148 = 0; C_maxIndex_759 = 0; D_firstFree_118 = 0; D_maxIndex_184 = 0; } function main725() { initGlobals164(); init_Test189(); } function config173() { } function init_Test189() { local integer b106 b_106 = new_B176(); dispatch_I_Test_I_bla529(b_106, new_D180(), new_C986()); } function A_init195(integer this381) { } function construct_A117(integer this285) { A_init195(this_285); } function B_init207(integer this187) { } function new_B176() returns integer { local integer this191 this_191 = alloc_B108(); construct_B206(this_191); return this_191; } function construct_B206(integer this161) { construct_A117(this_161); B_init207(this_161); } function C_init194(integer this155) { } function new_C986() returns integer { local integer this129 this_129 = alloc_C902(); construct_C142(this_129); return this_129; } function construct_C142(integer this192) { C_init194(this_192); } function D_init164(integer this920) { } function new_D180() returns integer { local integer this108 this_108 = alloc_D739(); construct_D149(this_108); return this_108; } function construct_D149(integer this845) { D_init164(this_845); } function I_bla429(integer this139, any t118, any s133) { } function error493(string msg173) { $debugPrint136((msg_173 + (" " + #getStackTrace()))); } function alloc_B108() returns integer { local integer this138 if (I_firstFree_492 == 0) { if (I_maxIndex_111 < 32768) { I_maxIndex_111 = (I_maxIndex_111 + 1); this_138 = I_maxIndex_111; I_typeId_254[this_138] = 5; } else { error493("Out of memory: Could not create B."); this_138 = 0; }; } else { I_firstFree_492 = (I_firstFree_492 - 1); this_138 = I_nextFree_512[I_firstFree_492]; I_typeId_254[this_138] = 5; }; return this_138; } function alloc_C902() returns integer { local integer this213 if (C_firstFree_148 == 0) { if (C_maxIndex_759 < 32768) { C_maxIndex_759 = (C_maxIndex_759 + 1); this_213 = C_maxIndex_759; } else { error493("Out of memory: Could not create C."); this_213 = 0; }; } else { C_firstFree_148 = (C_firstFree_148 - 1); this_213 = C_nextFree_127[C_firstFree_148]; }; return this_213; } function alloc_D739() returns integer { local integer this207 if (D_firstFree_118 == 0) { if (D_maxIndex_184 < 32768) { D_maxIndex_184 = (D_maxIndex_184 + 1); this_207 = D_maxIndex_184; } else { error493("Out of memory: Could not create D."); this_207 = 0; }; } else { D_firstFree_118 = (D_firstFree_118 - 1); this_207 = D_nextFree_154[D_firstFree_118]; }; return this_207; } function dispatch_I_Test_I_bla529(integer this675, any t382, any s127) { if (I_typeId_254[this_675] == 0) { if (this_675 == 0) { error493("Nullpointer exception when calling I.bla"); } else { error493("Called I.bla on invalid object."); }; } else { }; I_bla429(this_675, t_382, s_127); }