array A_nextFree570 integer A_firstFree150 integer A_maxIndex151 array A_typeId162 array C_nextFree604 integer C_firstFree721 integer C_maxIndex219 integer A_firstFree150 = 0 integer A_maxIndex151 = 0 integer C_firstFree721 = 0 integer C_maxIndex219 = 0 function initGlobals940() { } function main861() { initGlobals940(); init_Test149(); } function config129() { } function init_Test149() { dispatch_A_Test_A_bla201(new_B666(), new_C148()); } function A_bla151(integer this408, any t162) { } function A_init141(integer this145) { } function construct_A210(integer this743) { A_init141(this_743); } function B_init631(integer this190) { } function new_B666() returns integer { local integer this470 this_470 = alloc_B126(); construct_B418(this_470); return this_470; } function construct_B418(integer this626) { construct_A210(this_626); B_init631(this_626); } function C_init476(integer this162) { } function new_C148() returns integer { local integer this186 this_186 = alloc_C163(); construct_C188(this_186); return this_186; } function construct_C188(integer this110) { C_init476(this_110); } function error778(string msg351) { $debugPrint424((msg_351 + (" " + #getStackTrace()))); } function alloc_B126() returns integer { local integer this141 if (A_firstFree_150 == 0) { if (A_maxIndex_151 < 32768) { A_maxIndex_151 = (A_maxIndex_151 + 1); this_141 = A_maxIndex_151; A_typeId_162[this_141] = 2; } else { error778("Out of memory: Could not create B."); this_141 = 0; }; } else { A_firstFree_150 = (A_firstFree_150 - 1); this_141 = A_nextFree_570[A_firstFree_150]; A_typeId_162[this_141] = 2; }; return this_141; } function alloc_C163() returns integer { local integer this993 if (C_firstFree_721 == 0) { if (C_maxIndex_219 < 32768) { C_maxIndex_219 = (C_maxIndex_219 + 1); this_993 = C_maxIndex_219; } else { error778("Out of memory: Could not create C."); this_993 = 0; }; } else { C_firstFree_721 = (C_firstFree_721 - 1); this_993 = C_nextFree_604[C_firstFree_721]; }; return this_993; } function dispatch_A_Test_A_bla201(integer this711, any t100) { if (A_typeId_162[this_711] == 0) { if (this_711 == 0) { error778("Nullpointer exception when calling A.bla"); } else { error778("Called A.bla on invalid object."); }; } else { }; A_bla151(this_711, t_100); }