array Func_nextFree929 integer Func_firstFree233 integer Func_maxIndex176 array Func_typeId722 array C_nextFree145 integer C_firstFree102 integer C_maxIndex625 array C_typeId955 array C_x398 integer Func_firstFree233 = 0 integer Func_maxIndex176 = 0 integer C_firstFree102 = 0 integer C_maxIndex625 = 0 function initGlobals852() { Func_firstFree_233 = 0; Func_maxIndex_176 = 0; C_firstFree_102 = 0; C_maxIndex_625 = 0; } function main167() { initGlobals852(); init_A180(); } function config130() { } function init_A180() { local integer a599 local integer b659 local integer clVar606 local integer temp520 a_599 = new_C890(5); temp_520 = a_599; clVar_606 = alloc_Func_map_A171(); b_659 = dispatch_C_A_C_map426(temp_520, clVar_606); if (C_x_398[b_659] == 10) { testSuccess911(); } else { }; } IS_NATIVE function testSuccess911() { } function apply_map_A110(integer this431, integer x203) returns integer { return (2 * x_203); } function C_map564(integer this142, integer f416) returns integer { return new_C890(dispatch_Func_A_Func_apply190(f_416, C_x_398[this_142])); } function new_C890(any x234) returns integer { local integer this130 this_130 = alloc_C191(); construct_C956(this_130, x_234); return this_130; } function C_init675(integer this678) { } function construct_C956(integer this283, any x175) { C_init675(this_283); C_x_398[this_283] = x_175; } function alloc_Func_map_A171() returns integer { local integer this127 if (Func_firstFree_233 == 0) { if (Func_maxIndex_176 < 32768) { Func_maxIndex_176 = (Func_maxIndex_176 + 1); this_127 = Func_maxIndex_176; Func_typeId_722[this_127] = 3; } else { error505("Out of memory: Could not create Func_map_A."); this_127 = 0; }; } else { Func_firstFree_233 = (Func_firstFree_233 - 1); this_127 = Func_nextFree_929[Func_firstFree_233]; Func_typeId_722[this_127] = 3; }; return this_127; } function error505(string msg132) { $debugPrint148((msg_132 + (" " + #getStackTrace()))); } function alloc_C191() returns integer { local integer this110 if (C_firstFree_102 == 0) { if (C_maxIndex_625 < 32768) { C_maxIndex_625 = (C_maxIndex_625 + 1); this_110 = C_maxIndex_625; C_typeId_955[this_110] = 1; } else { error505("Out of memory: Could not create C."); this_110 = 0; }; } else { C_firstFree_102 = (C_firstFree_102 - 1); this_110 = C_nextFree_145[C_firstFree_102]; C_typeId_955[this_110] = 1; }; return this_110; } function dispatch_C_A_C_map426(integer this165, integer f611) returns integer { local integer A_C_map_result794 if (C_typeId_955[this_165] == 0) { if (this_165 == 0) { error505("Nullpointer exception when calling C.map"); } else { error505("Called C.map on invalid object."); }; } else { }; A_C_map_result_794 = C_map564(this_165, f_611); return A_C_map_result_794; } function dispatch_Func_A_Func_apply190(integer this593, any x131) returns any { local any A_Func_apply_result433 if (Func_typeId_722[this_593] == 0) { if (this_593 == 0) { error505("Nullpointer exception when calling Func.apply"); } else { error505("Called Func.apply on invalid object."); }; } else { }; A_Func_apply_result_433 = apply_map_A110(this_593, x_131); return A_Func_apply_result_433; }