array A_nextFree748 integer A_firstFree443 integer A_maxIndex165 array A_typeId286 integer A_firstFree443 = 0 integer A_maxIndex165 = 0 function initGlobals469() { } function main256() { local integer b124 initGlobals469(); b_124 = new_A152(); if (dispatch_A_test_A_foo279(b_124) == 7) { testSuccess161(); } else { }; } function config137() { } IS_NATIVE function testSuccess161() { } function new_A152() returns integer { local integer this288 local integer this157 if (A_firstFree_443 == 0) { if (A_maxIndex_165 < 32768) { A_maxIndex_165 = (A_maxIndex_165 + 1); this_157 = A_maxIndex_165; A_typeId_286[this_157] = 1; } else { error984("Out of memory: Could not create A."); this_157 = 0; }; } else { A_firstFree_443 = (A_firstFree_443 - 1); this_157 = A_nextFree_748[A_firstFree_443]; A_typeId_286[this_157] = 1; }; this_288 = this_157; return this_288; } function error984(string msg218) { $debugPrint220((msg_218 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo279(integer this186) returns integer { local integer test_A_foo_result107 if (A_typeId_286[this_186] == 0) { if (this_186 == 0) { error984("Nullpointer exception when calling A.foo"); } else { error984("Called A.foo on invalid object."); }; } else { }; if (A_typeId_286[this_186] <= 1) { test_A_foo_result_107 = 7; } else { test_A_foo_result_107 = 8; }; return test_A_foo_result_107; }