array I_nextFree157 integer I_firstFree293 integer I_maxIndex655 array I_typeId997 array C_nextFree159 integer C_firstFree136 integer C_maxIndex687 array D_nextFree336 integer D_firstFree580 integer D_maxIndex733 integer I_firstFree293 = 0 integer I_maxIndex655 = 0 integer C_firstFree136 = 0 integer C_maxIndex687 = 0 integer D_firstFree580 = 0 integer D_maxIndex733 = 0 function initGlobals160() { I_firstFree_293 = 0; I_maxIndex_655 = 0; C_firstFree_136 = 0; C_maxIndex_687 = 0; D_firstFree_580 = 0; D_maxIndex_733 = 0; } function main801() { initGlobals160(); init_Test154(); } function config188() { } function init_Test154() { local integer b102 b_102 = new_B208(); dispatch_I_Test_I_bla555(b_102, new_D585(), new_C708()); } function A_init111(integer this745) { } function construct_A577(integer this170) { A_init111(this_170); } function B_init391(integer this107) { } function new_B208() returns integer { local integer this201 this_201 = alloc_B239(); construct_B658(this_201); return this_201; } function construct_B658(integer this999) { construct_A577(this_999); B_init391(this_999); } function C_init132(integer this110) { } function new_C708() returns integer { local integer this139 this_139 = alloc_C778(); construct_C254(this_139); return this_139; } function construct_C254(integer this155) { C_init132(this_155); } function D_init171(integer this176) { } function new_D585() returns integer { local integer this148 this_148 = alloc_D927(); construct_D167(this_148); return this_148; } function construct_D167(integer this123) { D_init171(this_123); } function I_bla481(integer this483, any t696, any s187) { } function error106(string msg139) { $debugPrint108((msg_139 + (" " + #getStackTrace()))); } function alloc_B239() returns integer { local integer this116 if (I_firstFree_293 == 0) { if (I_maxIndex_655 < 32768) { I_maxIndex_655 = (I_maxIndex_655 + 1); this_116 = I_maxIndex_655; I_typeId_997[this_116] = 5; } else { error106("Out of memory: Could not create B."); this_116 = 0; }; } else { I_firstFree_293 = (I_firstFree_293 - 1); this_116 = I_nextFree_157[I_firstFree_293]; I_typeId_997[this_116] = 5; }; return this_116; } function alloc_C778() returns integer { local integer this110 if (C_firstFree_136 == 0) { if (C_maxIndex_687 < 32768) { C_maxIndex_687 = (C_maxIndex_687 + 1); this_110 = C_maxIndex_687; } else { error106("Out of memory: Could not create C."); this_110 = 0; }; } else { C_firstFree_136 = (C_firstFree_136 - 1); this_110 = C_nextFree_159[C_firstFree_136]; }; return this_110; } function alloc_D927() returns integer { local integer this210 if (D_firstFree_580 == 0) { if (D_maxIndex_733 < 32768) { D_maxIndex_733 = (D_maxIndex_733 + 1); this_210 = D_maxIndex_733; } else { error106("Out of memory: Could not create D."); this_210 = 0; }; } else { D_firstFree_580 = (D_firstFree_580 - 1); this_210 = D_nextFree_336[D_firstFree_580]; }; return this_210; } function dispatch_I_Test_I_bla555(integer this167, any t189, any s123) { if (I_typeId_997[this_167] == 0) { if (this_167 == 0) { error106("Nullpointer exception when calling I.bla"); } else { error106("Called I.bla on invalid object."); }; } else { }; I_bla481(this_167, t_189, s_123); }