array I_nextFree800 integer I_firstFree164 integer I_maxIndex132 array I_typeId700 array C_nextFree214 integer C_firstFree196 integer C_maxIndex560 array D_nextFree160 integer D_firstFree365 integer D_maxIndex135 integer I_firstFree164 = 0 integer I_maxIndex132 = 0 integer C_firstFree196 = 0 integer C_maxIndex560 = 0 integer D_firstFree365 = 0 integer D_maxIndex135 = 0 function initGlobals137() { I_firstFree_164 = 0; I_maxIndex_132 = 0; C_firstFree_196 = 0; C_maxIndex_560 = 0; D_firstFree_365 = 0; D_maxIndex_135 = 0; } function main514() { initGlobals137(); init_Test183(); } function config116() { } function init_Test183() { local integer b888 b_888 = new_B810(); dispatch_I_Test_I_bla142(b_888, new_D200(), new_C903()); } function A_init155(integer this867) { } function construct_A157(integer this174) { A_init155(this_174); } function B_init162(integer this157) { } function new_B810() returns integer { local integer this573 this_573 = alloc_B902(); construct_B534(this_573); return this_573; } function construct_B534(integer this135) { construct_A157(this_135); B_init162(this_135); } function C_init483(integer this143) { } function new_C903() returns integer { local integer this724 this_724 = alloc_C548(); construct_C706(this_724); return this_724; } function construct_C706(integer this211) { C_init483(this_211); } function D_init650(integer this137) { } function new_D200() returns integer { local integer this201 this_201 = alloc_D358(); construct_D184(this_201); return this_201; } function construct_D184(integer this152) { D_init650(this_152); } function I_bla146(integer this172, any t188, any s150) { } function error536(string msg131) { $debugPrint124((msg_131 + (" " + #getStackTrace()))); } function alloc_B902() returns integer { local integer this130 if (I_firstFree_164 == 0) { if (I_maxIndex_132 < 32768) { I_maxIndex_132 = (I_maxIndex_132 + 1); this_130 = I_maxIndex_132; I_typeId_700[this_130] = 5; } else { error536("Out of memory: Could not create B."); this_130 = 0; }; } else { I_firstFree_164 = (I_firstFree_164 - 1); this_130 = I_nextFree_800[I_firstFree_164]; I_typeId_700[this_130] = 5; }; return this_130; } function alloc_C548() returns integer { local integer this144 if (C_firstFree_196 == 0) { if (C_maxIndex_560 < 32768) { C_maxIndex_560 = (C_maxIndex_560 + 1); this_144 = C_maxIndex_560; } else { error536("Out of memory: Could not create C."); this_144 = 0; }; } else { C_firstFree_196 = (C_firstFree_196 - 1); this_144 = C_nextFree_214[C_firstFree_196]; }; return this_144; } function alloc_D358() returns integer { local integer this855 if (D_firstFree_365 == 0) { if (D_maxIndex_135 < 32768) { D_maxIndex_135 = (D_maxIndex_135 + 1); this_855 = D_maxIndex_135; } else { error536("Out of memory: Could not create D."); this_855 = 0; }; } else { D_firstFree_365 = (D_firstFree_365 - 1); this_855 = D_nextFree_160[D_firstFree_365]; }; return this_855; } function dispatch_I_Test_I_bla142(integer this266, any t177, any s534) { if (I_typeId_700[this_266] == 0) { if (this_266 == 0) { error536("Nullpointer exception when calling I.bla"); } else { error536("Called I.bla on invalid object."); }; } else { }; I_bla146(this_266, t_177, s_534); }