array Func_nextFree235 integer Func_firstFree169 integer Func_maxIndex708 array Func_typeId189 array C_nextFree769 integer C_firstFree174 integer C_maxIndex207 array C_typeId796 array C_x887 integer Func_firstFree169 = 0 integer Func_maxIndex708 = 0 integer C_firstFree174 = 0 integer C_maxIndex207 = 0 function initGlobals190() { Func_firstFree_169 = 0; Func_maxIndex_708 = 0; C_firstFree_174 = 0; C_maxIndex_207 = 0; } function main184() { initGlobals190(); init_A114(); } function config150() { } function init_A114() { local integer a620 local integer b111 local integer clVar195 local integer temp176 a_620 = new_C104(5); temp_176 = a_620; clVar_195 = alloc_Func_map_A136(); b_111 = dispatch_C_A_C_map108(temp_176, clVar_195); if (C_x_887[b_111] == 10) { testSuccess534(); } else { }; } IS_NATIVE function testSuccess534() { } function apply_map_A423(integer this227, integer x790) returns integer { return (2 * x_790); } function C_map119(integer this362, integer f658) returns integer { return new_C104(dispatch_Func_A_Func_apply140(f_658, C_x_887[this_362])); } function new_C104(any x142) returns integer { local integer this872 this_872 = alloc_C145(); construct_C198(this_872, x_142); return this_872; } function C_init224(integer this215) { } function construct_C198(integer this190, any x207) { C_init224(this_190); C_x_887[this_190] = x_207; } function alloc_Func_map_A136() returns integer { local integer this126 if (Func_firstFree_169 == 0) { if (Func_maxIndex_708 < 32768) { Func_maxIndex_708 = (Func_maxIndex_708 + 1); this_126 = Func_maxIndex_708; Func_typeId_189[this_126] = 3; } else { error960("Out of memory: Could not create Func_map_A."); this_126 = 0; }; } else { Func_firstFree_169 = (Func_firstFree_169 - 1); this_126 = Func_nextFree_235[Func_firstFree_169]; Func_typeId_189[this_126] = 3; }; return this_126; } function error960(string msg827) { $debugPrint147((msg_827 + (" " + #getStackTrace()))); } function alloc_C145() returns integer { local integer this179 if (C_firstFree_174 == 0) { if (C_maxIndex_207 < 32768) { C_maxIndex_207 = (C_maxIndex_207 + 1); this_179 = C_maxIndex_207; C_typeId_796[this_179] = 1; } else { error960("Out of memory: Could not create C."); this_179 = 0; }; } else { C_firstFree_174 = (C_firstFree_174 - 1); this_179 = C_nextFree_769[C_firstFree_174]; C_typeId_796[this_179] = 1; }; return this_179; } function dispatch_C_A_C_map108(integer this115, integer f130) returns integer { local integer A_C_map_result160 if (C_typeId_796[this_115] == 0) { if (this_115 == 0) { error960("Nullpointer exception when calling C.map"); } else { error960("Called C.map on invalid object."); }; } else { }; A_C_map_result_160 = C_map119(this_115, f_130); return A_C_map_result_160; } function dispatch_Func_A_Func_apply140(integer this137, any x183) returns any { local any A_Func_apply_result204 if (Func_typeId_189[this_137] == 0) { if (this_137 == 0) { error960("Nullpointer exception when calling Func.apply"); } else { error960("Called Func.apply on invalid object."); }; } else { }; A_Func_apply_result_204 = apply_map_A423(this_137, x_183); return A_Func_apply_result_204; }