array A_nextFree914 integer A_firstFree255 integer A_maxIndex287 array Func_nextFree211 integer Func_firstFree196 integer Func_maxIndex267 array Func_typeId180 array A_f200 integer A_firstFree255 = 0 integer A_maxIndex287 = 0 integer Func_firstFree196 = 0 integer Func_maxIndex267 = 0 function initGlobals346() { } function main143() { initGlobals346(); init_test169(); } function config197() { } function init_test169() { if (dispatch_Func_test_Func_apply129(A_f_200[new_A532()], 3) == 4) { testSuccess103(); } else { }; } IS_NATIVE function testSuccess103() { } function A_init408(integer this244) { local integer clVar185 clVar_185 = alloc_Func_A_test151(); A_f_200[this_244] = clVar_185; } function new_A532() returns integer { local integer this798 this_798 = alloc_A119(); construct_A104(this_798); return this_798; } function construct_A104(integer this185) { A_init408(this_185); } function apply_A_test177(integer this779, integer x197) returns integer { return (x_197 + 1); } function alloc_A119() returns integer { local integer this243 if (A_firstFree_255 == 0) { if (A_maxIndex_287 < 32768) { A_maxIndex_287 = (A_maxIndex_287 + 1); this_243 = A_maxIndex_287; } else { error523("Out of memory: Could not create A."); this_243 = 0; }; } else { A_firstFree_255 = (A_firstFree_255 - 1); this_243 = A_nextFree_914[A_firstFree_255]; }; return this_243; } function error523(string msg200) { $debugPrint102((msg_200 + (" " + #getStackTrace()))); } function alloc_Func_A_test151() returns integer { local integer this205 if (Func_firstFree_196 == 0) { if (Func_maxIndex_267 < 32768) { Func_maxIndex_267 = (Func_maxIndex_267 + 1); this_205 = Func_maxIndex_267; Func_typeId_180[this_205] = 3; } else { error523("Out of memory: Could not create Func_A_test."); this_205 = 0; }; } else { Func_firstFree_196 = (Func_firstFree_196 - 1); this_205 = Func_nextFree_211[Func_firstFree_196]; Func_typeId_180[this_205] = 3; }; return this_205; } function dispatch_Func_test_Func_apply129(integer this425, integer x579) returns integer { if (Func_typeId_180[this_425] == 0) { if (this_425 == 0) { error523("Nullpointer exception when calling Func.apply"); } else { error523("Called Func.apply on invalid object."); }; } else { }; return apply_A_test177(this_425, x_579); }