array C_nextFree105 integer C_firstFree499 integer C_maxIndex644 array C_typeId165 array SimpleFunc_nextFree514 integer SimpleFunc_firstFree107 integer SimpleFunc_maxIndex144 array SimpleFunc_typeId529 array C_y178 array this205 integer C_firstFree499 = 0 integer C_maxIndex644 = 0 integer SimpleFunc_firstFree107 = 0 integer SimpleFunc_maxIndex144 = 0 function initGlobals104() { } function main670() { local integer c186 initGlobals104(); new_C173(); c_186 = new_C173(); C_y_178[c_186] = 4; if (C_typeId_165[c_186] == 0) { if (c_186 == 0) { error210("Nullpointer exception when calling C.foo"); } else { error210("Called C.foo on invalid object."); }; } else { }; C_foo775(c_186); } function config104() { } IS_NATIVE function testSuccess318() { } function C_foo775(integer this142) { local integer this449 if (SimpleFunc_firstFree_107 == 0) { if (SimpleFunc_maxIndex_144 < 32768) { SimpleFunc_maxIndex_144 = (SimpleFunc_maxIndex_144 + 1); this_449 = SimpleFunc_maxIndex_144; SimpleFunc_typeId_529[this_449] = 3; } else { error210("Out of memory: Could not create SimpleFunc_bar_C_test."); this_449 = 0; }; } else { SimpleFunc_firstFree_107 = (SimpleFunc_firstFree_107 - 1); this_449 = SimpleFunc_nextFree_514[SimpleFunc_firstFree_107]; SimpleFunc_typeId_529[this_449] = 3; }; this_205[this_449] = this_142; if (C_typeId_165[this_142] == 0) { if (this_142 == 0) { error210("Nullpointer exception when calling C.bar"); } else { error210("Called C.bar on invalid object."); }; } else { }; if (dispatch_SimpleFunc_test_SimpleFunc_apply178(this_449) == 7) { testSuccess318(); } else { }; } function new_C173() returns integer { local integer this212 if (C_firstFree_499 == 0) { if (C_maxIndex_644 < 32768) { C_maxIndex_644 = (C_maxIndex_644 + 1); this_212 = C_maxIndex_644; C_typeId_165[this_212] = 1; } else { error210("Out of memory: Could not create C."); this_212 = 0; }; } else { C_firstFree_499 = (C_firstFree_499 - 1); this_212 = C_nextFree_105[C_firstFree_499]; C_typeId_165[this_212] = 1; }; return this_212; } function error210(string msg208) { $debugPrint356((msg_208 + (" " + #getStackTrace()))); } function dispatch_SimpleFunc_test_SimpleFunc_apply178(integer this526) returns integer { local integer this990 if (SimpleFunc_typeId_529[this_526] == 0) { if (this_526 == 0) { error210("Nullpointer exception when calling SimpleFunc.apply"); } else { error210("Called SimpleFunc.apply on invalid object."); }; } else { }; this_990 = this_205[this_526]; if (C_typeId_165[this_990] == 0) { if (this_990 == 0) { error210("Nullpointer exception when calling C.x"); } else { error210("Called C.x on invalid object."); }; } else { }; return (3 + C_y_178[this_205[this_526]]); }