array A_nextFree399 integer A_firstFree132 integer A_maxIndex186 array Func_nextFree106 integer Func_firstFree168 integer Func_maxIndex153 array Func_typeId491 array A_f226 integer A_firstFree132 = 0 integer A_maxIndex186 = 0 integer Func_firstFree168 = 0 integer Func_maxIndex153 = 0 function initGlobals122() { A_firstFree_132 = 0; A_maxIndex_186 = 0; Func_firstFree_168 = 0; Func_maxIndex_153 = 0; } function main159() { initGlobals122(); init_test134(); } function config139() { } function init_test134() { local integer a120 a_120 = new_A481(); if (dispatch_Func_test_Func_apply126(A_f_226[a_120], 3) == 4) { testSuccess139(); } else { }; } IS_NATIVE function testSuccess139() { } function A_init180(integer this137) { local integer clVar212 clVar_212 = alloc_Func_A_test134(); A_f_226[this_137] = clVar_212; } function new_A481() returns integer { local integer this118 this_118 = alloc_A601(); construct_A225(this_118); return this_118; } function construct_A225(integer this115) { A_init180(this_115); } function apply_A_test130(integer this191, integer x114) returns integer { return (x_114 + 1); } function alloc_A601() returns integer { local integer this171 if (A_firstFree_132 == 0) { if (A_maxIndex_186 < 32768) { A_maxIndex_186 = (A_maxIndex_186 + 1); this_171 = A_maxIndex_186; } else { error117("Out of memory: Could not create A."); this_171 = 0; }; } else { A_firstFree_132 = (A_firstFree_132 - 1); this_171 = A_nextFree_399[A_firstFree_132]; }; return this_171; } function error117(string msg146) { $debugPrint133((msg_146 + (" " + #getStackTrace()))); } function alloc_Func_A_test134() returns integer { local integer this146 if (Func_firstFree_168 == 0) { if (Func_maxIndex_153 < 32768) { Func_maxIndex_153 = (Func_maxIndex_153 + 1); this_146 = Func_maxIndex_153; Func_typeId_491[this_146] = 3; } else { error117("Out of memory: Could not create Func_A_test."); this_146 = 0; }; } else { Func_firstFree_168 = (Func_firstFree_168 - 1); this_146 = Func_nextFree_106[Func_firstFree_168]; Func_typeId_491[this_146] = 3; }; return this_146; } function dispatch_Func_test_Func_apply126(integer this164, integer x697) returns integer { local integer test_Func_apply_result337 if (Func_typeId_491[this_164] == 0) { if (this_164 == 0) { error117("Nullpointer exception when calling Func.apply"); } else { error117("Called Func.apply on invalid object."); }; } else { }; test_Func_apply_result_337 = apply_A_test130(this_164, x_697); return test_Func_apply_result_337; }