array A_nextFree183 integer A_firstFree208 integer A_maxIndex668 array A_typeId152 integer A_firstFree208 = 0 integer A_maxIndex668 = 0 function initGlobals852() { } function main177() { initGlobals852(); if (dispatch_A_test_A_foo182(new_C113()) == 8) { testSuccess150(); } else { }; } function config177() { } IS_NATIVE function testSuccess150() { } function new_C113() returns integer { local integer this199 if (A_firstFree_208 == 0) { if (A_maxIndex_668 < 32768) { A_maxIndex_668 = (A_maxIndex_668 + 1); this_199 = A_maxIndex_668; A_typeId_152[this_199] = 3; } else { error177("Out of memory: Could not create C."); this_199 = 0; }; } else { A_firstFree_208 = (A_firstFree_208 - 1); this_199 = A_nextFree_183[A_firstFree_208]; A_typeId_152[this_199] = 3; }; return this_199; } function error177(string msg212) { $debugPrint145((msg_212 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo182(integer this213) returns integer { if (A_typeId_152[this_213] == 0) { if (this_213 == 0) { error177("Nullpointer exception when calling A.foo"); } else { error177("Called A.foo on invalid object."); }; } else { }; if (A_typeId_152[this_213] <= 1) { this_213 = 7; } else { this_213 = 8; }; return this_213; }