array A_nextFree269 integer A_firstFree171 integer A_maxIndex717 array A_typeId664 integer A_firstFree171 = 0 integer A_maxIndex717 = 0 function initGlobals145() { A_firstFree_171 = 0; A_maxIndex_717 = 0; } function main420() { initGlobals145(); init_B733(); } function config830() { } IS_NATIVE function testSuccess416() { } function init_B733() { dispatch_B_B_B_blub176(new_B167()); } function A_show619(integer this208) { testSuccess416(); } function A_init124(integer this927) { } function construct_A858(integer this186) { A_init124(this_186); } function B_blub289(integer this494) { dispatch_A_A_A_show684(this_494); } function B_init187(integer this128) { } function new_B167() returns integer { local integer this513 this_513 = alloc_B577(); construct_B169(this_513); return this_513; } function construct_B169(integer this952) { construct_A858(this_952); B_init187(this_952); } function error129(string msg283) { $debugPrint110((msg_283 + (" " + #getStackTrace()))); } function alloc_B577() returns integer { local integer this186 if (A_firstFree_171 == 0) { if (A_maxIndex_717 < 32768) { A_maxIndex_717 = (A_maxIndex_717 + 1); this_186 = A_maxIndex_717; A_typeId_664[this_186] = 2; } else { error129("Out of memory: Could not create B."); this_186 = 0; }; } else { A_firstFree_171 = (A_firstFree_171 - 1); this_186 = A_nextFree_269[A_firstFree_171]; A_typeId_664[this_186] = 2; }; return this_186; } function dispatch_A_A_A_show684(integer this567) { if (A_typeId_664[this_567] == 0) { if (this_567 == 0) { error129("Nullpointer exception when calling A.show"); } else { error129("Called A.show on invalid object."); }; } else { }; A_show619(this_567); } function dispatch_B_B_B_blub176(integer this147) { if (A_typeId_664[this_147] == 0) { if (this_147 == 0) { error129("Nullpointer exception when calling B.blub"); } else { error129("Called B.blub on invalid object."); }; } else { }; B_blub289(this_147); }