array B_nextFree180 integer B_firstFree454 integer B_maxIndex148 array B_typeId205 integer B_firstFree454 = 0 integer B_maxIndex148 = 0 function initGlobals825() { } function main490() { initGlobals825(); init_A880(); } function config103() { } function init_A880() { bar159(alloc_B_bar_A229()); if ((alloc_B_A458() castTo integer) == 1) { testSuccess725(); } else { }; } function bar159(integer b235) { dispatch_B_destroyB398(b_235); } IS_NATIVE function testSuccess725() { } function destroyB135(integer this159) { dealloc_B928(this_159); } function alloc_B_bar_A229() returns integer { local integer this199 if (B_firstFree_454 == 0) { if (B_maxIndex_148 < 32768) { B_maxIndex_148 = (B_maxIndex_148 + 1); this_199 = B_maxIndex_148; B_typeId_205[this_199] = 3; } else { error595("Out of memory: Could not create B_bar_A."); this_199 = 0; }; } else { B_firstFree_454 = (B_firstFree_454 - 1); this_199 = B_nextFree_180[B_firstFree_454]; B_typeId_205[this_199] = 3; }; return this_199; } function error595(string msg154) { $debugPrint833((msg_154 + (" " + #getStackTrace()))); } function alloc_B_A458() returns integer { local integer this570 if (B_firstFree_454 == 0) { if (B_maxIndex_148 < 32768) { B_maxIndex_148 = (B_maxIndex_148 + 1); this_570 = B_maxIndex_148; B_typeId_205[this_570] = 2; } else { error595("Out of memory: Could not create B_A."); this_570 = 0; }; } else { B_firstFree_454 = (B_firstFree_454 - 1); this_570 = B_nextFree_180[B_firstFree_454]; B_typeId_205[this_570] = 2; }; return this_570; } function dealloc_B928(integer obj150) { if (B_typeId_205[obj_150] == 0) { error595("Double free: object of type B"); } else { B_nextFree_180[B_firstFree_454] = obj_150; B_firstFree_454 = (B_firstFree_454 + 1); B_typeId_205[obj_150] = 0; }; } function dispatch_B_destroyB398(integer this131) { if (B_typeId_205[this_131] == 0) { if (this_131 == 0) { error595("Nullpointer exception when calling B.B"); } else { error595("Called B.B on invalid object."); }; } else { }; destroyB135(this_131); }