array Func_nextFree201 integer Func_firstFree504 integer Func_maxIndex595 array Func_typeId151 integer Func_firstFree504 = 0 integer Func_maxIndex595 = 0 integer Func2_firstFree157 = 0 integer Func2_maxIndex146 = 0 function initGlobals183() { Func_firstFree_504 = 0; Func_maxIndex_595 = 0; } function main190() { initGlobals183(); init_A100(); } function config177() { } function init_A100() { local integer clVar856 clVar_856 = alloc_Func_bar_A143(); if (bar723(clVar_856) == 2) { testSuccess207(); } else { }; } function bar723(integer f145) returns integer { return dispatch_Func_A_Func_apply113(f_145, 1); } IS_NATIVE function testSuccess207() { } function apply_bar_A168(integer this183, integer x138) returns integer { return (x_138 + 1); } function alloc_Func_bar_A143() returns integer { local integer this164 if (Func_firstFree_504 == 0) { if (Func_maxIndex_595 < 32768) { Func_maxIndex_595 = (Func_maxIndex_595 + 1); this_164 = Func_maxIndex_595; Func_typeId_151[this_164] = 2; } else { error120("Out of memory: Could not create Func_bar_A."); this_164 = 0; }; } else { Func_firstFree_504 = (Func_firstFree_504 - 1); this_164 = Func_nextFree_201[Func_firstFree_504]; Func_typeId_151[this_164] = 2; }; return this_164; } function error120(string msg770) { $debugPrint794((msg_770 + (" " + #getStackTrace()))); } function dispatch_Func_A_Func_apply113(integer this594, integer x232) returns integer { local integer A_Func_apply_result708 if (Func_typeId_151[this_594] == 0) { if (this_594 == 0) { error120("Nullpointer exception when calling Func.apply"); } else { error120("Called Func.apply on invalid object."); }; } else { }; A_Func_apply_result_708 = apply_bar_A168(this_594, x_232); return A_Func_apply_result_708; }