array C_nextFree269 integer C_firstFree123 integer C_maxIndex728 array C_typeId104 array SimpleFunc_nextFree136 integer SimpleFunc_firstFree145 integer SimpleFunc_maxIndex722 array SimpleFunc_typeId186 array C_y529 array this120 integer C_firstFree123 = 0 integer C_maxIndex728 = 0 integer SimpleFunc_firstFree145 = 0 integer SimpleFunc_maxIndex722 = 0 function initGlobals272() { } function main100() { local integer c133 local integer this201 initGlobals272(); new_C158(); c_133 = new_C158(); C_y_529[c_133] = 4; this_201 = c_133; if (C_typeId_104[this_201] == 0) { if (this_201 == 0) { error151("Nullpointer exception when calling C.foo"); } else { error151("Called C.foo on invalid object."); }; } else { }; C_foo100(this_201); } function config211() { } IS_NATIVE function testSuccess913() { } function C_foo100(integer this154) { local integer clVar107 local integer temp796 local integer this245 local integer this694 local integer f199 local integer f274 temp_796 = this_154; if (SimpleFunc_firstFree_145 == 0) { if (SimpleFunc_maxIndex_722 < 32768) { SimpleFunc_maxIndex_722 = (SimpleFunc_maxIndex_722 + 1); this_245 = SimpleFunc_maxIndex_722; SimpleFunc_typeId_186[this_245] = 3; } else { error151("Out of memory: Could not create SimpleFunc_bar_C_test."); this_245 = 0; }; } else { SimpleFunc_firstFree_145 = (SimpleFunc_firstFree_145 - 1); this_245 = SimpleFunc_nextFree_136[SimpleFunc_firstFree_145]; SimpleFunc_typeId_186[this_245] = 3; }; clVar_107 = this_245; this_120[clVar_107] = this_154; this_694 = temp_796; f_199 = clVar_107; if (C_typeId_104[this_694] == 0) { if (this_694 == 0) { error151("Nullpointer exception when calling C.bar"); } else { error151("Called C.bar on invalid object."); }; } else { }; f_274 = f_199; if (dispatch_SimpleFunc_test_SimpleFunc_apply196(f_274) == 7) { testSuccess913(); } else { }; } function new_C158() returns integer { local integer this103 local integer this267 if (C_firstFree_123 == 0) { if (C_maxIndex_728 < 32768) { C_maxIndex_728 = (C_maxIndex_728 + 1); this_267 = C_maxIndex_728; C_typeId_104[this_267] = 1; } else { error151("Out of memory: Could not create C."); this_267 = 0; }; } else { C_firstFree_123 = (C_firstFree_123 - 1); this_267 = C_nextFree_269[C_firstFree_123]; C_typeId_104[this_267] = 1; }; this_103 = this_267; return this_103; } function error151(string msg210) { $debugPrint257((msg_210 + (" " + #getStackTrace()))); } function dispatch_SimpleFunc_test_SimpleFunc_apply196(integer this189) returns integer { local integer test_SimpleFunc_apply_result259 local integer this907 local integer this120 local integer test_C_x_result610 if (SimpleFunc_typeId_186[this_189] == 0) { if (this_189 == 0) { error151("Nullpointer exception when calling SimpleFunc.apply"); } else { error151("Called SimpleFunc.apply on invalid object."); }; } else { }; this_907 = this_189; this_120 = this_120[this_907]; if (C_typeId_104[this_120] == 0) { if (this_120 == 0) { error151("Nullpointer exception when calling C.x"); } else { error151("Called C.x on invalid object."); }; } else { }; test_C_x_result_610 = 3; test_SimpleFunc_apply_result_259 = (test_C_x_result_610 + C_y_529[this_120[this_907]]); return test_SimpleFunc_apply_result_259; }