array Func_nextFree156 integer Func_firstFree575 integer Func_maxIndex396 array Func_typeId144 array C_nextFree149 integer C_firstFree187 integer C_maxIndex557 array C_typeId201 array C_x118 integer Func_firstFree575 = 0 integer Func_maxIndex396 = 0 integer C_firstFree187 = 0 integer C_maxIndex557 = 0 function initGlobals291() { Func_firstFree_575 = 0; Func_maxIndex_396 = 0; C_firstFree_187 = 0; C_maxIndex_557 = 0; } function main555() { initGlobals291(); init_A112(); } function config112() { } function init_A112() { local integer a127 local integer b523 local integer clVar902 local integer temp629 a_127 = new_C575(5); temp_629 = a_127; clVar_902 = alloc_Func_map_A113(); b_523 = dispatch_C_A_C_map130(temp_629, clVar_902); if (C_x_118[b_523] == 10) { testSuccess192(); } else { }; } IS_NATIVE function testSuccess192() { } function apply_map_A834(integer this175, integer x567) returns integer { return (2 * x_567); } function C_map761(integer this625, integer f773) returns integer { return new_C575(dispatch_Func_A_Func_apply212(f_773, C_x_118[this_625])); } function new_C575(any x170) returns integer { local integer this227 this_227 = alloc_C189(); construct_C285(this_227, x_170); return this_227; } function C_init188(integer this575) { } function construct_C285(integer this613, any x967) { C_init188(this_613); C_x_118[this_613] = x_967; } function alloc_Func_map_A113() returns integer { local integer this110 if (Func_firstFree_575 == 0) { if (Func_maxIndex_396 < 32768) { Func_maxIndex_396 = (Func_maxIndex_396 + 1); this_110 = Func_maxIndex_396; Func_typeId_144[this_110] = 3; } else { error201("Out of memory: Could not create Func_map_A."); this_110 = 0; }; } else { Func_firstFree_575 = (Func_firstFree_575 - 1); this_110 = Func_nextFree_156[Func_firstFree_575]; Func_typeId_144[this_110] = 3; }; return this_110; } function error201(string msg121) { $debugPrint410((msg_121 + (" " + #getStackTrace()))); } function alloc_C189() returns integer { local integer this310 if (C_firstFree_187 == 0) { if (C_maxIndex_557 < 32768) { C_maxIndex_557 = (C_maxIndex_557 + 1); this_310 = C_maxIndex_557; C_typeId_201[this_310] = 1; } else { error201("Out of memory: Could not create C."); this_310 = 0; }; } else { C_firstFree_187 = (C_firstFree_187 - 1); this_310 = C_nextFree_149[C_firstFree_187]; C_typeId_201[this_310] = 1; }; return this_310; } function dispatch_C_A_C_map130(integer this144, integer f113) returns integer { local integer A_C_map_result156 if (C_typeId_201[this_144] == 0) { if (this_144 == 0) { error201("Nullpointer exception when calling C.map"); } else { error201("Called C.map on invalid object."); }; } else { }; A_C_map_result_156 = C_map761(this_144, f_113); return A_C_map_result_156; } function dispatch_Func_A_Func_apply212(integer this134, any x683) returns any { local any A_Func_apply_result324 if (Func_typeId_144[this_134] == 0) { if (this_134 == 0) { error201("Nullpointer exception when calling Func.apply"); } else { error201("Called Func.apply on invalid object."); }; } else { }; A_Func_apply_result_324 = apply_map_A834(this_134, x_683); return A_Func_apply_result_324; }