array A_nextFree159 integer A_firstFree417 integer A_maxIndex151 array A_typeId834 integer A_firstFree417 = 0 integer A_maxIndex151 = 0 function initGlobals127() { } function main156() { initGlobals127(); if (dispatch_A_test_A_foo152(new_A111()) == 7) { testSuccess169(); } else { }; } function config245() { } IS_NATIVE function testSuccess169() { } function new_A111() returns integer { local integer this101 if (A_firstFree_417 == 0) { if (A_maxIndex_151 < 32768) { A_maxIndex_151 = (A_maxIndex_151 + 1); this_101 = A_maxIndex_151; A_typeId_834[this_101] = 1; } else { error795("Out of memory: Could not create A."); this_101 = 0; }; } else { A_firstFree_417 = (A_firstFree_417 - 1); this_101 = A_nextFree_159[A_firstFree_417]; A_typeId_834[this_101] = 1; }; return this_101; } function error795(string msg527) { $debugPrint185((msg_527 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo152(integer this140) returns integer { if (A_typeId_834[this_140] == 0) { if (this_140 == 0) { error795("Nullpointer exception when calling A.foo"); } else { error795("Called A.foo on invalid object."); }; } else { }; if (A_typeId_834[this_140] <= 1) { this_140 = 7; } else { this_140 = 8; }; return this_140; }