array Func_nextFree135 integer Func_firstFree313 integer Func_maxIndex594 array Func_typeId902 array C_nextFree161 integer C_firstFree132 integer C_maxIndex185 array C_typeId127 array C_x117 integer Func_firstFree313 = 0 integer Func_maxIndex594 = 0 integer C_firstFree132 = 0 integer C_maxIndex185 = 0 function initGlobals123() { Func_firstFree_313 = 0; Func_maxIndex_594 = 0; C_firstFree_132 = 0; C_maxIndex_185 = 0; } function main150() { initGlobals123(); init_A249(); } function config197() { } function init_A249() { local integer a155 local integer b604 local integer clVar208 local integer temp866 a_155 = new_C130(5); temp_866 = a_155; clVar_208 = alloc_Func_map_A142(); b_604 = dispatch_C_A_C_map287(temp_866, clVar_208); if (C_x_117[b_604] == 10) { testSuccess111(); } else { }; } IS_NATIVE function testSuccess111() { } function apply_map_A208(integer this411, integer x884) returns integer { return (2 * x_884); } function C_map565(integer this696, integer f792) returns integer { return new_C130(dispatch_Func_A_Func_apply449(f_792, C_x_117[this_696])); } function new_C130(any x122) returns integer { local integer this662 this_662 = alloc_C873(); construct_C632(this_662, x_122); return this_662; } function C_init934(integer this168) { } function construct_C632(integer this434, any x847) { C_init934(this_434); C_x_117[this_434] = x_847; } function alloc_Func_map_A142() returns integer { local integer this110 if (Func_firstFree_313 == 0) { if (Func_maxIndex_594 < 32768) { Func_maxIndex_594 = (Func_maxIndex_594 + 1); this_110 = Func_maxIndex_594; Func_typeId_902[this_110] = 3; } else { error361("Out of memory: Could not create Func_map_A."); this_110 = 0; }; } else { Func_firstFree_313 = (Func_firstFree_313 - 1); this_110 = Func_nextFree_135[Func_firstFree_313]; Func_typeId_902[this_110] = 3; }; return this_110; } function error361(string msg768) { $debugPrint213((msg_768 + (" " + #getStackTrace()))); } function alloc_C873() returns integer { local integer this174 if (C_firstFree_132 == 0) { if (C_maxIndex_185 < 32768) { C_maxIndex_185 = (C_maxIndex_185 + 1); this_174 = C_maxIndex_185; C_typeId_127[this_174] = 1; } else { error361("Out of memory: Could not create C."); this_174 = 0; }; } else { C_firstFree_132 = (C_firstFree_132 - 1); this_174 = C_nextFree_161[C_firstFree_132]; C_typeId_127[this_174] = 1; }; return this_174; } function dispatch_C_A_C_map287(integer this556, integer f152) returns integer { local integer A_C_map_result394 if (C_typeId_127[this_556] == 0) { if (this_556 == 0) { error361("Nullpointer exception when calling C.map"); } else { error361("Called C.map on invalid object."); }; } else { }; A_C_map_result_394 = C_map565(this_556, f_152); return A_C_map_result_394; } function dispatch_Func_A_Func_apply449(integer this381, any x164) returns any { local any A_Func_apply_result709 if (Func_typeId_902[this_381] == 0) { if (this_381 == 0) { error361("Nullpointer exception when calling Func.apply"); } else { error361("Called Func.apply on invalid object."); }; } else { }; A_Func_apply_result_709 = apply_map_A208(this_381, x_164); return A_Func_apply_result_709; }