array A_nextFree190 integer A_firstFree318 integer A_maxIndex179 array A_typeId187 integer A_firstFree318 = 0 integer A_maxIndex179 = 0 function initGlobals200() { A_firstFree_318 = 0; A_maxIndex_179 = 0; } function main191() { initGlobals200(); init_B213(); } function config983() { } IS_NATIVE function testSuccess196() { } function init_B213() { dispatch_B_B_B_show194(new_B186()); } function A_show154(integer this154) { testSuccess196(); } function A_init242(integer this114) { } function construct_A185(integer this205) { A_init242(this_205); } function B_show265(integer this779) { A_show154(this_779); } function B_init469(integer this183) { } function new_B186() returns integer { local integer this212 this_212 = alloc_B365(); construct_B205(this_212); return this_212; } function construct_B205(integer this159) { construct_A185(this_159); B_init469(this_159); } function error709(string msg288) { $debugPrint591((msg_288 + (" " + #getStackTrace()))); } function alloc_B365() returns integer { local integer this617 if (A_firstFree_318 == 0) { if (A_maxIndex_179 < 32768) { A_maxIndex_179 = (A_maxIndex_179 + 1); this_617 = A_maxIndex_179; A_typeId_187[this_617] = 2; } else { error709("Out of memory: Could not create B."); this_617 = 0; }; } else { A_firstFree_318 = (A_firstFree_318 - 1); this_617 = A_nextFree_190[A_firstFree_318]; A_typeId_187[this_617] = 2; }; return this_617; } function dispatch_B_B_B_show194(integer this666) { if (A_typeId_187[this_666] == 0) { if (this_666 == 0) { error709("Nullpointer exception when calling B.show"); } else { error709("Called B.show on invalid object."); }; } else { }; B_show265(this_666); }