array A_nextFree114 integer A_firstFree225 integer A_maxIndex166 array A_typeId135 integer A_firstFree225 = 0 integer A_maxIndex166 = 0 function initGlobals210() { A_firstFree_225 = 0; A_maxIndex_166 = 0; } function main201() { initGlobals210(); init_test108(); } function config197() { } function init_test108() { local integer a215 local integer instanceOfTemp208 a_215 = new_C191(); instanceOfTemp_208 = A_typeId_135[a_215]; if ((instanceOfTemp_208 >= 2) and (instanceOfTemp_208 <= 3)) { testSuccess143(); } else { }; } IS_NATIVE function testSuccess143() { } function A_init150(integer this121) { } function construct_A415(integer this279) { A_init150(this_279); } function B_init484(integer this146) { } function construct_B193(integer this209) { construct_A415(this_209); B_init484(this_209); } function C_init181(integer this407) { } function new_C191() returns integer { local integer this609 this_609 = alloc_C113(); construct_C654(this_609); return this_609; } function construct_C654(integer this134) { construct_B193(this_134); C_init181(this_134); } function error166(string msg123) { $debugPrint737((msg_123 + (" " + #getStackTrace()))); } function alloc_C113() returns integer { local integer this230 if (A_firstFree_225 == 0) { if (A_maxIndex_166 < 32768) { A_maxIndex_166 = (A_maxIndex_166 + 1); this_230 = A_maxIndex_166; A_typeId_135[this_230] = 3; } else { error166("Out of memory: Could not create C."); this_230 = 0; }; } else { A_firstFree_225 = (A_firstFree_225 - 1); this_230 = A_nextFree_114[A_firstFree_225]; A_typeId_135[this_230] = 3; }; return this_230; }