array I_nextFree715 integer I_firstFree392 integer I_maxIndex531 array I_typeId187 array C_nextFree108 integer C_firstFree166 integer C_maxIndex148 array D_nextFree817 integer D_firstFree813 integer D_maxIndex161 integer I_firstFree392 = 0 integer I_maxIndex531 = 0 integer C_firstFree166 = 0 integer C_maxIndex148 = 0 integer D_firstFree813 = 0 integer D_maxIndex161 = 0 function initGlobals177() { I_firstFree_392 = 0; I_maxIndex_531 = 0; C_firstFree_166 = 0; C_maxIndex_148 = 0; D_firstFree_813 = 0; D_maxIndex_161 = 0; } function main140() { initGlobals177(); init_Test897(); } function config197() { } function init_Test897() { local integer b918 b_918 = new_B483(); dispatch_I_Test_I_bla939(b_918, new_D161(), new_C618()); } function A_init645(integer this160) { } function construct_A636(integer this843) { A_init645(this_843); } function B_init208(integer this329) { } function new_B483() returns integer { local integer this625 this_625 = alloc_B114(); construct_B957(this_625); return this_625; } function construct_B957(integer this626) { construct_A636(this_626); B_init208(this_626); } function C_init113(integer this287) { } function new_C618() returns integer { local integer this160 this_160 = alloc_C310(); construct_C154(this_160); return this_160; } function construct_C154(integer this189) { C_init113(this_189); } function D_init432(integer this167) { } function new_D161() returns integer { local integer this714 this_714 = alloc_D396(); construct_D128(this_714); return this_714; } function construct_D128(integer this717) { D_init432(this_717); } function I_bla142(integer this203, any t779, any s210) { } function error183(string msg519) { $debugPrint166((msg_519 + (" " + #getStackTrace()))); } function alloc_B114() returns integer { local integer this839 if (I_firstFree_392 == 0) { if (I_maxIndex_531 < 32768) { I_maxIndex_531 = (I_maxIndex_531 + 1); this_839 = I_maxIndex_531; I_typeId_187[this_839] = 6; } else { error183("Out of memory: Could not create B."); this_839 = 0; }; } else { I_firstFree_392 = (I_firstFree_392 - 1); this_839 = I_nextFree_715[I_firstFree_392]; I_typeId_187[this_839] = 6; }; return this_839; } function alloc_C310() returns integer { local integer this157 if (C_firstFree_166 == 0) { if (C_maxIndex_148 < 32768) { C_maxIndex_148 = (C_maxIndex_148 + 1); this_157 = C_maxIndex_148; } else { error183("Out of memory: Could not create C."); this_157 = 0; }; } else { C_firstFree_166 = (C_firstFree_166 - 1); this_157 = C_nextFree_108[C_firstFree_166]; }; return this_157; } function alloc_D396() returns integer { local integer this947 if (D_firstFree_813 == 0) { if (D_maxIndex_161 < 32768) { D_maxIndex_161 = (D_maxIndex_161 + 1); this_947 = D_maxIndex_161; } else { error183("Out of memory: Could not create D."); this_947 = 0; }; } else { D_firstFree_813 = (D_firstFree_813 - 1); this_947 = D_nextFree_817[D_firstFree_813]; }; return this_947; } function dispatch_I_Test_I_bla939(integer this118, any t137, any s152) { if (I_typeId_187[this_118] == 0) { if (this_118 == 0) { error183("Nullpointer exception when calling I.bla"); } else { error183("Called I.bla on invalid object."); }; } else { }; I_bla142(this_118, t_137, s_152); }