array A_nextFree192 integer A_firstFree494 integer A_maxIndex210 array Func_nextFree302 integer Func_firstFree118 integer Func_maxIndex213 array Func_typeId201 array A_f694 integer A_firstFree494 = 0 integer A_maxIndex210 = 0 integer Func_firstFree118 = 0 integer Func_maxIndex213 = 0 function initGlobals814() { A_firstFree_494 = 0; A_maxIndex_210 = 0; Func_firstFree_118 = 0; Func_maxIndex_213 = 0; } function main160() { initGlobals814(); init_test186(); } function config268() { } function init_test186() { local integer a105 a_105 = new_A922(); if (dispatch_Func_test_Func_apply523(A_f_694[a_105], 3) == 4) { testSuccess192(); } else { }; } IS_NATIVE function testSuccess192() { } function A_init164(integer this196) { local integer clVar181 clVar_181 = alloc_Func_A_test306(); A_f_694[this_196] = clVar_181; } function new_A922() returns integer { local integer this212 this_212 = alloc_A188(); construct_A105(this_212); return this_212; } function construct_A105(integer this138) { A_init164(this_138); } function apply_A_test201(integer this130, integer x199) returns integer { return (x_199 + 1); } function alloc_A188() returns integer { local integer this619 if (A_firstFree_494 == 0) { if (A_maxIndex_210 < 32768) { A_maxIndex_210 = (A_maxIndex_210 + 1); this_619 = A_maxIndex_210; } else { error200("Out of memory: Could not create A."); this_619 = 0; }; } else { A_firstFree_494 = (A_firstFree_494 - 1); this_619 = A_nextFree_192[A_firstFree_494]; }; return this_619; } function error200(string msg181) { $debugPrint262((msg_181 + (" " + #getStackTrace()))); } function alloc_Func_A_test306() returns integer { local integer this171 if (Func_firstFree_118 == 0) { if (Func_maxIndex_213 < 32768) { Func_maxIndex_213 = (Func_maxIndex_213 + 1); this_171 = Func_maxIndex_213; Func_typeId_201[this_171] = 3; } else { error200("Out of memory: Could not create Func_A_test."); this_171 = 0; }; } else { Func_firstFree_118 = (Func_firstFree_118 - 1); this_171 = Func_nextFree_302[Func_firstFree_118]; Func_typeId_201[this_171] = 3; }; return this_171; } function dispatch_Func_test_Func_apply523(integer this866, integer x132) returns integer { local integer test_Func_apply_result129 if (Func_typeId_201[this_866] == 0) { if (this_866 == 0) { error200("Nullpointer exception when calling Func.apply"); } else { error200("Called Func.apply on invalid object."); }; } else { }; test_Func_apply_result_129 = apply_A_test201(this_866, x_132); return test_Func_apply_result_129; }