array C_nextFree522 integer C_firstFree162 integer C_maxIndex463 array C_typeId711 array SimpleFunc_nextFree527 integer SimpleFunc_firstFree114 integer SimpleFunc_maxIndex158 array SimpleFunc_typeId183 array C_y536 array this133 integer C_firstFree162 = 0 integer C_maxIndex463 = 0 integer SimpleFunc_firstFree114 = 0 integer SimpleFunc_maxIndex158 = 0 function initGlobals124() { } function main205() { local integer c175 initGlobals124(); new_C570(); c_175 = new_C570(); C_y_536[c_175] = 4; if (C_typeId_711[c_175] == 0) { if (c_175 == 0) { error108("Nullpointer exception when calling C.foo"); } else { error108("Called C.foo on invalid object."); }; } else { }; C_foo152(c_175); } function config924() { } IS_NATIVE function testSuccess167() { } function C_foo152(integer this713) { local integer this180 if (SimpleFunc_firstFree_114 == 0) { if (SimpleFunc_maxIndex_158 < 32768) { SimpleFunc_maxIndex_158 = (SimpleFunc_maxIndex_158 + 1); this_180 = SimpleFunc_maxIndex_158; SimpleFunc_typeId_183[this_180] = 3; } else { error108("Out of memory: Could not create SimpleFunc_bar_C_test."); this_180 = 0; }; } else { SimpleFunc_firstFree_114 = (SimpleFunc_firstFree_114 - 1); this_180 = SimpleFunc_nextFree_527[SimpleFunc_firstFree_114]; SimpleFunc_typeId_183[this_180] = 3; }; this_133[this_180] = this_713; if (C_typeId_711[this_713] == 0) { if (this_713 == 0) { error108("Nullpointer exception when calling C.bar"); } else { error108("Called C.bar on invalid object."); }; } else { }; if (dispatch_SimpleFunc_test_SimpleFunc_apply153(this_180) == 7) { testSuccess167(); } else { }; } function new_C570() returns integer { local integer this327 if (C_firstFree_162 == 0) { if (C_maxIndex_463 < 32768) { C_maxIndex_463 = (C_maxIndex_463 + 1); this_327 = C_maxIndex_463; C_typeId_711[this_327] = 1; } else { error108("Out of memory: Could not create C."); this_327 = 0; }; } else { C_firstFree_162 = (C_firstFree_162 - 1); this_327 = C_nextFree_522[C_firstFree_162]; C_typeId_711[this_327] = 1; }; return this_327; } function error108(string msg745) { $debugPrint238((msg_745 + (" " + #getStackTrace()))); } function dispatch_SimpleFunc_test_SimpleFunc_apply153(integer this478) returns integer { local integer this308 if (SimpleFunc_typeId_183[this_478] == 0) { if (this_478 == 0) { error108("Nullpointer exception when calling SimpleFunc.apply"); } else { error108("Called SimpleFunc.apply on invalid object."); }; } else { }; this_308 = this_133[this_478]; if (C_typeId_711[this_308] == 0) { if (this_308 == 0) { error108("Nullpointer exception when calling C.x"); } else { error108("Called C.x on invalid object."); }; } else { }; return (3 + C_y_536[this_133[this_478]]); }