array A_nextFree185 integer A_firstFree101 integer A_maxIndex174 array A_typeId177 integer A_firstFree101 = 0 integer A_maxIndex174 = 0 function initGlobals172() { } function main902() { local integer c192 initGlobals172(); c_192 = new_C795(); if (dispatch_A_test_A_foo801(c_192) == 8) { testSuccess692(); } else { }; } function config645() { } IS_NATIVE function testSuccess692() { } function new_C795() returns integer { local integer this121 local integer this188 local integer this776 if (A_firstFree_101 == 0) { if (A_maxIndex_174 < 32768) { A_maxIndex_174 = (A_maxIndex_174 + 1); this_188 = A_maxIndex_174; A_typeId_177[this_188] = 3; } else { error286("Out of memory: Could not create C."); this_188 = 0; }; } else { A_firstFree_101 = (A_firstFree_101 - 1); this_188 = A_nextFree_185[A_firstFree_101]; A_typeId_177[this_188] = 3; }; this_121 = this_188; this_776 = this_121; return this_121; } function error286(string msg176) { $debugPrint472((msg_176 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo801(integer this726) returns integer { local integer test_A_foo_result119 if (A_typeId_177[this_726] == 0) { if (this_726 == 0) { error286("Nullpointer exception when calling A.foo"); } else { error286("Called A.foo on invalid object."); }; } else { }; if (A_typeId_177[this_726] <= 1) { test_A_foo_result_119 = 7; } else { test_A_foo_result_119 = 8; }; return test_A_foo_result_119; }