array B_nextFree981 integer B_firstFree202 integer B_maxIndex658 array B_typeId732 integer B_firstFree202 = 0 integer B_maxIndex658 = 0 function initGlobals171() { } function main197() { initGlobals171(); init_A158(); } function config118() { } function init_A158() { bar132(alloc_B_bar_A213()); if ((alloc_B_A487() castTo integer) == 1) { testSuccess174(); } else { }; } function bar132(integer b157) { dispatch_B_destroyB125(b_157); } IS_NATIVE function testSuccess174() { } function destroyB226(integer this139) { dealloc_B574(this_139); } function alloc_B_bar_A213() returns integer { local integer this663 if (B_firstFree_202 == 0) { if (B_maxIndex_658 < 32768) { B_maxIndex_658 = (B_maxIndex_658 + 1); this_663 = B_maxIndex_658; B_typeId_732[this_663] = 3; } else { error839("Out of memory: Could not create B_bar_A."); this_663 = 0; }; } else { B_firstFree_202 = (B_firstFree_202 - 1); this_663 = B_nextFree_981[B_firstFree_202]; B_typeId_732[this_663] = 3; }; return this_663; } function error839(string msg141) { $debugPrint155((msg_141 + (" " + #getStackTrace()))); } function alloc_B_A487() returns integer { local integer this489 if (B_firstFree_202 == 0) { if (B_maxIndex_658 < 32768) { B_maxIndex_658 = (B_maxIndex_658 + 1); this_489 = B_maxIndex_658; B_typeId_732[this_489] = 2; } else { error839("Out of memory: Could not create B_A."); this_489 = 0; }; } else { B_firstFree_202 = (B_firstFree_202 - 1); this_489 = B_nextFree_981[B_firstFree_202]; B_typeId_732[this_489] = 2; }; return this_489; } function dealloc_B574(integer obj147) { if (B_typeId_732[obj_147] == 0) { error839("Double free: object of type B"); } else { B_nextFree_981[B_firstFree_202] = obj_147; B_firstFree_202 = (B_firstFree_202 + 1); B_typeId_732[obj_147] = 0; }; } function dispatch_B_destroyB125(integer this210) { if (B_typeId_732[this_210] == 0) { if (this_210 == 0) { error839("Nullpointer exception when calling B.B"); } else { error839("Called B.B on invalid object."); }; } else { }; destroyB226(this_210); }