array A_nextFree492 integer A_firstFree794 integer A_maxIndex250 array A_typeId563 integer A_firstFree794 = 0 integer A_maxIndex250 = 0 function initGlobals803() { A_firstFree_794 = 0; A_maxIndex_250 = 0; } function main912() { initGlobals803(); init_test143(); } function config993() { } function init_test143() { dispatch_A_test_A_foo201(new_A745()); } function A_foo741(integer this199) { } function A_init146(integer this171) { } function new_A745() returns integer { local integer this158 this_158 = alloc_A100(); construct_A213(this_158); return this_158; } function construct_A213(integer this133) { A_init146(this_133); } function alloc_A100() returns integer { local integer this193 if (A_firstFree_794 == 0) { if (A_maxIndex_250 < 32768) { A_maxIndex_250 = (A_maxIndex_250 + 1); this_193 = A_maxIndex_250; A_typeId_563[this_193] = 1; } else { error187("Out of memory: Could not create A."); this_193 = 0; }; } else { A_firstFree_794 = (A_firstFree_794 - 1); this_193 = A_nextFree_492[A_firstFree_794]; A_typeId_563[this_193] = 1; }; return this_193; } function error187(string msg579) { $debugPrint116((msg_579 + (" " + #getStackTrace()))); } function dispatch_A_test_A_foo201(integer this186) { if (A_typeId_563[this_186] == 0) { if (this_186 == 0) { error187("Nullpointer exception when calling A.foo"); } else { error187("Called A.foo on invalid object."); }; } else { }; A_foo741(this_186); }