array A_nextFree789 integer A_firstFree729 integer A_maxIndex125 array Func_nextFree310 integer Func_firstFree194 integer Func_maxIndex143 array Func_typeId138 array A_f193 integer A_firstFree729 = 0 integer A_maxIndex125 = 0 integer Func_firstFree194 = 0 integer Func_maxIndex143 = 0 function initGlobals162() { } function main123() { initGlobals162(); init_test183(); } function config131() { } function init_test183() { if (dispatch_Func_test_Func_apply368(A_f_193[new_A194()], 3) == 4) { testSuccess125(); } else { }; } IS_NATIVE function testSuccess125() { } function A_init175(integer this378) { local integer clVar179 clVar_179 = alloc_Func_A_test143(); A_f_193[this_378] = clVar_179; } function new_A194() returns integer { local integer this778 this_778 = alloc_A124(); construct_A991(this_778); return this_778; } function construct_A991(integer this158) { A_init175(this_158); } function apply_A_test787(integer this135, integer x150) returns integer { return (x_150 + 1); } function alloc_A124() returns integer { local integer this260 if (A_firstFree_729 == 0) { if (A_maxIndex_125 < 32768) { A_maxIndex_125 = (A_maxIndex_125 + 1); this_260 = A_maxIndex_125; } else { error136("Out of memory: Could not create A."); this_260 = 0; }; } else { A_firstFree_729 = (A_firstFree_729 - 1); this_260 = A_nextFree_789[A_firstFree_729]; }; return this_260; } function error136(string msg445) { $debugPrint115((msg_445 + (" " + #getStackTrace()))); } function alloc_Func_A_test143() returns integer { local integer this431 if (Func_firstFree_194 == 0) { if (Func_maxIndex_143 < 32768) { Func_maxIndex_143 = (Func_maxIndex_143 + 1); this_431 = Func_maxIndex_143; Func_typeId_138[this_431] = 3; } else { error136("Out of memory: Could not create Func_A_test."); this_431 = 0; }; } else { Func_firstFree_194 = (Func_firstFree_194 - 1); this_431 = Func_nextFree_310[Func_firstFree_194]; Func_typeId_138[this_431] = 3; }; return this_431; } function dispatch_Func_test_Func_apply368(integer this994, integer x529) returns integer { if (Func_typeId_138[this_994] == 0) { if (this_994 == 0) { error136("Nullpointer exception when calling Func.apply"); } else { error136("Called Func.apply on invalid object."); }; } else { }; return apply_A_test787(this_994, x_529); }